Étape 4: Déterminer la capacité inconnue
Après que la variable t_stop a été attribué lors de l’interruption, l’Arduino est maintenant en mesure d’effectuer les calculs pour déterminer la capacité inconnue.
Dans la fonction loop() , il y a un deuxième bloc if qui est inscrite que si les trois conditions suivantes sont remplies simultanément :
1. t_stop > 0
2. t_start > 0
3. (t_stop - t_start) > 0
À première vue, on pourrait penser que la première condition aurait dû être suffisant, mais ce n’était pas, comme le bruit à la sortie de la 741 causé le déclenchement de l' interruption au hasard lorsque la tension à A1 et A2 sont devenus égale. Ceci a produit des lectures erronées en plus correcte.
En incluant les conditions 2 et 3, j’ai été en mesure d’éliminer les fausses lectures et obtenir qu’une seule lecture nette et précise.
La séquence des opérations à l’intérieur du bloc if est la suivante :
Le temps écoulé depuis le début de la charge jusqu'à ce que la Vref est atteinte, est calculé :
T = t_stop - t_start
La constante de temps RC du circuit est calculé à partir de l’équation générale de la charge des condensateurs.
RC = -T / log ((Vref-VCC) / (V0 - SCR))
V0 = 0 car le condensateur est initialement déchargé.
Enfin, la capacité est déterminée :
C = RC/R