divisiÓn de ciencias bÁsicas e ingenieria …148.206.53.84/tesiuami/uami11883.pdf · rotativo. en...

49
DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA DEPARTAMENTO DE INGENIERÍA ELÉCTRICA INGENIERIA ELECTRONICA EN COMPUTACION “MOVIMENTO DE UNA CAMARA POR MEDIO DE UN JOYSTICK” Asesor : Alejandro Martínez Gonzáles Alumno : Rogel Toledo Green Av. SAN RAFAEL ATLIZCO No186 Col. VICENTINA, C.P. 09340 IZTAPALA, MÉXICO, D.F. JUNIO-2003

Upload: vantu

Post on 22-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA

DEPARTAMENTO DE INGENIERÍA ELÉCTRICA

INGENIERIA ELECTRONICA EN COMPUTACION

“MOVIMENTO DE UNA CAMARA POR MEDIO DE UN JOYSTICK”

Asesor : Alejandro Martínez Gonzáles Alumno : Rogel Toledo Green

Av. SAN RAFAEL ATLIZCO No186 Col. VICENTINA, C.P. 09340

IZTAPALA, MÉXICO, D.F. JUNIO-2003

Page 2: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor
Page 3: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

A mi madre, Maria Elena y a mi esposa, Esperanza por su compresión y apoyo.

Page 4: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

Índice general pagina

Objetivos 1

Introducción 1

Estado del Arte 4

Desarrollo o Joystick 10 o Microcontrolador 13 o Servomecanismo 22

Análisis de resultado 27

Conclusiones 31

Anexo A

o Futaba S3003 32

Anexo B o RF-020Th 37

Anexo C

o PIC16f87x 38 Bibliografía 45

Page 5: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

1

OBJETIVOS .-Diseñar un servomecanismo controlado por un joystick. .-El servomecanismo deberá ser capas de mover una cámara de video en los tres ejes cartesianos. INTRODUCCION El ser humano conforme se va desarrollando a requerido de sistemas de vigilancia, los cuales le permitan tener control sobre algún objeto, lugar ó persona. Dentro de estos sistemas que se han generado encontramos a: las cámaras de vigilancia, Estas tienen muchas aplicaciones en la vida diaria del ser humano, por ejemplo; en los bancos, centros comerciales, oficinas gubernamentales, trafico y otros. Estas cámaras de vigilancia, tienen las siguientes características generales que son: .- Un servomecanismo direccional. .- Un sistema de control. .- Una cámara (color, blanco / negro, infrarrojo, etc) Un Servomecanismo es un tipo de sistema de gobierno automático utilizado para mantener fija la velocidad, posición o ángulo de funcionamiento de un mecanismo rotativo. En nuestro caso el servomecanismo esta integrado por dos servomotores ( futaba s3003 ) montados en bases , con la combinación de sus movimientos podremos realizar que la cámara gire en los tres ejes ( x, y, z ). Los servomotores , son un tipo especial de motor, que se caracterizan por su capacidad para colocarse de forma inmediata en cualquier posición dentro de su rango de operación. Para ello el servomotor usa un tren de pulsos que corresponden con el movimiento a realizar. Están generalmente formados por un amplificador , un motor dc , la reducción del engranaje y la realimentación, todo en una pequeña caja ( ver figura 1 ). Teniendo un margen máximo de operación de 1800 aproximadamente.

Page 6: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

2

figura 1

El Sistema de Control es una combinación de componentes que actúan conjuntamente y cumplen un determinado objetivo. En el caso de las cámaras de vigilancia, el sistema esta compuesto por un microprocesador o un microcontrolador, el cual recibe y procesa la información, para situar al servomecanismo en una posición, dada por un joystick ó teclado . Los microcontroladores son los dispositivos mas utilizados por su tamaño, su fácil programación, costo bajo, así como poco hardware adicional. En el caso de los microcontroladores PIC (figura 2) solo se requiere de un cristal y dos capacitadores para la frecuencia de reloj.

figura 2

Page 7: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

3

Las cámaras pueden ser de dos tipos fotográficas o de video, pero lo normal es el uso de cámaras de video, las cuales pueden tener diferentes características dependiendo en donde se realizara la vigilancia, así como el tipo de ambiente. Existen cámaras a blanco y negro, utilizadas por lo general en los hogares, A color, para uso en oficinas, bodegas y tiendas departamentales. Las infrarrojas, estas son utilizadas en la noche, para una mejor vigilancia, son usadas generalmente, por el ejercito, la policía, y en lugares de máxima seguridad en conjunto con otros mecanismos de vigilancia. Además cualquier cámara puede contar con un sistema de control, que siga el movimiento de algún objeto (vehículos, personas, aviones, etc. ).

figura 3

Page 8: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

4

ESTADO DEL ARTE. En la actualidad existen un sin numero de dispositivos que sirven para los sistemas de vigilancia ( cámaras de video ) que son controlados en el lugar o remotamente , A continuación se describen algunos de estos dispositivos. .- 3920 Series Alta velocidad, cámaras de Día / noche de alta resolución

figura 4 Cámara de Color DSP Día / Noche Para imágenes de color natural en el DIA e imágenes monocromáticas sensibles a la luz de NOCHE. Cámara de color con resolución de 470 HTVL. Rango óptico opcional de acercamiento de 23x. Caja sellada y presurizada para una operación limpia y segura. Posicionamiento rápido y preciso con programación de ajustes, sectores, recorridos y más Multi-protocolo Para fácil integración. Manejo De Seguimiento / Inclinación Desplazamiento Angular: 360° rango de seguimiento continuo, -90° a +10° rango de inclinación. Velocidad de seguimiento (Pre ajustada): 250°/seg.

Page 9: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

5

.- CAMARA VIGILANCIA COLOR EXTERIOR Referencia LAS1910

