LusoRobótica - Robótica em Português

Electrónica => Electrónica Geral => Tópico iniciado por: microbyte em 17 de Setembro de 2010, 11:30

Título: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 11:30
Olá bom dia a todos!

Preciso da ajuda de quem tem mais conhecimentos de Electrónica.
O meu objectivo é controlar 4 motores DC com o Arduino. Quero que todos façam o mesmo, ou seja, os sinais de controlo seriam os mesmos.
Estou a usar 2x L293D com o seguinte esquema: (esqueçam os pinos não ligados)

http://img80.imageshack.us/img80/3039/imagem1tr.png (http://img80.imageshack.us/img80/3039/imagem1tr.png)

O problema é que quando alimento o circuito, oiço um barulho (provavelmente devido ao PWM) e os motores não rodam a toda a velocidade (nem pouco mais ou menos) quando eu lhes mando...

Quando desligo fisicamente um dos 4 motores, os outros 3 rodam mais rápido. E assim sucessivamente até ter só 1 motor, que roda à velocidade máxima.

Admito que não sei se o esquemático é a implementação mais correcta...
Se calhar estou a puxar demasiada corrente de um só pino do Arduino (particularmente o de PWM). Não sei, é só um "bitaite"...

Alguém me pode ajudar?

Cumprimentos,
Ricardo Dias
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Njay em 17 de Setembro de 2010, 11:39
Com PWM a 100%, os 4 motores rodam à velocidade máxima?
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 11:41
Com PWM a 100%, os 4 motores rodam à velocidade máxima?

Não o problema é esse... Rodam muito, muito devagar...
À medida que eu vou desligando fisicamente os motores, 1 a 1, os outros passam a rodar mais rápido. Até ao ponto em que eu tenho apenas 1 motor ligado a uma das portas, e só esse é que se nota que roda à velocidade máxima.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: GnGz em 17 de Setembro de 2010, 11:46
Sao dois motores por cada ponte h ?
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 11:49
Sim, cada L293D suporta 2 motores.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: GnGz em 17 de Setembro de 2010, 11:54
Nao tera haver se o circuito esta em paralelo ou em serie ? Se nao for desculpa a ignorancia...
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 12:01
Não tenho outra forma de ligar os ICs que não seja em paralelo.

As alternativas que vejo são usar uma porta do Arduino por cada sinal. Mas não tenho portas disponíveis no Arduino.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: GnGz em 17 de Setembro de 2010, 12:03
Tava a falar dos motores....
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 12:05
Tava a falar dos motores....

Os 4 motores poderiam rodar independentes. Ou seja, nao estão nem em paralelo nem em série, digamos que são circuitos independentes, mas controlados pelos mesmos sinais. Não me parece que seja disso...
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: ptrobotics em 17 de Setembro de 2010, 12:07
Eu não faria assim. são 4 motores, colocava um L293 por cada motor. apenas colocava os sinais de entrada comuns.
Assim, e como cada motor pode ter diferentes impedâncias ou consumir correntes diferentes, não irá interferir com os restantes.
O que acontece é que quando um dos motores é colocado em carga, mais consumir mais corrente e alterar o comportamento dos outros motores.
Desta forma até tens uma redundância maior, se avariar um L293, ou um motor, não irá interir no comportamento dos restantes.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 12:18
Obrigado pela resposta @ptrobotics.

Sugeres que use um IC destes por motor? 4 ICs?
Hmmm... Estando um IC destes preparado para controlar 2 motores, não seria desperdiçar metade da sua funcionalidade?

Bom... Eu percebo que aqui há gato com a corrente...
Alguma sugestão para alterar um pouco a electrónica dos controladores, que me permita ter uma maior eficiência?
É que para isto, mais vale o carro andar só com 2 motores ligados. Anda mais do que com 4...  :o De certeza que há alguma forma de contornar este problema electrónico, só que eu não tenho conhecimentos para o fazer.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: andre_f_carvalho em 17 de Setembro de 2010, 12:57
Obrigado pela resposta @ptrobotics.

