Olá pessoal,

Acabo de disponibilizar uma lib para arduíno que controla dois motores de passo em configuração diferencial para produzir os 9 movimentos implementados. Esta lib faz parte de um projeto maior que pretende desenvolver robos de baixo custo e alto desempenho para uso acadêmico e educacional.

Este projeto ainda está em uma fase inicial mas já tem algum material em https://fperrotti.wikispaces.com/Projeto+de+rob%C3%B4+m%C3%B3vel .

Futuramente pretendo abrir outros threads para discutir questões sobre aspectos específicos do projeto. Já existe uma thread que discute o uso de motor de passo e seus problemas para uso em robôs móveis em http://labdegaragem.com/forum/topics/projeto-de-rob-m-vel . Inclusive quero aproveitar a oportunidade para agradecer a participação do Wilmar Cassiano Degobbi, cujas informações e ponderações foram e continuam sendo em grande parte responsáveis pelos aprimoramentos implementados na biblioteca apresentada aqui.

Nesta thread estou divulgando a versão inicial da biblioteca. No endereço https://fperrotti.wikispaces.com/Stepper+Lib+Arduino pode ser feito o download dos arquivos e ver a documentação produzida até o momento.

Um vídeo de um robô simples usando a biblioteca pode ser visto em: https://www.youtube.com/watch?v=Q-9cnJ0gP5Q&feature=youtu.be

Também está publicada no playground do arduino:

http://playground.arduino.cc/Main/StepperRobot

A biblioteca está disponível para uso, mas ainda é uma versão inicial. Há muito o que melhorar, otimizar, recursos a implementar, etc. Agradeceria qualquer colaboração na forma de sugestões, críticas, bug reports, otimizações, algoritmos, código fonte, ou o que seja para melhorar a biblioteca.

Quem quiser participar do desenvolvimento da bilioteca pode se juntar ao projeto no Google Code: https://code.google.com/p/stepper-robot-arduino-lib/


Abraços,

Francesco

Exibições: 1717

Responder esta

Respostas a este tópico

Muito bom....

Mas de qualquer forma, como esta o projeto hoje, acredita que se forem usadas rodas maiores, porem finas (não tem necessidade de suportar muito peso), o robô ainda teria precisão de fazer uma volta de 360 graus por exemplo em um raio de 1 metro e voltar a mesma posição que começou com um erro desconsideravel, ou teria que ser feita uma redução fisica para aumentar a resolução e precisão de movimentação ?

Agora quanto ao calculo de diferença de movimentação de uma roda em relação a outra para poder girar, é muito dificil assim de implementar na lib que ja fez para o arduino ?

Tks

Jota

Veja, os motores de passo são extremamente precisos, então olhando só por esse aspecto seria possível sim ter grande precisão em movimentos mais extensos como o que vc quer. O problema é que esse não é o único fator que influencia na precisão, a parte mecânica conta muito, então a montagem precisa ser bem cuidada. Pequenos desalinhamentos, pequenas diferenças no diâmetro das rodas ou até na consistência da borracha dos pneus (uma mais macia que a outra), erros nas medidas, tudo isso influencia e provoca erros cumulativos, que ficam mais evidentes em movimentos mais longos.

Quanto ao movimento em circulo, não é uma alteração tão pequena teria que mexer bastante na lib. O que está implementado no outro robô é uma relação entre passos diferente nas duas rodas pra fazer o movimento em curva. Algo assim: a roda direita executa 2 passos enquanto a roda esquerda só executa um. Isso faz o robô percorrer um circulo que tem o diâmetro externo igual ao dobro da distancia entre as duas rodas. Não cheguei a fazer isso, mas seria possível fazer outras relações. Por exemplo 3:2 aí uma roda gira 3 passos enquanto outra gira dois. Nesse caso o circulo teria um diâmetro maior, mas ainda relacionado à distancia entre rodas (acho que 3x). Agora fazer um circulo estabelecendo um diâmetro qualquer pro circulo seria bem mais complicado, mas imagino que também é possível.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço