LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Projectos Concluídos => Tópico iniciado por: msaleiro em 19 de Janeiro de 2009, 23:17

Título: Little Bastard
Enviado por: msaleiro em 19 de Janeiro de 2009, 23:17
Boas!

Venho aqui apresentar o meu primeiro robot, que fiz o ano passado para a cadeira de Automação e Robótica. O nome dele é Little Bastard porque simplesmente eu e os dois colegas com que trabalhamos começamos a chamar-lhe isso depois de todos os problemas e chatices que nos deu durante o desenvolvimento :P
O robot é controlado por dois motores DC retirados de impressoras antigas da HP (HP Deskject 690c \ 660c) e são grandes demais para o robot.. por isso pesam muito.. e por isso consomem muito.. ou seja, o robot só funciona "ligado às máquinas" (fonte de alimentação) devido a ser difícil arranjar baterias baratas e leves capazes de descarregar uns 2 Amperes que os motores puxavam :S Na parte de cima está um motor de passo que estava constantemente a rodar um sensor de ultra-sons SRF05, a fazer tipo sonar. A PCB foi desenhada por nós, tem 4 MCUs, sendo que um nunca chegou a ser usado e era para outros desenvolvimentos. Todos os MCUs eram 8051s da Dallas Maxim (DS89C450) e um deles fazia de CPU central, outro de controlador de motores DC e outro de controlador de motor de passo / aquisição de dados. Os dois MCUs controladores comunicavam com o MCU central através de uma comunicação UART. O outro MCU que nunca chegou a ser usado era um PIC16F877A e estava destinado a ser ligado a uns acelerómetros para leitura de dados para efeitos de posicionamento (fazendo o integral duplo do sinal de aceleração obtém-se o sinal de posição. Para o integral utilizar-se-iam métodos numéricos como o método dos trapézios).
Para interface entre os motores DC e o MCU controlador utilizou-se para cada motor um circuito com 2 Ampops com output current de 1 A em montagem push-pull (faz o mesmo efeito que a ponte H).
O MCU controlador controlava a direcção de rotação de ambos os motores, assim como a velocidade dos mesmos através de sinais PWM.
O MCU central fazia o pedido dos dados do sensor a um controlador e depois enviava comandos ao controlador dos motores para mudar as direcções \ velocidades.

O custo até foi bastante baixo, tendo muitos componentes sido obtidos como amostra e outros retirados de outros equipamentos velhos. Praticamente só o sensor SRF05 foi comprado e as lagartas, que foram retiradas de um brinquedo do chinês. A construção foi 100% feito em casa.. lol :P

O robot tinha muitos defeitos de fabrico a nível mecânico pelo que ficou parado desde a apresentação do trabalho à espera de ser substituido por outro que está à espera de tempo para ser desenvolvido. Contudo, aprende-se muito com os erros e só por isso já valeu a pena ter trabalhado no bicho :)
Aqui ficam algumas fotos e dois links para os vídeos dos primeiros testes efectuados.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg520.imageshack.us%2Fimg520%2F8092%2Fimg065wp0.th.jpg&hash=9276c3fd53a4df5c279e45de667d2320da1d59de) (http://img520.imageshack.us/my.php?image=img065wp0.jpg)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg175.imageshack.us%2Fimg175%2F4508%2Fimg066ib4.th.jpg&hash=d31713a2c1bbf14d827ff052b08a15084208b462) (http://img175.imageshack.us/my.php?image=img066ib4.jpg)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg175.imageshack.us%2Fimg175%2F3738%2Fimg067iv7.th.jpg&hash=ea30132fa67ca8b333069a8ede794fe9fb4f1282) (http://img175.imageshack.us/my.php?image=img067iv7.jpg)

http://www.youtube.com/watch?v=ZNNp_v6OGOU (http://www.youtube.com/watch?v=ZNNp_v6OGOU)

http://www.youtube.com/watch?v=gOt4dU_dcuc (http://www.youtube.com/watch?v=gOt4dU_dcuc)

Espero que gostem, apesar das fotos e vídeos de má qualidade (Viva os telemóveis :P)
Título: Re:Little Bastard
Enviado por: TigPT em 20 de Janeiro de 2009, 01:35
Excelente, desde a ideia dos multi cores a fazerem cada um a sua tarefa comunicando entre si, ao aspecto do robot que até ficou com um layout muito simpático!

Penso que um 8051 faria todo esse trabalho, mas assim modulizado é muito mais fácil expandir e melhorar as tarefas individualmente! Tenho que ver se também opto por essa abordagem mas realmente os recursos e a falta de tempo são grandes amigos da inércia que temos a mudanças e por tal tenho continuado a fazer as coisas numa perspectiva de single core!

Já tenho algumas ideias em mente a cozinhar à algum tempo que pretendo por em prática mas fica para quando tiver mais tempo para que saiam concretizadas em condições.

Parabéns pelo projecto, mal posso esperar para ver a nova versão que vais fazer do Little Bastard!
Título: Re:Little Bastard
Enviado por: Fifas em 20 de Janeiro de 2009, 01:39
ficou bonito :D

quanto aos 4 MCU's, embora seja melhor, penso que para o que utilizas-te nao era preciso...no entanto, dá sempre pra outras coisas no futuro :)
Título: Re:Little Bastard
Enviado por: msaleiro em 20 de Janeiro de 2009, 01:56
Citar
Penso que um 8051 faria todo esse trabalho

Sim, um único 8051 faria todo este trabalho desde que se utilizasse uma boa programação orientada a tarefas para simular um RTOS. Estes 8051s da Dallas com um oscilador de 33 MHz dão até 33 MIPS por isso serviam perfeitamente. Optámos por esta arquitectura para que depois em desenvolvimentos futuros bastasse alterar o código do MCU central para dar novos comportamentos ao Little Bastard. Contudo quando projectámos esta arquitectura ainda não tínhamos previsto os erros mecânicos a nivel de peso, consumo, etc. Senão possívelmente não nos teríamos dado ao trabalho de fazer isto desta forma. Por outro lado foi bom fazer isto desta forma porque como éramos um grupo de 3 cada um ficou com um core para programar :)

Citar
quanto aos 4 MCU's, embora seja melhor, penso que para o que utilizas-te nao era preciso...no entanto, dá sempre pra outras coisas no futuro

Foi precisamente esse o objectivo dos 4 MCUs, mas devido aos erros a nível de mecânica acabámos por ficar com uma placa sobredimensionada que nem chegámos a aproveitar como deve ser, por limitações da plataforma.

Já agora gostaria de acrescentar que depois de apresentar o trabalho não me faltou vontade de lhe passar com o carro por cima :P nos últimos dias antes da apresentação decidiu começar a passar-se, possivelmente por causa de falta de isolamento entre a parte de controlo dos motores e a parte dos MCUs.  O que vale é que a prof. Já tinha visto aquilo a funcionar bem..

Quanto a nova versão do Little Bastard.. ainda vai demorar, mas tenho em ideia um robot muito mais pequeno (cubo de 6x6x6 cm), placa toda em SMD com MCUs 8051 da Silicon Labs (até 100 MIPS ;)), directamente programável com cabo USB (utilizando um Bootloader USBXpress da Silabs), Micro Servos tipo SG90, bateria tipo telemovel.. e funcionalidades dependentes do que couber lá dentro... Tenho tudo mais ou menos pensado, já tenho a maior parte do material.. mas tenho uma ou duas coisas que tenho que fazer antes de avançar com o robot... e preciso daquela coisa que ainda não sei onde se compra que é tempo. :(

Quem sabe até venha a sair daqui uma plataforma robótica Open-Source à semelhança do e-puck da EPFL :)

Quando houver novidades vou postando por aqui :)
Título: Re:Little Bastard
Enviado por: TigPT em 20 de Janeiro de 2009, 14:38
Quando tiveres tempo estamos cá para te ajudar e aprender contigo nesse projecto... ;)
Título: Re:Little Bastard
Enviado por: tr3s em 21 de Janeiro de 2009, 01:41
Ahaha muito giro mesmo!
Gosto sobretudo da maneira como ele começa por se aproximar muito lentamente da parede e quando bate.... PUMBA SAI DISPARADO para o outro lado, "Deixa-me fugir antes que alguem me veja"!

Muito fixe! De resto ja foi tudo dito! Bom traballho
Título: Re:Little Bastard
Enviado por: Fifas em 21 de Janeiro de 2009, 03:33
Ahaha muito giro mesmo!
Gosto sobretudo da maneira como ele começa por se aproximar muito lentamente da parede e quando bate.... PUMBA SAI DISPARADO para o outro lado, "Deixa-me fugir antes que alguem me veja"!

Muito fixe! De resto ja foi tudo dito! Bom traballho

hehe....;D ;D ;D por acaso pensei o mesmo ;D
Título: Re:Little Bastard
Enviado por: msaleiro em 21 de Janeiro de 2009, 10:48
LOL pois isso foram uns problemas que ele tinha inicialmente, o tempo de inversão de direcção para travar ainda não estava bem afinado e também quando ele ia a 45º em direcção à parede as vezes batia porque o feixe de ultrasons era reflectido para outro lado e então ele não apanhava a resposta do feixe. É o que dá usar só um sensor :P Era melhor ter usado dois mas os sensores n eram baratos e a conta bancária não estava muito famosa na altura :P