4 votos

medición de condensadores de bajo valor con Arduino/Atmel

Hace poco compré un kit en Sparkfun para medir condensadores. (Que en realidad es este .) 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 en un Atmega168 que haga otras cosas (pero que no muestre una lectura en un LED, como hace éste). El kit utiliza un Atmega48.

Probé el alfa de Chris Stratton de un posible firmware de reemplazo de código abierto: http://github.com/cstratton/atmega_capmeter pero parece que sólo colgar con una pantalla de 00.0P después de mostrar brevemente una pantalla de "3210". Tengo curiosidad por saber si alguien conoce el algoritmo que utiliza el kit de jyetech; claramente no es el que se discute aquí: http://arduino.cc/en/Tutorial/CapacitanceMeter porque esa técnica falla para condensadores de bajo valor. (Lo intenté con resistencias de gran valor, pero no detectó ninguna capacitancia con condensadores de menos de 0,01 microfaradios aproximadamente). Estoy utilizando 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 he intentado medir los niveles de combustible con telémetros IR y Ultrasónicos, y son demasiado inexactos para mi aplicación.

3voto

SandeepJ Puntos 1339

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

Puede que me equivoque en algo de lo anterior ya que no uso micros AVr, pero no veo otra forma obvia de que haga las cosas. En general, existe la forma constante RC utilizado en muchos hobby / medidores de gama baja, el tanque LC método también se utiliza para algunos proyectos de hobby (el más conocido es probablemente el Contador Elsie ), o la forma de cálculo de señal aplicada y número complejo, que utilizan la mayoría de los medidores LCR comerciales.

Comercial Medidores LCR utilizan una onda sinusoidal muy limpia a frecuencias típicas (normalmente seleccionables) de 1kHz, 10kHz, 100kHz, etc. Aplican la señal a través del componente con una resistencia en derivación y miden la relación entre tensión/corriente y la fase entre ellas. A partir de ahí se puede calcular lo que se necesita saber (impedancia, ESR, Q, etc.). 4 hilos configuración de detección, con un terminal de guardia también.
Tengo un Mastech MS5308 aquí, que es un muy buen ejemplo de un medidor de este tipo a un buen precio - que va tan bajo como 0,01pF en ~ 2% de precisión.

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

  • Ya sabes aproximadamente el rango de medida, y que la capacitancia será bastante pequeña
  • Dado que es para la detección de 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 sólo el cambio relativo que le interesa.

Así que yo diseñaría algo que sólo tuviera un rango de medición de, por ejemplo, 1 - 100pF (o el rango que tenga entre vacío/lleno) y que se pudiera calibrar fácilmente (por ejemplo, anular las lecturas en vacío).
Hay muchos proyectos que puedes consultar y de los que puedes sacar ideas. La constante de tiempo RC es probablemente la forma más fácil, pero difícil con baja capacitancia. Creo que lo haría probablemente ir por algo como la forma Elsie de hacerlo para esto.
Alternativamente, hay micros con periféricos táctiles capacitivos que podrían utilizarse en este escenario. No sé sobre AVRs, pero por ejemplo el PIC16F1828 tiene un periférico táctil capacitivo de 12 canales.

Esto es lo que parece un Versión basada en AVR del medidor Elsie basado en PIC, con esquema y código fuente, por lo que puede merecer la pena echarle un vistazo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X