Paso 4: Determinar la capacitancia desconocida
Después de que la variable t_stop se ha asignado durante la interrupción, el Arduino ahora es capaz de realizar los cálculos para determinar la capacitancia desconocida.
En la función loop() , existe un segundo bloque si se entra sólo si las tres condiciones siguientes se cumplen simultáneamente:
1. t_stop > 0
2. t_start > 0
3. (t_stop - t_start) > 0
A primera vista uno pensaría que la primera condición debería haber sido suficiente, pero no fue, como el ruido a la salida de la 741 causó la activación de la interrupción al azar cuando la tensión en A1 y A2 se hizo igual. Esto produce lecturas falsas además de la correcta.
Incluyendo las condiciones 2 y 3, pude eliminar lecturas falsas y sólo una lectura limpia y precisa.
La secuencia de operaciones dentro del bloque si es el siguiente:
El tiempo transcurrido desde el inicio de la carga hasta llegar a Vref , se calcula:
T = t_stop - t_start
La constante de tiempo RC del circuito se calcula de la ecuación general de la carga de los condensadores.
RC = -T / log ((Vref-VCC) / (V0 - VCC))
V0 = 0 ya que el condensador está inicialmente descargado.
Por último, la capacitancia se determina:
C = RC/R