LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Projectos em desenvolvimento => Tópico iniciado por: msr em 19 de Julho de 2010, 20:12

Título: WiMobile "o meu primeiro robot"
Enviado por: msr em 19 de Julho de 2010, 20:12
Ora vivas,

Aqui vai alguma informação sobre o meu primeiro bixaroco andante. Decidi-lhe chamar WiMobile, pois é controlado através da rede WiFi e remotamente a partir de um programa feito para Windows Mobile.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh4.ggpht.com%2F_ZJFezM7weLA%2FTESgSC37RKI%2FAAAAAAAAAlQ%2FO86rtkyz9xQ%2F_MG_0005.JPG&hash=14af444d3adc4e4383a8928e8ac69bba33a2040b)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh3.ggpht.com%2F_ZJFezM7weLA%2FTESgO2XTqbI%2FAAAAAAAAAlI%2F8KR0uf1YnZw%2F_MG_0015.JPG&hash=71fbeb5046e5f74216795185bf8fd55df792e4de)

1) Contrução da PCB para controlo de motores DC

O meu método de fabrico de PCBs é integralmente baseado no que está descrito neste site (http://www.google.pt/url?sa=t&source=web&cd=2&ved=0CCIQFjAB&url=http%3A%2F%2Fwww.sirloon.net%2Floonaweb%2Fsirblog%2Fpcb-using-toner-transfer-method-comparison&ei=N5BETL6UB9Wd4Qb6hr3MDg&usg=AFQjCNHh_cAEBkkA69swZVDYRiwqVypgWg&sig2=IIwZC7mVWHeJ2mOdAjBSdg), que é o método "toner transfer" com o ferro de engomar (na altura em que coloquei o link o site, por razoes que desconheço, estava offline; se persistir assim, posso fazer aqui uma descrição dos passos que uso)

Alguns exemplos de placas que fiz com este método:
http://picasaweb.google.com/lh/photo/s8Lca4NRo5O2EM4Eh3lhUel_MpCsOExxSaeMZZYRSrM?feat=directlink (http://picasaweb.google.com/lh/photo/s8Lca4NRo5O2EM4Eh3lhUel_MpCsOExxSaeMZZYRSrM?feat=directlink) (placa que usei neste robot, com o cobre já corroído e toner ainda por remover)
http://picasaweb.google.com/lh/photo/E8pqyDwnoI2xODfQ3t4coOl_MpCsOExxSaeMZZYRSrM?feat=directlink (http://picasaweb.google.com/lh/photo/E8pqyDwnoI2xODfQ3t4coOl_MpCsOExxSaeMZZYRSrM?feat=directlink)

2) Estrutura do robot

Tinha cá por casa uma placa de acrilico (base de baixo) que decidi aproveitar. Apenas tive que fazer uns recortes para encaixarem as rodas.
A base do 1º andar já foi feita por mim e um pouco à pressa e daí não ter ficado muito perfeita.
Como não consegui arranjar espaçadores decentes fi-los eu próprio com varão roscado, tubo de alumínio, porcas e anilhas.
Para agarrar os componentes à estrutura usei velcro adesivo e um adesivo duplo que tem pouca cola (não sei o nome).

As dimensões do robot são (aprox.): 14.5x10 cm

3) Electrónica

Usei um Arduino Diecimila e um WiShield.
No que toca a alimentação tenho: pilha de 9V para alimentação do Arduino e 3x pilhas AA de 1.2V recarregáveis para alimentação exclusiva dos motores.
A PCB para o controlo dos motores permitiu-me poupar espaço (no caso de ter usado breadboard) e reduzir o número de fios no ar.

4) Programação

Em relação à programação. O Arduino em si controla o movimento dos motores enquanto o WiShield funciona como um servidor TCP. Recebe, portanto, comandos via TCP.
Para testes fiz uma pequena aplicação em C# que controla o robot através das setas direccionais do meu desktop, mas o objectivo era mesmo controlar o robot com um HTC Touch com Windows Mobile 6.


