Beruflich Dokumente
Kultur Dokumente
Integrantes Sergio Jhavet Jasso Gonzlez Luis Joen Chagala Santana Geiner David Chan Graniel
Grado y Grupo 5C
Introduccin
Un Servo es un dispositivo pequeo que tiene un eje de rendimiento controlado. Este puede ser llevado a posiciones angulares especficas al enviar una seal codificada. El control de posicin lo efecta el servo internamente mediante un potencimetro que va conectado mecnicamente al eje de salida y controla un PWM (modulador de anchura de pulsos) interno para as compararlo con la entrada PWM externa del servo, mediante un sistema diferencial, y asi modificar la posicin del eje de salida hasta que los valores se igualen y el servo pare en la posicin indicada, en esta posicin el motor del servo deja de consumir corriente y tan solo circula una pequea corriente hasta el circuito interno, si forzamos el servo (moviendo el eje de salida con la mano) en este momento el control diferencial interno lo detecta y enva la corriente necesaria al motor para corregir la posicin.
Objetivo
Controlar la posicin de un servomotor con sensores pticos aplicando un pulso de duracin y frecuencia especfica.
Marco terico
servo motor
Un Servo es un dispositivo pequeo que tiene un eje de rendimiento controlado. Este puede ser llevado a posiciones angulares especficas al enviar una seal codificada. Con tal de que una seal codificada exista en la lnea de entrada, el servo mantendr la posicin angular del engranaje. Cuando la seal codificada cambia, la posicin angular de los piones cambia. En la prctica, se usan servos para posicionar superficies de control como el movimiento de palancas, pequeos ascensores y timones. Microcontrolador
Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S, es decir, se trata de un computador completo en un solo circuito integrado. Sensor ptico (CNY-70)
El CNY70 es un sensor de infrarrojos de corto alcance basado en un emisor de luz y un receptor, ambos apuntando en la misma direccin, y cuyo funcionamiento se basa en la capacidad de reflexin del objeto, y la deteccin del rayo reflectado por el receptor. Resistencia
Se denomina resistor al componente electrnico diseado para introducir una resistencia elctrica determinada entre dos puntos de un circuito. Fuente de alimentacin
En electrnica, una fuente de alimentacin es un dispositivo que convierte las tensiones alternas de la red de suministro, en una o varias tensiones, prcticamente continuas, que alimentan los distintos circuitos del aparato electrnico al que se conecta. Posicin
La posicin de una partcula indica su localizacin en el espacio o en el espacio-tiempo. Se representa mediante sistemas de coordenadas. En general, en un sistema fsico o de otro tipo, se utiliza el trmino posicin para referirse al estado fsico o situacin distinguible que exhibe el sistema. As es comn hablar de la posicin del sistema en un diagrama que ilustre variables de estado del sistema.
Especificaciones
Material
Ficha tcnica
justificacin
Sistema de control:
Servomotor
Voltaje de operacin:
(vigor-vts05a)
ETS Direccin: Hacia la izquierda / pulso viaja 800 a 2200 microsegundos. a prueba de tensin: Velocidad de operacin: 0.17sec/60 sin carga Stall torque: 1.2kgf.cm (16,66 g / cm) Salida de ngulo Corriente de: Corriente de parada: Ancho de Banda muerta a 4,8 V en 6,0 V 0.19sec/60 sin carga
La seleccin de este servomotor fue por motivos econmicos ya que este servo motor se encuentra entre los ms econmicos de su categora. El servo esta dentro de las necesidades para la prctica de censar 9 posiciones adems es capaz de mover los sensores ,resistencias y la placa dndonos una gran ventaja frente a la competencia La seleccin de este microcontrolador fue a la cantidad de entradas y salidas este PIC nos proporciono dicha capacidad, la cantidad de registros a manejar adems de que tenamos memoria suficiente para la programacin.
Material
Ficha tcnica
Justificacin
CNY-70
La seleccin de este tipo de sensor ptico se debi a la amplia gama de informacin y mtodos de implementacin adems de que es muy respetado frente a sus rivales como el tcrt500 que es ms complicado de instalar
Capacitor
Categora: Cermica> Disco capacidad: 22uF Tensin nominal: 1000 V la tolerancia: 10 Temperatura de servicio: N750 Arte del nmero de MA506-4MHz Circuitos de temporizacin Categora => Osciladores => Crystal / Cuarzo Osciladores Descripcin de Cristal SMD 12.000000mhz Empresa N.D.
El microcontrolador exige el uso de estos capacitores para funcionar adecuadamente El microcontrolador exige el uso de estos capacitores para funcionar adecuadamente adems 4mhz es el clculo del PIC Se escogi este cargador debido ala salida de voltaje que se obtiene ya que es la optima para el trabajo del PIC y a su vez alimenta el motor.
Oscilador
Fuente de alimentacin
( LG STAU34ER/U33ER)
Entrada: DC 110-220Vca Fabricante: LG Del fabricante # parte: CLA-305 / SGCC0003402 Embalaje: A granel, envasado en bolsas de polietileno Salida: 5.1V/700mA
Diagrama
Descripcin
Procedimiento
La posicin de un servo motor est determinada por el ancho del pulso que se aplica a su pin de control. En el caso del motor vigor- vts05a la posicin de 0 se consigue con un pulso de 800ms, la posicin de 90 se consigue con un pulso de 1500ms, la posicin de 180 se consigue con un pulso de 2200ms. Con los datos del servomotor listos procedemos a elaborar un diagrama de flujo el cual nos ayudara a guiarnos para realizar el programa para el microchip, este diagrama de flujo es hecho en el programa nipple el cual nos va a generar un archivo con lenguaje ensamblador para despus compilarlo y quemarlo en el microchip. Primero que nada en la programacin se deben declarar nuestros puertos de entrada para los cuales utilizamos el portB , como puerto de salida utilizamos el portA como salida , en esta salida ira conectada al pin3(naranja) del servomotor y mandaremos dichos pulsos y visualizaremos el movimiento del servo . Los sensores son CNY70 El fotodiodo se encarga de emitir luz cuya intensidad es funcin de la resistencia que pongamos en serie con l y la tensin a la que le alimentemos. El fototransistor se encarga de recibir esta luz cuando se refleja sobre alguna superficie, y dependiendo de la cantidad de luz recibida trabaja en sus distintas regiones y pasa ms o menos intensidad por l. Por lo que podemos detectar distintas superficies en funcin de la luz que reflejen, y as es como seguimos una lnea negra sobre un fondo blanco, o viceversa. Cuando el sensor se encuentre sobre la parte negra (la lnea) esta absorber gran parte de la luz emitida por el diodo, por lo que nuestro transistor estar en corte y apenas tendremos intensidad a travs de ste, cuando el sensor se sita sobre una superficie blanca, gran parte de la luz emitida por el diodo ser reflejada al fototransistor, pasando ste de su regin de corte a la de activa o saturacin y teniendo una intensidad bastante mayor. Cada vez que los sensores 1, 2,3 (sensores principales) estn mandando 1 el servomotor debe estar siempre en 90, en caso de que uno de estos sensores se apague y un sensor auxiliar mande 1 el micro debe mandar un tren de pulsos para corregir su posicin.
Conclusin
El control de posicin lo efecta el servo internamente mediante un PWM, La posicin de un servo motor est determinada por el ancho del pulso que se aplica a su pin de control. En el caso del motor vigor- vts05a la posicin de 0 se consigue con un pulso de 800ms, la posicin de 90 se consigue con un pulso de 1500ms, la posicin de 180 se consigue con un pulso de 2200ms.
Seales
ANGULO 180
ANGULO 90
Cdigo del programa ;-----------------------------------------------------------; Cdigo assembler generado por Niple V5.2.0 ; Proyecto: sensor 9 ; Autor: ; Fecha: 20/03/2012 ; PIC: 16F84A ; Velocidad de reloj: 4 Mhz ; Descripcion: ;-----------------------------------------------------------LIST P=PIC16F84A
__config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ;-----------------------------------------------------------; Declaracin de Registros
equ 0x0006 equ 0x000a equ 0x000e equ 0x0010 equ 0x0011 equ 0x0085 equ 0x0086
;-----------------------------------------------------------c ra0 ra3 rb0_int rb1 rb2 rb3 rb4 rb5 rb6 rb7 rp0 rp1 z equ 0 ;carry / borrow bit equ 0 ;bit 0 del puerto a equ 3 ;bit 3 del puerto a equ 0 ;bit 0 del puerto b equ 1 ;bit 1 del puerto b equ 2 ;bit 2 delpuerto b equ 3 ;bit 3 del puerto b equ 4 ;bit 4 del puerto b equ 5 ;bit 5 del puerto b equ 6 ;bit 6 del puerto b equ 7 ;bit 7 del puerto b equ 5 ;registrer bank select bit equ 6 ;registrer bank select bit equ 2 ;bit cero
;-----------------------------------------------------------; Inicio
;------------------------------------------------------------
;-----------------------------------------------------------paso2 movlw b'11111111' eeeeeeee bsf status,rp0 movwf trisb movlw b'00000000' xxxsssss movwf trisa paso4 nop bcf status,rp0 btfsc portb,rb0_int goto paso10 bsf porta,ra0 movlw .80 call tiempo_10_1000_uc ;temporizador 800 use ;cambiar a banco 0 ;si el bit rb0_int = 1 ;configurar el puerto a como ;configurar el puerto b como ;cambiar a banco 1
bcf porta,ra0 movlw .19 call tiempo_1_100_mc movlw .20 call tiempo_10_1000_uc goto paso4 paso10 btfsc portb,rb1 goto paso15 bsf porta,ra0 movlw .97 call tiempo_10_1000_uc nop nop nop nop nop bcf porta,ra0 movlw .19 call tiempo_1_100_mc movlw .2 call tiempo_10_1000_uc nop nop ;temporizador 19025 use ;fin del temporizador 975 use ;temporizador 975 use ;si el bit rb1 = 1 ;cierra el ciclo ;temporizador 19200 use
nop nop nop goto paso4 paso15 btfss portb,rb2 goto paso20 bsf porta,ra0 movlw .1 call tiempo_1_100_mc movlw .15 call tiempo_10_1000_uc bcf porta,ra0 movlw .18 call tiempo_1_100_mc movlw .85 call tiempo_10_1000_uc goto paso4 paso20 btfss portb,rb3 goto paso31 bsf porta,ra0 movlw .1 call tiempo_1_100_mc ;temporizador 1325 use ;si el bit rb3 = 0 ;cierra el ciclo ;temporizador 18850 use ;temporizador 1150 use ;si el bit rb2 = 0 ;fin del temporizador 19025 use ;cierra el ciclo
movlw .32 call tiempo_10_1000_uc nop nop nop nop nop bcf porta,ra0 movlw .18 call tiempo_1_100_mc movlw .67 call tiempo_10_1000_uc nop nop nop nop nop btfss porta,ra3 goto paso20 paso26 btfss portb,rb4 goto paso31 bsf porta,ra0 movlw .1 ;temporizador 1500 use ;si el bit rb4 = 0 ;fin del temporizador 18675 use ;si el bit ra3 = 0 ;cierra el ciclo ;temporizador 18675 use ;fin del temporizador 1325 use
call tiempo_1_100_mc movlw .50 call tiempo_10_1000_uc bcf porta,ra0 movlw .18 call tiempo_1_100_mc movlw .50 call tiempo_10_1000_uc goto paso4 paso31 btfss portb,rb4 goto paso36 bsf porta,ra0 movlw .1 call tiempo_1_100_mc movlw .67 call tiempo_10_1000_uc nop nop nop nop nop bcf porta,ra0 movlw .18 ;temporizador 18325 use ;fin del temporizador 1675 use ;temporizador 1675 use ;si el bit rb4 = 0 ;cierra el ciclo ;temporizador 18500 use
call tiempo_1_100_mc movlw .32 call tiempo_10_1000_uc nop nop nop nop nop goto paso26 paso36 btfss portb,rb5 goto paso41 bsf porta,ra0 movlw .1 call tiempo_1_100_mc movlw .85 call tiempo_10_1000_uc bcf porta,ra0 movlw .18 call tiempo_1_100_mc movlw .15 call tiempo_10_1000_uc goto paso4 paso41 ;cierra el ciclo ;temporizador 18150 use ;temporizador 1850 use ;si el bit rb5 = 0 ;fin del temporizador 18325 use ;cierra el ciclo
btfsc portb,rb6 goto paso46 bsf porta,ra0 movlw .2 call tiempo_1_100_mc movlw .2 call tiempo_10_1000_uc nop nop nop nop nop bcf porta,ra0 movlw .17 call tiempo_1_100_mc movlw .97 call tiempo_10_1000_uc nop nop nop nop nop goto paso4 paso46
btfsc portb,rb7 goto paso4 bsf porta,ra0 movlw .2 call tiempo_1_100_mc movlw .20 call tiempo_10_1000_uc bcf porta,ra0 movlw .17 call tiempo_1_100_mc movlw .80 call tiempo_10_1000_uc goto paso4
;cierra el ciclo
;------------------------------------------------------------
nop nop nop nop tiempo_1_100_mc_1 movlw .246 movwf _np_tiempo1 tiempo_1_100_mc_bucle2 nop decfsz _np_tiempo1,1 goto tiempo_1_100_mc_bucle2 nop nop nop nop nop decfsz _np_tiempo,1 goto tiempo_1_100_mc_bucle1 return
tiempo_10_1000_uc_bucle nop nop nop nop nop nop nop tiempo_10_1000_uc_10 decfsz _np_tiempo,1 goto tiempo_10_1000_uc_bucle return
End