Controle un motor paso a paso usando un Arduino y Potenciómetro Leave a comment

Comparte este Post

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».


Comparte este Post

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

0

Tu carrito