figura 5 Cámara CCD Color 1/4" Iluminación Mínima: 0.6 Lux (F1.2) Relación Señal / ruido: Más de 46 dB (AGC OFF). Auto Iris Electrónico. Suministrada con cable para alimentación a 12V CC y Video. Lente estándar incorporada 3.6 mm Sistema de Barrido PAL Estándar 625 líneas, 25 imágenes / seg; Horizontal: 15.625KHz Vertical: 50Hz Sensor de Imagen CCD 1/3" InterLínea Elementos de Imagen Total: 537(H) * 597(V) Efectivo: 500(H) * 582(V) Sistema de Sincronización Interna Iluminación Mínima 0.6 (F1.2) Alimentación // Consumo 12V CC // 2 W (DC200 mA) Temperatura de Funcionamiento -10ºC ~ 50ºC Temperatura de Almacenamiento -30ºC ~ 80ºC Humedad Aprox. 90%

Page 10: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

6

.- G3 AutoDome® para Interiores

figura 6

Zoom x100 (x16 Óptico / x6,3 Digital*) Inclinación y un giro de alta velocidad con una rotación continua de 360º y una precisión de 0,5 Menos de un segundo se puede alcanzar cualquier posición previa con gran exactitud. AutoScaling La función de reproducción automática le permite almacenar hasta tres minutos de comandos de control . El sistema almacena toda la información relativa a la cámara y a la posición. función AutoPivot , que hace girar y bascular la cámara de forma automática .

Page 11: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

7

.- Cámara b/n exterior inalámbrica visión nocturna Cámara infrarrojos para exterior B/N Rimax 34T Cámara para exterior B/N inalámbrica de 2,4 GHz Visión nocturna Exterior

figura 7

Especificaciones: Frecuencia / 2,4 ~ 2,4835 GHz Alcance: 300 pies (100 metros) en un entorno sin obstáculos Antena: Antenas direccionables integradas Canal: 4 canales seleccionables Método mod/demod A/V / FM LED infrarrojos / 8 un Sensor de imagen COMS 1/4” Píxels efectivos / EIA: 320 (H) x 240 (V) / CCIR: 352 (H) x 288 (V) Lente / f3,6 mm, F2,0 Nivel S/R / >48 dB Micrófono / Integrado

Page 12: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

8

.- Cámara color interior

figura 8

Especificaciones técnicas: Frecuencia: 2.4 Gh Distancia de transmisión: 100m Canal: 4 canales seleccionables Sensor de imagen de 1,3” Lentes: 6.0mm F1.8 Micrófono incorporado Dimensiones: 10 x 9 x 15cm Peso: 300g(sin batería) Temperatura de operación: 0ºC ~ 40ºC Conector de entrada y salida AV Consumo eléctrico: DC 9V, 300 mA o 8

Page 13: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

9

.- VIDEOVIGILANCIA CAMARA COLOR

figura 9 Dos ángulos de giro Incluye microfono en la propia cámara Dispone de tres conexiones: alimentación, audio y vídeo Resolución de 300 líneas de TV, S/N ratio menor de 48dB (AGC OFF) Control autómático de ajuste de luminosidad y enfoque de de 6.0 mm a infinito. Funciona con fuente de alimentación de 6.0VDC a 100mA

Page 14: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

10

DESARROLLO El proyecto consiste en tres partes , que a continuación se muestran: Joystick

JOYSTICK

El joystick consiste de dos potenciómetros con resistencia variable con valores entre 0 Ω y 100 kΩ (en algunos casos 150 kΩ). El potenciómetro obtiene un mínimo valor cuando está al tope de la posición izquierda y máximo cuando se sitúa en el tope derecho . Los potenciómetros en uno de sus extremos es conectado a 5 v dc y el centro es conectado a la entrada analógica del Joystick. El otro extremo no se conecta. El joystick tiene un margen de operación de 400 , teniendo como posición central 900 ,siendo su tope izquierdo 700 , y su tope derecho 1100 .

figura 10

MICROCONTROLADOR SERVOMECANISMO

Page 15: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

11

Circuito típico de un joystick

figura 11

PINOUT El joystick tiene un conector DB 15 con el cual se comunica con la computadora , en nuestro caso será el microcontrolador .

figura 12

Pin Nombre Dirección Descripción 1 +5 v +5 v dc 2 /B1 Botón 1 3 X1 Joystick 1 – x 4 GND -- Tierra 5 GND -- Tierra 6 Y1 Joystick 1- y 7 /B2 Botón 2 8 +5 v +5 v dc 9 +5 v +5 v dc

Tabla 1

Page 16: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

12

REALACIÓN GRADOS – RESISTENCIA Como ya se explico el joystick tiene un margen de movimiento de 400 , por lo tanto los 100 k Ω del potenciómetro se distribuyen en estos grados. Por lo que existe una relación entre la posición y el valor de la resistencia. Que a continuación mostramos, ver grafica 1.

FASE-RESISTENCIA

60

70

80

90

100

110

120

9.14E

+04

9.52E

+04

8.06E

+04

6.88E

+04

5.95E

+04

5.00E

+04

3.51E

+04

2.53E

+04

1.22E

+04

2.00E

+03

RESISTENCIA (ohm)

FASE

(gra

dos)

grafica 1 Como se observa la relación existente , es casi lineal .

Page 17: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

13

MICROCONTROLADOR El microcontrolador es la parte central del proyecto , Es el que recibirá la orden de mover la cámara, que es mandada por el joystick , traducirla y enviar la señal correspondiente a los servos que moverán de posición a la cámara. Los PIC de la empresa Microchip tienen un elevado rendimiento que permite realizar una gran cantidad de funciones y prestaciones. Características del PIC .- Solo necesita de 35 instrucciones de una sola palabra para usarlo. .- Todas las instrucciones son de un solo ciclo. .- La velocidad de funcionamiento es de DC a 20 MHz en la entrada del clock y de DC a200 ns en el ciclo de instrucciones. .- Tiene una pila de hardware de ocho niveles. .- Procesa modos de acceso directo, indirecto y relativo. .- Power on Reset. .- Power up Timer (PWRT). .- Watch Dog (WDT). .- Protección de códigos. .- Modo SLEEP para economizar consumo. .- Opciones seleccionables de oscilador. .- Tecnología CMOS con Flash reforzado y EEPROM. .- Tecnología de baja potencia y alta velocidad. .- Rango de operación de 2v a 5.5 v. .- Consumo muy bajo