TODO ("a fazer")
O meu próximo objectivo será contruir um sensor IV e assim poder por o WiMobile a seguir uma linha. A minha maior dúvida é em relação a I/O do Arduino, dado que o WiShield papa alguns pinos, e tambem em relação ao espaço que ainda tenho disponivel para programação (o WiShield papa cerca de 11kB).
Outro aspecto que tambem gostava de melhorar é a alimentação, ou melhor, o acesso à alimentação. Na PCB dos motores deixei alguns pinos para outros componentes que venha a adicionar no andar de baixo, a ideia será ter o minimo de fios a atravessar andares e ainda assim ter a alimentação sempre facilmente disponível.
Depois desta parte feita (haja tempo) gostava de adicionar tambem um LCD mas por essa altura já nao devo ter mesmo memoria/pinos disponiveis pelo que provavelmente adicionaria um outro MCU e aproveitava para por em pratica talvez I2C.
Se tiverem alguma sugestão para uma destas tarefas, sou todo ouvidos!


Para terminar, seguem uns vídeos (com participação especial do meu cão, o Joli):
WiMobile, my first robot (http://www.youtube.com/watch?v=uNOSjrnQ9Po#ws)
WiMobile, my first robot (http://www.youtube.com/watch?v=caINAy6tit4#ws)


Espero que gostem.
Qualquer duvida, fiquem à vontade!

Deixo em anexo os files EAGLE da PCB. Mais tarde colocarei tambem o código do Arduino, visto que ainda lhe quero dar uns toques. Se houver interessados tambem posso deixar mais tarde o da aplicação para WM6.
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: AcidDagger em 19 de Julho de 2010, 20:19
Excelente! Onde arranjas-te esse shield? :b já ando à procura de um wifishield à algum tempo  :)
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: metRo_ em 19 de Julho de 2010, 20:54
Está muito bom :)
Agora que já tens isso ligado à rede de casa podes por exemplo colocar isso a monitorizar a casa com alguns sensores e enviar informação para a rede por exemplo.
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: amando96 em 19 de Julho de 2010, 21:12
Está bem bonito   :D
Onde arranjaste aquele jack com os screw terminals?

Coitado do cão... já não vai ter descanço  :P
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: msr em 19 de Julho de 2010, 22:28
Quanto ao WiShield: http://www.asynclabs.com/store?page=shop.product_details&flypage=flypage.tpl&product_id=26&category_id=6 (http://www.asynclabs.com/store?page=shop.product_details&flypage=flypage.tpl&product_id=26&category_id=6)
Quanto ao jack com o screw terminal: arranjei as duas coisas individualmente; jack de transformador + simples screw terminal, o jack do transformador tem uns pinos aos quais liguei o screw terminal :)

Por acaso pensei que o meu cão fosse andar feito maluco à volta do WiMobile. Pelo contrário, começou-lhe logo a ladrar, mas com o tempo tem vindo a ganhar simpatia ;D
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: preytender em 19 de Julho de 2010, 22:42
Muito bom...... o robot tá com bom aspecto, boa apresentação, wifi e PDA, construção de PCB, e ainda tem um cão bonito   ;D

Os meus parabens.
Abraço.
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: Ricardo em 20 de Julho de 2010, 09:59
Muito bom!

E o que mais me impressionou foi a prontidão da resposta aos comandos do telefone!
Todos os métodos de comunicação que utilizei têm sempre algum "delay".

Bom trabalho!

Título: Re: WiMobile "o meu primeiro robot"
Enviado por: Arknum em 20 de Julho de 2010, 10:24
Boas

Estás de parabens, gostei imenso está fenomenal.
Como sugestão e não se é possivel, mas com uma camara no robo a enviar imagens para o telemovel era o espetáculo.

Cump
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: GnGz em 20 de Julho de 2010, 11:21
Muito bom ... Só grandes trabalhos
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: msr em 20 de Julho de 2010, 16:03
Obrigado a todos pelos comentários!