Sugeres que use um IC destes por motor? 4 ICs?
Hmmm... Estando um IC destes preparado para controlar 2 motores, não seria desperdiçar metade da sua funcionalidade?

Bom... Eu percebo que aqui há gato com a corrente...
Alguma sugestão para alterar um pouco a electrónica dos controladores, que me permita ter uma maior eficiência?
É que para isto, mais vale o carro andar só com 2 motores ligados. Anda mais do que com 4...  :o De certeza que há alguma forma de contornar este problema electrónico, só que eu não tenho conhecimentos para o fazer.

boas,

se ele eles perdem velocidade com os quatro ligados poderá ser que eles provoquem uma queda da corrente e esta não seja a suficiente para os manter todos ligados a velocidade máxima, uma coisa que podes fazer é medir a corrente que eles puxam em vazio e em carga, e assim fazes cálculos para saber se a corrente disponível no circuito é suficiente e ainda sobre...


cump
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: CBX em 17 de Setembro de 2010, 13:05
se a bateria ou fonte de alimentação tiver corrente suficiente para isso tudo o mais provável é ser ruído, experimenta a por uns condensadores a ligar o vcc2 ao ground ai com uns 100uF e 1 de 0,1uF a ligar cada output do l293 também ao ground...

cumps
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 13:21
Tenho uns pequenos condensadores de 22pF ligados com uma "pata" em cada pata de cada um dos motores. Confuso? Estão em paralelo com os motores.  ;D Não sei se me consegui explicar...

Para além disso tenho uns condensadores electrolíticos de 100uF da entrada da fonte de alimentação ao ground... Em cada um dos ICs, ou seja, tenho 2 destes.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 13:22
Ok...

Fiz aqui uns testes rápidos...

Não medi a intensidade em cada motor, mas medi a intensidade de corrente que está a ser puxada da fonte.
Imaginem a seguinte situação:
Tenho todo o circuito alimentado. Os 2 IC's estão alimentados e estão a receber os sinais de controlo.

Mas só num deles tenho os motores ligados. Ou seja, 2 ICs mas só um deles com 2 motores ligados. Tudo ok, a corrente anda na casa dos 330mA, o que era esperado.

Quando ligo um dos outros 2 motores (ao 2º IC), a corrente dispara para mais de 2 A, e depois baixa para os 1,5A.

Pensei: será a 2ª placa de controlo? Então fiz o mesmo teste, mas ao contrário...
Liguei os motores ao 2º IC, tudo normal... 330mA, quando ligo os outros motores ao 1º IC, acontece o mesmo...

Ou seja, tudo OK, se forem só 2 motores no mesmo IC, porque também experimentei a ligar 1 motor em cada IC e fica logo tudo marado.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: senso em 17 de Setembro de 2010, 13:50
Provavelmente isso é falta de capacidade da bateria em debitar tanta corrente para os 4 motores, experimenta com uma fonte/transformador ai com 3 ou 4A que tens que ter em conta os picos de corrente gerados quando os motores arrancam.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: ptrobotics em 17 de Setembro de 2010, 13:53
4 IC's seria o ideal, mas penso que com 2 e devidamente desacoplados como já disseram, não deverás ter problema.
Eu faria o seguinte, colocaria 1 IC para cada 2 motores mas não em paralelo. Em paralelo ficariam apenas os 4 sinais de controle.
Qual é o inconveniente disto para em relação aos 4 IC's? É a ligação térmica, se o L293 deixar de trabalhar por excesso de temperatura, param 2 motores ao invés de 1.
Seria também aconselhado, dado que a corrente em vazio é já 50% da capacidade do L293, arranjar um dissipador e colocá-lo por cima dos L293.
Eu tenho resolvido algumas dessas questões com dissipadores de motherboard (chipset) ou de placas gráfica antigas. São pequenos o suficiente para não ocupar muito espaço na PCB.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 14:10
Aos dois, obrigado pelas vossas respostas:

