Practica Servomotor

9
CONTROL SERVOMOTORES REPORTE PROF. ING. CARLOS CANTO QUINTAL INTERFASES PARA CONTROL Y AUTOMATIZACION ALUMNOS: GALLEGOS TORRES MARIA DEL ROCIO BAHENA ORTIZ JESUS ENRIQUE BAUTISTA GARCIA FRANCISCO MARTINEZ MAR DANIEL FERNANDO 9° SEMESTRE SAN LUIS POTOSI, S.L.P. 17/11/2011

Transcript of Practica Servomotor

Page 1: Practica Servomotor

CONTROL SERVOMOTORES REPORTE PROF. ING. CARLOS CANTO QUINTAL INTERFASES PARA CONTROL Y AUTOMATIZACION ALUMNOS: GALLEGOS TORRES MARIA DEL ROCIO BAHENA ORTIZ JESUS ENRIQUE BAUTISTA GARCIA FRANCISCO MARTINEZ MAR DANIEL FERNANDO 9° SEMESTRE SAN LUIS POTOSI, S.L.P. 17/11/2011

Page 2: Practica Servomotor

Contenido INTRODUCCION .............................................................................................................................. 1

DESARROLLO ................................................................................................................................. 3

OBJETIVO ..................................................................................................................................... 3

MATERIAL ..................................................................................................................................... 3

DIAGRAMA DEL CIRCUITO ...................................................................................................... 3

FUNCIONAMIENTO DEL PROGRAMA ................................................................................... 4

PROGRAMA EN LENGUAJE C (Mikro C) ............................................................................... 4

EVIDENCIAS ..................................................................................................................................... 6

CONCLUSIONES ............................................................................................................................. 7

BIBLIOGRAFIA ................................................................................................................................. 7

Page 3: Practica Servomotor

1 | P á g i n a

INTRODUCCION

Un Servo es un dispositivo pequeño que tiene un eje de rendimiento controlado. Este puede ser llevado a posiciones angulares específicas al enviar una señal codificada. Con tal de que una señal codificada exista en la línea de entrada, el servo mantendrá la posición angular del engranaje.

Cuando la señala codificada cambia, la posición angular de los piñones

cambia. En la práctica, se usan servos para posicionar superficies de control como el movimiento de palancas, pequeños ascensores y timones. Ellos también se usan en radio control, títeres, y por supuesto, en robots.

Los Servos son sumamente útiles en robótica. Los motores son pequeños,

pero tienen internamente una circuitería de control y es sumamente poderoso para su tamaño, es bastante fuerte para su tamaño.

También potencia proporcional para cargas mecánicas. Un servo, por

consiguiente, no consume mucha energía. Se muestra la composición interna de un servo motor en el cuadro de abajo. Podrá observar la circuitería de control, el motor, un juego de piñones, y la caja.

También puede ver los 3 alambres de conexión externa. Uno es para

alimentación Vcc (+5volts), conexión a tierra GND y el alambre blanco es el alambre de control.

Page 4: Practica Servomotor

2 | P á g i n a

El motor del servo tiene algunos circuitos de control y un potenciómetro (una resistencia variable) esta es conectada al eje central del servo motor. En la figura se puede observar al lado derecho del circuito.

Este potenciómetro permite a la circuitería de control, supervisar el ángulo

actual del servo motor. Si el eje está en el ángulo correcto, entonces el motor está apagado. Si el circuito chequea que el ángulo no es el correcto, el motor girará en la dirección adecuada hasta llegar al ángulo correcto. El eje del servo es capaz de llegar alrededor de los 180 grados. Normalmente, en algunos llega a los 210 grados, pero varía según el fabricante. Un servo normal se usa para controlar un movimiento angular de entre 0 y 180grados.

Un servo normal no es mecánicamente capaz de retornar a su lugar, si hay

un mayor peso que el sugerido por las especificaciones del fabricante. La cantidad de voltaje aplicado al motor es proporcional a la distancia que

