LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: fabio.sales em 30 de Junho de 2011, 21:14

Título: Motor de passo bipolar
Enviado por: fabio.sales em 30 de Junho de 2011, 21:14
Boa tarde.
senhores, procurei em todos os lugares assuntos sobre como controlar motor de passo bipolar, e percebo que o melhor jeito é usando o ci L293d, porem tento usa-lo com o arduino, mas o motor só vibra. ja tentei todas a combinações. Se alguem tiver como me ajudar nessa.
Meu motor é um EM-483 (creio que seja esse o modelo, pois é a unica informação) procurei datasheet e nada, é de uma impressora da epson.
Título: Re: Motor de passo bipolar
Enviado por: Njay em 30 de Junho de 2011, 21:39
Se o motor só vibra é porque a sequência está errada ou porque não consegue dar o passo por falta de força, que pode ser por falta de corrente (L293D não conseguir dar a suficiente) ou duração dos impulsos demasiado pequena.
Título: Re: Motor de passo bipolar
Enviado por: fabio.sales em 30 de Junho de 2011, 21:54
hum entendo. O pior que não consigo encontrar o datasheet desse motor para ver sua tensão e corrente. Mas vou tentar ver essas opções e ogo ponho os resultados.vlw.
Título: Re: Motor de passo bipolar
Enviado por: almamater em 01 de Julho de 2011, 01:32
Por acaso hoje tb estava a tentar ligar 1 motor de passo ao Arduino.. tenho aqui vários..

EM-329
EM-290
EM-257
Mitsumi M42SP-6K

O que estou para ligar é o Mitsumi M35SP-7, datasheet http://pdf1.alldatasheet.com/datasheet-pdf/view/176481/MITSUMI/M35SP-7.html (http://pdf1.alldatasheet.com/datasheet-pdf/view/176481/MITSUMI/M35SP-7.html)
A versão de 6V tem uma intensidade de 807mA max? não posso ligar a um ULN2003 pois não?

O problema é sempre saber se podemos ligar ou não um determinado motor.. conseguimos saber por exemplo a intensidade de um Motor através da medição da maior e menor resistência obtidas? Tínhamos era de adivinhar a fonte a aplicar, 6v, 12v, 24v.. etc..

Título: Re: Motor de passo bipolar
Enviado por: fabio.sales em 01 de Julho de 2011, 18:53
Tentei mudar a velocidade no delay mais contia a mesma coisa, já tentei todas a combinações de fios possiveis e nada.
Oque eu faço?pior que nem sei as especificações do motor pois não encontrei o datasheet. tentei tbm com outro motor bipolar, mas só que esse é um motor de drive de DVD do pc. e nem mexeu. poxa.
Título: Re: Motor de passo bipolar
Enviado por: CBX em 01 de Julho de 2011, 19:12
que código estás a usar?

a duração dos impulsos de que o Njay fala é o tempo entre passos, não está directamente relacionado com o delay

pode ainda ser pouca tenção para a velocidade a que o motor está a tentar rodar

almamater: o ULN2003 aguenta no máximo com 500ma, se tiveres 2 monta-os em cima um do outro, resolve o problema

podes aplicar qualquer tensão até 24V desde que a corrente seja limitada para não queimar o motor, quanto maior a tenção, maior será a velocidade de rotação
Título: Re: Motor de passo bipolar
Enviado por: fabio.sales em 01 de Julho de 2011, 20:02
Boa CBX.
o codigo que estou usando é esse apenas para teste. eu estou usando o CI L293d, como é que eu fasso para usar o ULM 2003, pois consigo apenas usa-lo com um motor unipolar. Será que é a tensão mesmo? Pois tbm usei esse mesmo codigo e circuito com outro  motor bipolar de 5V e nem mexeu.
.......................................
int pin1 = 8;
int pin2 = 9;
int pin3 = 10;
int pin4 = 11;

void setup(){
  pinMode(pin1, OUTPUT);
  pinMode(pin2, OUTPUT);
  pinMode(pin3, OUTPUT);
  pinMode(pin4, OUTPUT);
}

void loop(){
  digitalWrite(pin1, HIGH);
  digitalWrite(pin2, HIGH);
  digitalWrite(pin3, LOW);
  digitalWrite(pin4, LOW);
  delay(100);
  digitalWrite(pin1, LOW);
  digitalWrite(pin2, HIGH);
  digitalWrite(pin3, HIGH);
  digitalWrite(pin4, LOW);
  delay(100);
  digitalWrite(pin1, LOW);
  digitalWrite(pin2, LOW);
  digitalWrite(pin3, HIGH);
  digitalWrite(pin4, HIGH);
  delay(100);
  digitalWrite(pin1, HIGH);
  digitalWrite(pin2, LOW);
  digitalWrite(pin3, LOW);
  digitalWrite(pin4, HIGH);
  delay(100);
}
......................................
Título: Re: Motor de passo bipolar
Enviado por: CBX em 01 de Julho de 2011, 20:12
o motor de passo não funciona assim, precisa de pulsos de 20 a 50ns, cada pulso corresponde a um passo que é mais ou menos 1.8º se o motor for de 200 passos por revolução.

para isso tens a biblioteca stepper que é bastante simples de utilizar e funciona na perfeição, o IDE do arduino já trás bons exemplos
Título: Re: Motor de passo bipolar
Enviado por: fabio.sales em 01 de Julho de 2011, 20:23
hum entendo. Ja tentei usar o da biblioteca do arduino o MotorKnob e deu a mesma coisa.
Esse 20 - 50ns corresponde ao tempo que eu coloque no delay(100) "devo subistituir 100 por 50 ou 20"?.
Outra coisa. Nesse meu codigo oque vc mudaria, porque pretendo controlar 3 motores ao mesmo tempo, sendo que um será unipolar e os outros dois bipolar, o unpolar consegui, só falta esse.
Título: Re: Motor de passo bipolar
Enviado por: almamater em 01 de Julho de 2011, 20:28
CBX, então seria algo deste tipo:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg219.imageshack.us%2Fimg219%2F9673%2Fmotorpasso.th.png&hash=16b70d39e1fefd27fdbf22df62954f13) (http://imageshack.us/photo/my-images/219/motorpasso.png/)

Título: Re: Motor de passo bipolar
Enviado por: CBX em 01 de Julho de 2011, 20:33
esse código não vai funcionar de maneira nenhuma, mesmo com os delays, testa o stepper_oneRevolution, em que 200 passos é igual a uma volta completa, se o motor for de 200 passos por revolução claro

almamater: não, ai vais continuar apenas só com os 500ma do ultimo, eu queria dizer literalmente em cima um do outro
Título: Re: Motor de passo bipolar
Enviado por: fabio.sales em 01 de Julho de 2011, 20:49
hum entendo. tentei usar o stepper_oneRevolution e nada rsrs. Tire uma duvida, tem como eu ligar i motor bipolar apenas usando o ULM2803? Será que o problema é com o motor?.
Título: Re: Motor de passo bipolar
Enviado por: CBX em 01 de Julho de 2011, 21:06
se aguentar com o motor sim, da mesma maneira que liga o unipolar, a única diferença é o bipolar não ter os fios para ligar à fonte, mas neste caso não interessa
Título: Re: Motor de passo bipolar
Enviado por: Njay em 01 de Julho de 2011, 21:15
O 2803 não serve. Verifica se não tens um enrolamento partido; num motor bipolar tens 2 enrolamentos independentes. O delay não tem que ser tão grande, basta 10ms ou menos. A sequência que aí tens não está bem; se bem me lembro só se muda 1 pino de cada vez (de passo para passo).
Título: Re: Motor de passo bipolar
Enviado por: almamater em 02 de Julho de 2011, 22:50
Humm.. será que estou a fazer bem?

Tenho motores de impressora que geralmente funcionam todos a 24V segundo o datasheet de 1 deles (Unipolar):

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg301.imageshack.us%2Fimg301%2F3815%2Fdatasheetrecorte.png&hash=80ebfd516f212c79a472b25c1da2a9ec)

Dizem que é de 800 mA.. mas isto aplicando os 24V certo? I=V/R (I=24/30)