- < 2mA típico a 5v, 4MHz - 15 µA típico a 2 v, 32 KHz - < 0.5 µA típico de corriente en reposos a 2v

figura 13 Por lo que debemos de seleccionar el PIC adecuado ,Para el proyecto se opto por el PIC 16f874. Que cuenta con 8 convertidores A/D , de los cuales solo ocuparemos dos.

Page 18: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

14

El PIC 16f874 tendrá las siguientes funciones. .- Primero se utiliza el convertidor A/D que tiene el PIC para poder interpretar el valor generado por el joystick ( un extremo del joystick va a tierra, la parte central se conecta a la entrada del A/D del PIC, además se conecta una resistencia de carga entre vcc y la entrada del A/D , con lo cual generamos el voltaje a convertir) .- A través del software se realiza la conversión A/D, realizada esta conversión se procede a traducirla a su correspondiente señal PWM. .- La señal PWM ( requerida por los servomotores )se generara, convirtiendo el valor obtenido a través de la conversión A/D en un pulso alto, el resto de la señal (PWM) se genera primero en el ciclo que se genera el pulso alto se generara parte del pulso bajo, el resto del pulso bajo se crea mientras se hace la conversión del otro canal del A/D. Esto se realiza de esta manera para generar la señal PWM constante ( El periodo es Fijo, 10 ms ). Esquema electrónico del proyecto.

RA0/AN02

RA1/AN13RA2/AN2/VREF-4

RA4/T0CKI6RA5/AN4/SS7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13OSC2/CLKOUT14

RC1/T1OSI/CCP2 16RC2/CCP1 17

RC3/SCK/SCL 18

RD0/PSP0 19RD1/PSP1 20

RB7/PGD 40RB6/PGC 39RB5 38

RB4 37RB3/PGM 36RB2 35RB1 34RB0/INT 33

RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

RC7/RX/DT 26RC6/TX/CK 25RC5/SDO 24RC4/SDI/SDA 23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI 15

MCLR/Vpp/THV1

PIC 16F874

PIC16F874

R1 1M R2

1M

Y1

Joystick

X1

Joystick

vcc5.0

CRYSTAL

FREQ = 4MHz

C122p

C222p

+ 8 8 . 8 SERVOMOTOR 2

+ 8 8 . 8 SERVOMOTOR 1

vcc

figura 14

Page 19: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

15

Microchip al desarrollar sus microcontroladores también desarrollo su propio compilador el MPLAB , que sirve para toda la gama de PIC´S. Para el proyecto se desarrollo el software que realizara lo ya antes mencionado para el control de los servomotores. En el cual se utilizaron los siguientes registros. TRISA, TRISD Registros de direccionamiento de datos del PORTA y PORTD respectivamente, Cuando se ajusta algún bit de TRISX a 1 hará la pata correspondiente de PORTX una entrada, y si se coloca a 0 se convierte en salida. PORTA, PORTD Puertos bidireccionales de 8 bits. El PORTA se utilizara para la conversión A/D y el PORTD para controlar los servomotores STATUS Contiene el status aritmético de la ALU, el status de reset y el bit selector de bancos de memoria de datos. ADCON0 Controla la operación del modulo A/D. Selecciono el canal a utilizar ADCON1 Configura las funciones de los pines del puerto A , los pines pueden ser configurados como de entradas análogas ó I/O digitales.

Page 20: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

16

REGISTRO ADCON 0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE — ADON

bit7 bit0 bit 7-6: ADCS1:ADCS0: A/D Conversion Clock Select bits 00 = FOSC/2 01 = FOSC/8 10 = FOSC/32 11 = FRC (clock derived from an RC oscillation) bit 5-3: CHS2:CHS0: Analog Channel Select bits 000 = channel 0, (RA0/AN0) 001 = channel 1, (RA1/AN1) 010 = channel 2, (RA2/AN2) 011 = channel 3, (RA3/AN3) 100 = channel 4, (RA5/AN4) 101 = channel 5, (RE0/AN5)(1) 110 = channel 6, (RE1/AN6)(1) 111 = channel 7, (RE2/AN7)(1) bit 2: GO/DONE: A/D Conversion Status bit If ADON = 1 1 = A/D conversion in progress (setting this bit starts the A/D conversion) 0 = A/D conversion not in progress (This bit is automatically cleared by hardware when the A/D conversion is complete) bit 1: Unimplemented: Read as '0' bit 0: ADON: A/D On bit 1 = A/D converter module is operating 0 = A/D converter module is shutoff and consumes no operating current Note 1: These channels are not available on the 28-pin devices.

Tabla 2

Page 21: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

17

REGISTRO ADCON1

U-0 U-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 ADFM — — — PCFG3 PCFG2 PCFG1 PCFG0

bit7 bit0 bit 7: ADFM: A/D Result format select 1 = Right Justified. 6 most significant bits of ADRESH are read as ‘0’. 0 = Left Justified. 6 least significant bits of ADRESL are read as ‘0’. Bit 6-4: Unimplemented: Read as ’0’ bit 3-0: PCFG3:PCFG0: A/D Port Configuration Control bits PCFG3: PCFG0

AN7(1) RE2

AN6(1) RE1

AN5(1) RE0

AN4 RA5

AN3 RA3

AN2 RA2

AN1 RA1

AN0 RA0 VREF+ VREF- CHAN/

