LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Projectos Concluídos => Tópico iniciado por: fre_deri_co em 21 de Novembro de 2010, 16:44

Título: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 21 de Novembro de 2010, 16:44
Boas pessoal!!!
faz hoje 2 semanas que me surgiu uma súbita vontade de fazer uma mascote (algo para o pequeno) uma vez todos os anteriores que fiz tinham bem mais de 1kg  (tendo o ultimo ~1,6kg de tara) e as dimensões rondavam quase o máximo das dimensões permitidas das provas em que este participava...

acontece que também alguns dos inconvenientes que me surgiam (tal como por exemplo a alteração de algumas ligações tornava-se quase impossível devido a alguma desorganização) decidi melhorar algumas numa versão compacta...

tendo este sido terminado no dia 13 deste mês acontece que num total de horas não estive mais do que 48h (metade de uma tarde do domingo para o desenho da placa com pequenos testes + uma tarde para revelação da placa (algo que me demorou um pouco mais devido a inúmeras tentativas falhadas devido ao meu UV ser potente de mais) + metade de um sábado na soldagem dos componentes e criação de um suporte para a placa, motores e bateria).

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffrederico.osmtts.com%2FProjectos2010%2FMascote%2FIMG_0158.JPG&hash=1afa0d410caee205c8fc2268dc811a2f72637707)





para este robot utilizei (principal):
. Picaxe - 20x2
. ponte H - L298
. QRD1114 (para segue-linha)
. Motores - HS-311 quitados (sem o controlador e potenciómetro dai a utilização da ponte H)
. Alimentação - Lipo 7.4v de 1A

neste momento o robot limita-se a fazer o mínimo (segue-linha) mas para brevemente devido a sua confecção permite-me a qualquer instante conectar uma placa auxiliar onde me permitira fazer algo mais tal como detecção de vitima, detecção de obstáculos, entre outros...

este robot ficou por volta dos 50€, com 10cm (comprimento) x 15cm (largura) x 9cm (altura) e com 362g  ;D, muito fácil de se fazer, permitindo ainda a qualquer instante testar componentes devido a alguma simplicidade de ligações!!


(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffrederico.osmtts.com%2FProjectos2010%2FMascote%2FIMG_0134.JPG&hash=5d18b70076325657f5443816b303aa006c1197e3)


(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffrederico.osmtts.com%2FProjectos2010%2FMascote%2FIMG_0143.JPG&hash=ab855d403b586fa7430e2d20db4d014391bc84e9)


