Etape 2: Améliorer l’esquisse
Maintenant nous avons un capacimètre base sur Arduino. Il ne fonctionne pas, mais des améliorations sont dues. Les plus évidents sont :
-Décharge de condensateur contrôlable. Dans l’esquisse de Nick, la décharge est gérée via un simple délai de 3 secondes ; trop d’attente entre les lectures.
-Démarrer la charge directement par le biais de la manipulation de port, car digitalWrite est trop lent. C’est exactement une des rares situations où c’est utile, dans 99 % autre cas digitalWrite est parfaitement ok, ne croyez pas les puristes qui disent le contraire. Mais ici, c’est important-nous ne voulons pas perdre d’horloge entre la charge et la minuterie démarre. Et, avouons-le ; Ce code est plein de manipulation de port dans tous les cas, donc lisibilité n’importe pas beaucoup ici.
Heureusement, vous n’avez pas à modifier le code de Nick parce que quelqu'un d’autre a déjà fait il. En fait, quelqu'un a appelé tmd3 des forums Arduino a écrit sa propre version, et il gère ces deux problèmes. Téléchargez le croquis sur la deuxième page de ce fil en post #21 (et vous pouvez également lire la discussion là, comme il l’explique beaucoup de choses).
Maintenant, quelques modifications sur le montage d’essai sont dues. Les broches 6 et 7 sont inversés dans le nouveau sketch, alors maintenant broche 6 obtient la tension de référence d’alimentation et tension sur la broche 7 est testée. La fiche de charge soit broche 9 (au lieu de broche 2 auparavant) et nous obtenons également un nouveau NIP de décharge et de la résistance : connecter une résistance d’environ 200 à 1 K Ohms entre les broches 8 et 7 (j’utilise 510 Ohms).
OK, tout connecter et télécharger le croquis (n’oubliez pas de modifier les valeurs de résistance à vos chers). Notez que cette esquisse mesures de capacité en uFs, donc les chiffres sur l’écran sont différents. En fait, vous devez modifier la ligne
Serial.print(C,6); Serial.print(" uF"); Serial.println();
À
Serial.print(C,6); Serial.print(" uF --- "); Serial.print((C*1000),3); Serial.print(" nF"); Serial.println();
pour obtenir des résultats plus lisibles (j’ai garder deux figures dans la sortie de confondre les uFs et nFs).
Ce compteur est rapide et nous permet aussi de voir la capacité réelle « errant » de notre installation quand aucun condensateur n’est-il soumis à l’essai pour soustraire du résultat. En outre, l’ajout d’une résistance de décharge fait décharge plus rapide et indépendante de la valeur de résistance charge. Ce changement nous utilise une résistance de charge assez grosse pour Rc.