Go Down

Topic: ArDUINO MEGA 1280 + Motor Shield DÚVIDAS (Read 2 times) previous topic - next topic

danielbit

Olá garela, a pouco tempo que possuo Arduino e tenho dúvidas de como controlar motores DC com ele !
em outro tópico o amgo BUBULINDO me esclareceu algumas dúvidas e chegamos a conclusão que pre eu conseguir
controlar 4 motores DC eu teria que ter 2 Motor Shields, enfim, comprei, e agora naõ faço idea de como utilizá-los !!!
na internet nao tem muita coisa para leigos como eu, alguem poderia me ajudar ?
já desenvolvi algumas atividadas com o arduino, mas em conjunto com o Motor Shield não estou conseguindo !

desde já agradeço a todos !

abs

Wagner Sartori Junior

#1
Sep 22, 2011, 08:33 pm Last Edit: Sep 23, 2011, 03:09 am by Wagner Sartori Junior Reason: 1
Primeiro que discordo que tem pouca coisa na internet para leigos. Pode ter pouca coisa em português.

Agora ao que interessa :), eu preciso de mais informações para te ajudar:
1) Qual exatamente o motor shield que você está utilizando. Tem cerca de 4 diferentes por aí que eu já vi.
2) Sobre o motor, qual exatamente você está utilizando? Se tiver o datasheet é melhor. Eu preciso saber a voltagem e a "stall current"(desculpe mas não sei este termo em português) que é a corrente que ele puxa quando você trava o eixo do motor.
3) Qual dúvida você tem, é com programação para o arduino controlar os motores ou em como ligar as coisas?

[]s

Wagner Sartori Junior

danielbit


Primeiro que descordo que tem pouca coisa na internet para leigos. Pode ter pouca coisa em português.

Agora ao que interessa :), eu preciso de mais informações para te ajudar:
1) Qual exatamente o motor shield que você está utilizando. Tem cerca de 4 diferentes por aí que eu já vi.
2) Sobre o motor, qual exatamente você está utilizando? Se tiver o datasheet é melhor. Eu preciso saber a voltagem e a "stall current"(desculpe mas não sei este termo em português) que é a corrente que ele puxa quando você trava o eixo do motor.
3) Qual dúvida você tem, é com programação para o arduino controlar os motores ou em como ligar as coisas?

[]s

Wagner Sartori Junior


Olá Wagner agradeço sua ajuda primeiramente...

realmente concordo com vc... tem pouco coisa em portugues !!!!

A minha dúvida nem é tanto com a programação, e sim  como ligar as coisas ... nao to sabendo aplicar o 1 motor shield que dirá 2 !!!

Na verdade , o projeto á mais simples que vc imagina, como eu estou concluindo o curso de MECATRÔNICA e sou obrigado a apresentar um projeto final, optei por um robo que tivesse todas as matérias envolvidas da MECATRÔNICA, então seria um carro com tração nas quatro rodas!!! quero algo bem simples ! nada sem fio ! queria que esse carro se movimentasse para frete enquanto eu aperto a seta para cima, para tras quando a de tras, quando eu apertasse a tecla para direita, apenas as rodas de direita se movimentassem(como se fosse um tanque de gerra) e assim visse e versa, gostaria que todos os movimentos do meu robo fossem comandados pelo meu computador ! se eu conseguir fazer funcionar, já estou praticamente aprovado rs rs rs pq conseguiria unir em um só projeto a mecânica, a eletronica e a informárica !

eu ainda nao decidi quais motores vou usar, seu que serão de 12v e a corrente menor que 1,5A, tenho aqui 4 motores de impresso com 5v para testes, gostaria de começar com eles!
a minha grande dúvida é como utiliazar o 2 motor shields junto com o arduino e esses 4 motores ! aff

se por acaso vc tiver um cod pronto que faça isso eu agradeço, se nao tiver utilizo o que eu tenho aqui mesmo !

