Como programar un motorreductor con arduino

Como programar un motorreductor con arduino

Como programar un motorreductor con arduino

Control de la velocidad del motor dc de arduino usando pwm

for (pos = 0; pos <= 180; pos += 3) { // va de 0 grados a 180 grados // en pasos de 1 grado myservo.write(pos); // dile al servo que vaya a la posición en la variable ‘pos’ delay(5); // espera 15ms para que el servo alcance la posición } for (pos = 180; pos >= 0; pos -= 3) { // va de 180 grados a 0 grados
for (pos = 0; pos <= 180; pos += 3) { // va de 0 grados a 180 grados // en pasos de 1 grado myservo.write(pos); // le dice al servo que vaya a la posición en la variable ‘pos’ delay(5); // espera 15ms para que el servo alcance la posición } for (pos = 180; pos >= 0; pos -= 3) { // va de 180 grados a 0 grados

Escudo de motor arduino

En este artículo, publicamos un proyecto que explica diferentes aspectos de la interfaz Arduino-Motorreductor. El motor de engranajes es un motor de corriente continua especialmente diseñado cuyo conjunto de engranajes ayuda a aumentar el par y a reducir la velocidad. En comparación con un motor de corriente continua normal, las revoluciones máximas que puede producir un motor de engranajes son menores. Pero tienen la ventaja de que, utilizando la combinación correcta de engranajes, sus rpm pueden reducirse a cualquier valor deseable. A diferencia del servomotor, el motorreductor también puede girar de forma continua. El sentido del motorreductor puede invertirse simplemente invirtiendo la polaridad de la conexión de la batería. Y la velocidad del motor puede controlarse cambiando el nivel de tensión a través de él. Un controlador de motor IC llamado L293D se utiliza aquí para la interfaz del motor de engranajes con Arduino. El L293D consiste en dos puentes H diseñados con un circuito de 4 transistores que nos ayuda a invertir la dirección de la rotación y a controlar la velocidad del motor de corriente continua.
En el circuito se utiliza un Arduino UNO como plataforma. El motor de engranajes está conectado al Arduino UNO a través del controlador de motor IC L293D.    Como se mencionó anteriormente, un IC controlador de motor consiste en dos circuitos de puente H que se pueden utilizar para controlar dos motores simultáneamente. Un L293D tiene 4 pines de entrada, 4 pines de salida, 2 pines de habilitación, Vss, Vcc y GND.      Vcc es la tensión que necesita para su funcionamiento interno. El L293D no utilizará esta tensión para accionar el motor. Para el accionamiento de los motores tiene una disposición separada para proporcionar la alimentación del motor Vss.

Control de la velocidad del motor de corriente continua de arduino

Así que cuando (digamos) el interruptor de la derecha se presiona se ejecuta el código para detener el motor y luego para mover el motor de nuevo a la izquierda de la posición HOME (Sleep). Aquí, en la posición HOME (Sleep) el motor debería pararse y permanecer apagado durante (digamos)
15 segundos (definido con const int motorSleepInterval = 15000). El problema del código es que detiene el motor y lo devuelve cuando se pulsa el interruptor de fin de carrera, pero no duerme durante 15 segundos. Y cuando está en posición HOME (Sleep ) no se levanta y empieza a funcionar después de esos 15 seg. ¿Alguna ayuda? Aquí el código
buttonEnd_Pin corresponde al interruptor (digamos) de la mano izquierda (significa posición final de la mano izquierda) y buttonSleep_Pin corresponde al interruptor (digamos) de la mano derecha y su posición (Sleep). Así que lo que el programa debería hacer es que el motor se apague y se encienda (apagado durante 2 segundos y encendido durante 4 segundos) hasta que el buttonEnd_Pin (del interruptor de la mano izquierda) esté en HIGH (significa que está presionado). Esto debería detener el motor y llevarlo de vuelta a la posición final de la mano derecha (significa la posición cuando el botón de la mano derecha – buttonSleep_Pin está en HIGH). Aquí el motor debería detenerse durante 15 segundos y luego comenzar de nuevo el modo de apagado y encendido.

Proyectos de motores de corriente continua con arduino

Este tutorial está destinado a utilizar el codificador, seleccione el pin D2 y el pin D3, donde D2 como un puerto de interrupción, D3 como un pin de entrada. En la práctica, dos pines tienen que asegurarse de que uno de los pines debe ser un pin de interrupción, y el otro definible (ver el puerto de interrupción con diferente placa).
Si se utiliza un Arduino UNO y se quiere utilizar el puerto de interrupción 0 (Int.0), es necesario conectar el pin digital D2 en la placa. El siguiente código sólo se utiliza en UNO y Mega2560. Si quieres usar Arduino Leonardo, debes cambiar el pin digital D3 en lugar del pin digital D2.
Explicación: Aquí puedes ver los datos en serie. Cuando el motor gira hacia adelante, el valor de la salida digital es > 0. Cuando el motor invierte la dirección, la salida digital < 0. Cuanto más rápida sea la velocidad del motor, mayor será el valor del número.
El valor del código PID se ha establecido como 80, por lo que el motor se estabilizará a unas 80 rpm. Si fuerzas externas como cambios en la tensión de accionamiento del motor, la resistencia del motor, etc. afectan a la velocidad, el programa ajustará el valor PWM para estabilizar la velocidad de rotación en 80.

Acerca del autor

admin

Ver todos los artículos