Ao senso:
O que me preocupa é que eu estou a usar de uma fonte de alimentação, não uma bateria. Era impensável pôr uma bateria nisto, da maneira que isto está. A fonte que tenho não dá para regular a corrente, é de 2A.

Ao ptrobotics:
Como é que coloco 2 motores sem ser em paralelo? Ligo 2 em série na mesma saída?
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: senso em 17 de Setembro de 2010, 14:14
Não será o corte térmico dos ic's a disparar, sei que muitos amplificadores integrados têm corte térmico e aquilo quando dispara e não estamos a ver a temperatura nem sabemos o que se passa e as vezes dá assim uns efeitos mesmo estranhos ao som.
Experimenta uma ponte por motor, ou então arranja desses ic's mas no encapsulamento que fica perpendicular ao pcb e que tem mesmo uma "asa" com um furo para meter parafuso.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: ptrobotics em 17 de Setembro de 2010, 14:15
Cada L293D suporta 2 motores.
Saidas Pino3,6 um motor, pino11,14 outro motor.
As entradas de controlo semelhantes em paralelo para ser tudo controlado pelos mesmos sinais.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 14:20
Eu já meti 2 motores a trabalhar, um em cada IC e o resultado é motores quase parados...

ptrobotics: isso é como eu tenho estado a tentar pôr...
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: ptrobotics em 17 de Setembro de 2010, 14:35
Então está muito provavelmente a exceder a capacidade de corrente/termica do L293...
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: andre_f_carvalho em 17 de Setembro de 2010, 14:53
pelo que tenho andado a ler deste tópico, podes usar duas coisas para ver se o problema desaparece, 1º é usar os dissipadores nos L293D como o ptrobotics exemplificou, a 2º é experimentares a ligação com uma fonte que dê mais de 2A para dar algum espaço de margem quando existe aqueles picos de corrente como o senso disse, caso n tenhas uma fonte de laboratório a mão que dê mais de 2A podes sempre usar uma fonte ATX em que elas têm uma boa capacidade na corrente debitada

cump.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 16:00
Nem posso testar de uma forma nem doutra... E mesmo que fosse detectada uma dessas situações, continuo sem solução... Pois o objectivo não é andar com a fonte atrás...

Detectam aqui algo de errado?

http://img299.imageshack.us/img299/1084/imagem4jn.png (http://img299.imageshack.us/img299/1084/imagem4jn.png)
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: ptrobotics em 17 de Setembro de 2010, 16:17
Eu não.

Os motores são de 12V? Modelo? A fonte de alimentação aguenta a corrente total, não está a disparar por excesso de corrente? Lembra-te que a fonte tem de ter corrente suficiente para suportar a corrente de arranque e até mesmo de stall dos motores. Os l293D estão mesmo bons? Já estou a esgotar as hipóteses...
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 16:21
Pronto, sejamos rigorosos...
Não estou a dar 12V, e os motores não são de 12V.
Os motores são de 7.2V e eu estou a dar 7.5V

Geared Motor
(7.2Vdc, 175 RPM)
Motor Characteristics
# Voltage: 7.2Vdc
# Current (no load) = 221mA
# Current (rated load) = 556 mA
# Speed (no load) = 175 RPM
# Speed (rated load) = 146 RPM
# Rated Load = 1Kg-cm
# Reduction Ratio: 50:1

Quer dizer... dispara dos 300mA para 2A por ligar 1 motor??
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: ptrobotics em 17 de Setembro de 2010, 16:31
Esse motor deve ter qualquer coisa avariada, ou é qualquer outro motor?
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 16:49
Acontece com os outros o mesmo...
Já expliquei isso num post atrás... expliquei os testes que fiz, entre os quais esse.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: ptrobotics em 17 de Setembro de 2010, 17:16
Desculpa, não consigo ler tudo, e os L293? A breadboard (se for caso disso)? Uma vez queimei os contactos de uma breadboard com um SN754410 e nem dei por nada.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 17:19
Os L293D parecem-me trabalhar bem, quando não os "misturo"...
Cada um com 2 motores, independentes, trabalham bem...
Para ver se está alguma coisa queimada, só comprando uns novos e experimentar.

