La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CONVERSOR A/D Programación en C para electrónica.

Presentaciones similares


Presentación del tema: "CONVERSOR A/D Programación en C para electrónica."— Transcripción de la presentación:

1 CONVERSOR A/D Programación en C para electrónica

2 Conversor A/D 2 Conversor A/D - Programción en C para electrónica

3 Conversión A/D Los microcontroladores PIC pueden incorporar un módulo conversor analógico-digital. El módulo es un conversor A/D por aproximaciones sucesivas. Utiliza un circuito de retención y muestreo. 3 Conversor A/D - Programción en C para electrónica

4 Conversión A/D Conversor A/D - Programción en C para electrónica 4 Durante la fase de muestreo se carga el condensador del retenedor a la tensión de entrada durante el tiempo necesario (20us). Después el condensador se aísla del circuito de entrada. Luego el conversor realiza la conversión del nivel de tensión adquirido por el retenedor.

5 Módulo conversor Conversor A/D - Programción en C para electrónica 5

6 Características de resolución Conversor A/D - Programción en C para electrónica 6 La resolución viene dada por la siguiente ecuación: En el caso que las tensiones de referencia sean las de alimentacion: Con esto para calcular la tensión convertida solo tenemos que multiplicar el valor de conversión por el valor de 1LSB.

7 Registros asociados Conversor A/D - Programción en C para electrónica 7 Registro de control ADCON0 (dir. 0x1F)

8 Registros asociados Conversor A/D - Programción en C para electrónica 8 Registro de control ADCON1 (dir. 0x9F)

9 Configuraciones Conversor A/D - Programción en C para electrónica 9 Selección del reloj de conversión.

10 Configuraciones Conversor A/D - Programción en C para electrónica 10 Selección del canal de conversión Estado conversión

11 Configuraciones Conversor A/D - Programción en C para electrónica 11 Activación del conversor Formato del resultado (ADCON1)

12 Configuraciones Conversor A/D - Programción en C para electrónica 12 Configuración de entradas

13 Proceso de conversión. Conversor A/D - Programción en C para electrónica Configurar módulo A/D a) Configurar pines analógicos (ADCON1) b) Seleccionar canal (ADCON0) c) Selección del reloj de conversión (ADCON0) d) Habilitar módulo (ADCON0) 2. Esperar tiempo de adquisición 3. Comenzar la conversión. (ADCON0) 4. Esperar a que termine la conversión. 5. Leer registro de conversión (ADRES).

14 Tiempos Conversor A/D - Programción en C para electrónica 14 Tiempo de adquisición (T ACQ ). Tiempo necesario para que se cargue el condensador del circuito de retención. Normalmente este tiempo es de 20 μ s. La adquisición no empieza hasta que no termina la conversión. Tiempo de conversión (T AD ): Tiempo necesario para obtener el valor digital. Depende de la frecuencia de reloj. Como mínimo deber ser de 1,6 μ s.

15 Funciones ADC en CCS Conversor A/D - Programción en C para electrónica 15 El compilador CCS dispone de funciones que facilitan el uso del conversor A/D. setup_adc(modo); Donde modo es una constante que configura la velocidad de conversión. ADC_OFF ADC_CLOCK_INTERNAL ADC_CLOCK_DIV_2 ADC_CLOCK_DIV_4 ADC_CLOCK_DIV_8 ADC_CLOCK_DIV_16 ADC_CLOCK_DIV_32 ADC_CLOCK_DIV_64

16 Funciones ADC en CCS Conversor A/D - Programción en C para electrónica 16 setup_adc_ports(valor); Donde valor es una constante definida en el fichero device.h que se utiliza para configurar el funcionamiento de todos los canales analógicos. Esta función configura los bits del 3 al 0 del registro ADCON1.

17 Funciones ADC en CCS Conversor A/D - Programción en C para electrónica 17

18 Funciones ADC en CCS Conversor A/D - Programción en C para electrónica 18 set_adc_channel(canal); Donde canal es el canal analógico seleccionado. ValorCanal 0AN0 1AN1 2AN2 3AN3 4AN4 5AN5 6AN6 7AN7

19 Funciones ADC en CCS Conversor A/D - Programción en C para electrónica 19 Valor = read_adc([modo]); Lectura del resultado de la conversión. Modo es el modo de lectura, según la siguiente lista. ACD_START_AND_READ Inicia la conversión y lee el resultado (Por defecto) ADC_START_ONLY Solo inicia la conversión. ADC_READ_ONLY Solo lee el resultado de la conversión.

20 Funciones ADC en CCS Conversor A/D - Programción en C para electrónica 20 Valor = read_adc([modo]); El resultado es un entero de 16 bits. La precisión en bits de la conversión y el desplazamiento de los bit se pueden configurar mediante la directiva #device según la siguiente tabla: #device ADC=x

21 Ejemplo Conversor A/D - Programción en C para electrónica 21

22 Ejemplo Conversor A/D - Programción en C para electrónica 22


Descargar ppt "CONVERSOR A/D Programación en C para electrónica."

Presentaciones similares


Anuncios Google