Refs(2) 0000 A A A A A A A A VDD VSS 8/0 0001 A A A A VREF+ A A A RA3 VSS 7/1 0010 D D D A A A A A VDD VSS 5/0 0011 D D D A VREF+ A A A RA3 VSS 4/1 0100 D D D D A D A A VDD VSS 3/0 0101 D D D D VREF+ D A A RA3 VSS 2/1 011x D D D D D D D D VDD VSS 0/0 1000 A A A A VREF+ VREF- A A RA3 RA2 6/2 1001 D D A A A A A A VDD VSS 6/0 1010 D D A A VREF+ A A A RA3 VSS 5/1 1011 D D A A VREF+ VREF- A A RA3 RA2 4/2 1100 D D D A VREF+ VREF- A A RA3 RA2 3/2 1101 D D D D VREF+ VREF- A A RA3 RA2 2/2 1110 D D D D D D D A VDD VSS 1/0 1111 D D D D VREF+ VREF- D A RA3 RA2 ½

A = Analog input D = Digital I/O Note 1: These channels are not available on the 28-pin devices. 2: This column indicates the number of analog channels available as A/D inputs and the numer of analog channels used as voltage reference inputs.

Tabla 3 Listado del programa en ensamblador.

Page 22: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

18

LIST P=PIC16F874 RADIX DEC #INCLUDE <P16F874.INC> ERRORLEVEL -302 __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ;****************************************************************** ;DEFINICIONES #DEFINE VAL_TRISA 7FH ;PORTA ENTRADA #DEFINE VAL_TRISB 00H ;PUERTOS DE SALIDA #DEFINE VAL_TRISC 00H ; #DEFINE VAL_TRISD 00H ; #DEFINE VAL_ADCON1 02H ;ADRESH,A0-A4 ANALOGICO #DEFINE VAL0_ADCON0 81H ;CANAL0 ,FOSC/32,AD/ON #DEFINE VAL1_ADCON0 89H ;CANAL1 ,FOSC/32,AD/ON #DEFINE PUERTO0_PWM PORTD,0 ;PUERTO D0,SALIDA PWM CANAL0 #DEFINE PUERTO1_PWM PORTD,1 ;PUERTO D1,SALIDA PWM CANAL1 #DEFINE VCONT 01H ;VARIABLES DEL DELAY #DEFINE VCONT_H 06H ;DELAY ALTO #DEFINE VCONT_L 06H ;DELAY BAJO ;****************************************************************** ;REGISTROS TIEMPO EQU 0X30 PWM_DESEADA EQU 0X31 PWM_ALTO EQU 0X32 PWM_BAJO EQU 0X33 CONT EQU 0X34 CONT1 EQU 0X35 CONT2 EQU 0X36 CONT3 EQU 0X37 PUERTO_PWM EQU 0X38 ;****************************************************************** INICIO ORG 0 CON_PIC ;CONFIGURO EL PIC BSF STATUS,RP0 ;BANCO 1 MOVLW VAL_TRISA ;PORTA ENTRADA MOVWF TRISA ; MOVLW VAL_TRISB ;PORTB SALIDA

Page 23: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

19

MOVWF TRISB ;LEDS MOVLW VAL_TRISC ;PORTC SALIDA MOVWF TRISC ;LEDS MOVLW VAL_TRISD ;PORTD SALIDA MOVWF TRISD ;SERVO CON_AD MOVLW VAL_ADCON1 ;ADRESH,A0-A4 ANALOGICO MOVWF ADCON1 ; BSF PIE1,ADIE ;ABILITA A/D INTERRUPCION BCF STATUS,RP0 ;BANCO 0 MOVLW 00H ; MOVWF PUERTO_PWM ;CARGA EL CANAL 0 CANAL BTFSC PUERTO_PWM,0 ;SELECIONA EL CANAL DEL A/D GOTO CANAL_1 ; GOTO CANAL_0 ; CANAL_0 MOVLW VAL0_ADCON0 ;CANAL 0 ,ADON=1 MOVWF ADCON0 ; GOTO CON _ BANDERA ; CANAL_1 MOVLW VAL1_ADCON0 ;CANAL1 ,ADON=1 MOVWF ADCON0 ; GOTO CON _ BANDERA ; CON _ BANDERA BCF PIR1,ADIF ;LIMPIA LA BANDERA DEL A/D ;0=COMPLETADA 1=NO COMPLETADA TIEMP MOVLW 00H ;SE CARGA EL VALOR INICIAL MOVWF TIEMPO ;DEL REGISTRO TIEMPO TIEMPO_ADQUI INCF TIEMPO,F ;TIEMPO REQUERIDO PARA LA ADQUI- BTFSS TIEMPO,7 ;SICION DEL A/D GOTOTIEMPO_ADQUI ;T=381 MICRO/SEG CONVERSION BSF ADCON0,GO ;EMPIEZA LA CONVERSION ESP_AD BTFSS PIR1,ADIF ;1=CONVERSION COMPLETA

Page 24: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

20

GOTO ESP_AD ;0=CONVERSION NO COMPLETA RESULTADO MOVF ADRESH,W ;SE CARGA ADRESH MOVWF PWM_DESEADA ;SE CARGA EL VALOR DEL PULSO ALTO BCF PWM_DESEADA,0 ;DESPRECIO LOS BITS 0,1,2 BCF PWM_DESEADA,1 ;PARA EVITAR EL BRINCOTEO BCF PWM_DESEADA,2 ;EN LOS SERVOS MOVF PWM_DESEADA,W; MOVWF PWM_ALTO ; COMF PWM_DESEADA,W;SE CARGA EL VALOR DEL PULSO BAJO MOVWF PWM_BAJO ; BTFSC PUERTO_PWM,0 ;SE SELECIONA EL PUERTO DE SALIDA GOTO PUERTO1H ;PUERTO D1 GOTO PUERTO0H ;PUERTO D0 PUERTO0H BSF PUERTO0_PWM ;SE PONE A 1 PORTD0 MOVF PWM_ALTO,W ;SE DESPLIEGA EN PORTB MOVWF PORTB ;EL VALOR DEL PULSO ALTO GOTO CICLO_ALTO ; PUERTO1H BSF PUERTO1_PWM ;SE PONE A 1 PORTD1 MOVF PWM_ALTO,W ;SE DESPLIEGA EN PORTC MOVWF PORTC ;EL VALOR DEL PULSO ALTO GOTO CICLO_ALTO ; CICLO_ALTO DECFSZ PWM_ALTO,F ;RETARDO PARA EL PULSO ALTO GOTO DELAY ; BTFSC PUERTO_PWM,0 ;SELECCION DEL PUERTO GOTO PUERTO1L ;PUERTO 1 GOTO PUERTO0L ;PUERTO 0 PUERTO0L BCF PUERTO0_PWM ;SE PONE A 0 PORTD0 GOTO CICLO_BAJO ; PUERTO1L BCF PUERTO1_PWM ;SE PONE A 0 PORTD1 GOTO CICLO_BAJO ; CICLO_BAJO