(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffrederico.osmtts.com%2FProjectos2010%2FMascote%2FS8002965.JPG&hash=c80105e1c47cac698d47c4f21da289062eb7478a)

Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 21 de Novembro de 2010, 17:51
S8003000 (http://www.youtube.com/watch?v=Ou3fY2rn74E#)
mini segue-linha picaxe 20x2 (http://www.youtube.com/watch?v=VpX-pxkekbI#)
Mais um pequeno video!
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: joao rexinho em 22 de Novembro de 2010, 15:14
está excelente, vê se que deu muito trabalho!!  ;D
Um conselho podias meter no código a condição de quando os 3 sensores detectarem a linha, virarpra a direita  ;) .
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 22 de Novembro de 2010, 21:28
obrigado... mas não, este não deu trabalho, comparado com os outros que cheguei a andar 2 meses com eles  :o

quando a condição de ter os 3 sensores eu meti parar, assumindo que esta condição seria a meta... neste momento ainda falha um pouco (curvas de 90º mais propriamente) mas derivado aos sensores estarem um pouco próximos...

mas já agora porque aconselha em favorecer a direita?!
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: senso em 23 de Novembro de 2010, 02:18
É uma escolha, se reparares todos os algoritmos de segue linhas quando encontram um cruzamento de 4 linhas seguem sempre para um lado, que assim tens um comportamento deterministico e não aleatório que pode meter o robot dentro de um loop e nunca mais chega ao fim do labirinto.
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 23 de Novembro de 2010, 18:13
humm, ok tem a sua lógica, mas se entra numa "rotunda em contra mão" nunca sai de la assim XD
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: joao rexinho em 23 de Novembro de 2010, 18:26
Pois xD mas tens de ver se deves meter a virar para esquerda ou para a direita no código antes meter o robô no percurso.
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 23 de Novembro de 2010, 18:27
sim, eu nas competições que participo não é so segue-linha, é nas de busca e salvamento, la não existe cruzamentos nem entroncamentos XD
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: klu em 04 de Janeiro de 2011, 15:11
o teu robo ja deve andar tonto

so anda a roda :D:D
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: Alexandremix em 21 de Agosto de 2011, 00:19
boas
podia publicar o código que fez para o robo fazer isso?

Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 21 de Agosto de 2011, 20:19
com todo o gosto!!

Código: [Seleccione]
#picaxe 20x2
setfreq m32

'Analogicos

'Segue-Linha
symbol linha1 = 1
symbol linha2 = 2
symbol linha3 = 4

symbol tx1 = b.0
symbol tx2 = b.1
symbol tx3 = b.2


'Ajuste / Auxiliar
symbol potenciometro = 5
symbol lipo = 3

;Vitima
symbol vitima = 11 ;B.6

'Input
symbol b_start = pinc.0
symbol b_stop = pinc.6

'Output
'Motor
symbol enable_motor = c.5

symbol dir_frente = c.1
symbol dir_traz = c.2

symbol esq_frente = c.3
symbol esq_traz = c.4

symbol buzzer = b.4


'Constantes
symbol valor_vitima = 100 ;valor onde inicia o alerta da vitima!!!

'Variaveis
symbol contador = b0
symbol left = b1
symbol center = b2
symbol right = b3
symbol tolerancia = b4
symbol linha = b5

symbol auxiliar = b6

; Ultra-Som
symbol trigg = b.5
symbol echo = b.7
symbol range = w12



Estado_Lipo:

readadc lipo, b0


let w2 = b0 * 4 + 70

let b1 = w2 dig 2
let b2 = w2 dig 1
let b3 = w2 dig 0

sertxd ("Nivel da bateria = ", #b1, ",", #b2, #b3, "V" , 10)
pause 500


if b0 <= 160 then ' assim que o nivel de bateria baixe dos 7.1V, ele ja não ira trabalhar!!!
for contador = 0 to 1
tune buzzer, 4,($50,$06,$00)
pause 500
next contador

do
sertxd ("P.F. Carregue Bateria", 10)
pause 4000
loop
endif

sertxd (" Estado OK", 10)


tune buzzer, 1,($10) ;toque de arranque
pause 10
tune buzzer, 1,($10)




Start:
if b_start is 0 then goto start

 'Inicio
tune buzzer, 2,($5A)



menu:
gosub segue_linha


if b_stop is 1 then reset endif

goto movimento







segue_linha:

left = 0
output tx1
high tx1
pause 10
input tx1

do
inc left
readadc linha1, auxiliar
loop until auxiliar = 0

center = 0
output tx2
high tx2
pause 10
input tx2

do
inc center
readadc linha2, auxiliar
loop until auxiliar = 0

right = 0
output tx3
high tx3
pause 10
input tx3

do
inc right
readadc linha3, auxiliar
loop until auxiliar = 0

readadc potenciometro, tolerancia
let tolerancia = tolerancia / 9

let linha = 0

if left > tolerancia then let linha = linha + 4 endif '(%00000100)
if center > tolerancia then let linha = linha + 2 endif '(%00000010)
if right > tolerancia then let linha = linha + 1 endif '(%00000001)

;debug

return




movimento:

if linha = %000 then gosub frente

if linha = %001 then gosub roda_direita
if linha = %010 then gosub frente
if linha = %100 then gosub roda_esquerda

if linha = %011 then gosub direita
if linha = %110 then gosub esquerda

if linha = %111 then gosub parar

goto menu




 ' Rotina de leitura do Ultra-som
 ultra_som:
setfreq m4
pulsout trigg,2    
pulsin echo,1,range
pause 10    
let range = range * 10 / 58    
setfreq m32
return


' Rotinas de movimentação do robot
frente:

high enable_motor

low esq_traz
high esq_frente
low dir_traz
high dir_frente
return


traz:

high enable_motor

high esq_traz
low esq_frente
high dir_traz
low dir_frente
return


roda_direita:

high enable_motor

high esq_traz
low esq_frente
low dir_traz
high dir_frente
return

direita:

high enable_motor

low esq_traz
low esq_frente
low dir_traz
high dir_frente
return

roda_esquerda:

high enable_motor

low esq_traz
high esq_frente
high dir_traz
low dir_frente
return

esquerda:

high enable_motor

low esq_traz
high esq_frente
low dir_traz
low dir_frente
return


parar:

low enable_motor

low esq_traz
low esq_frente
low dir_traz
low dir_frente
return
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: Alexandremix em 22 de Agosto de 2011, 01:09
obrigado frederico
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 22 de Agosto de 2011, 10:35
de nada... alguma duvida é só questionar!
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: Alexandremix em 22 de Agosto de 2011, 14:45
por acaso tenho uma duvida.
como faço para passar o código para o robo para testa-lo?
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 22 de Agosto de 2011, 14:58
já tens um robot feito com um micro controlador picaxe?!
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: Alexandremix em 22 de Agosto de 2011, 15:15
eu não percebo muito de robótica
mas sim já tenho o robo feito, mas não sei o que é  um micro controlador picaxe
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 22 de Agosto de 2011, 15:18
micro controlador é o "cerebro" do robot, e picaxe, digamos por exemplo o "idioma" que ele fala
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: Alexandremix em 22 de Agosto de 2011, 15:25
o micro controlador é isto:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.roboticasimples.com%2Fmkt%2FImage%2FCurso%2Fpic16f628a.jpg&hash=f68f8d47ac27e2abd4b3cbd955795b1ee2fc580c)

e picaxe é a linguagem de programação?
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 22 de Agosto de 2011, 15:30
sim, micro controlador é assim..
picaxe é um bootloader (digamos é como implementar uma idiologia, um idioma numa pessoa), onde na qual falar com ele é semelhante a alguns outros micro controladores que "falem" em "basic", mas picaxe tem algumas "palavras e formas de falar" especificas dele, é como por exemplo as varias vertentes de espanhol que se apanha em espanha.. consegui ilucidar-te?|
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: Alexandremix em 22 de Agosto de 2011, 15:37
bem não estou a perceber o que é o picaxe, vou ter que perguntar a quem me fez o robo.
o robo é para ser programado em C.
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: Alexandremix em 22 de Agosto de 2011, 17:58
já falei com quem me fez o robo e ele disse que tenho um processador atmega32
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: Alexandremix em 22 de Agosto de 2011, 18:27
mais uma coisa eu não consigo fazer upload do código
dá este erro:
Binary sketch size: 1978 bytes (of a 32256 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: GnGz em 22 de Agosto de 2011, 19:31
Tem site o robot? Onde compraste?
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 22 de Agosto de 2011, 19:36
upload é da maquina para o pc, download é do pc para a maquina... é ao contrario do download e upload normal com a internet..

bem, não da porque o teu é Atmel, o meu codigo é para Pic!!
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: amando96 em 22 de Agosto de 2011, 19:38
Estás a usar que software para passar o código para o robot? esse processador tem bootloader de alguma coisa?
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 22 de Agosto de 2011, 19:42
pois, sendo atmel32 poderá ter o bootloader de Arduino, correcto amando?!
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: GnGz em 22 de Agosto de 2011, 19:50
sendo um atmega32 pode rodar o software do arduino .
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: senso em 22 de Agosto de 2011, 22:32
Na realidade um Atmega32 é muito mais limitado que um Atmega328p que esse é que deve estar no robot porque o Atmega32 tem 40 pinos enquanto o 328p tem 28 pinos.

Cria um tópico para ti e posta lá umas fotos do robot, que isso ajuda muito.
Título: Re: Mini Robot segue-linha - A Mascote!!
Enviado por: fre_deri_co em 23 de Agosto de 2011, 00:26
por questões de organização do site acho que senso tem razão!
teremos todo o gosto em ir ao teu post auxiliar-te o maximo!!