Servomotor control con atmega32

publicado en: Sin Categoria | 0

Servomotor controlado con atmega32Un servomotor es un dispositivo que dispone en su interior de un motor de corriente continua, un reductor y un circuito de control, esto le proporciona la capacidad de ubicarse en cualquier posición dentro de su rango de operación y mantenerse estable en dicha posición. También se puede controlar su velocidad de giro dando al dispositivo una gran versatilidad dentro del campo de la robótica, automatización, modelismo, drones, etc.

En la actualidad existe una gran variedad de servomotores y su funcionamiento siempre es el mismo, es recomendable revisar la ficha técnica de cada servo. Primero, el angulo de giro, estos servomotores nos permiten hacer un barrido de 180°,  de -90° a +90° o 0° a 180° con una precisión de 1°, esto quiere decir que el servomotor avanza de grado en grado. Tambien tenemos, la señal PWM de trabajo, según el fabricante el periodo de trabajo es de 20ms y el pulso de operación varia entre 0.5ms – 2.5ms para un angulo de 0° y 180° respectivamente.

CARACTERÍSTICAS Y FUNCIONAMIENTO DEL SERVOMOTOR

El funcionamiento delos servomotores es a través de señal de pulso a una frecuencia de 50Hz (periodo de 20ms) y para poder controlar la posición del servomotor se necesita un ciclo de trabajo positivo entre 0.5ms y 2.5ms según indique el fabricante. A continuación, se muestra una imagen que detalla lo explicado.

CONEXIÓN DE SERVOMOTOR CON ATMEGA32

EJEMPLO DE CONTROL DE SERVOMOTOR CON ATMEGA32

En el siguiente ejemplo se mostrará como controlar un servo utilizando el microcontrolador ATmega32. Para ello utilizaremos 3 pulsadores que controlaran la posición del servo; izquierda, derecha y centro; esto facilitará el control del servo. Además emplearemos interrupciones y temporizador para generar la frecuencia de 50hz como también el ciclo de trabajo positivo.

#define		F_CPU	8000000UL
#include	
#include	
#include	

int posicion = 1500;
char flag_pulso = 1;

void main(void){
	DDRD = 0xFF;
	PORTD &= ~(1<

Deja una respuesta