- Požadované komponenty:
- Vysvetlenie obvodu:
- Generátor štvorcových vĺn 555 s časovačom IC:
- Spúšťová brána Schmitt:
- Arduino meria kapacitu:
- Zhrnutie a testovanie:
Keď narazíme na dosky s plošnými spojmi, ktoré sú predtým navrhnuté, alebo vyberáme jednu zo starej televízie alebo počítača, pokúsime sa ju opraviť. A niekedy musíme poznať kapacitu konkrétneho kondenzátora na doske, aby sme poruchu odstránili. Potom čelíme problému pri získavaní presnej hodnoty kondenzátora z dosky, najmä ak ide o zariadenie na povrchovú montáž. Môžeme si kúpiť zariadenie na meranie kapacity, ale všetky tieto zariadenia sú nákladné a nie pre každého. Z tohto dôvodu navrhneme jednoduchý merač kapacity Arduino na meranie kapacity neznámych kondenzátorov.
Tento merač je ľahko vyrobiteľný a tiež nákladovo efektívny. Chystáme sa vyrobiť merač kapacity pomocou Arduino Uno, spúšťovej brány Schmitt a časovača 555 IC.
Požadované komponenty:
- 555 časovač IC
- IC 74HC14 Schmittova spúšťacia brána alebo NOT brána.
- Rezistor 1K Ω (2 kusy), rezistor 10KΩ
- 100nF kondenzátor, 1000µF kondenzátor
- 16 * 2 LCD,
- Nepájivá doska a niektoré konektory.
Vysvetlenie obvodu:
Schéma zapojenia kapacitného merača využívajúceho Arduino je uvedená na nasledujúcom obrázku. Obvod je jednoduchý, LCD je prepojený s Arduino na zobrazenie nameranej kapacity kondenzátora. Obvod štvorcových vĺn (555 v Astabilnom režime) je pripojený k Arduinu, kde sme pripojili kondenzátor, ktorého kapacitu je potrebné merať. Schmittova spúšťová brána (IC 74LS14) sa používa na zabezpečenie toho, aby sa do Arduina privádzala iba obdĺžniková vlna. Na filtrovanie šumu sme pridali niekoľko kondenzátorov na napájanie.
Tento obvod môže presne merať kapacity v rozsahu 10 nF až 10 uF.
Generátor štvorcových vĺn 555 s časovačom IC:
Najskôr si povieme niečo o 555 Timer IC na báze generátora štvorcových vĺn, alebo by som mal povedať 555 Astable Multivibrator. Vieme, že kapacitu kondenzátora nemožno merať priamo v digitálnom obvode, inými slovami, UNO sa zaoberá digitálnymi signálmi a nedokáže merať kapacitu priamo. Takže na prepojenie kondenzátora s digitálnym svetom používame obvod generátora štvorcových vĺn 555.
Jednoducho povedané, časovač poskytuje výstup štvorcových vĺn, ktorých frekvencia priamo implikuje na kapacitu s nimi spojenú. Najprv teda dostaneme signál obdĺžnikovej vlny, ktorého frekvencia predstavuje kapacitu neznámeho kondenzátora, a tento signál privádzame do UNO na získanie príslušnej hodnoty.
Všeobecná konfigurácia 555 v Astabilnom režime, ako je znázornené na nasledujúcom obrázku:
Frekvencia výstupného signálu závisí od RA, RB rezistorov a kondenzátora C. Rovnica je uvedená ako, Frekvencia (F) = 1 / (časové obdobie) = 1,44 / ((RA + RB * 2) * C).
Tu RA a RB sú hodnoty odporu a C je hodnota kapacity. Daním hodnôt odporu a kapacity do vyššie uvedenej rovnice dostaneme frekvenciu výstupnej obdĺžnikovej vlny.
Pripojíme 1KΩ ako RA a 10KΩ ako RB. Takže vzorec sa stáva, Frekvencia (F) = 1 / (časové obdobie) = 1,44 / (21000 * C).
Preskupením podmienok, ktoré máme, Kapacita C = 1,44 / (21000 * F)
V našom programovom kóde (pozri nižšie) sme pre presné získanie hodnoty kapacity vypočítali výsledok v nF vynásobením získaných výsledkov (vo faradoch) hodnotou „1000000000“. Tiež sme použili '20800' namiesto 21000, pretože presné odpory RA a RB sú 0,98K a 9,88K.
Takže ak poznáme frekvenciu štvorcovej vlny, môžeme získať hodnotu kapacity.
Spúšťová brána Schmitt:
Signály generované obvodom časovača nie sú úplne bezpečné na to, aby boli priamo poskytované Arduino Uno. S ohľadom na citlivosť UNO používame Schmittovu spúšťaciu bránu. Schmittova spúšťová brána je digitálna logická brána.
Táto brána poskytuje VÝSTUP na základe úrovne vstupného napätia. Schmitt Trigger má úroveň napätia THERSHOLD, keď má signál INPUT aplikovaný na bránu hladinu napätia vyššiu ako THRESHOLD logickej brány, VÝSTUP ide VYSOKÝ. Ak je úroveň signálu vstupného napätia nižšia ako THRESHOLD, výstup brány bude NÍZKY. S tým, že zvyčajne nedostaneme Schmittov spúšť zvlášť, vždy máme bránu NIE, ktorá nasleduje po Schmittovej spúšťi. Tu je vysvetlené fungovanie Schmitt Trigger: Schmitt Trigger Gate
Budeme používať čip 74HC14, tento čip má v sebe 6 brán Schmitt Trigger. Tieto brány SIX sú vnútorne spojené, ako je znázornené na nasledujúcom obrázku.
Truth Table of Inverted Schmitt Trigger bráne je výstava v nasledujúcom poradí, s tým musíme naprogramovať UNO pre prevrátením kladné a záporné časové úseky na svojich termináloch.
Pripojíme signál generovaný časovacím obvodom k bráne ST, na výstupe budeme mať obdĺžnikovú vlnu invertovaných časových období, ktorú je možné bezpečne odovzdať UNO.
Arduino meria kapacitu:
Uno má špeciálnu funkciu pulseIn , ktorá nám umožňuje určiť trvanie pozitívneho alebo negatívneho stavu konkrétnej obdĺžnikovej vlny:
Htime = pulseIn (8, HIGH); Ltime = pulseIn (8, LOW);
Funkcia pulseIn meria čas, po ktorý je na PIN8 Uno prítomná vysoká alebo nízka úroveň. Funkcia pulseIn meria tento najvyšší čas (Htime) a najnižší čas (Ltime) v mikrosekundách. Keď k tomu pridáme Htime a Ltime, budeme mať Trvanie cyklu a jeho prevrátením budeme mať Frekvenciu.
Keď máme frekvenciu, môžeme získať kapacitu pomocou vzorca, o ktorom sme hovorili vyššie.
Zhrnutie a testovanie:
Stručne povedané, pripojíme neznámy kondenzátor k časovačiemu obvodu 555, ktorý generuje výstup s obdĺžnikovou vlnou, ktorého frekvencia priamo súvisí s kapacitou kondenzátora. Tento signál sa dáva UNO cez bránu ST. OSN meria frekvenciu. So známou frekvenciou programujeme UNO na výpočet kapacity pomocou vyššie diskutovaného vzorca.
Pozrime sa na nejaké výsledky, ktoré som dostal, Keď som pripojil 1uF elektrolytický kondenzátor, výsledok je 1091,84 nF ~ 1uF. A výsledok s 0,1uF polyesterovým kondenzátorom je 107,70 nF ~ 0,1uF
Potom som pripojil 0,1uF keramický kondenzátor a výsledok je 100,25 nF ~ 0,1uF. Výsledok s 4,7uF elektrolytickým kondenzátorom je 4842,83 nF ~ 4,8uF
Takto môžeme jednoducho zmerať kapacitu ľubovoľného kondenzátora.