A veces, mantener las cosas simples es lo mejor.
En este tutorial veremos cómo mover un stepper usando solo un Potenciómetro regular.
Utilizaremos un NANO y el controlador Easy para controlar el motor paso a paso NEMA 17.
CONEXIONES
Las conexiones para este tutorial son las siguientes:
Los pines 2 y 3 del NANO están conectados al pasador STEP y DIR del Easy Driver
También conectamos un pin de tierra del NANO al pin Easy Driver GND
El pin A4 del NANO se utiliza para leer el valor analógico del pin del centro del potenciómetro
5V y GND del NANO están conectados a los pines externos del Potenciómetro
Luego alimentamos el Easy Driver, lo que alimenta el Motor paso a paso, utilizando una fuente de alimentación externa de 12v.
EL CÓDIGO
Utilizaremos la biblioteca AccelStepper para controlar la velocidad y la aceleración del motor paso a paso, queremos que el motor se mueva en relación con la rotación del potenciómetro.
Dado que un potenciómetro puede cambiar el valor incluso cuando no lo estamos tocando, estamos moviendo el motor solo si el valor del potenciómetro ha cambiado +6 o -6 desde el valor de lectura anterior, de esa manera evitamos la trepidación del motor paso a paso.
Como siempre, mire el video tutorial para obtener más información.
/ * Arduino Stepper Control con Potenciómetro Creado por Yvan / https: // Inteligente - Bits . com Este código es en el dominio público ... Puede: copiarlo, usarlo, modificarlo, compartirlo o simplemente ignóralo ! Gracias ! * / #include "AccelStepper.h" // Biblioteca creada por Mike McCauley en http: // www . Airspayce . com / mikem / arduino / AccelStepper / // Configuración de AccelStepper Stepper de AccelStepper ( 1 , 2 , 3 ); // 1 = Interfaz de fácil manejo // Pin Nano 2 conectado al pin STEP de Easy Driver // Pin Nano 3 conectado al pin DIR de Easy Driver // Variables para almacenar actual, anterior y mover posición En t val = 0 ; En t anterior = 0 ; En t largo Newval = 0 ; void setup () { paso a paso . setMaxSpeed ( 4800 ); // Establecer la velocidad lo suficientemente rápido como para seguir la rotación de la olla paso a paso . setAcceleration ( 4800 ); // Alta aceleración para seguir la rotación de macetas } void loop () { val = analogRead (A4); // Leer el valor actual del potenciómetro Si ((val > anterior + 6 ) || (val anterior - 6 )) { // Comprueba que un movimiento de la olla es al menos > o que 6 Newval = mapa (val, 0 , 1023 , 0 , 1600 ); // Valor del mapa ( 1600 = 1 rotación del eje paso a paso) paso a paso . runToNewPosition (newval); // Mover el paso a una nueva posición anterior = val; // guardar el valor actual en la variable anterior } }
DESCARGAR
Copie el código de Sketch anterior en su software Arduino IDE para programar su Arduino.
(Biblioteca AccelStepper creada por Mike McCauley en http://www.airspayce.com/mikem/arduino/AccelStepper/ )
Una vez descargado, simplemente extrae el contenido de los archivos zip dentro de tu ” arduino carpeta “libraries”.