(c) domingo llorente 2010 1 - ies luis de lucena de servos... · (c) domingo llorente 2010 2...

24
(c) Domingo Llorente 2010 1 Control de servomotores

Upload: others

Post on 22-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 1

Control de servomotores

Page 2: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 2

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.

� 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.

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

Page 3: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 3

Aplicaciones de los servomotores

Hexápodos

Brazos robotizados

Robots humanoides

Radio control

Page 4: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 4

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) y el de señal que puede ser blanco, amarillo o naranja.

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

Page 5: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 5

Funcionamiento del servo

La 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 tiempo en alto suele estar entre 0.3 y 2.5ms

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

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

Page 6: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 6

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º

Page 7: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 7

Características del servo Hitec HS-422

Características: Dimensiones:

Page 8: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 8

Características del servo Futaba S3003

Dimensiones:

Page 9: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 9

Tabla de tiempos para servos Futaba

Page 10: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 10

Tabla de tiempos para servos Hitec

Page 11: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 11

Recomendaciones

� 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 microcontroladory circuitos integrados) y otra para los motores. No olvides unir las masas de ambasfuentes.

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

� Procura no forzar nunca un servo. Un servo en funcionamiento normal NO se debecalentar y NO debe de vibrar.

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

Page 12: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 12

Simulación en Proteus (I)

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

MOTOR-PWMSERVO

Page 13: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 13

Simulación en Proteus (II)

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

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

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

Page 14: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 14

Ejemplo

Diseñar un programa que posicione un servo conectado en el pin RC1 en la posiciónde -90º si RA0=0 o en la de +90º si RA0=1. Mostrar mensajes en el LCD y utilizar la interrrupción del Timer 1 sin preescaler para generar los tiempos de control.

Page 15: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 15

Solución en CCS (I)

Comenzamos utilizando elasistente “PIC Wizard”

Luego hay que crear la carpeta para nuestro proyecto y dar un nombre al archivo con extensión .pjt

Page 16: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 16

Solución en CCS (II)

Elegir:Pic: PIC17F877AFrecuencia del oscilador: 4MhzFuses: Crystal osc <=4MhzMemoria de programa: No protegida

Page 17: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 17

Solución en CCS (III)

En la pestaña de “Interrups” marcar la casilla de “Timer 1 overflow”

Page 18: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 18

Solución en CCS (IV)

En la pestaña “Code”podemos ver el códigoque se añadirá en nuestroprograma.

Page 19: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 19

Solución en CCS (V)

En la pestaña de “Timers”configurar el TIMER 1 como temporizador sin preescaler.

Page 20: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 20

Solución en CCS (VI)

En la pestaña “Code”podemos ver el códigoque se añadirá en nuestroprograma.

Page 21: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 21

Solución en CCS (VII)

El compilador nos generael siguiente código

Page 22: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 22

Cabecera del programa con los Fuses y declaración de variables globales:

Solución en CCS (VIII)

Page 23: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 23

Solución en CCS (IX)

Una posiblefunción deInterrupción:

Page 24: (c) Domingo Llorente 2010 1 - IES LUIS DE LUCENA de servos... · (c) Domingo Llorente 2010 2 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene

(c) Domingo Llorente 2010 24

El programa principal: