Programa para controlar un servomotor con arduino

Programa para controlar un servomotor con arduino

Programa para controlar un servomotor con arduino

servomotor código arduino 360 grados

Los servomotores se pueden encontrar en brazos robóticos, cámaras, tornos, máquinas CNC, prensas de impresión y otras aplicaciones de ingeniería donde se requiere precisión y movimientos repetidos. Los servomotores suelen estar compuestos por motores de corriente continua que utilizan mecanismos de retroalimentación para moverse con gran precisión de una posición a otra. Los servos de bajo coste que se encuentran en los proyectos maker utilizan potenciómetros para registrar los voltajes como posiciones en el plano de rotación del servo. A menudo, los servomotores contienen una serie de engranajes que aceleran o ralentizan y suavizan el movimiento del motor de corriente continua. Por último, los servomotores utilizan un circuito para controlar y enviar información de retroalimentación a un controlador determinado, que en nuestro caso es una placa Arduino (lee más sobre servomotores aquí). En este tutorial, se utilizará una placa Arduino para alimentar y controlar un pequeño servomotor. Se explorarán los fundamentos y la composición de un SG90, y se dará la aplicación de varios códigos y aplicaciones para otro tipo de servomotor, el MG90S. El objetivo de este proyecto es introducir a los usuarios en el funcionamiento de un servomotor, cómo PWM (modulación de ancho de pulso) controla un servomotor, y cómo Arduino puede interactuar con los servomotores para producir los movimientos deseados con gran precisión.

código de ejemplo de un servomotor en arduino

La construcción de robots con Arduino empieza por saber cómo mover objetos mediante motores. Hay muchos tipos de motores utilizados en los sistemas basados en microcontroladores: motores de corriente continua, motores paso a paso y servomotores.    En este artículo sobre los servomotores de Arduino, hablaré de qué es un servomotor y cómo utilizarlo con un Arduino.

Como puedes ver, hay tres cables: rojo para +5V, negro para tierra y amarillo para el pulso. Otras marcas de servomotores tienen diferentes colores para sus cables, pero casi todos utilizan el rojo para +5V y el negro para la tierra.

La librería Arduino Servo tiene dos ejemplos fáciles de usar. Esta librería viene con el IDE así que no es necesario hacer descargas adicionales. Primero usaremos el ejemplo de barrido. En el IDE de Arduino, ve a File > Examples > Servo > Sweep. Este sketch se abrirá:

La función servo.write() recibe el ángulo en grados como argumento. En este fragmento de código, pos se incrementa de 0 a 180 dentro de un bucle for y luego se decrementa de 180 a 0 en otro bucle for.

El otro ejemplo, el sketch Knob, muestra cómo controlar un servomotor con un potenciómetro. El voltaje del circuito del potenciómetro es leído a través de analogWrite y lo convierte en rotación. Usé este diagrama de cableado para el siguiente ejemplo:

servomotor arduino código 180 grados

Hemos construido algunos proyectos que han utilizado motores para hacer que las cosas se muevan y en el camino hemos visto algunos de los diferentes tipos de motores que podemos controlar con nuestros proyectos de Arduino y Raspberry Pi.

Hemos trabajado con motores básicos de corriente continua unas cuantas veces. Construimos un par de proyectos de robótica que se basan en motores de CC y también echamos un vistazo extenso al controlador de puente H que se utiliza comúnmente para regular la velocidad y la dirección de un motor de CC con un microcontrolador o microordenador.

Otro tipo de motor con el que hemos trabajado es el motor paso a paso. Este tipo de motor tiene su eje impulsado en pasos discretos, lo que permite un control muy preciso. Son muy utilizados en diseños de impresoras y robótica.

Un servomotor es un motor de baja velocidad y alto par que viene en una variedad de tamaños. A diferencia de los motores de corriente continua y de los motores paso a paso, el servomotor no suele girar 360 grados. En cambio, está limitado a un rango de 180, 270 o 90 grados.

Una señal de control es enviada al servo para posicionar el eje en el ángulo deseado. Esta disposición con una sola señal hace que los servos sean sencillos de utilizar en diseños de radio y control remoto, así como con microcontroladores.

controlando el servomotor con arduino

Un servomotor es un pequeño dispositivo que tiene un eje de salida. Este eje puede ser colocado en posiciones angulares específicas enviando al servo una señal codificada. Mientras la señal codificada exista en la línea de entrada, el servo mantendrá la posición angular del eje. Si la señal codificada cambia, la posición angular del eje cambia. En la práctica, los servos se utilizan en los aviones de radiocontrol para posicionar superficies de control como los elevadores y los timones. También se utilizan en coches de radiocontrol, marionetas y, por supuesto, robots.

Los servos son muy útiles en robótica. Los motores son pequeños, tienen circuitos de control incorporados y son extremadamente potentes para su tamaño. Un servo estándar, como el Futaba S-148, tiene un par de 42 onzas/pulgadas, que es muy potente para su tamaño. También consume energía proporcional a la carga mecánica. Un servo con poca carga, por lo tanto, no consume mucha energía.

Las tripas de un servomotor se muestran en la siguiente imagen. Puedes ver el circuito de control, el motor, un conjunto de engranajes y la carcasa. También puedes ver los 3 cables que se conectan al mundo exterior. Uno es para la alimentación (+5 voltios), tierra, y el cable blanco es el cable de control.

Acerca del autor

admin

Ver todos los artículos