Control motor Paso a Paso con un potenciómetro

Los motores paso a paso, debido a su diseño único, se pueden controlar con un alto grado de precisión sin mecanismos de retroalimentación. El eje de un motor paso a paso, montado con una serie de imanes, es controlado por una serie de bobinas electromagnéticas que están cargadas positivamente y negativamente en una secuencia específica, precisamente, moviéndolo hacia adelante o hacia atrás en "pasos" pequeños.

Hay dos tipos de motores paso a paso, unipolares y bipolares, y es muy importante saber qué tipo está usted trabajando. Para cada uno de los motores, hay un circuito diferente. El código de ejemplo controlará los dos tipos de motores. Ver los esquemas motores unipolares y bipolares para obtener información sobre cómo cablear su motor.

En este ejemplo, un potenciómetro (u otro sensor) en la entrada analógica 0 se utiliza para controlar el movimiento de un motor paso a paso usando la biblioteca Stepper de Arduino. El motor paso a paso es controlado por los pines digitales con 8, 9, 10, y 11, ya sea para motores bipolares o unipolares.

La placa Arduino o Genuino se conectará a una matriz Darlington U2004  si está utilizando un paso a paso unipolar o un SN754410NE H-Bridge si tiene un motor bipolar.

Para obtener más información acerca de las diferencias de los dos tipos, por favor, eche un vistazo a la página Motores paso a paso.


Hardware necesario

Placa Arduino o Genuino
Potenciómetro de 10k ohm
Motor paso a paso
Darlington Array U2004 (si se utiliza un paso a paso unipolar) SN754410ne H-puente (si se utiliza un paso a paso bipolar)
Fuente de alimentación adecuada para su paso a paso en particular
Cable de conexionado
Placa protoboard

Circuitos

En la página Biblioteca Stepper encontrará circuitos para ambos motores paso a paso unipolares y bipolares. En cualquiera de los casos, es mejor alimentar sus motores paso a paso desde una fuente externa, ya que consumen demasiado para ser alimentados directamente desde la placa Arduino.
En ambos circuitos, conectar un potenciómetro de 10k entre  alimentación y tierra, con su toma central conectada al pin analógico 0.

Nota: Ambos circuitos descritos son cuatro configuraciones de cableado. Dos configuraciones de cableado no funcionarán con el código proporcionado.

Código

Para ambos motores paso a paso unipolares y bipolares

// MotorKnob 

// Un motor paso a paso que sigue las vueltas de un potenciómetro 
// (u otro sensor) en la entrada analógica 0. 
// http://www.arduino.cc/en/Reference/Stepper 

// Este código de ejemplo es de dominio público.

#include <Stepper.h>

// cambiar esto para el número de pasos en su motor
#define STEPS 100

// Crea una instancia de la clase Stepper, especificando
// el número de pasos del motor y los pines de este
Stepper stepper(STEPS, 8, 9, 10, 11);

// la lectura anterior de la entrada analógica
int previous = 0;

void setup() {
  // ajusta la velocidad del motor a 30 RPM
  stepper.setSpeed(30);
}

void loop() {
  // obtiene el valor del sensor
  int val = analogRead(0);

  // Mover un número de pasos igual al cambio a la 
  // lectura del sensor
  stepper.step(val - previous);

  // Recordar el valor anterior del sensor
  previous = val;
}


1 comentario:

  1. Established in 2010, Oyostepper.com is a professional stepper motor online china supplier at competitive prices coupled with a fast efficient service.If you still have problem, you can ask the oyostepper.com for help. The customer service of this site is very professional.

    ResponderEliminar