1 / 22

Conversor A/D

Conversor A/D. Programación en C para electrónica. Conversor A/D. Programación en C para electrónica. 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.

Download Presentation

Conversor A/D

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Conversor A/D Programación en C para electrónica 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. Conversor A/D - Programción en C para electrónica

  4. Conversión A/D • 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. Conversor A/D - Programción en C para electrónica

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

  6. Características de resolución • 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. Conversor A/D - Programción en C para electrónica

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

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

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

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

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

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

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

  14. Tiempos • Tiempo de adquisición (TACQ). • 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 (TAD): • Tiempo necesario para obtener el valor digital. • Depende de la frecuencia de reloj. • Como mínimo deber ser de 1,6μs. Conversor A/D - Programción en C para electrónica

  15. Funciones ADC en CCS • 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 Conversor A/D - Programción en C para electrónica

  16. Funciones ADC en CCS 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. Conversor A/D - Programción en C para electrónica

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

  18. Funciones ADC en CCS set_adc_channel(canal); • Donde canal es el canal analógico seleccionado. Conversor A/D - Programción en C para electrónica

  19. Funciones ADC en CCS 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. Conversor A/D - Programción en C para electrónica

  20. Funciones ADC en CCS 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 Conversor A/D - Programción en C para electrónica

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

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

More Related