Autor Tema: Calcular TAD  (Leído 4961 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Calcular TAD
« en: 04 de Mayo de 2017, 18:01:15 »
Buenas noches, necesito una explicación para tontos porque me estoy liando :mrgreen: en la configuración del modulo ADC del 18F2550 tengo claro que el tiempo mínimo de adquisición es de 2,45us y el TAD minimo 0,8us, con una frecuencia de 20MHz según el datasheet debería de usar Fosc/16 ya que 20MHz/16 es igual a 0,8us, la duda la tengo en como saber de las opciones que tengo 20TAD, 16TAD,12TAD etc etc.. cual usar.

Gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado george.manson.69

  • PIC10
  • *
  • Mensajes: 33
    • Microcontroladores en General
Re:Calcular TAD
« Respuesta #1 en: 04 de Mayo de 2017, 18:28:16 »
Hola saque la info de por ahi y es para un PIC18F26K80 pero creo que sigue el mismo patron para el pic que tienes.

Configurar el ADC

La información que nos proporciona la hoja de datos del microcontrolador en la sección características eléctricas, tenemos
tablas que nos muestra cuales son los valores mínimos de conversión.
El símbolo 𝑇𝐴𝐷 es el periodo necesario para generar la frecuencia de conversión, para obtener un dato optimo se requiere
minimo 14 𝑇𝐴𝐷 es decir si tenemos una frecuencia del oscilador de 64 Mhz al dividirlo entre 64 tendremos 1 Mhz al sacar el
periodo será de 1 uS al ver el cuadro en el parámetro 130 podemos observar que el Minimo Tad es de 0.8 y el máximo de
12.5 uS, entonces podemos decir que estamos adentro del rango.
Para tener una conversión completa se requiere 14 Tad como habíamos mencionado, al tener el periodo solo se multiplica
para obtener el tiempo de conversión.

𝑇𝐶 = 14 × 𝑇𝐴𝐷 = 14 × 1𝑢𝑆 = 14 𝑢S

Entonces cada 14 uS tendremos una lectura completa de 12 bits.

Imagen 1

En el siguiente cuadro tenemos la configuración básica para tener un tiempo de muestreo de 71,4286 muestras por segundo en MCC.

Imagen 2


Saludos!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Calcular TAD
« Respuesta #2 en: 04 de Mayo de 2017, 19:49:35 »
Creo que no fue clara la pregunta de Miguel.

Lo que el quiere saber es que valor debe tener de adquisicion que va a ser un multiplo del TAD elegido. Este valor va a estar en funcion de la carga en el pin analogico.
Para entenderle tenes que saber como es que funciona el micro. Al momento de iniciar la conversion se cierra una llave que alimenta un capacitor que luego va a ser medido, espera un cierto tiempo ( Tiempo de adquisicion ). Luego se abre esta llave y se mide la tension del capacitor este ( la cual cada bit tarda un TAD).

Lo que pasa es que como toda linea hasta llegar al capacitor tiene una resistencia interna, lo cual terminamos con un circuito RC serie, por lo cual la carga del capacitor no es instantanea, sino que tarda su tiempo. Si ahora le agregamos una resistencia externa significa que tiene que pasar mas tiempo para que el capacitor logre lleguar a la misma tension que el pin de entrada.

Y es alli donde entra el Tiempo de adquisicion, los cuales uno puede seleccionar entre diversos valores 20TAD, 16TAD,12TAD, etc

Pero... Como lo calculo?, bueno Microchip provee una explicacion simple, primero da un posible esquema de entrada, que es este, hay muchos elementos ahi, pero solo nos vamos a centrar en 4, las resistencias ( que son 3 ) y el capacitor CHOLD



En este ejemplo tiene externamente al pin una resistencia (Rs), y adentro  estan simuladas las resistencias del switch ( RSS, este valor  de resistencia varia con la tension ) y de la conexcion hasta el capacitor ( RIC ), si uno se imagina esto es simplemente. Luego te dice que el tiempo de adquisicion minimo que uno debe tener para poder leer correctamente la entrada esta dado por:

Tadq = Tamp + Tc + Tcoff

Donde Tamp es un tiempo que necesita el Amplificador del ADC, Tc es el tiempo de carga del capacitor y finalmente como la temperatura afecta todo esta Tcoff, que es un extra debido a la temperatura.

Tamp es fijo y es de 0.2us, Tcoff dentro del rango de temperaturas normales se puede omitir ya que si tenemos 30º se calcularia asi:

Tcoff = (Temp – 25°C)*(0.02 μs/°C) = (30ºC – 25°C)*(0.02 μs/°C) = (5°C)*(0.02 μs/°C) = 0.1us

Si se observa es de 0.1us para 30ºC la mitad del amplificador. El termino importante de esos 3 es el de la carga del capacitor, la cual se calcula de esta forma:

Tc = -(CHOLD)*(RIC + RSS + RS) * ln(1/2048)

Hay muchos valores que te lo da el datasheet, por ejemplo:

CHOLD es de 25pF,
Ric es de 1K
Rss varia con la tension, en la imagen hay un pequeño grafico, para 5V es de 2K
RS que es nuestra resisitencia que le ponemos afuera en nuestro circuito.

Entonces.. Suponiendo que tenemos esos valores y pusimos una resistencia de 10K ohms

Tc = -(25pF)*(1Kohm + 2Kohm + 10Kohms) * ln(1/2048) = -(25pF)*(13Kohms) * ln(1/2048) = 2.48us

Entonces el tiempo total es de:

Tadq = Tamp + Tc + Tcoff = 0.2 us + 2.48us + 0.1us = 2.78us

Ese es el tiempo MINIMO de adquisicision.

Ahora suponete que tenes elegir en el PIC que multiplos de TAD necesitas para la adquisicion.
Tomando el ejemplo que te dieron, si vos tenes 64Mhz y elegiste el preescaler de 1:64 para alimentar el reloj por lo cual tu TAD es de 1us.

Para que la lectura sea valida deberian pasar en la adquisicion al menos 3 TAD ( 3us ), por lo tanto si elegimos 4,6,8,12,16,20TAD cualquier de estos es valido, pero no si elegimos 1TAD o 2TAD, porque el tiempo donde se cierra la llave para que se cargue el capacitor interno es insuficiente. Obviamente que mientras mas cerca estemos mas rapido vamos a poder leer continuamente el ADC, sino lo vas a leer continuamente le podes poner 20TAD y olvidarte ( Siempre y cuando nunca le pongas nada a tu circuito que necesite mas de 20 TADs
« Última modificación: 04 de Mayo de 2017, 19:52:06 por KILLERJC »

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Calcular TAD
« Respuesta #3 en: 05 de Mayo de 2017, 10:57:42 »
Nada mejor que unos buenos profesores, lo que me pasaba era que no entendía la relación entre us y el TAD, ahora me quedo claro.

Muchas gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.


 

anything