Go Down

Topic: Ajuda com motor de passo Bipolar + CI UDN2916b (Read 2092 times) previous topic - next topic

evertonwesc

Bom dia gurizada,
Como sou iniciante em eletronica, estou com dificuldades para fazer um motor de passo bipolar funcionar com um CI.
O motor é este> http://www.eminebea.com/en/product/rotary/steppingmotor/pm/standard/pm42s-048.shtml, nas especificações dele diz que o CI que controla ele é o UDN2916B, eu comprei este CI mas tenho várias duvidas de como ligar ele no arduino.
Este é um esquema dos pinos do CI:

e este é um exemplo de uso:


Eu entendi onde ligo a alimentação do motor (24V) e os fios das bobinas, porém não sei onde ligar os fios do arduino nele para dar os pulsos.
Alguem pode me ajudar, agradeço se puderem dar uma breve explicação sobre os pinos deste CI (ex: RC1, Vref, etc).

bubulindo

8,9,10,20,17 e 16 é onde ligas o Arduino. uP é um diminutivo de microprocessador.

Não me parece que este chip seja o que pretendes... pelo que estou a ver isto é feito para controlar corrente e não velocidade. É isso que pretendes?



This... is a hobby.

evertonwesc

#2
Aug 31, 2013, 03:44 am Last Edit: Aug 31, 2013, 03:55 am by evertonwesc Reason: 1
Obrigado pela resposta...

então, como eu havia dito, sou leigo em eletronica...
Segundo o Datasheet do CI "The UDN2916B, UDN2916EB, and UDN2916LB motor drivers are designed to drive both windings of a bipolar stepper motor or bidirectionally control two dc motors."
Link do datasheet (http://www.me.psu.edu/rahn/me462/2916.pdf)
e no datasheet do motor (http://www.eminebea.com/en/product/rotary/steppingmotor/pm/standard/pm42s-048.shtml) menciona este CI para controlar o motor, então comprei o CI.

Quero somente fazer o motor funcionar...e no arduino como faço?




evertonwesc

Lago,

Obrigado pela resposta...

Já sei como fazer motores de passo funcionarem, só estou com duvidas pra fazer o motor funcionar com este CI.

betrieb

I had the same problem trying to get a stepper to run with this chip.

I have wired I01 and I11 both to D2 on arduino and Phase1 and Phase2 to pins 3 and 4 respectively.

I succeeded with the following code:

#define I_pins 2

#define ph_1 3
#define ph_2 4

int DT = 1;    // time delay between steps, speed of motor.
int NS = 50;


void setup() {
  pinMode(I_pins, OUTPUT);

  pinMode(ph_1, OUTPUT);
  pinMode(ph_2, OUTPUT);
}

void loop(){
  // Move the motor forward:
  for (int i = 0; i < NS; i++) {
    digitalWrite(ph_1, HIGH);
    delay(DT);
    digitalWrite(ph_2, LOW);
    delay(DT);
    digitalWrite(ph_1, LOW);
    delay(DT);
    digitalWrite(ph_2, HIGH);
    delay(DT);
  }
  delay(1000);
  // Move the motor backwards
  for (int i = 0; i < NS; i++) {
    digitalWrite(ph_2, HIGH);
    delay(DT);
    digitalWrite(ph_1, LOW);
    delay(DT);
    digitalWrite(ph_2, LOW);
    delay(DT);
    digitalWrite(ph_1, HIGH);
    delay(DT);
  }
  delay(1000);

hvvel

Dear Betrieb

What did you whit I02 and I12?
"#define I_pins 2' you does not use this pin in your program, is that correct?

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy