Motor paso a paso: integración con Arduino

Motor paso a paso

Os motores eléctricos son cada vez máis demandados, entre eles quizais destacan os que funcionan con corrente continua, os máis populares dentro dos proxectos dos fabricantes con Arduino, xa que proporcionan mobilidade. Entre eles, destacar motores paso a paso que se usan para múltiples aplicacións, especialmente para robótica, como actuadores, etc.

Coches eléctricos, pequenos robots autónomos, aplicacións industriais para automatización, dispositivos de movemento repetitivo, etc. A razón pola que os servomotores e os motores paso a paso son tan bos para estas aplicacións é que poden realizar movementos lentos ou rápidos, pero sobre todo controlados. Ademais, as unidades son continuas para aplicacións nas que se precisan moitas paradas e arranques con alta precisión.

Tipos de motores eléctricos

Dentro do motores eléctricos pódense destacar os seguintes tipos:

  • Motor CC ou CC: Os motores de corrente continua funcionan con este tipo de corrente, como o nome suxire. Poden variar dende uns poucos mW de potencia ata uns poucos MW nos máis potentes e grandes, que se utilizan para aplicacións industriais, vehículos, ascensores, transportadores, ventiladores, etc. A súa velocidade de xiro (RPM) e o par aplicado pódense regular segundo a alimentación.
  • Motor CA ou CA (rotor asíncrono e bobinado): funcionan con corrente alterna, cun rotor moi específico que funciona grazas ás fases que este tipo de corrente contribúe a xerar a rotación mediante repulsión magnética do electroimán dun xeito similar a como o fan os CC. Son moi baratos e suben a varios kW. Pódense regular na velocidade de rotación, pero os elementos de regulación son máis caros que os de corrente continua. A miúdo úsanse para electrodomésticos.
  • Motor paso a paso- Tamén coñecidos como steppers, son similares en moitos aspectos aos de corrente continua, pero con baixas velocidades de xiro e potencias. Aquí o que máis destaca é o posicionamento do eixe, é dicir, a precisión para poñelos nunha posición específica. O seu ángulo de rotación e velocidade pódense controlar moito, razón pola que se empregaron en disquetes, discos duros (HDD), robots, automatización de procesos, etc.
  • servomotor: pódese dicir que é unha evolución do motor paso a paso, que traballa con pequenas potencias e velocidades que aumentan ata 7000 RPM nalgúns casos. Este motor incorpora unha caixa de redución de engrenaxes e un circuíto de control. Teñen a mesma precisión de posicionamento que os steppers e son moi estables en canto ao par aplicado, o que os fai ideais para algúns robots e aplicacións industriais.

Motores paso a paso e servomotores

rotor e estator

Xa sabes cales son estes dous tipos de motores electrónicos, pero gustaríame dicir algo máis sobre steppers. O xiro que dan non se realiza continuamente, senón en pequenos pasos, de aí o seu nome. O rotor (parte que xira) ten a forma dunha roda dentada, mentres que o estator (parte que non xira) está formado por electroimáns polarizados entrelazados. Deste xeito, cando se "activa" non se activan os dos seus lados, o que atrae o dente do rotor cara a el, permitindo o avance preciso para o que se caracterizan.

drv8825
Artigo relacionado:
DRV8825: o controlador para motores paso a paso

Dependendo do dentes do rotor, será posible avanzar máis ou menos na quenda. Se tes máis dentes, necesitaranse máis pasos para completar un xiro, pero os pasos serán máis curtos, polo que será un motor máis preciso. Se tes poucos dentes, os pasos serán saltos máis bruscos, sen tanta precisión. Polo tanto, os pasos que terá que dar un motor paso a paso para completar un xiro dependerán dos pasos angulares.

Eses pasos angular están normalizados, aínda que podes atopar algúns motores que teñen un paso non estándar. Os ángulos son normalmente: 1.8º, 5.625º, 7.5º, 11.25º, 18º, 45º e 90º. Para calcular cantos pasos necesita un motor paso a paso para completar un xiro ou xiro completo (360º), só precisa dividir. Por exemplo, se tes un motor paso a paso de 45º, terías 8 pasos (360/45 = 8).

xirar con parcialidade (fase)

Dentro destes motores tes o unipolar (o máis popular), con 5 ou 6 cables, ou o bipolar, con 4 cables. Segundo isto, levarase a cabo un ou outro secuencias de polarización pasando corrente polas súas bobinas:

  • Polarización para bipolar:
Paso Terminal A Terminal B Terminal C Terminal D
1 +V -V +V -V
2 +V -V -V +V
3 -V +V -V +V
4 -V +V +V -V
  • Para unipolar:
Paso Bobina A Bobina B Bobina C bobina D
1 +V +V 0 0
2 0 +V +V 0
3 0 0 +V +V
4 +V 0 0 +V

O funcionamento en ambos casos é o mesmo, polarizando as bobinas para atraer o rotor cara a onde quere que se coloque o eixe. Se ti queres mantelo nunha posición, debes manter a polarización por esa posición e voila. E se queres que avance, polarizarás o seguinte imán e dará outro paso, etc.

Se usa un servomotor, xa sabes que basicamente é un motor paso a paso, polo tanto, todo o dito tamén funciona para eles. O único que inclúe esas reducións para obter moitos máis pasos por xiro e así ter unha precisión moito maior. Por exemplo, podes atopar un motor con 8 pasos por xiro que se tivese unha caixa de cambios 1:64, xa que significa que cada paso deses oito está subdividido en 64 pasos máis pequenos, o que daría un máximo de 512 pasos por xiro. É dicir, cada paso sería de aproximadamente 0.7º.

l298n
Artigo relacionado:
L298N: módulo de control de motor para Arduino

Engade tamén que debes usar algúns controlador co que controlar a polarización, a velocidade, etc., con, por exemplo, H-Bridge. Algúns modelos son o L293, ULN2003, ULQ2003, etc.

Dónde comprar

Vostede mercalo en varios sitios en liña ou en tendas de electrónica especializadas. Ademais, se es principiante, podes usar kits que inclúan todo o que necesitas e incluso o prato Arduino UNO e manual para comezar a experimentar e crear os teus proxectos. Estes kits inclúen todo o que precisa, desde o propio motor, os controladores, placas, placa de control, etc.

Exemplo de motor paso a paso con Arduino

Arduino con motor paso a paso e controlador

Finalmente, amosa a exemplo práctico con Arduino, usando o controlador ULN2003 e o motor paso a paso 28BYJ-48. É moi sinxelo, pero será suficiente para comezar a familiarizarse co seu funcionamento para que poida comezar a facer algunhas probas e ver como se comporta ...

Como se ve en o esquema de conexión, as bobinas motor A (IN1), B (IN2), C (IN3) e D (IN4) foron asignadas ás conexións 8, 9, 10 e 11 respectivamente na placa Arduino. Por outra banda, a placa do controlador ou do controlador debe alimentarse nos seus pinos de 5-12 V (ao GND e 5 V de Arduino) coa tensión adecuada para que á súa vez alimente o motor conectado ao conector de plástico branco que ten este controlador. ou controlador.

esta Motor 28BYJ-48 É un motor paso a paso tipo unipolar con catro bobinas. Polo tanto, para que te fagas unha idea de como funciona, podes enviar valores HIGH (1) ou LOW (0) ás bobinas da placa Arduino do seguinte xeito para os pasos:

Paso Bobina A Bobina B Bobina C bobina D
1 ALTO ALTO BAIXO BAIXO
2 BAIXO ALTO ALTO BAIXO
3 BAIXO BAIXO ALTO ALTO
4 ALTO BAIXO BAIXO ALTO

En canto a esbozo ou código necesario para programar o seu movemento, como sería o seguinte usando IDE Arduino (modifícao e experimenta para comprobar como se altera o movemento):

// Definir pines conectados a las bobinas del driver
#define IN1  8
#define IN2  9
#define IN3  10
#define IN4  11

// Secuencia de pasos a par máximo del motor. Realmente es una matriz que representa la tabla del unipolar que he mostrado antes
int paso [4][4] =
{
  {1, 1, 0, 0},
  {0, 1, 1, 0},
  {0, 0, 1, 1},
  {1, 0, 0, 1}
};

void setup()
{
  // Todos los pines se configuran como salida, ya que el motor no enviará señal a Arduino
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

// Bucle para hacerlo girar
void loop()
{ 
    for (int i = 0; i < 4; i++)
    {
      digitalWrite(IN1, paso[i][0]);
      digitalWrite(IN2, paso[i][1]);
      digitalWrite(IN3, paso[i][2]);
      digitalWrite(IN4, paso[i][3]);
      delay(10);
    }
}


Sexa o primeiro en opinar sobre

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.