Page 25: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

21

DECFSZ PWM_BAJO,F ;RETARDO PARA EL PULSO BAJO GOTO DELAY1 ; CAMBIO BTFSC PUERTO_PWM,0 ;SE CAMBIA EL PUERTO DEL A/D GOTO CAN0 ; GOTO CAN1 ; CAN0 DECF PUERTO_PWM,F ;CAMBIA A CANAL 0 GOTO CANAL ; CAN1 INCF PUERTO_PWM,F ;CAMBIA A CANAL 1 GOTO CANAL ; DELAY MOVLW VCONT MOVWF CONT DEM MOVLW VCONT_H MOVWF CONT1 DEM1 DECFSZ CONT1,F GOTO DEM1 DECFSZ CONT,F GOTO DEM GOTO CICLO_ALTO DELAY1 MOVLW VCONT MOVWF CONT2 DEM10

MOVLW VCONT_L MOVWF CONT3 DEM11

DECFSZ CONT3,F GOTO DEM11 DECFSZ CONT2,F GOTO DEM10 GOTO CICLO_BAJO END ;FIN PROGRAMA

Page 26: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

22

SERVOMECANISMO

El servomecanismo consiste en dos servomotores futaba s3003 montados en bases, de tal manera que el movimiento combinado de los dos, hace girar la cámara en los tres ejes cartesianos. Los servomotores son un tipo especial de motor que se caracteriza por su capacidad para colocarse de forma inmediata en cualquier posición dentro de su rango de operación . Para ello, el servo usa un tren de pulsos que corresponden con el movimiento a realizar. Están formados por un amplificador, un motor dc, la reducción del engranaje y la realimentación, todo en una pequeña caja.

figura 15

El control de un servo se limita a indicar en que posición se debe situar. Estas ordenes consisten en una serie de pulsos, La duración del pulso indica el ángulo de giro del motor. Los valores más generales corresponden con valores de 1 ms y 2ms, que dejarían al motor en ambos extremos, El valor de 1.5 ms dejaría al servo en la posición central.

Page 27: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

23

grafica 2

Para poder mover la cámara en los 3 ejes cartesianos ( x, y, z ) se montaron los servomotores en bases. Se requirieron 3 bases, Estas tendrían que ser ligeras y resistentes , encontrando estas cualidades deseadas en el material NYLAMID. La base de la cámara consiste en un cuadrado de 2 x 2 pulgadas y una profundidad de 1 pulgada, teniendo al centro del cuadrado una perforación de 1 pulgada de diámetro, en donde se sitúa la cámara.

figura 16

Page 28: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

24

La base de la cámara se fijo a un servomotor, el cual a su vez estaba en otra base.

figura 17

figura 18

Page 29: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

25

Finalmente se construyo la base que sostendría todo el mecanismo, la cual consiste en una base cuadrada de 3 x 3 pulgadas, con dos soportes de ½ x ½ pulgada cada uno y una altura de 1 pulgada.

figura 19

figura 20

Page 30: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

26

figura 21

Page 31: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

27

ANÁLISIS DE RESULTADOS Al comienzo del proyecto se realizo un estudio sobre las características del joystick, Por lo que se empezó por determinar las características físicas y electrónicas del joystick, Encontrando que estaba compuesto por dos potenciómetros , una palanca que hace que se muevan los potenciómetros , y los botones que tiene la palanca. Se midió la resistencia de los potenciómetros, la cual era de 100 k Ω, Se midió cual era el ángulo de operación de la palanca, Ya que es la que controla el movimiento de los servos, Utilizando una regla graduada con los ángulos y una hoja blanca como fondo, se logro medir el ángulo de operación, Encontrando que es de 40 0 . Conociendo este dato, se midió la resistencia que se generaba cuando se movía de posición la palanca del joystick, La medición se tomo en uno de los extremos del potenciómetro y la parte central de este. Obteniendo los siguientes datos. FASE(grados) RESISTENCIA(Ω)

70 9.14E+04

72 9.52E+04

75 8.06E+04

80 6.88E+04

85 5.95E+04

90 5.00E+04

95 3.51E+04

100 2.53E+04

105 1.22E+04

110 2.00E+03

Page 32: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

28

Como se ve en la tabla, Las mediciones fueron de los 700 a los 110 0, Viendo que tiene el potenciómetro una respuesta casi lineal, como se ve en la grafica.

FASE-RESISTENCIA

60

70

80

90

100

110

120

9.14E

+04

9.52E

+04

8.06E

+04

6.88E

+04

5.95E

+04

5.00E

+04

3.51E

+04

2.53E

+04

1.22E

+04

2.00E

+03

RESISTENCIA (ohm)

FASE

(gra

dos)

Como se observa se tiene un comportamiento casi lineal. Conociendo esto, Se decidió conectar el joystick al PIC de la siguiente manera. , Se coloco una resistencia de carga, junto con el joystick, para cuando este variara su resistencia se midiera el voltaje generado y convertirlo a forma digital.. La resistencia de carga se conecto a vcc y el otro extremo se conecto al PIC en el canal del convertidor A/D, El joystick se conecto a tierra por uno de los extremos del potenciómetro y la parte central se conecto al PIC en donde se conecto la resistencia de carga.

Page 33: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

29

RA0/AN02

RA1/AN13

RA2/AN2/VREF-4

RA4/T0CKI6

RA5/AN4/SS7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP2 16

RC2/CCP1 17

RC3/SCK/SCL 18

RD0/PSP0 19

RD1/PSP1 20

RB7/PGD 40RB6/PGC 39

RB5 38RB4 37

RB3/PGM 36RB2 35RB1 34

RB0/INT 33

RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

RC7/RX/DT 26RC6/TX/CK 25

RC5/SDO 24RC4/SDI/SDA 23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI 15

MCLR/Vpp/THV1

PIC 16F874

PIC16F874

R11M

R21M

Y1

Joystick

X1

Joystick

vcc5.0

CRYSTAL

FREQ = 4MHz

C122p

C222p

+88.8

SERVOMOTOR 2

+88.8

SERVOMOTOR 1

vcc

Se procedió a conocer el funcionamiento del servomotor, Teniendo al principio de los experimentos problemas, Ya que no se conocía como se conectaba el motor, conectándolo a veces con la polaridad invertida, Ya conociendo como se polariza el servomotor, Se armo un circuito con un Timer 555 en modo astable, Para poder pobrar el funcionamiento del servomotor. El servomotor futaba s3003 funciona con modulación por ancho de pulso (PWM), El periodo de esta señal debe de ser de 10 ms, La parte del ciclo alta es la que determina la posición del servomotor, Si es de 1ms esta en un extremo y si es de 2 ms se ubica en el otro extremo, Un valor de 1.5 ms dejaría al servo en la posición central.

Page 34: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

30

Se realizo un análisis servomotor, midiendo el ancho del pulso alto y la posición en que se situaba el servomotor. Encontrando que su comportamiento es lineal como se ve en la grafica.

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 20

20

40

60

80

100

120

140

160

180Grafica del tiempo y grados del servo

tiempo (ms)

grad

os

Conociendo el comportamiento del servomotor y del Joystick se empezó a diseñar el programa, Al implementar el programa y hacer las pruebas, los servomotores oscilaban cuando ya el joystick estaba en una posición fija, Por lo que dentro del programa se modifico, para que despreciara tres bits a la palabra obtenida en la conversión A/D, evitando con esto la oscilación que se tenia.

Page 35: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

31

CONCLUSIONES Al existir gran variedad de microcontroladores, Comparando las características de cada uno de ellos, Se concluyo que el PIC es una herramienta muy versátil, Ya que es de bajo costo, no requiere casi de hardware adicional para su funcionamiento y su fácil programación. Controlar una cámara de video no es nuevo, Casi en cualquier lugar que requiere de vigilancia se observan, Pero nos sirve para desarrollar nueva tecnología a bojo costo, La cual es necesaria en nuestro país. Aunque el proyecto se ve simple, este puede complementar otros proyectos, Como es el de los aviones de aeromodelismo controlados por microcontroladores los cuales se usan para tomar fotos o video aéreo, Y con algunas modificaciones en algunos proyectos de robótica y de automatización.

Page 36: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

32

ANEXO A

FUTABA S3003

Esta formado por un amplificador (para usos prácticos en la simulación), un motor dc ( RF020-TH), la reducción del engranaje y la realimentación, todo en la misma caja pequeña. Teniendo el servo un margen máximo de operación de 180o aproximadamente.

Page 37: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

33

Especificaciones: Sistema de control: pulsos PWM Voltaje de operación: 4.8-6 v Velocidad de operación: 0.23seg / 60 grados a 4.8 v Torca: 0.314 Nm (44.4oz/in) a 4.8 v Tamaño: 40.4 x 19.8 x 36 mm Peso: 37.2 g Función de transferencia para el servomotor futaba s3003

Θ(s ) = k0 k1 n km / Tm . Ea(s) s2+1/Tm s + k0 k1 n km /Tm

Donde

km = k2 / (Ra b0 + k2 k3) Tm = Ra J/ (Ra b0 + k2 k3)

Ganancia del detector (k0 ) Se divide el voltaje de referencia entre el ángulo de movimiento del potenciómetro.

Vref = 2.5 volts θ = π rad k0 = Vref /θ k0 = 2.5/π k0 = 0.79577 volts/rad

Tren de engranes (n) El servomotor cuenta con un tren de engranes que le sirven para transmitir energía, adaptando su velocidad angular y el par mecánico.

Page 38: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

34

Numero de engrane diámetro (cm) 1 0.32 2 1.57 3 0.38 4 1.53 5 0.51 6 1.45 7 0.75 8 1.71

la relación de engranes n esta determinada por n = N1 / N2

y para un tren de engranes esta determinado por

nT = n1 n2 n3 n4 n1 = N1 /N2 = 0.32/1.57 n2 = N3 /N4 = 0.38/1.53 n3 = N5 /N6 = 0.51/1.45 n4 = N7 /N8 = 0.75/1.71 nT = 1/128

Amplificador (k1) El servomotor tiene dos circuitos integrados ba6688 y bal6686 que se modelaron como una etapa amplificadora, por lo tanto definimos la ganancia de este amplificador con un valor de:

k1 = 1 Motor dc

El motor dc del servomotor futaba s3003 es el modelo RF-020TH de la empresa MABUCHI, Teniendo las siguientes especificaciones:

Ra = 7,6 ohms

Page 39: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

35

Velocidad y aceleración angular Como se observa en las especificaciones (ANEXO B) del motor tiene una velocidad de S = 9590 rpm, ya que esta velocidad es en un minuto de movimiento, se obtiene su velocidad a un tiempo t = 0.23 s. 9590 -> 60 s x -> 0.23 s x = (0.23 *9590)/60 =36.76166 rpm La velocidad angular se determina por ω = (2π ) *S/t S = x = 36.76166 rpm ω = (2π ) (36.76166)/ 0.23 = 1004.2622 rad/s y la aceleración angular como α = (2π ) *S / t2 α = (2π )(36.76166) / 0.232 = 4366.35 rad/s2 Constante par torsión (k2 ) La constante de par torsión se define como: τ = torca del motor ia = corriente a máxima eficiencia k2 = τ / ia k2 = 0.38 m / 0.18 = 2.1111111 m Nm/Amp Coeficiente de fricción (b0) τ = torca del motor ω = velocidad angular del motor b0 = τ / ω b0 = 0.38 m / 1004.26 = 0.37838 µ Nms/rad

