conversor Analogo digital.pdf – [PDF Document]

  • PICmicro GAMA MEDIA: PIC16F87XConversin A/DUn sistema de conversin A/D hacer llegar al controlador digital la informacinsuministrada por el proceso analgico que se desea controlar. Establece una relacinbiunvoca entre el valor de la seal en su entrada y la palabra digital obtenida en susalida.La conversin A/D se fundamenta en la teora de muestreo: Si una seal continua,S(t) , tiene una banda de frecuencia en la que fm es la mayor frecuencia, dicha sealpodr reconstruirse sin distorsin a partir de muestras de la seal tomadas a unafrecuencia de valor fs > 2fm9podr reconstruirse sin distorsin a partir de muestras de la seal tomadas a unafrecuencia de valor fs > 2fmCircuitos de captura y mantenimiento (S/H=Sample and hold): Muestrean la sealanalgica (durante un intervalo de tiempo) y mantienen ese valor, generalmente en uncondensador, durante el tiempo que dura la transformacin A/D propiamente dicha.
  • PICmicro GAMA MEDIA: PIC16F87XConversin A/DTipos de convertidores: Directo, Aproximaciones sucesivas, de simple rampa, de doblerampa, de paso intermedio a frecuencia.Aproximaciones Sucesivas: es el implementado en los PICs, se basa en ir eliminandomitades de tabla hasta quedarse con el valor que ms se aproxima a la tensinanalgica a convertir.10Sea u=3,2V1) Prueba con 1000 (2,5V)2,5 < 3,2 mitad superior2) Prueba con 1100 (3,75V)3,75 > 3,2 mitad inferior3) Prueba con 1010 (3,125V)3,125 < 3,2 mitad superior4) Prueba con 1011 (3,4375V)3,4375 > 3,2 valor inferior
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Convierte la seal analgica en un nmero digital de 10 bits. Los 16F876/873 tienen 5 canales (en puerto A) y los 16F877/874 tienen 8 canales(5 en el puerto A y 3 en el puerto E). Tienen tensiones de referencia VREF+ y VREF- seleccionables por software.Pueden ser VDD y VSS o las tensiones aplicadas en los pines RA3 / RA2 .11 Puede seguir funcionando cuando el PIC est en modo SLEEP ya que dispone deun oscilador RC interno propio.Hay 11 registros asociados a este perifrico.Definicin de pines de entrada y seales aplicadasTRISA PORTA TRISE – PORTEManejo de interrupcionesINTCON PIE1 PIR1Control del conversor A/DADCON0 ADCON1 ADRESH – ADRESL
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Estructura Interna12
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Registro ADCON0 (1Fh) [PIC16F87x]bit 7-6 ADCS1:ADCS0: Seleccin del reloj para la conversin A/D00 = fOSC/2 01 = fOSC/8 10 = fOSC/32 11 = fRCbit 5-3 CHS2:CHS0: Seleccin del canal de conversin000 = Canal 0 001 = Canal 1 010 = Canal 2 011 = Canal 313000 = Canal 0 001 = Canal 1 010 = Canal 2 011 = Canal 3100 = Canal 4 101 = Canal 5 110 = Canal 6 111 = Canal 7bit 2 GO/DONE: Estado de la conversinSi ADON=1:1 = Conversin en progreso 0 = Conversin finalizadabit 0 ADON: Bit de encendido del convertidor A/D1 = Mdulo A/D encendido 0 = Mdulo A/D apagado
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Registro ADCON1 (9Fh) [PIC16F87x]bit 7 ADFM: Seleccin de formato del resultado1 = Ajuste a la derecha 0 = Ajuste a la izquierda14bit 3-0 PCFG3:PCFG0: Configuracin de las entradas al mdulo A/D
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Registro ADCON0 (1Fh) [PIC16F87xA]bit 7-6 ADCS1:ADCS0: Seleccin del reloj para la conversin A/D junto con ADCS2que est en ADCON1.ADCS2=0 00 = fOSC/2 01 = fOSC/8 10 = fOSC/32 11 = fRC15ADCS2=0 00 = fOSC/2 01 = fOSC/8 10 = fOSC/32 11 = fRCADCS2=1 00 = fOSC/4 01 = fOSC/16 10 = fOSC/64 11 = fRC Registro ADCON1 (9Fh) [PIC16F87xA]bit 6 ADCS2: Seleccin de reloj para conversin A/D junto con ADCS1 y ADCS0.
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Registro INTCON (0Bh , 8Bh , 10Bh , 18Bh)bit 7 GIE: Habilitacin global de interrupcionesbit 6 PEIE: Habilitacin de interrupciones de perifricos Registro PIE1 (8Ch)16bit 6 ADIE: Habilitacin de la interrupcin del convertidor A/D Registro PIR1 (0Ch)bit 6 ADIF: Flag de la interrupcin del convertidor A/D1 = Conversin A/D completada. 0 = Conversin A/D an no completada.
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Pasos en una conversin A/D1. Configurar el mdulo A/D. Definir entradas analgicas y tensin de referencia. (ADCON1) Seleccionar el canal de la conversin. (ADCON0) Seleccionar el reloj de la conversin. (ADCON0) Encender el mdulo A/D. (ADCON0)172. Configurar la interrupcin por conversin A/D. Bajar el flag ADIF. (PIR1). Habilitar la interrupcin del convertidor A/D. (PIE1). Habilitar las interrupciones de los perifricos. (INTCON). Habilitar la mscara global de interrupciones. (INTCON)3. Esperar a que transcurra el tiempo de adquisicin. Tiempo necesario para capturar el valor analgico a convertir. Los valores tpicos del tiempo de adquisicin son del orden de 20s.
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D4. Comenzar la conversin. Poner a 1 el bit GO/DONE. (ADCON0)No activar este bit a la vez que se enciende el convertidor A/D5. Esperar a que se complete la conversin A/D. Controlando cundo el bit GO/DONE se pone a 0. Esperando a que llegue la interrupcin del convertidor.6. Leer el resultado de la conversin.186. Leer el resultado de la conversin. Disponible en los registros ADRESH:ADRESL. Bajar el flagADIF si se estn usando interrupciones.7. Llevar a cabo la siguiente conversin. Volver al paso 1 2, segn convenga. Espera mnima antes de empezar la siguiente adquisicin: 2TAD(Esta espera no es necesaria en el caso de los PIC16F87xA porque el interruptorde captura se cierra en cuanto se obtiene el resultado).TAD: Tiempo necesario para la conversin de un bit.
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Tiempo de adquisicin: tiempo necesario para cargar el condensador demantenimiento CHOLD19 Mxima impedancia recomendada para la fuente: Rs
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Conversin A/D en el compilador C de CCS Configuracin del mdulo conversor A/Dsetup_adc (modo);modo: ADC_OFF (ADCON0 00h)ADC_CLOCK_DIV_2 (ADCON0 01h)ADC_CLOCK_DIV_8 (ADCON0 41h)ADC_CLOCK_DIV_32 (ADCON0 81h)ADC_CLOCK_INTERNAL (ADCON0 C1h)20 Definicin de entradas analgicassetup_adc_ports (valor);valor: NO_ANALOGS (ADCON1 86h)ALL_ANALOG (ADCON1 80h)ANALOG_RA3_REF (ADCON1 81h)A_ANALOG (ADCON1 82h)A_ANALOG_RA3_REF (ADCON1 83h)RA0_RA1_RA3_ANALOG (ADCON1 84h)RA0_RA1_ANALOG_RA3_REF (ADCON1 85h)
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Definicin de entradas analgicas (cont.)setup_adc_ports (valor);valor: ANALOG_RA3_RA2_REF (ADCON1 88h)ANALOG_NOT_RE1_RE2 (ADCON1 89h)ANALOG_NOT_RE1_RE2_REF_RA3 (ADCON1 8Ah)ANALOG_NOT_RE1_RE2_REF_RA3_RA2 (ADCON1 8Bh)A_ANALOG_RA3_RA2_REF (ADCON1 8Ch)RA0_RA1_ANALOG_RA3_RA2_REF (ADCON1 8Dh)21RA0_RA1_ANALOG_RA3_RA2_REF (ADCON1 8Dh)RA0_ANALOG (ADCON1 8Eh)RA0_ANALOG_RA3_RA2_REF (ADCON1 8Fh) Seleccin del canal analgicoset_adc_channel (canal);canal: 0 (AN0) 4 (AN4)1 (AN1 ) 5 (AN5)2 (AN2) 6 (AN6)3 (AN3) 7 (AN7)
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D Lectura del resultadovalor = read_adc ();valor: Entero de 16 bits segn la directiva #device adc= empleada. La influencia de dicha directiva se recoge en la siguiente tabla22 El fichero 16f876.h incluye como primera directiva #device PIC16F876. Esnecesario incluir informacin del tipo de conversor A/D. Por ello los ficheros Cque usen este mdulo debern comenzar por:#device 16F876.h#device adc=10
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/Dsetup_adc_ports (A_ANALOG);setup_adc (ADC_CLOCK_INTERNAL);set_adc_channel (3);delay_us (20);W 10000010Banco 1ADCON1 WBanco 0W ADCON0W W & 00111000W W | 11000001ADCON0 WW ADCON0W W & 1100011123delay_us (20);valor = read_adc ();setup_adc (ADC_OFF);W W & 11000111W W | 00011000ADCON0 WGO/DONE 1Espera a GO/DONE=0W ADRESHTEMP WBanco 1W ADRESLBanco 0REGL WW TEMPREGH WW ADCON0W W & 00111000ADCON0 W
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/DProject >> New >> Pic Wizard >> nombre fichero y guardar24
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D25
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D26
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D27ad_fuente.h
  • PICmicro GAMA MEDIA: PIC16F87XModulo de Conversin A/D: ejemplo lectura de tensin canal0OSC1/CLKIN9OSC2/CLKOUT10RB2 23RB1 22RB0/INT 21MCLR/Vpp/THV1U1D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016L28RA0/AN02RA1/AN13RA2/AN2/VREF-4RA4/T0CKI6RA5/AN4/SS7RC1/T1OSI/CCP2 12RC2/CCP1 13RC3/SCK/SCL
  • Publicaciones Similares