- Szükséges alkatrészek:
- Áramkör magyarázat:
- 555 időzítő IC alapú négyszöggenerátor:
- Schmitt kiváltó kapu:
- Arduino méri a kapacitást:
- Összegzés és tesztelés:
Amikor találkozunk korábban tervezett áramköri lapokkal, vagy kiveszünk egyet a régi tévékből vagy számítógépekből, megpróbálva javítani. És néha meg kell ismernünk egy adott kondenzátor kapacitását a táblában a hiba kiküszöbölése érdekében. Ezután problémával szembesülünk abban, hogy a kondenzátor pontos értékét kapjuk-e a tábláról, különösen, ha ez egy Felületre szerelhető eszköz. Vásárolhatunk berendezéseket a kapacitás mérésére, de ezek az eszközök költségesek és nem mindenki számára. Ezt szem előtt tartva egyszerű Arduino kapacitásmérőt tervezünk ismeretlen kondenzátorok kapacitásának mérésére.
Ez a mérő könnyen elkészíthető és költséghatékony is. Kapacitásmérőt fogunk készíteni az Arduino Uno, a Schmitt trigger kapu és az 555 IC időzítő használatával.
Szükséges alkatrészek:
- 555 időzítő IC
- IC 74HC14 Schmitt kiváltó kapu vagy NEM kapu.
- 1K Ω ellenállás (2 db), 10KΩ ellenállás
- 100nF kondenzátor, 1000µF kondenzátor
- 16 * 2 LCD,
- Kenyérlemez és néhány csatlakozó.
Áramkör magyarázat:
Az Arduino- t használó kapacitásmérő kapcsolási rajzát az alábbi ábra mutatja. Az áramkör egyszerű, az LCD-t összekapcsolják az Arduino-val a kondenzátor mért kapacitásának megjelenítéséhez. Egy négyzethullámú generátor áramkör (555 Astable módban) csatlakozik az Arduino-hoz, ahol csatlakoztattuk azt a kondenzátort, amelynek kapacitását meg kell mérni. Schmitt-kioldó kaput (IC 74LS14) használnak annak biztosítására, hogy csak téglalap alakú hullám kerüljön az Arduino-ba. A zaj szűréséhez hozzáadtunk pár kondenzátort a teljes teljesítményre.
Ez az áramkör pontosan meg tudja mérni a 10nF és 10uF közötti kapacitásokat.
555 időzítő IC alapú négyszöggenerátor:
Először az 555 Timer IC alapú négyszöggenerátorról fogunk beszélni, vagy mondanom kellene az 555 Astable Multivibrator-ról. Tudjuk, hogy egy kondenzátor kapacitása nem mérhető közvetlenül egy digitális áramkörben, más szóval az UNO digitális jelekkel foglalkozik, és nem tudja közvetlenül mérni a kapacitást. Tehát 555 négyzethullámú generátor áramkört használunk a kondenzátor és a digitális világ összekapcsolására.
Egyszerűen szólva az időzítő olyan négyzethullámú kimenetet biztosít, amelynek frekvenciája közvetlenül vonatkozik a hozzá kapcsolt kapacitásra. Tehát először megkapjuk azt a négyzethullámú jelet, amelynek frekvenciája az ismeretlen kondenzátor kapacitásának reprezentatívja, és ezt a jelet tápláljuk az UNO-hoz a megfelelő érték elérése érdekében.
555 általános konfiguráció Astable módban, az alábbi ábra szerint:
A kimeneti jel frekvenciája az RA, RB ellenállásoktól és a C kondenzátortól függ. Az egyenlet a következő, Frekvencia (F) = 1 / (Időszak) = 1,44 / ((RA + RB * 2) * C).
Itt az RA és az RB az ellenállás értéke, a C pedig a kapacitás értéke. Az ellenállás és a kapacitás értékek fenti egyenletbe helyezésével megkapjuk a kimeneti négyzethullám frekvenciáját.
1KΩ-ot RA-ként és 10KΩ-ot RB-ként fogunk összekötni. Tehát a képlet
Frekvencia (F) = 1 / (Időszak) = 1,44 / (21000 * C).
A rendelkezéseink átrendezésével
Kapacitás C = 1,44 / (21000 * F)
Programkódunkban (lásd alább) a kapacitásérték pontos megszerzéséhez kiszámítottuk az eredményt nF-ben úgy, hogy a kapott eredményeket (farádokban) megszorozzuk „1000000000” -vel. Szintén '20800' -t használtunk 21000 helyett, mert az RA és RB pontos ellenállása 0,98K és 9,88K.
Tehát, ha tudjuk a négyzethullám frekvenciáját, megkapjuk a kapacitás értékét.
Schmitt kiváltó kapu:
Az időzítő áramkör által generált jelek nem teljesen biztonságosak, ha közvetlenül adják őket az Arduino Uno-nak. Az UNO érzékenységét szem előtt tartva használjuk a Schmitt trigger kaput. A Schmitt trigger gate egy digitális logikai kapu.
Ez a kapu biztosítja az OUTPUT-ot az INPUT feszültségszintje alapján. A Schmitt-kiváltónak THERSHOLD feszültségszintje van, amikor a kapura alkalmazott INPUT jel feszültségszintje magasabb, mint a logikai kapu THRESHOLD értéke, az OUTPUT HIGH értékre megy. Ha az INPUT feszültség jelszintje alacsonyabb, mint a THRESHOLD, akkor a kapu kimenete alacsony lesz. Ezzel általában nem kapjuk külön a Schmitt ravaszt, mindig van egy NOT kapunk a Schmitt ravaszt követve. A Schmitt Trigger működését itt magyarázzuk el: Schmitt Trigger Gate
74HC14 chipet fogunk használni , ebben a chipben 6 Schmitt Trigger kapu van. Ezeket a HAT kapukat belsőleg csatlakoztatják, az alábbi ábra szerint.
Az invertált Schmitt kiváltó kapu igazságtáblázata az alábbi ábrán látható, ezzel meg kell programoznunk az UNO-t a pozitív és negatív periódusok invertálására terminálain.
Csatlakoztatjuk az időzítő áramkör által generált jelet az ST kapuhoz, fordított időtartamú téglalap alakú hullámunk lesz a kimeneten, amely biztonságos az UNO-nak.
Arduino méri a kapacitást:
Az Uno-nak van egy speciális impulzusIn funkciója , amely lehetővé teszi számunkra, hogy meghatározzuk egy adott téglalap alakú hullám pozitív állapotának vagy negatív állapotának időtartamát:
Htime = impulzusIn (8, HIGH); Ltime = impulzusIn (8, LOW);
A pulseIn függvény azt az időt méri, ameddig az Uno PIN8-nál magas vagy alacsony szint van jelen. A pulseIn függvény ezt a magas időt (Htime) és az alacsony időt (Ltime) méri másodpercben. Ha összeadjuk a Htime-t és az Ltime-ot, megkapjuk a ciklus időtartamát, és ennek megfordításával megkapjuk a Frekvenciát.
Ha megvan a frekvencia, a korábban tárgyalt képlet segítségével megkapjuk a kapacitást.
Összegzés és tesztelés:
Összefoglalva tehát az ismeretlen kondenzátort összekötjük az 555 időzítő áramkörrel, amely négyzethullámú kimenetet generál, amelynek frekvenciája közvetlenül összefügg a kondenzátor kapacitásával. Ezt a jelet az UNO kapja az ST kapun keresztül. Az UNO méri a gyakoriságot. Ismert frekvenciával az UNO-t programozzuk a kapacitás kiszámítására a korábban tárgyalt képlet segítségével.
Lássunk néhány eredményt, amit kaptam, Amikor csatlakoztattam 1uF elektrolit kondenzátort, az eredmény 1091,84 nF ~ 1uF. Az eredmény pedig 0,1uF poliészter kondenzátorral 107,70 nF ~ 0,1uF
Ezután csatlakoztattam a 0,1 uF kerámia kondenzátort, és az eredmény 100,25 nF ~ 0,1 uF. A 4.7uF elektrolit kondenzátorral kapott eredmény szintén 4842.83 nF ~ 4.8uF
Így egyszerűen megmérhetjük bármelyik kondenzátor kapacitását.