LusoRobótica - Robótica em Português
Robótica => Projectos de robótica => Projectos em desenvolvimento => Tópico iniciado por: TigPT em 02 de Maio de 2010, 13:53
-
Resolvi começar a montar a minha plataforma de desenvolvimento 4x4 e fiz alguns testes à mesma com comando RC para testar a viabilidade da mesma.
Objectivo, ter uma base de desenvolvimento flexível e adaptável a qualquer projecto que tenha força suficiente para subir pequenos obstáculos, mas possa rodar em torno de si própria para poder deslocar-se e contornar objectos em espaços pequenos.
Para já as rodas estão a ser controladas 2 a 2 por 1 ponte-h só com dois drivers, e fiz um pequeno código para o arduino para interpretar os sinais recebidos do reciver RC e traduzir para PWM e respectivos HIGH/LOW da ponte-H
Total da base, 42€ para motores, rodas, placa de chassi e controlador dos motores.
- 2x DUAL MOTOR GEARBOX (http://loja.lusorobotica.com/81-dual-motor-gearbox.html)
- 2x TAMIYA 70096 OFF-ROAD TIRES (2 TIRES) (http://loja.lusorobotica.com/132-tamiya-70096-off-road-tires-2-tires.html)
- TAMIYA 70098 UNIVERSAL PLATE SET (http://loja.lusorobotica.com/142-tamiya-70098-universal-plate-set.html)
- MOTOR DRIVER 1A DUAL TB6612FNG (http://loja.lusorobotica.com/88-motor-driver-1a-dual-tb6612fng.html)
Ainda tenho que melhorar a alimentação visto que os motores por serem 4 consomem mais corrente do que as pilhas de 1,5V conseguem fornecer.
Algumas fotos da montagem:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg340.imageshack.us%2Fimg340%2F1300%2Fdsc00106h.th.jpg&hash=799f2209554834f797e2854a76a8f49ea87a43a4) (http://img340.imageshack.us/i/dsc00106h.jpg/)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg72.imageshack.us%2Fimg72%2F2627%2Fdsc00107f.th.jpg&hash=02d2c93d7fab7a13223aa13b38ac6713678976a8) (http://img72.imageshack.us/i/dsc00107f.jpg/)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg72.imageshack.us%2Fimg72%2F7685%2Fdsc00108fn.th.jpg&hash=11ca830008966f9326e83e10394fbf3b55912559) (http://img72.imageshack.us/i/dsc00108fn.jpg/)
Fica um vídeo, desculpem a qualidade mas só tinha o telemóvel por perto para filmar.
(conduzir dois eixos independentes com uma mão sem olhar para o comando por estarmos a filmar ao mesmo tempo com a outra não é tão fácil como parece :P)
Tamiya 4x4 Arduino based robot (http://www.youtube.com/watch?v=DNq6XQj54kc#)
PS - A caixa de engrenagens está na combinação mais lenta para fazer menos esforço, contudo ainda irei estudar se mudo para maior velocidade.
Code:
int in1 = 0;
int in2 = 1;
int out1 = 10;
int out2 = 11;
int val1, val2;
unsigned long duration;
void setup()
{
pinMode(in1, INPUT);
pinMode(in2, INPUT);
pinMode(out1, OUTPUT);
pinMode(out2, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void loop()
{
int val1 = pulseIn(in1, HIGH);
int val2 = pulseIn(in2, HIGH);
delay(50);
if (val1 > 1480 && val1 < 1520){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
} else if(val1 > 1500){
val1 = map(val1, 1500, 1900, 0, 255);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
analogWrite(out1, val1);
}else{
val1 = map(val1, 1100, 1500, 255, 0);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
analogWrite(out1, val1);
}
if (val2 > 1480 && val2 < 1520){
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}else if(val2 >1500){
val2 = map(val2, 1500, 1900, 0, 255);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
analogWrite(out2, val2);
}else{
val2 = map(val2, 1100, 1500, 255, 0);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
analogWrite(out2, val2);
}
}
-
Parece estar muito porreiro, parabéns ;)
-
por acaso desde que apareceram na loja as lagartas (http://loja.lusorobotica.com/140-tamiya-70100-track-and-wheel-set.html) e a "Universal Plate Set" (http://loja.lusorobotica.com/142-tamiya-70098-universal-plate-set.html), fiquei com o bichinho pa mandar vir um conjunto para brincar ^^
está muito fixe!
-
Pois também eu fiquei .
TigPT está mesmo fixe
-
tá muito à frente :)
ficaram vocês e eu com o bicho :p
tenho de ver isso lol
-
Isto está muito engraçado. Como é que isto pode ser controlado à distância?
-
Caro Tiago meu parabéns, eu ando a desenvolver algo parecido um pouco mais sofesticado, tenho suspenções e um chassi ajustavel...Home Made, mas daqui a uns tempos vai ficar algo assim, embora que eu tnh as 4 rodas direcionais acionadas por 2 servos...
Cumprimentos...
-
Utilizo um comando RC para fazer os testes à locomoção, e o código acima apresentado mostra isso mesmo. A conversão de sinal pulseIn para PWM e digitalwrites para controlar os motores.
Também gostava de fazer algo mais complexo mas o tempo não me permite... fico à espera de ver o teu projecto zordlyon para ter ideias para uma futura base! :P
-
Está muito giro TigPT! Adorei a forma como se move, mesmo "smooth"!
-
Sim, mas com que hardware é que o arduino comunica com o comando? O hardware utilizado para a comunicação sem fios é muito caro :p?
-
É um receptor RC normal de um carro telecomandado.
Neste caso é um comando e receptor um bocadito caros de 6canais digital a 2,4Ghz que comprei à uns tempos mas mesmo assim é dos mais baratos para as caracteristicas.
http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=9041 (http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=9041)
Embora tenha baixado o preço e esteja muito acessível em relação ao que esteve.. depois os portes e alfandega ainda pesam. Procurem um distribuidor local!
-
Como ligaste o receptor? tenho aqui um kyosho perfex, que queria ligar, mas com medo de estragar aquilo tudo não fiz, ia ligar o signal para o servo, a um pino digital e usar pulse in, mas o meu multimetro lia 4.70-5.80v dependendo do posição do volante ;D, e o arduino só pode com 5v, usaste transistors?
-
Liguei as duas saidas do receptor utilizadas (2 canais) a 2 entradas do arduino (pin 0 e 1) conforme se pode ver no código fonte no primeiro post.
Depois foi meia duzia de linhas para ler valores e decidir por estes como agir nos digitalwrite e pwm out.
-
Hei de tentar, parece fácil, mas pensei que 5.8v fossem demais para o arduino
-
Muito giro! Só lhe falta o canhão...
Essa cena de controlar à distância é engraçada mas nunca pensei que utilizassem comandos. Eu à uns anos fiz um carro telecomandado mas até fiz o comando, utilizava dois PICs, um para enviar os sinais (esquerda, direita, frente, trás) e outro que recebia. Os sinais eram enviados, se bem me lembro por rx tx da radiometrix, e acho que compensava mais, digo eu, mas na altura tb foi fornecido pela escola, mas axo que não era tão caro, secalhar uma alternativa a esse sistema, fica a ideia.
Parabéns.
-
Arknum, claro que fica mais barato, e educacionalmente é bem mais interessante do que comprar um comando.
Infelizmente quanto mais fazemos, menos tempo temos para o fazer, e começamos a pensar quando queremos reinventar a roda ou atingir um objectivo final.
Acho que é nessa altura que se começa a ir para os módulos em vez de cozinhar PCBs, para os comandos em vez de os fazer, e para os Arduinos e mbed em vez dos PICs.
É obvio que é só uma opção pessoal, e vocês até sabem que sou contra chamar robot a telecomandados. O objectivo aqui era apenas fazer uma base interessante para depois fazer o robot sobre ela... nada melhor para a testar do que um comando :P
Definitivamente que vou ter que melhorar a alimentação... 4 motores papam muita corrente!
-
A tamiya tem uns motores de substituição para a gearbox, puxam em stall 800mAh, e gostam de 3-12v
estes são os que vêm em stock:
http://www.pololu.com/file/download/fa_130ra.pdf?file_id=0J11 (http://www.pololu.com/file/download/fa_130ra.pdf?file_id=0J11)
máx 4.5v, na página da gearbox dizem 6v...
e dps há este:
http://www.pololu.com/catalog/product/1117 (http://www.pololu.com/catalog/product/1117)
-
Está muito bom, adoro ver o gajo a rodar sobre si mesmo é o espetáculo parece um tanque sem lagartas.
Em relação ao meu anterior comentário, é só para dizer que tens toda a razão, com o tempo que se tem, temos que nos desenrrascar como podemos. E mais uma vez te dou os parabéns pelo trabalho que estás a ter e por partilhares connosco. Força
-
Caro tiago já deixei o meu menino aqui no forum para ter ideias futuras...
Cumprimentos...