Não está na breadboard, já estão em placa (veroboard, ou perfurada)
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Njay em 17 de Setembro de 2010, 19:08
Com PWM a 100%, os 4 motores rodam à velocidade máxima?

Não o problema é esse... Rodam muito, muito devagar...
À medida que eu vou desligando fisicamente os motores, 1 a 1, os outros passam a rodar mais rápido. Até ao ponto em que eu tenho apenas 1 motor ligado a uma das portas, e só esse é que se nota que roda à velocidade máxima.

Não respondeste à pergunta.
Mas segue já a próxima: Ligados directamente à bateria sem passar pelos L293D, os 4 motores rodam à velocidade máxima, ou também há o efeito de tirar um motor e os outros acelerarem?
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: ptrobotics em 17 de Setembro de 2010, 19:45
Pertinente Njay, pertinente! Keep it simple!
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 21:48
Sim, ligado directo, vão abaixo...
Portanto... Falta de corrente. A solução seria meter 1 bateria por cada um dos ICs, mas que não tenho t€mpo  :P

Obrigado a todos os que responderam, espero que este tópico seja útil para futuras situações.

Depois de passar muito tempo a partir pedra, deixamos de pensar  ;D é preciso alguém de fora que nos aponte uma direcção, que por vezes é a mais óbvia...
Muito bem NJay, obrigado pela "dica", que no fundo era o que eu devia ter feito desde o início.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Tyran em 17 de Setembro de 2010, 22:09
O teu problema deve estar no arranque, experimenta ir ligando 1 a 1 para só sentires 1 pico de cada vez lol
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 22:10
O teu problema deve estar no arranque, experimenta ir ligando 1 a 1 para só sentires 1 pico de cada vez lol
Obrigado pela sugestão, mas isso foi exactamente o que eu fiz... :)
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Tyran em 17 de Setembro de 2010, 22:17
Ah bom hehe :D

Mas precisas de isso onde? A solução mais barata talvez fosse uma fonte de pc...
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Njay em 17 de Setembro de 2010, 22:44
Se a bateria dá para alimentar 2 motores (em esforço) na boa, pode ser que dê para usar os 4 motores a 50% PWM. Para isso é preciso um "bom" condensador quase em cima dos pinos de alimentação de cada L293D, logo a seguir a um díodo, um 1N4001 a 1N4007 ou melhor 1N5817 a 1N5819. Portanto os L293D ficariam ligados ao positivo da bat através dos díodos. O condensador junto às patas de alimentação de cada L293D tem que ser experimentado, valores acima de 220uF, melhor ainda 2 em paralelo por chip.
Também podes experimentar sem os díodos.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Tyran em 17 de Setembro de 2010, 22:55
Podes explicar o porquê de colocar esses díodos?
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Njay em 17 de Setembro de 2010, 23:20
É para um conjunto de motores não sacar energia dos condensadores do outro conjunto. Assim ficam como que "independentes" e ambos os conjuntos têm as mesmas oportunidades de obter energia.
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: andre_f_carvalho em 17 de Setembro de 2010, 23:23
É para um conjunto de motores não sacar energia dos condensadores do outro conjunto. Assim ficam como que "independentes" e ambos os conjuntos têm as mesmas oportunidades de obter energia.

tu sabes muito xD
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: microbyte em 17 de Setembro de 2010, 23:39
Sim, de facto, é depois de ler posts destes que me convenço que ainda não sei nada de electrónica.

Obrigado!
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Njay em 18 de Setembro de 2010, 00:24
Lol!... E agora vou chocar-vos... eu sei muito pouco de electrónica!
Título: Re: [Ajuda] Arduino e 4 motores DC
Enviado por: Tyran em 18 de Setembro de 2010, 01:00
Ah tá bem visto já percebi :)

lol então de que sabes tu? Não vale dizer copos hehe :p