Los servomotores encuentran grandes aplicaciones en industrias del área de automatización, control y robótica. Los servomotores son bien conocidos por su control preciso y funcionan según el principio del servomecanismo. Los servomotores pueden funcionar en ángulos precisos mediante PWM. PWM (modulación de ancho de pulso) es el principio de funcionamiento básico detrás de un servomotor (para obtener más detalles sobre PWM, consulte Modo PWM con corrección de fase ). Este artículo explora la interfaz del servomotor con ATmega16 . También para saber más sobre el mecanismo servo, consulte Interfaz del servomotor con 8051 .
Hay diferentes tipos de servos disponibles en el mercado. Este artículo limita su alcance a interconectar un servo comúnmente disponible, ampliamente utilizado por aficionados, con el ATmega16. Un servo de este tipo consta de tres cables de alimentación positivos, tierra y una señal de control. A diferencia de otros motores, los servomotores no requieren controladores. Cuando se aplica una señal PWM a su pasador de control, el eje gira en un ángulo específico dependiendo del ciclo de trabajo del pulso.
Fig. 2: Ciclo de trabajo del pulso y desplazamiento angular del eje al aplicar la onda PWM
En la figura anterior, el tiempo de activación del pulso es de 1 ms y el tiempo de desactivación del pulso es de 18 ms, lo que gira el eje -90 grados. De manera similar, si el tiempo de encendido del pulso es de 1,5 ms y el tiempo de apagado del pulso es el mismo, el servo gira a 0 0 y si el pulso de tiempo de encendido aumenta a 2 ms, gira a +90 0. Esto da una rotación completa de 180 grados. El motor mantiene su posición para cada señal correspondiente.
Nota: Antes de arrancar el servo, primero verifique el pulso de ENCENDIDO más bajo que gira el servo -90 grados y el pulso de ENCENDIDO más alto que gira el servo +90 grados mientras mantiene constante el pulso de APAGADO. Al experimentar con servomotores VS2, se descubrió que para -90 grados el pulso de ENCENDIDO requerido era de 50 us y el pulso de APAGADO era de 18 ms. Y para +90 grados el pulso de ENCENDIDO fue de 2050 us y el tiempo de APAGADO permaneció igual a 18 ms. Las cosas pueden diferir en tipo y calidad.
Un pulso continuo de 50 us en el momento de ENCENDIDO y 18 ms en el momento de APAGADO gira el eje del servo -90 grados.
mientras(1)
Si se aumenta el tiempo de ON, el ángulo de rotación también aumenta.
El código proporcionado gira el eje del servo 20 grados cada 5 segundos.
Código fuente del proyecto
###
// Programa para girar el servo en pasos de 20 grados.
###
Diagramas de circuito
Diagrama de circuito de cómo conectar el servomotor con el microcontrolador AVR-ATmega16 |
Componentes del proyecto
- ATmega16