éste necesita viajar. Así, si el eje necesita regresar una distancia grande, el motor regresará a toda velocidad. Si este necesita regresar sólo una pequeña cantidad, el motor correrá a una velocidad más lenta. A esto se le llama control proporcional.

El cable de control se usa para comunicar el ángulo. El ángulo está determinado por la duración de un pulso que se aplica al alambre de control. A esto se le llama PCM Modulación codificada de Pulsos. El servo espera ver un pulso cada 20 milisegundos (.02 segundos).

La longitud del

pulso determinará los giros de motor. Un pulso de 1.5 ms., por ejemplo, hará que el motor se torne a la posición de 90 grados (llamado la posición neutra). Si el pulso es menor de 1.5 ms., entonces el motor se acercará a los 0 grados. Si el pulso es mayor de 1.5ms, el eje se acercará a los 180 grados.

Page 5: Practica Servomotor

3 | P á g i n a

DESARROLLO

OBJETIVO

Desarrollar un programa en microcontrolador para controlar los ángulos de

giro de dos servomotores, para controlar la posición x y y.

MATERIAL

1 PIC 18F4550.

2 servomotores.

5 resistencias pullup.

4 botones push.

DIAGRAMA DEL CIRCUITO

Page 6: Practica Servomotor

4 | P á g i n a

FUNCIONAMIENTO DEL PROGRAMA El programa debe enviar a la salida un PWM con una frecuencia de 50Hz, que es la requerida para el correcto funcionamiento de los servomotores, para lo cual se debe utilizar el oscilador interno del microcontrolador para poder así generar la frecuencia deseada.

Una vez obtenida dicha frecuencia se necesita variar el ancho de pulso

entre 0 y 3mS, lo cual será controlado por medio de 4 botones 2 por servomotor y uno para aumentar el ancho del pulso y otro para disminuir el ancho de dicho pulso.

PROGRAMA EN LENGUAJE C (Mikro C) unsigned short duty_, dutyy; unsigned short control, controll; void InitMain() { ANSEL = 0; ANSELH = 0; OSCCON=0b10110111;//configuracion del oscilador interno PORTA = 255; TRISA = 255; //confifuracion puerto a commo engttrada PORTB = 0; // configuracion del puerto b como slaida TRISB = 0; // PORTC = 0; // TRISC = 0; // PWM1_Init(50); // configurar modulo pwm1 a 50Hz PWM2_Init(50); // configurar modulo pwm2 a 50Hz } void main() { InitMain(); PWM1_Start(); // iniciar pwm1 PWM2_Start(); // iniciar pwm2 PWM1_Set_Duty(0); // valor innicial PWM1 PWM2_Set_Duty(0); // valor incial PWM2 while (1) { // if(RA1_Bit){ Delay_ms(40); if(control>=38.25)

Page 7: Practica Servomotor

5 | P á g i n a

control=38.25; else control++; duty_=(control); PWM1_Set_Duty(duty_);} if(RA2_Bit){ Delay_ms(40); if(control<=0) control=0; else control--; duty_=(control); PWM1_Set_Duty(duty_); } if(RA3_Bit){ Delay_ms(40); if(controll>=38.25) controll=38.25; else controll++; dutyy=(controll); PWM2_Set_Duty(dutyy); } if(RA4_Bit){ Delay_ms(40); if(controll<=0) controll=0; else controll--; dutyy=(controll); PWM2_Set_Duty(dutyy); } } Delay_ms(20); }

Page 8: Practica Servomotor

6 | P á g i n a

EVIDENCIAS

Page 9: Practica Servomotor

7 | P á g i n a

CONCLUSIONES

Al finalizar la práctica se puede afirmar que se cumplieron el objetivo planteado al inicio de la misma, ciertamente se tuvieron algunas dificultades para la configuración del oscilador interno pero al final fueron solucionadas con éxito. La aplicación de los servomotores es bastante amplia sobre todo en la robótica que es un área, que es abarcada por la ingeniería mecatrónica.

BIBLIOGRAFIA

www.microchip.com

AE Universidad de Oviedo.

www.mikroe.com