Mas se aplicar apenas 12V, será que fica com uma intensidade de 400mA e neste caso já pode ser usado com um ULN2003 sem fazer qualquer adaptação.. certo?
Título: Re: Motor de passo bipolar
Enviado por: Njay em 02 de Julho de 2011, 23:37
Se a resistência de cada enrolamento são 30 Ohms, essa resistência vai definir a corrente máxima que lá pode passar de acordo com a tensão, por aplicação da Lei de Ohm. ;)
Título: Re: Motor de passo bipolar
Enviado por: andre_f_carvalho em 03 de Julho de 2011, 03:17
juntas uma entrada e uma saida no uln2003 e assim ja te da um saida de 1A
Título: Re: Motor de passo bipolar
Enviado por: vicardosof em 03 de Julho de 2011, 04:26
Não só a resistência determina a corrente máxima. Temos uma bobina em todo motor. Ela possui uma impedância, que deve ser calculada para ter a corrente máxima realmente.
Título: Re: Motor de passo bipolar
Enviado por: Njay em 03 de Julho de 2011, 13:04
A corrente máxima que algum dia poderá passar pelo enrolamento, que será em DC, é definida pela resistência do enrolamento. A resistência do enrolamento é a impedancia em DC. Em AC a corrente não será maior.
Título: Re: Motor de passo bipolar
Enviado por: almamater em 03 de Julho de 2011, 18:04
então não dá para aplicar a minha teoria  ::)
Título: Re: Motor de passo bipolar
Enviado por: Njay em 03 de Julho de 2011, 20:48
Dá perfeitamente para aplicar a tua teoria.... qual a foi a parte que não entendeste?
Título: Re: Motor de passo bipolar
Enviado por: almamater em 03 de Julho de 2011, 22:10
Ah desculpa acho que não tinha entendido bem uma das explicações anteriores... pois, sendo assim, sabendo esta resistência conseguimos saber a Intensidade que vai passar e se podemos ou não usar o Uln (mesmo usando 2 para fazer 1 A há muitos motores que passam de 1A)
Título: Re: Motor de passo bipolar
Enviado por: Njay em 03 de Julho de 2011, 23:45
Se alimentares esses motores unipolares com 15V, qual vai ser a corrente máxima nos enrolamentos?
Título: Re: Motor de passo bipolar
Enviado por: almamater em 04 de Julho de 2011, 09:59
Se alimentares esses motores unipolares com 15V, qual vai ser a corrente máxima nos enrolamentos?

500mA ?
Título: Re: Motor de passo bipolar
Enviado por: almamater em 05 de Julho de 2011, 22:25
então ta certo?  ;D 500mA ?
Título: Re: Motor de passo bipolar
Enviado por: Njay em 06 de Julho de 2011, 02:22
Sem dizeres como é que lá chegaste não conta :P ;)
Título: Re: Motor de passo bipolar
Enviado por: almamater em 06 de Julho de 2011, 11:57
Sem dizeres como é que lá chegaste não conta :P ;)

Bom devo dizer uma asneira mas cá vai..

Olhando para a datasheet do motor, parece que o motor suporta 0.8 A por fase (operação em modo Bipolar, corrente constante),  e para saber tensão de alimentação no modo Unipolar (tensão constante) calculei assim:

30 Resistência x 0.8 = 24V [aplicando 24V temos assim os 800mA]
(24V/30R=800 mA)


Aplicando apenas 12V:
12V/30R = 0.4A
----------------------------------------

Aplicando 15V:

15/30=0.5A
----------------------------------------

P.s.: No entanto é melhor confirmar se tenho mesmo os 30R por fase no motor, tenho de experimentar medir com o multímetro a ver o que devolve..
Título: Re: Motor de passo bipolar
Enviado por: fabio.sales em 09 de Julho de 2011, 18:40
Boa tarde.
Desculpe mas fiquei um tempo sem net. Mas minha duvida continua  ::). No esquema do Almamater, tem como funcionar mesmo usando um ULM2803 para ligar um Motor Bipolar?
Título: Re: Motor de passo bipolar
Enviado por: almamater em 29 de Agosto de 2011, 23:43
Liguei um motor Mitsumi M35SP-7  (http://www.alldatasheet.com/datasheet-pdf/pdf/176481/MITSUMI/M35SP-7.html)(5 fios) com um ULN2003.

A menor resistência medida entre os fios foi de 80R, aplicando 6v temos 6/80= 75mA (apliquei 6v pq com 12v o motor aquecia mais)

Adicionei também um díodo de zener, é o que está ligado ao pino 9 do ULN


(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg15.imageshack.us%2Fimg15%2F5196%2Fimg3907s.th.jpg&hash=612c1487572a9619983991aa39aa06ed) (http://img15.imageshack.us/i/img3907s.jpg/)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg594.imageshack.us%2Fimg594%2F7135%2Fimg3908i.th.jpg&hash=54998ba422da0621fb241c0b55fe629e) (http://img594.imageshack.us/i/img3908i.jpg/)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg847.imageshack.us%2Fimg847%2F1620%2Fimg3910s.th.jpg&hash=a99c75865ffff4209ed6abc80391774c) (http://img847.imageshack.us/i/img3910s.jpg/)

Motor de passo unipolar (http://www.youtube.com/watch?v=HDc5KijwhCI#)



Com o mesmo princípio liguei um NMB PM55L-048 (http://www.eminebea.com/content/html/en/motor_list/pm_motor/pdf/pm55l048.pdf) a 12V (12v/30R=400mA), os fios comuns são o Preto e o Laranja