18
PIC 18F45XX Control de servo motores

PIC 18F45XX - IES LUIS DE LUCENA. Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene la capacidad de ubicarse en cualquier posición dentro de su

Embed Size (px)

Citation preview

PIC 18F45XX

Control de servo motores

1. Conceptos básicos

➔Un servomotor (también llamado Servo) es un dispositivo, que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, (entre -90º y +90º) y mantenerse estable en dicha posición.

➔Para que el servo mantenga dicha posición es necesario suministrarle un tren de pulsos determinado de forma constante.

➔Está conformado por un motor c.c, una caja reductora y un circuito de control.

➔Es posible modificar un servomotor para obtener un motor de corriente continua eliminando el circuito de control.

➔Los servos se utilizan frecuentemente en sistemas de radio control y en robótica.

2. Aplicaciones principales

3. Partes de un servomotor

Los servos se suelen alimentar a una tensión entre 4 y 6v.

El cable de conexión es de tres hilos:* rojo (Vcc),* negro (Gnd)* amarillo/blanco (señal)

Para que el servo mantenga su posición tiene que estar alimentado y enviar, continuamente, el tren de pulsos adecuado para cada posición.

4. FuncionamientoLa frecuencia de los pulsos de control debe estar entre 50 y 100Hz, lo cual implica periodos de entre 10 y 20ms.

La duración del ancho del pulso suele estar entre 0.5 y 2.5ms

Relación Tiempo->Posición(2.5-0.5)/180.0=11.11us

Es decir por cada 11.11us queincrementemos el tiempo enalto del servo este se mueveun grado a la derecha.

Es decir, a partir de los 500uscada 11.11us el servo semueve un grado a laderecha.

Nota: Los valores pueden ser ligeramente distintos para otros modelos y fabricantes.

5. Pulsos de control del servo Hitec HS-300

1,2 ms

20 ms

20 ms

20 ms

0,3 ms

2,1 ms

hitecHS-300

hitecHS-300

hitecHS-300

ExtremoIzquierda

PosiciónCentral

ExtremoDerecha

90º

180º

6. Características del servo Hitec HS-422

7. Características del servo Futaba S3003

8. Tabla de tiempos aproximada (Futaba S3003)

9. Tabla de tiempos aproximada (Futaba S3003)

En un proyecto con control de motores es, muy recomendable, utilizar dos fuentes de alimentación independientes, una para la electrónica (alimentación del microcontrolador y circuitos integrados) y otra para los motores. No olvidar NUNCA unir las masas de ambas fuentes.

Los Cables de señal de servos demasiado largos pueden provocar movimientos inesperados (efecto antena del cable, interferencia con otros servos). Para evitarlo se pueden utilizar cables apantallados.

Procurar no forzar nunca un servo. Un servo en funcionamiento normal NO se debe calentar y NO debe vibrar.

Respeta siempre los tiempos que indica el fabricante en cuanto a refresco de la señal de posicionamiento.

10. Simulación en Proteus (I)

En Proteus (Isis) el servomotor se llama “MOTOR-PWMSERVO” y se puede elegir como un componente más.

MOTOR-PWMSERVO

11. Simulación en Proteus (II)

El componente MOTOR-PWMSERVO” se puede editar para ajustar los parámetros al servo real que tengamos.

Tiempo mínimo del Pulso en ms(pos=-90º)

Tiempo máximo del Pulso en ms(pos=+90º)

Nota: Modificar los valores tiempo mínimo y máximo para adaptarlos a cada modelo.

12. Programa de ejemplo

Diseñar un programa de ejemplo que posicione un servomotor futaba S3003 conectado en el pin RC1 en la posición (0-180º) en función del valor del interruptor RD0. Utilizar el Timer0 para generar los pulsos de control y mostrar mensajes en el lcd.

Solución en C18 (l)

Solución en C18 (l)

Solución en C18 (II)

Simulación (I)

Simulación (II)