Controle de velocidade e direção do motor de passo usando Arduino e módulo Bluetooth HC-06 por meio de um aplicativo Android

Control de velocidad y dirección del motor paso a paso mediante Arduino y módulo Bluetooth HC-06 a través de una aplicación de Android

Este es un tutorial sencillo sobre cómo controlar la velocidad y dirección del motor paso a paso usando arduino uno y el módulo bluetooth hc-06 a través de una aplicación de teléfono Android. El motor que estoy usando es un motor paso a paso unidireccional. Hay dos tipos de motores paso a paso unidireccionales y bidireccionales. Unidireccional tiene cuatro fases y bidireccional tiene 6 fases. Las fases deben controlarse adecuadamente, de lo contrario no se podrá obtener el rendimiento deseado. Antes de continuar, supongo que conoce las fases más pronunciadas del motor y sabe cómo controlarlas de manera efectiva para obtener el máximo rendimiento.

Proyecto de control Bluetooth del motor paso a paso Arduino: principio de funcionamiento

El usuario empareja su teléfono Android con el módulo bluetooth hc-06. Después del emparejamiento, el usuario puede arrancar el motor, mover el eje en sentido horario o antihorario, cambiar la velocidad de rotación del motor y detener el motor con los comandos integrados junto al código. Los comandos se pueden cambiar según las necesidades del usuario. Llegaremos a la parte del código más adelante en el tutorial.

Circuito de control del motor paso a paso Arduino

El diagrama de circuito del proyecto se proporciona a continuación. El motor paso a paso que estoy usando funciona con 12 V CC. Las bobinas del motor paso a paso consumen entre 80 mA y 250 mA, por lo que no manejamos el motor más empinado directamente desde los pines de Arduino. Necesitamos algún controlador para este propósito y ULN2003, un IC de matriz querido, es una buena opción. El ULN2003 es capaz de suministrar 500 mA de corriente a 50 V, puede suministrar fácilmente 25 0 mA de corriente a 12 V.

Las bobinas de paso se controlan a través de los pines digitales 2,3,4 y 5 del Arduino. Los pines están conectados directamente a las entradas del ULN2003. Las salidas correspondientes del ULN2003 suministran energía a las bobinas del motor. El Arduino funciona con un adaptador externo de 12 V y el uln2003 funciona con el mismo adaptador. Hc06 funciona con la salida de potencia de 3,3 V de Arduino.
Nota: La tierra de Arduino debe estar conectada a tierra ULN2003. Ambos circuitos integrados deben tener el mismo potencial para volverse funcionales. Si no se conecta a tierra correctamente, el circuito flota y la salida es impredecible.

Control de velocidad y dirección del motor paso a paso mediante Arduino y módulo Bluetooth HC-06 a través de una aplicación de Android

Control de velocidad y dirección del motor paso a paso mediante Arduino y módulo Bluetooth HC-06 a través de una aplicación de Android

Requisito de cambio de nivel

Arduino se comunica con el módulo bluetooth hc06 en protocolo de comunicación serie. La velocidad en baudios para la comunicación en serie se puede cambiar. Estoy trabajando en la velocidad en baudios predeterminada, que es 9600 bps. El módulo Bluetooth hc06 funciona con 3,3 V y puede recibir alimentación de la fuente de salida de 3,3 V del Arduino Uno. Dado que el bluetooth hc06 funciona a 3,3v, genera los datos en forma de señal TTL nominal de 3,3v. Mientras que el Arduino Uno funciona a 5 V y sus pines emiten datos en forma de una señal TTL nominal de 5 voltios. Para equilibrar el voltaje del nivel TTL. Entre los pasadores se insertan tamices de nivel de voltaje. El Arduino TX transmite una señal de 5 V que se cambia a 3,3 V mediante un simple circuito divisor de voltaje. El hc06 TX está transmitiendo una señal de 3.3V cuyo nivel cambia a 5V.

Comandos para operar y controlar el motor paso a paso vía Bluetooth

Envío de los siguientes comandos desde la aplicación de Android después de emparejarlo con el hc06 Bluetooth ule fashion hará que el arduino disfrute de acciones en el motor paso a paso.

es o S ​​= Arranca y detiene el motor paso a paso. El primero arranca el motor y el siguiente lo para.
f o F = Gira el motor paso a paso en el sentido de las agujas del reloj.
b o B = Gira el motor paso a paso en sentido antihorario.

Rotación de velocidad para motor paso a paso integrado en el código

0 = —————————————————– Velocidad de rotación=1000;
1 = —————— Velocidad de rotación =900;
2 = —————— Velocidad de rotación =800;
3 = —————— Velocidad de rotación =700;
4 = —————— Velocidad de rotación =500;
5 = —————— Velocidad de rotación =400;
6 = —————— Velocidad de rotación =300;
7 = —————— Velocidad de rotación =200;
8 = —————— Velocidad de rotación =100;
9 = —————— Velocidad de rotación =50;
La aplicación de Android que utilicé se puede encontrar AQUÍ . Es genial y funciona eficientemente a todas las velocidades en baudios. Revisé el emparejamiento y el funcionamiento del motor en todas las relaciones de transmisión y todo funciona bien.

La función Mover hacia atrás gira el motor en sentido antihorario. La función de arranque del motor hace girar el motor en el sentido de las agujas del reloj. El usuario puede cambiar los comandos según sus necesidades. El usuario también puede introducir nuevas velocidades de rotación.
En la sección de tutoriales se encuentran más proyectos de microcontroladores integrados que involucran motores paso a paso. Cada proyecto contiene código fuente gratuito y diagrama de circuito del proyecto. En cada diseño, la velocidad y dirección del motor paso a paso se controlan mediante microcontroladores. Visita los tutoriales a continuación.

Control de motor paso a paso vía WiFi con nodemcu

Motor paso a paso con microcontrolador STM32F103 de 32 bits

Motor paso a paso controlado con microcontroladores 8051 (89c51, 89c52)

Descargue el código del proyecto escrito en Arduino IDE 1.6. El código es gratuito y de código abierto. Por favor danos tu opinión sobre el proyecto.

Mira el vídeo del proyecto aquí.

Código de archivos de proyecto Arduino

Volver al blog

Deja un comentario

Los comentarios deben ser aprobados antes de su publicación.