Mais uma vez agradeço sua atenção e paciência !

abraços
Daniel




Wagner Sartori Junior

Sem saber exatamente qual o shield que vc tem fica difícil de ajudar.

danielbit


Sem saber exatamente qual o shield que vc tem fica difícil de ajudar.


AFF foi mal... separei o link e esqueci de colar !
http://www.ebay.com/itm/Arduino-Motor-Shield-L298P-2A-Dual-H-Bridge-Controller-/160649313360?pt=UK_ToysGames_RadioControlled_JN&hash=item256771fc50

é exatamente esse !

abs

Wagner Sartori Junior

#5
Sep 23, 2011, 05:13 am Last Edit: Sep 23, 2011, 05:15 am by Wagner Sartori Junior Reason: 1
a ligação é simples. os 2 primeiros terminais(PWRIN) vc só usa se quiser. se tiver uma outra fonte de energia que não seja o VIN do arduino, vc seleciona com o jumper que ta atras PWRIN. se for usar o mesmo adaptador ou "pilhas" ligados diretamente no arduino, então deixe no VIN mesmo no jumber e vc não precisa ligar nada neste terminal.

onde está M1 e M2 é onde vc liga os motores. tem o + e o -, é só ligar, cuidado com a polaridade(bem, você deve ter aprendido isto na faculdade).

O código que está na página que vc mandou faz funcionar os motores:
Code: [Select]
//Arduino PWM Code?
//M1: Direction for Motor1
//M2: Direction for Motor2
//E1: PWM control for Motor1
//E2: PWM control for Motor2
int E1 = 5;
int M1 = 4;
int E2 = 6;
int M2 = 7;
void setup()
{
   pinMode(M1, OUTPUT);
   pinMode(M2, OUTPUT);
}
void loop()
{
   int value;
   for(value = 0 ; value <= 255; value+=5)
   {
        digitalWrite(M1,HIGH);
       digitalWrite(M2, HIGH);
        analogWrite(E1, value); //PWM Speed control
        analogWrite(E2, value); //PWM Speed control
        delay(30);
   }
}


ou seja... se M1/M2 for HIGH, ele gira para frente se for LOW ele gira para trás. o analogWrite no E1/E2 com valor ajusta a velocidade. simples assim!

com este shield vc não vai conseguir empilhar os 2 para controlar 4 motores, você vai precisar fazer uma gambiarra. empilhe um no arduino, o outro vc vai precisar conectar com fiozinhos mas ligando os pinos 4, 5, 6 e 7 do shield em outros pinos do seu arduino. assim que fizer isso, cria no código um M3/M4 e um E3/E4 com os pinos que vc ligou no arduino.

danielbit


a ligação é simples. os 2 primeiros terminais(PWRIN) vc só usa se quiser. se tiver uma outra fonte de energia que não seja o VIN do arduino, vc seleciona com o jumper que ta atras PWRIN. se for usar o mesmo adaptador ou "pilhas" ligados diretamente no arduino, então deixe no VIN mesmo no jumber e vc não precisa ligar nada neste terminal.

onde está M1 e M2 é onde vc liga os motores. tem o + e o -, é só ligar, cuidado com a polaridade(bem, você deve ter aprendido isto na faculdade).

O código que está na página que vc mandou faz funcionar os motores:
Code: [Select]
//Arduino PWM Code?
//M1: Direction for Motor1
//M2: Direction for Motor2
//E1: PWM control for Motor1
//E2: PWM control for Motor2
int E1 = 5;
int M1 = 4;
int E2 = 6;
int M2 = 7;
void setup()
{
   pinMode(M1, OUTPUT);
   pinMode(M2, OUTPUT);
}
void loop()
{
   int value;
   for(value = 0 ; value <= 255; value+=5)
   {
        digitalWrite(M1,HIGH);
       digitalWrite(M2, HIGH);
        analogWrite(E1, value); //PWM Speed control
        analogWrite(E2, value); //PWM Speed control
        delay(30);
   }
}