Page 40: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

36

Momento de inercia (J) Se determina por J = τ / α J = 0.38 m / 4366.35 = 0.087029 µ Kgm2 Constante fuerza-contraelectromotriz (k3) Para determinar esta constante se requiere tener el valor de la fuerza contraelectromotriz, ya que este valor no se puede medir físicamente se realiza una estimación de este valor con la siguiente formula. ea = voltaje administrado al motor Ra = resistencia de la armadura del motor ia = corriente de armadura del motor eb = ea - ia Ra tomando los valores de máxima eficiencia eb = 4.5 – (0.184)(7.6) = 3.1016 volts por lo que la constante k3 es k3 = eb /ω k3 = 3.1016 / 1004.26 = 3.08844 m Vrad/s Respuesta de la función de transferencia con los valores anteriores, realizados en una simulación en MATLAB.

Page 41: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

37

ANEXO B

OUTPUT: APPROX 0.3W~0.8W

VOLTAGE NO LOAD AT MAXIMUM EFFICIENCY STALL SPEED CURRENT SPEED CURRENT TORQUE OUTPUT TORQUE CURRENT MODEL OPERATING

RANGE NOMINAL r/min A r/min A mN·m g·cm W mN·m g·cm A

RF-020TH-10210

2 ~ 5 4.5V CONSTANT 12600 0.058 9590 0.18 0.38 3.9 0.39 1.61 16 0.59

Page 42: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

38

ANEXO C

PIC16F87X

Devices Included in this Data Sheet: Microcontroller Core Features: • High-performance RISC CPU • Only 35 single word instructions to learn • All single cycle instructions except for program branches which are two cycle • Operating speed: DC - 20 MHz clock input DC - 200 ns instruction cycle • Up to 8K x 14 words of FLASH Program Memory, Up to 368 x 8 bytes of Data Memory (RAM) Up to 256 x 8 bytes of EEPROM data memory • Pinout compatible to the PIC16C73B/74B/76/77 • Interrupt capability (up to 14 sources) • Eight level deep hardware stack • Direct, indirect and relative addressing modes • Power-on Reset (POR) • Power-up Timer (PWRT) and Oscillator Start-up Timer (OST) • Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation • Programmable code-protection • Power saving SLEEP mode • Selectable oscillator options • Low-power, high-speed CMOS FLASH/EEPROM technology • Fully static design • In-Circuit Serial Programming™ (ICSP) via two pins • Single 5V In-Circuit Serial Programming capability • In-Circuit Debugging via two pins • Processor read/write access to program memory • Wide operating voltage range: 2.0V to 5.5V • High Sink/Source Current: 25 mA • Commercial and Industrial temperature ranges • Low-power consumption: - < 2 mA typical @ 5V, 4 MHz - 20 µA typical @ 3V, 32 kHz - < 1 µA typical standby current

Page 43: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

39

PIC16F87X

Peripheral Features: • Timer0: 8-bit timer/counter with 8-bit prescaler • Timer1: 16-bit timer/counter with prescaler, can be incremented during sleep via external crystal/clock • Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler • Two Capture, Compare, PWM modules - Capture is 16-bit, max. resolution is 12.5 ns - Compare is 16-bit, max. resolution is 200 ns - PWM max. resolution is 10-bit • 10-bit multi-channel Analog-to-Digital converter • Synchronous Serial Port (SSP) with SPI™ (Master Mode) and I2C™ (Master/Slave) • Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detection • Parallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls (40/44-pin only) • Brown-out detection circuitr

Page 44: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

40

PIC16F87X

Key Features PICmicro™ Mid-Range Reference Manual (DS33023) PIC16F873 PIC16F874 PIC16F876 PIC16F877

Operating Frequency DC - 20 MHz DC - 20 MHz DC - 20 MHz DC - 20 MHz Resets (and Delays) POR, BOR

(PWRT, OST) POR, BOR (PWRT, OST)

POR, BOR (PWRT, OST)

POR, BOR (PWRT, OST)

FLASH Program Memory (14-bit words)

4K 4K 8K 8K

Data Memory (bytes) 192 192 368 368 EEPROM Data Memory 128 128 256 256 Interrupts 13 14 13 14 I/O Ports Ports A,B,C Ports

A,B,C,D,E Ports A,B,C Ports A,B,C,D,E

Timers 3 3 3 3 Capture/Compare/PWM modules 2 2 2 2 Serial Communications MSSP, USART MSSP, USART MSSP, USART MSSP, USART Parallel Communications — PSP — PSP 10-bit Analog-to-Digital Module 5 input

channels 8 input channels

5 input channels

8 input channels

Instruction Set 35 Instructions 35 Instructions 35 Instructions 35 Instructions

Page 45: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

41

PIC16F87X

PIC16F874/873 REGISTER FILE MAP

Indirect addr.(*) 00h Indirect addr.(*) 80h

Indirect addr.(*) 100h Indirect

addr.(*) TMR0 01h OPTION_REG 81h TMR0 101h OPTION_REG PCL 02h PCL 82h PCL 102h PCL

STATUS 03h STATUS 83h STATUS 103h STATUS FSR 04h FSR 84h FSR 104h FSR

PORTA 05h TRISA 85h 105h PORTB 06h TRISB 86h PORTB 106h TRISB PORTC 07h TRISC 87h 107h

PORTD (1) 08h TRISD (1) 88h 108h PORTE (1) 09h TRISE (1) 89h 109h PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON

PIR1 0Ch PIE1 8Ch EEDATA 10Ch EECON1 PIR2 0Dh PIE2 8Dh EEADR 10Dh EECON2

TMR1L 0Eh PCON 8Eh EEDATH 10Eh Reserved(2)

TMR1H 0Fh 8Fh EEADRH 10Fh Reserved(2)