@Arknum, tambem já andei a pensar numa coisa dessas mas para que funcionasse ou teria de comprar uma câmera wifi ou então tinha de arranjar um shield que permitisse o Arduino funcionar como USB HOST. E como não é assim tão "trivial" acabei por desistir dessa ideia! (acho que, se o objectivo for esse, o melhor é mesmo utilizar outro tipo de MCU)

@renavspainatal, o objectivo foi mesmo fazer a coisa mais simples de todas e por isso usei a gearbox da tamiya! pelo preço, acho que foi das melhores coisas que comprei ultimamente ;D

Edit: já agora deixo a referência para um USB shield para quem estiver interessado http://www.circuitsathome.com/category/mcu/arduino/usb-shield (http://www.circuitsathome.com/category/mcu/arduino/usb-shield)
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: guibot em 21 de Julho de 2010, 03:22
Parabéns msr! Do melhor que tenho visto por aqui!!
Gosto especialmente da aplicação para o telemóvel.. tenho aqui um htc parado e sem uso, se puderes dar alguma informação sobre como se faz uma aplicação deste género, que liguagem usas, framework, etc.. já tenho umas ideias a borbulhar  :)
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: joaoamaral em 21 de Julho de 2010, 10:34
Fantástico! :D Mais um projecto para este verão! Obrigado por partilhares! :D
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: Rebel em 21 de Julho de 2010, 10:42
Também gostei muito, parabéns.
Já estou a tirar algumas ideias do teu bicho. Queria fazer uma coisa idêntica mas com um modulo RF.
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: joaoamaral em 21 de Julho de 2010, 10:56
ja agora msr, se n for indescricao, a qt te ficou o Wishield?
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: Arknum em 21 de Julho de 2010, 11:06
Boas

Msr volto a dizer o trabalho está fantástico e concordo contigo a camara so ia complicar.

cump
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: TigPT em 21 de Julho de 2010, 13:41
Muito bem msr. Gostei bastante de ver o teu projecto. Um port forwarding no rooter e podes "falar" com o teu bixaroco de qualquer parte do mundo.

Quero ver essas melhorias então ;) Obrigado por partilhares o projecto.
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: msr em 21 de Julho de 2010, 15:42
@joaoamaral, se bem me lembro ficou em cerca de 51€ já com portes incluídos

@guibot, tens Windows Mobile no teu HTC? Não sei como será para Android (pelo que tenho visto tambem ha boas ferramentas - Android SDK) mas para WM é muito simples. Instala o Visual Studio Express (ou apenas Visual C# Express) que é gratuito. A minha sugestão é tentares primeiro fazer uma aplicação simples (WinForms) como carregar num botão e aparecer texto numa label para ficares a perceber como a coisa funciona. A programação é feita com base em eventos, o que tens a fazer é código para os handlers desses eventos. Depois, neste caso concreto, criei um simples cliente TCP. Bastam cerca de 5 linhas de código para fazeres um cliente TCP. Quando já tiveres a perceber como a coisa funciona, é passares para projectos "Smart Device". Ao criares código para dispositivos móveis tens menos liberdade (menos componentes e menos eventos disponíveis) uma vez que se usa a .NET Compact Framework, no entanto é suficiente para se fazerem coisas bastante interessantes. Mais tarde posso colocar o código que utilizei, mas ainda lhe quero fazer uns ajustes.
Podes no entanto dar uma vista de olhos no código deste "Serial Monitor" que fiz ha uns tempos: http://bravomofo.blogspot.com/2010/03/serial-talk.html (http://bravomofo.blogspot.com/2010/03/serial-talk.html)
Título: Re: WiMobile "o meu primeiro robot"
Enviado por: guibot em 21 de Julho de 2010, 15:54
o HTC tem o Windows Mobile (não sei a versão), gostei muito dos tutoriais que tens no teu blog quero mesmo experimentar isto.

Obrigado e força com isso  ;)