ou seja... se M1/M2 for HIGH, ele gira para frente se for LOW ele gira para trás. o analogWrite no E1/E2 com valor ajusta a velocidade. simples assim!

com este shield vc não vai conseguir empilhar os 2 para controlar 4 motores, você vai precisar fazer uma gambiarra. empilhe um no arduino, o outro vc vai precisar conectar com fiozinhos mas ligando os pinos 4, 5, 6 e 7 do shield em outros pinos do seu arduino. assim que fizer isso, cria no código um M3/M4 e um E3/E4 com os pinos que vc ligou no arduino.



Bom dia meu amigo...

já clereou bastante....

já consegui fazer a integração do arduino com o shield, consegui girar os motores para um lado e controlar a velocidade, só nao consegui fazer a inversao do sentido, quando eu coloco HIGH, o shield fica verde e os motores giram para frente e quando eu coloco LOW o shield fica vermelho e os motores param !

eu liguei o positivo de um dos motores no M1 que é o pino 4 e o positivo do outro motor no M2 que é o pino 7 do meu shield( conforme variável declarada no codigo) e os dois negativos dos motores juntos no gnd do shield !

Fiz alguma coisa errada ?

abs

Wagner Sartori Junior

não. liga o + no M1+ e o - no M1- o mesmo para o segundo motor. e ve se funciona.

se não funcionar a inversão do sentido, tenta ler com um multímetro e ver se não é o motor que está com problema.

Wagner Sartori Junior

Não...

Tem 4 terminais, M1+, M1-, M2+, M2-... Basta ligar o motor 1 no M1+ e M1- e o motor 2 no M2+, M2-. Não precisa ligar no GND do arduino, tem os terminais exatamente para isso.

danielbit


Não...

Tem 4 terminais, M1+, M1-, M2+, M2-... Basta ligar o motor 1 no M1+ e M1- e o motor 2 no M2+, M2-. Não precisa ligar no GND do arduino, tem os terminais exatamente para isso.



AGORA SIM !!! PERFEITO !

TÁ RODANDO !

só mais uma pergunta sem querer te explorar !

se eu quiser utilizar 2 motores com 12v
basta eu jampear o shield paraq pwmin e colocar a fonte no borne ?
preciso alimentar com 12 tb o arduino ou só o shield ?

abs

Wagner Sartori Junior

eu recomendaria vc usar 12v no borne e jumpear para PWRIN e alimentar o arduino de outra fonte de energia. assim vc isola completamente seu arduino para evitar problemas.

danielbit


eu recomendaria vc usar 12v no borne e jumpear para PWRIN e alimentar o arduino de outra fonte de energia. assim vc isola completamente seu arduino para evitar problemas.


pra encerrar ... rs

se eu utulizar uma alimentação de 12v no shield eu tenho que obrigatóriamente tb ter 12 no arduino ou posso manter apenas a alimentaçao pelo cabo USB ?

abs

Wagner Sartori Junior

se o jumper estiver no PWRIN, a alimentação do shield e do arduino não tem nenhum tipo de conexão. ou seja, você pode alimentar seu arduino do jeito que quiser, seja pelo USB, por fonte, com pilha, qualquer voltagem que esteja dentro dos recomendados na página do seu arduino.

danielbit


se o jumper estiver no PWRIN, a alimentação do shield e do arduino não tem nenhum tipo de conexão. ou seja, você pode alimentar seu arduino do jeito que quiser, seja pelo USB, por fonte, com pilha, qualquer voltagem que esteja dentro dos recomendados na página do seu arduino.


Meu camarada,

nem sei como te agradecer !

grande abraço !

Wagner Sartori Junior

Agradeça divulgando sempre seus projetos quando possível. Vai documentando a construção do seu robô em alguma página com fotos, vídeos, etc... Além disso, fique de olho no forum e ajude quem precise. Somos uma comunidade e um ajuda o outro.

Go Up