2,83 € 8,83 €
Ejemplos de conductor fáciles
¡Código de muestra y proyectos para que funcione su paso a paso!
Descripción:
Muchos personas compran EasyDrivers o BigEasyDrivers y luego las consiguen funcionar perfectamente en su proyecto.Pero algunos no lo hacen, por lo que pensé que sería una buena idea escribir algunas instrucciones simples para que su Easy Driver funcione lo más rápido y fácilmente posible.
Si estos ejemplos se harán con mis placas de controlador de motor paso a paso Easy Driver y BigEasy Driver que impulsen varios motores paso a paso aleatorios diferentes que tengo en el laboratorio.Me empezaré a generar los pulsos de paso y dirección con un ArduinoUNO y un chip KITUNO32, aunque todos estos ejemplos deberían funcionar con cualquier Arduino, clon de Arduino o compatible con Arduino (como todas las placas chip KIT).
Y no olvide leer el excelente blog tutorial EasyDriver de Dan Thompson que desea leer más en estas cosas.Algunas grandes preguntas fueron respondidas en los comentarios de esa publicación de blog.
Nota 1: Todos los ejemplos funcionarán igualmente bien con Easy Drivers o Big EasyDrivers.
Nota 2: Todos los ejemplos funcionarán en Arduino y en placas chipKIT (algunos funcionará mucho mejor en chipKIT debido a la velocidad PIC32)
Nota 3: Todos los ejemplos muestran un conector cilíndrico para la entrada de energía; debe suministrar energía a EasyDrivers de alguna manera, pero no necesita ser un conector cilíndrico.Debe tener una fuente de alimentación que pueda generar un voltaje limitado entre 5 V y 30 V, a 1 amperio o más.
Ejemplo 1: Configuración básica de Arduino
Este es el ejemplo más básico que puedes tener con Arduino, un EasyDriver y un motor paso a paso.Conecte los cuatro cables del motor al Easy Driver (tenga en cuenta las conexiones de bobina adecuadas), conecte una fuente de alimentación de 12 V a los pines Power In y conecte el GND, el pin 8 y el pin 9 del Arduino al Easy Driver.
Luego cargue este boceto y ejecútelo en su Arduino orchipKIT:
No se vuelve mucho más sencillo que eso.¿Qué hace el código?Configura los pines 8 y 9 como salidas.Los establece ambos en nivel bajo para comenzar. Luego, en el bucle principal, simplemente cambia el pin 9 alto y bajo, esperando 1 ms entre los alternadores.Usamos el pin 9 como control de PASO y el pin 8 como control de DIRECCIÓN al Easy Driver.
Dado que no estamos aumentando MS1 o MS2 en el Easy Driver en el nivel bajo, el Easy Driver dará como predeterminado el modo 1/8 de micropaso.Eso significa que cada vez que se ejecuta la llamada "digitalWrite(9, HIGH);", el motor paso a paso se moverá 1/8 de un paso completo.Entonces, si su motor tiene 1,8 grados por paso, habrá 200 pasos completos por revolución o 1600 micropasos perrevolución.
Entonces, ¿qué tan rápido este código ejecerá el paso a paso?Bueno, con la señal STEP de 1 ms de alto y 1 ms de bajo, cada pulso completo tardará 2 ms de tiempo.Dado que hay 1000 ms en 1 segundo, 1000/2=500 micropasos/segundo.
¿Entonces queríamos que el motor fuera más lento?Cambiamos el retraso(); Los linesto tienen retrasos más largos.Si utiliza delay(10); para ambos, se moverá a 50 micropasos/segundo.
¿Entonces quieres que el motor llegue más rápido?Realmente no podemos retrasar menos de 1 ms, ¿podemos?¡Sí, por supuesto que podemos!Podemos cambiar las llamadas delay() a delayMicroseconds(100); llamadas y luego cada delay sería de 100 microsegundos (o nosotros), por lo que el motor se accionaría a 5000 micropasos/segundo.
Ahora, una cosa con la que debes jugar es el potenciómetro de ajuste actual de tu Easy Driver.Necesitas un pequeño destornillador para girarlo y asegúrate de no forzarlo demasiado en una dirección o en la otra (son delicados).Además, algunos Easy Drivers fueron construidos con macetas que no tienen paradas físicas, por lo que giran y giran.Mientras realiza el código anterior, gire lentamente la olla en un sentido u otro. Dependiendo del tipo de motor que tiene (y de su resistencia de bobina), puede escuchar/sentir ninguna diferencia al girar la olla, o es posible que noten una diferencia bastante grande..
Ejemplo 2: moverse hacia adelante y hacia atrás
Si tomamos el Ejemplo 1 y simplemente cambiamos un poco el boceto, podemos avanzar o retroceder una cierta cantidad de pasos.Likeso:
Ahora, utilizando este boceto, realizamos 3600 pasos en una dirección, pausas un poco y movimos 3600 pasos en la otra dirección.Estoy seguro de que ahora puedes descubrir cómo realizar movimientos de muchas longitudes diferentes.Y puede cambiar el retraso entre pasos para que cada movimiento ocurra a velocidades separadas.
Ejemplo 3: Uso de una biblioteca preconstruida: AccelStepper
Una vez que los ejemplos anteriores no puedan funcionar bien es manejar varios steppers del mismo Arduino o chipKIT.Además, la aceleración y la desaceleración también son difíciles.Otras personas han llegado a este problema, por lo que ahora tenemos bibliotecas que podemos descargar e instalar en el IDE o MPIDE de Arduino para solucionar estos problemas.
Descargue el archivo postal de la biblioteca AccelStepper de esta página. Descomprima el archivo descargado y coloque el AccelStepper en la carpeta de bibliotecas de su directorio de instalación de Arduino.Tenga en cuenta que para los usuarios de MPIDE (chipKIT), debe copiar la carpeta AccelStepper tanto en la carpeta de bibliotecas al nivel superior como en las bibliotecas\libraries\pic32\para que tanto los lados AVR como PIC32 puedan utilizarla.
Usando el mismo hardware del Ejemplo 1, reinicie el IDE e ingrese el siguiente boceto:
Este código es básicamente lo mismo que el Ejemplo 2, pero utiliza la aceleración/desaceleración a través de la biblioteca AccelStepper y ejecuta el doble de pasos.(¡Gracias por el Sr. Duffy por señalar este hecho importante!)La razón por la que ejecuta el doble de pasos es porque hacemos "pos=-pos" para mantener las cosas cortas y sencillas.Esto significa que funcionará de 0 a 3600, luego de 3600 a -3600 (que son 7200 pasos).
Ejemplo 4: Funciona con múltiples motores paso a paso
Una de las mejores cosas de la biblioteca AccelStepper es que puedes ejecutar tantos motores paso a paso como quieras, al mismo tiempo, simplemente haciendo más objetos de AccelStepper.Ahora, si intentas ejecutarlos más rápido, los pasos no serán fluidos, por lo que debes tener cuidado de no cargar demasiado el Arduino.El chipKIT no tiene este problema porque es mucho más rápido que el Arduino.
En este diagrama, ahora tenemos dos Easy Drivers y dos motores paso a paso. Solo necesitamos 2 pines más de Arduino para agregar este segundo motor.
El código para este ejemplo se muestra a continuación:
pos1=-pos1;
Si ejecuta este código, es posible que la aceleración y la desaceleración no son tan fluidas como con un solo motor (en un Arduino; nuevamente, este problema no ocurre con chipKIT), eso se debe a nuestras dos velocidades máximas (3000 y 1000). ) son bastante altas para la capacidad del procesador de manejarlos.Una solución es reducir las velocidades máximas y luego cambiar de 1/8 de micropaso a 1/4, mitad o modo de paso completo.Si está bien hecho, verá las mismas velocidades de rotación del eje, pero con menos carga de CPU (porque no está generando tantos pasos por segundo).
Puedes ver que para este ejemplo acabo de copiar y pegar el código del Ejemplo 3 y hice dos posiciones y dos steppers.Este código de muestra es muy simple y no tan útil, pero puede estudiar los ejemplos existentes de la biblioteca AccelStepper, leer las páginas de ayuda sobre las diferentes funciones y obtener buenas ideas sobre qué más puede hacer con su control paso a paso.
Referencias:
Easy DriverPinout:


Todavía no hay opiniones para este producto.
2,83 € 8,83 €