Stap 2: Verbetering van de schets
Nu hebben we een fundamentele capaciteit meter op de Arduino. Op doet werkzaamheden, slechts enkele verbeteringen zijn verschuldigd. De meest voor de hand liggende zijn:
-Regelbare condensator ontlading. In Nick's schets wordt de kwijting afgehandeld via een eenvoudige 3-seconden vertraging; te veel wachttijd tussen lezingen.
-Beginnen met het opladen rechtstreeks via poort manipulatie, omdat digitalWrite te traag is. Dit is precies een van de zeldzame situaties waar dit zinvol is-in 99% andere gevallen digitalWrite is volkomen o.k., geloof niet puristen die anders zeggen. Maar hier is het belangrijk-we willen niet te verliezen timer teken tussen opladen en timer begint. En, laten we eerlijk zijn; Deze code staat vol met poort manipulatie in ieder geval dus leesbaarheid maakt niet veel uit hier.
Gelukkig hoeft u niet Nick's om code te bewerken omdat iemand anders al heeft gedaan. In feite, iemand tmd3 aangeroepen vanuit Arduino Forum schreef zijn eigen versie, en het behandelt beide problemen. De schets op de tweede pagina van deze draad in post #21 krijgen (en ook raadzaam om te lezen van de discussie, zoals het verklaart een heleboel dingen).
Nu, enkele wijzigingen op het breadboard zijn verschuldigd. Pin 6 en 7 worden omgekeerd in de nieuwe sketch, dus nu pin 6 krijgt referentie spanning feed en spanning op pin 7 wordt getest. Het opladen pin is pin 9 (in plaats van pin 2 eerder) en we krijgen ook een nieuwe geen kwijting pin en weerstand: verbinding maken met een weerstand van ongeveer 200 tot 1 K Ohm tussen pin 8 en 7 (ik gebruik 510 Ohm).
OK, alles aansluiten en uploaden van de schets (Vergeet niet de weerstand waarden wijzigen aan uw degenen). Merk op dat deze schets capaciteit in uFs, maatregelen, zodat de nummers op het scherm verschillend zijn. In feite, moet u de regel wijzigen
Serial.print(C,6); Serial.print(" uF"); Serial.println();
Aan
Serial.print(C,6); Serial.print(" uF --- "); Serial.print((C*1000),3); Serial.print(" nF"); Serial.println();
beter leesbaar om resultaten te krijgen (ik houd twee cijfers in de output niet te verwarren uFs en nFs).
Deze meter is snel en ook laat ons zien de werkelijke 'verdwaalde capaciteit' van onze instelling, wanneer geen condensator beproeven aan aftrekken van het resultaat is. Ook maakt de toevoeging van een weerstand van geen kwijting sneller en onafhankelijk van de opladen weerstand waarde het verlenen van kwijting. Deze specifieke wijziging zal laten gebruiken een nogal groot opladen weerstand voor Rc