T1CON 10h 90h 110h TMR2 11h SSPCON2 91h

T2CON 12h PR2 92h SSPBUF 13h SSPADD 93h SSPCON 14h SSPSTAT 94h CCPR1L 15h 95h CCPR1H 16h 96h

CCP1CON 17h 97h RCSTA 18h TXSTA 98h TXREG 19h SPBRG 99h RCREG 1Ah 9Ah CCPR2L 1Bh 9Bh CCPR2H 1Ch 9Ch

CCP2CON 1Dh 9Dh ADRESH 1Eh ADRESL 9Eh ADCON0 ADCON1

1Fh 20h

9Fh A0h

120h

General

General

Purpose Register

Purpose Register

accesses 20h-7Fh

accesses A0h - FFh

96 Bytes 96 Bytes 16Fh 170h

17Fh Bank 0 Bank 1 Bank 2 Bank 3

Page 46: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

42

PIC16F87X

STATUS REGISTER (ADDRESS 03h, 83h, 103h, 183h) R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x IRP RP1 RP0 TO PD Z DC C bit7 bit0 bit 7: IRP: Register Bank Select bit (used for indirect addressing) 1 = Bank 2, 3 (100h - 1FFh) 0 = Bank 0, 1 (00h - FFh) bit 6-5: RP1:RP0: Register Bank Select bits (used for direct addressing) 11 = Bank 3 (180h - 1FFh) 10 = Bank 2 (100h - 17Fh) 01 = Bank 1 (80h - FFh) 00 = Bank 0 (00h - 7Fh) Each bank is 128 bytes bit 4: TO: Time-out bit 1 = After power-up, CLRWDT instruction, or SLEEP instruction 0 = A WDT time-out occurred bit 3: PD: Power-down bit 1 = After power-up or by the CLRWDT instruction 0 = By execution of the SLEEP instruction bit 2: Z: Zero bit 1 = The result of an arithmetic or logic operation is zero 0 = The result of an arithmetic or logic operation is not zero bit 1: DC: Digit carry/borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions) (for borrow the polarity is reversed) 1 = A carry-out from the 4th low order bit of the result occurred 0 = No carry-out from the 4th low order bit of the result bit 0: C: Carry/borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions) 1 = A carry-out from the most significant bit of the result occurred 0 = No carry-out from the most significant bit of the result occurred Note: For borrow the polarity is reversed. A subtraction is executed by adding the two’s complement of the second operand. For rotate (RRF, RLF) instructions, this bit is loaded with either the high or low order bit of the source register.

Page 47: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

43

PIC16F87X

PORTA FUNCTIONS

Name Bit# Buffer Function RA0/AN0 bit0 TTL Input/output or analog input

RA1/AN1 bit1 TTL Input/output or analog input RA2/AN2 bit2 TTL Input/output or analog input

RA3/AN3/VREF bit3 TTL Input/output or analog input or VREF

RA4/T0CKI bit4 ST Input/output or external clock input for Timer0 Output is open drain type

RA5/SS/AN4 bit5 TTL Input/output or slave select input for synchronous serial port or analog input Legend: TTL = TTL input, ST = Schmitt Trigger input SUMMARY OF REGISTERS ASSOCIATED WITH PORTA

Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Value on: POR, BOR

Value on all other resets

05h PORTA — — RA5 RA4 RA3 RA2 RA1 RA0 --0x 0000

--0u 0000

85h TRISA — — PORTA Data Direction Register --11 1111

--11 1111

9Fh ADCON1 ADFM — — — PCFG3 PCFG2 PCFG1 PCFG0 --0- 0000

--0- 0000

Legend: x = unknown, u = unchanged, - = unimplemented locations read as '0'. Shaded cells are not used by PORTA.

Page 48: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

44

PIC16F87X

PORTD FUNCTIONS

Name Bit# Buffer Type Function

RD0/PSP0 bit0 ST/TTL(1) Input/output port pin or parallel slave port bit0

RD1/PSP1 bit1 ST/TTL(1) Input/output port pin or parallel slave port bit1

RD2/PSP2 bit2 ST/TTL(1) Input/output port pin or parallel slave port bit2

RD3/PSP3 bit3 ST/TTL(1) Input/output port pin or parallel slave port bit3 RD4/PSP4 bit4 ST/TTL(1) Input/output port pin or parallel slave port bit4

RD5/PSP5 bit5 ST/TTL(1) Input/output port pin or parallel slave port bit5

RD6/PSP6 bit6 ST/TTL(1) Input/output port pin or parallel slave port bit6 RD7/PSP7 bit7 ST/TTL(1) Input/output port pin or parallel slave port bit7

Legend: ST = Schmitt Trigger input TTL = TTL input Note 1: Input buffers are Schmitt Triggers when in I/O mode and TTL buffer when in Parallel Slave Port Mode. SUMMARY OF REGISTERS ASSOCIATED WITH PORTD

Address Name Bit 7

Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Value on:

POR, BOR Value on all other resets

08h PORTD RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 xxxx xxxx uuuu uuuu

88h TRISD PORTD Data Direction Register 1111 1111 1111 1111

89h TRISE IBF OBF IBOV PSPMODE — PORTE Data Direction Bits 0000 -111 0000 -111

Legend: x = unknown, u = unchanged, - = unimplemented read as ’0’. Shaded cells are not used by PORTD.

Page 49: DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA …148.206.53.84/tesiuami/UAMI11883.pdf · rotativo. En nuestro caso el ... FASE (grados) grafica 1 ... Primero se utiliza el convertidor

45

BIBLIOGRAFÍA www.microchip.com www.futaba-rc.com www.creaturoides.com www.mabuchi-motor.co.jp/english/cat_files/fr_020th.pdf www.cpr2valladolid.com/tecno/cyr_01/robotica/sistema/motores_servo.htm www.seattlerobotics.org.guide/servos.html www.todorobot.com.ar www.ic-prog.com www.epanorama.net/documents/joystick/pc_circuits.html www.electronic-engineering.ch/microchip/datasheet/pinout/pinout.html