Stap 4: Bepalen van de onbekende capaciteit
Nadat de variabele t_stop is toegewezen tijdens de interrupt, vermag de Arduino nu de berekeningen worden uitgevoerd om te bepalen van de onbekende capaciteit.
In de loop -functie is er een tweede als blok die alleen indien de volgende drie voorwaarden gelijktijdig voldaan is:
1. t_stop > 0
2. t_start > 0
3. (t_stop - t_start) > 0
Op het eerste gezicht zou men denken dat de eerste voorwaarde moet voldoende zijn geweest, maar het was niet, als het lawaai aan de uitgang van de 741 het genereren van de interrupt willekeurig veroorzaakt wanneer de spanning aan de A1 en A2 werd gelijk. Dit produceerde valse lezingen naast de juiste is.
Door met inbegrip van de voorwaarden 2 en 3, kon ik elimineren de valse lezingen en slechts een schone en nauwkeurige lezing te krijgen.
De volgorde van de bewerkingen in het blok als is het volgende:
De tijd die is verstreken vanaf het begin van het opladen totdat Vref is bereikt, wordt berekend:
T = t_stop - t_start
De tijd constante RC van het circuit is berekend op basis van de algemene vergelijking van de heffing van condensatoren.
RC = -T / log ((Vref-VCC) / (V0 - VCC))
V0 = 0 omdat de condensator aanvankelijk wordt geloosd.
Tot slot, de capaciteit wordt bepaald:
C = RC/R