- Vereiste componenten:
- Circuit uitleg:
- 555 Timer IC gebaseerde blokgolfgenerator:
- Schmitt Trigger Gate:
- Arduino meet de capaciteit:
- Samenvatting en testen:
Wanneer we printplaten tegenkomen die eerder zijn ontworpen of we halen er een uit een oude tv of computer in een poging deze te repareren. En soms moeten we de capaciteit van een bepaalde condensator in het bord kennen om de fout te elimineren. Dan staan we voor een probleem om de exacte waarde van de condensator van het bord te krijgen, vooral als het een Surface Mount Device is. We kunnen apparatuur kopen om de capaciteit te meten, maar al deze apparaten zijn duur en niet voor iedereen. Met dat in gedachten gaan we een simpele Arduino Capacitance Meter ontwerpen om de capaciteit van onbekende condensatoren te meten.
Deze meter is eenvoudig te maken en bovendien kostenbesparend. We gaan een capaciteitsmeter maken met behulp van Arduino Uno, Schmitt-triggergate en 555 IC-timer.
Vereiste componenten:
- 555 timer IC
- IC 74HC14 Schmitt-triggerpoort of NIET-poort.
- 1K Ω weerstand (2 stuks), 10KΩ weerstand
- 100nF condensator, 1000 µF condensator
- 16 * 2 LCD,
- Breadboard en enkele connectoren.
Circuit uitleg:
Het schakelschema van de capaciteitsmeter met Arduino wordt weergegeven in de onderstaande afbeelding. Circuit is eenvoudig, een LCD is gekoppeld aan Arduino om de gemeten capaciteit van de condensator weer te geven. Een blokgolfgeneratorcircuit (555 in Astable-modus) is verbonden met Arduino, waar we de condensator hebben aangesloten waarvan de capaciteit moet worden gemeten. Een Schmitt-triggerpoort (IC 74LS14) wordt gebruikt om ervoor te zorgen dat alleen rechthoekige golf naar Arduino wordt gevoerd. Voor het filteren van de ruis hebben we een paar condensatoren over het vermogen toegevoegd.
Dit circuit kan capaciteiten nauwkeurig meten in het bereik van 10nF tot 10uF.
555 Timer IC gebaseerde blokgolfgenerator:
Allereerst zullen we het hebben over de op 555 Timer IC gebaseerde blokgolfgenerator, of moet ik zeggen 555 Astable Multivibrator. We weten dat de capaciteit van een condensator niet direct kan worden gemeten in een digitaal circuit, met andere woorden, de UNO behandelt digitale signalen en het kan de capaciteit niet rechtstreeks meten. Dus gebruiken we een 555 blokgolfgeneratorcircuit om de condensator met de digitale wereld te verbinden.
Simpel gezegd, de timer levert blokgolfuitvoer waarvan de frequentie rechtstreeks verband houdt met de capaciteit die erop is aangesloten. Dus eerst krijgen we het blokgolfsignaal waarvan de frequentie representatief is voor de capaciteit van de onbekende condensator, en sturen dit signaal naar UNO om de juiste waarde te krijgen.
Algemene configuratie 555 in Astable-modus zoals weergegeven in onderstaande afbeelding:
De uitgangssignaalfrequentie is afhankelijk van RA-, RB-weerstanden en condensator C.De vergelijking wordt gegeven als, Frequentie (F) = 1 / (tijdsperiode) = 1,44 / ((RA + RB * 2) * C).
Hier zijn RA en RB weerstandswaarden en C is capaciteitswaarde. Door de weerstands- en capaciteitswaarden in bovenstaande vergelijking te plaatsen, krijgen we de frequentie van de uitgangsgolf.
We gaan 1KΩ als RA en 10KΩ als RB aansluiten. Dus de formule wordt, Frequentie (F) = 1 / (Tijdsperiode) = 1,44 / (21000 * C).
Door de termen die we hebben te herschikken, Capaciteit C = 1,44 / (21000 * F)
In onze programmacode (zie hieronder) hebben we voor het nauwkeurig verkrijgen van de capaciteitswaarde het resultaat in nF berekend door de verkregen resultaten (in farads) te vermenigvuldigen met “1000000000”. We hebben ook '20800' gebruikt in plaats van 21000, omdat de nauwkeurige weerstanden van RA en RB 0,98K en 9,88K zijn.
Dus als we de frequentie van de blokgolf kennen, kunnen we de capaciteitswaarde krijgen.
Schmitt Trigger Gate:
De signalen die door het timercircuit worden gegenereerd, zijn niet helemaal veilig om direct aan de Arduino Uno te worden doorgegeven. Met de gevoeligheid van UNO in gedachten, gebruiken we Schmitt-triggergate. Schmitt-triggerpoort is een digitale logische poort.
Deze poort levert UITGANG op basis van het INPUT-spanningsniveau. Een Schmitt Trigger heeft een THERSHOLD-spanningsniveau, wanneer het INPUT-signaal dat op de poort wordt toegepast een spanningsniveau heeft dat hoger is dan de THRESHOLD van de logische poort, wordt OUTPUT HOOG. Als het INPUT-spanningssignaalniveau lager is dan THRESHOLD, zal de OUTPUT van de poort LAAG zijn. Daarmee krijgen we de Schmitt-trigger meestal niet afzonderlijk, we hebben altijd een NIET-poort die de Schmitt-trigger volgt. Schmitt Trigger-werking wordt hier uitgelegd: Schmitt Trigger Gate
We gaan de 74HC14 chip gebruiken, deze chip heeft 6 Schmitt Trigger gates. Deze zes poorten zijn intern verbonden zoals weergegeven in onderstaande afbeelding.
De Truth Table of Inverted Schmitt Trigger gate wordt getoond in de onderstaande afbeelding, hiermee moeten we de UNO programmeren voor het omkeren van de positieve en negatieve tijdsperioden op de terminals.
We verbinden het signaal dat wordt gegenereerd door het timercircuit met de ST-poort, we hebben een rechthoekige golf van omgekeerde tijdsperioden aan de uitgang die veilig aan UNO kan worden gegeven.
Arduino meet de capaciteit:
De Uno heeft een speciale functie pulseIn , waarmee we de positieve toestandsduur of negatieve toestandsduur van een bepaalde rechthoekige golf kunnen bepalen:
Htime = pulseIn (8, HIGH); Ltime = pulseIn (8, LOW);
De pulseIn- functie meet de tijd gedurende welke hoog of laag niveau aanwezig is op PIN8 van Uno. De pulseIn- functie meet deze hoge tijd (Htime) en lage tijd (Ltime) in microseconden. Als we Htime en Ltime bij elkaar optellen, hebben we de Cyclusduur, en door deze om te keren hebben we de Frequentie.
Zodra we de frequentie hebben, kunnen we de capaciteit krijgen door de formule te gebruiken die we eerder hebben besproken.
Samenvatting en testen:
Samenvattend verbinden we de onbekende condensator met het 555-timercircuit, dat een blokgolfuitgang genereert waarvan de frequentie direct gerelateerd is aan de capaciteit van de condensator. Dit signaal wordt via de ST-poort aan UNO gegeven. De UNO meet de frequentie. Met bekende frequentie programmeren we de UNO om de capaciteit te berekenen met behulp van de eerder besproken formule.
Laten we wat resultaten zien die ik heb, Toen ik 1uF elektrolytische condensator aansluit, is het resultaat 1091,84 nF ~ 1uF. En het resultaat met 0.1uF polyester condensator is 107,70 nF ~ 0.1uF
Daarna heb ik 0.1uF keramische condensator aangesloten en het resultaat is 100.25 nF ~ 0.1uF. Ook het resultaat met een elektrolytische condensator van 4.7uF is 4842.83 nF ~ 4.8uF
Dus dat is hoe we eenvoudig de capaciteit van elke condensator kunnen meten.