Motor de Passo
Tendo como base o projecto através da Porta Paralela, usamos os mesmos conceitos mas ligando um Arduino.
A maior dificuldade por vezes é obter as características do motor, precisamos de saber pelo menos a sua voltagem de trabalho para depois calcular a intensidade de corrente que exige, pois com um ULN2003/ULN2803 apenas podemos ter motores até 500mA.
O esquema a utilizar é o seguinte (ULN2003):
Os motores foram retirados de impressoras e são os seguintes:
M35SP-7
Cálculo efectuado:
80R a 6V
6v/80R= 0,075mA
se 12v= 150mA
Como apenas é de 0.075mA a 6v podemos ligá-lo ao ULN2003. *Trata-se de um motor de passo unipolar com 5 fios:
* Fio vermelho: alimentação, 6V
* Fio laranja e preto: bobina 1
* Fio castanho e amarelo: bobina 2
A menor resistência medida entre os fios foi de 80R, aplicando 6v temos 6/80= 75mA (apliquei 6v porque com 12v o motor aquecia mais)
Código a usar no Arduino:
http://www.arduino.cc/playground/Portugues/LearningStepperUnipolar
int motorPin1 = 8;
int motorPin2 = 9;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 50;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
}
NMB PM42l048
Cálculo:
Segundo datasheet: 60R
12v/60R= 200mA
FIOS:
* Fio Preto e Laranja: alimentação, 12V
* Fio Verde e Vermelho: bobina 1
* Fio Amarelo e Castanho: bobina 2
NMB PM55l048
Cálculo:
30R a 12V
12v/30R= 400mA
FIOS:
* Fio Preto e Laranja: alimentação, 12V
* Fio Verde e Vermelho: bobina 1
* Fio Amarelo e Castanho: bobina 2
Exemplo de um cálculo:
Olhando para a datasheet de um motor, parece 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
-----------------------------