midiendo condensadores de bajo valor con Arduino / Atmel

4

Hace poco compré un kit en Sparkfun para medir los capacitores. (Lo que en realidad es esto .) Funciona bien y mide con precisión condensadores muy pequeños, pero el firmware no es de código abierto y me gustaría incorporar su funcionalidad a un Atmega168 que está haciendo varias otras cosas (pero no muestra una lectura en un LED, como lo hace esta ). El kit utiliza un Atmega48.

Probé el alfa de Chris Stratton de un posible firmware de código abierto de reemplazo: enlace pero parece que simplemente se cuelga con una pantalla de 00.0P después de mostrar brevemente una pantalla de "3210". Tengo curiosidad si alguien sabe el algoritmo que usa el kit jyetech; claramente no es el que se discute aquí: enlace Porque esa técnica falla para los condensadores de bajo valor. (Lo intenté usando resistores de gran valor, pero no detectó capacitancia con condensadores de menos de aproximadamente 0.01 microfaradios). Estoy usando esta técnica para medir los niveles cambiantes de un dieléctrico diesel en un condensador especial diseñado para medir los niveles de combustible, y para que esto funcione necesito una medición muy precisa de la capacitancia de bajo valor.

Debo mencionar que también traté de medir los niveles de combustible con los telémetros IR y ultrasónicos, y son demasiado inexactos para mi aplicación.

    
pregunta Gus Mueller

1 respuesta

3

Por lo que puedo ver de un vistazo, parece que utiliza un simple cálculo de tiempo de carga RC. Parece que el pin probablemente está configurado bajo para descargar, luego configurado para entrada y espera a que la resistencia de 3.3MΩ se cargue y se calcula a partir de eso. Como el pin no parece ser una entrada analógica, parece que están utilizando el nivel alto de entrada CMOS para determinar el "punto final".

Puede que me equivoque con respecto a algunos de los anteriores ya que no uso AVr micros, pero no puedo ver otra manera obvia de hacer las cosas. En general, existe la forma de control remoto que se usa en muchos medidores de pasatiempos / bajos, el método de tanque LC también se usa para algunos proyectos de pasatiempos (el más conocido es probablemente el Elsie meter ), o la forma de cálculo de número complejo y señal aplicada, que utilizan la mayoría de los medidores LCR comerciales.

Los medidores de LCR comerciales utilizan una onda sinusoidal muy limpia a frecuencias típicas (generalmente seleccionables) de 1kHz, 10kHz, 100kHz, Aplican la señal a través del componente con una resistencia de derivación y miden la relación entre voltaje / corriente y la fase entre ellos. Desde allí puede calcular lo que necesita saber (Impedancia, ESR, Q, etc.) Los mejores también incluyen un 4 cables configuración de detección, con un terminal de guarda también.
Tengo un Mastech MS5308 aquí, que es un muy buen ejemplo de un medidor de este tipo a un buen precio. Tendrá un valor tan bajo como 0.01pF con una precisión de ~ 2%.

De todos modos, para sus propósitos, ya que esta es una aplicación personalizada, me gustaría aprovechar el hecho de que:

  • Ya conoce aproximadamente el rango de medición y la capacitancia será bastante pequeña.
  • Ya que es para la detección del nivel de combustible, me imagino que la precisión absoluta no importa (lo cual es bueno, ya que la medición precisa de pF es difícil de hacer bien), es el cambio relativo en el que está interesado.

Así que diseñaría algo que solo tiene un rango de medición, por ejemplo, 1 - 100pF (o cualquiera que sea su rango entre vacío / lleno) y se calibra fácilmente (por ejemplo, anule las lecturas en vacío)
Hay muchos proyectos por ahí que puedes mirar y pellizcar ideas. La constante de tiempo RC es probablemente la forma más fácil, pero difícil con baja capacitancia. Creo que probablemente iría por algo como la forma de Elsie de hacerlo por esto.
Alternativamente, hay micros con periféricos capacitve de detección táctil que podrían utilizarse en este escenario. No sé sobre los AVR, pero por ejemplo, el PIC16F1828 tiene un toque capacitivo de 12 canales periférico.

Esto es lo que parece una versión basada en AVR del medidor Elsie basado en PIC, con esquemático y código fuente, por lo que puede valer la pena verlo.

    
respondido por el Oli Glaser

Lea otras preguntas en las etiquetas