- Požadované komponenty:
- Vysvetlenie obvodu:
- Generátor signálu využívajúci časovač 555 IC:
- Spúšťová brána Schmitt:
- Vysvetlenie kódu čítača frekvencie Arduino:
Takmer každý elektronický nadšenec sa musel stretnúť so scenárom, keď musí merať frekvenciu signálu generovaného hodinami alebo počítadlom alebo časovačom. Na vykonanie práce môžeme použiť osciloskop, ale nie každý z nás si môže osciloskop dovoliť. Môžeme si kúpiť zariadenie na meranie frekvencie, ale všetky tieto zariadenia sú nákladné a nie sú pre každého. S ohľadom na to navrhneme jednoduchý, ale efektívny čítač kmitočtov pomocou spúšťacej brány Arduino Uno a Schmitt.
Tento čítač frekvencie Arduino je nákladovo efektívny a dá sa ľahko vyrobiť. Na meranie frekvencie signálu použijeme ARDUINO UNO, UNO je tu srdcom projektu.
Aby sme otestovali merač frekvencie, urobíme fiktívny generátor signálu. Tento fiktívny generátor signálu bude vyrobený pomocou časovacieho čipu 555. Časový obvod generuje obdĺžnikovú vlnu, ktorá bude poskytnutá UNO na testovanie.
Keď bude všetko na mieste, budeme mať merač frekvencie Arduino a generátor štvorcových vĺn. Arduino je možné použiť aj na generovanie ďalších druhov kriviek, ako je sínusoida, píla na zuby atď.
Požadované komponenty:
- 555 časovač IC a 74LS14 Schmittova spúšťacia brána alebo NOT brána.
- Rezistor 1K Ω (2 kusy), odpor 100Ω
- 100nF kondenzátor (2 kusy), 1000µF kondenzátor
- 16 * 2 LCD,
- Hrniec 47KΩ,
- Nepájivá doska a niektoré konektory.
Vysvetlenie obvodu:
Schéma zapojenia merania frekvencie pomocou Arduina je uvedená na nasledujúcom obrázku. Obvod je jednoduchý, LCD je prepojený s Arduinom na zobrazovanie nameranej frekvencie signálu. „Wave Input“ sa chystá do obvodu generátora signálu, z ktorého napájame signál do Arduina. 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 merač frekvencie môže merať frekvencie až do 1 MHz.
Obvod generátora signálu a Schmittov spúšť boli vysvetlené nižšie.
Generátor signálu využívajúci časovač 555 IC:
Najskôr si povieme niečo o 555 IC generátore štvorcových vĺn, alebo mám povedať 555 Astable Multivibrator. Tento obvod je nevyhnutný, pretože keď je k dispozícii merač frekvencie, musíme mať signál, ktorého frekvencia je nám známa. Bez tohto signálu nikdy nebudeme schopní povedať fungovanie frekvenčného merača. Ak máme štvorček so známou frekvenciou, môžeme tento signál použiť na otestovanie frekvenčného merača Arduino Uno a v prípade akýchkoľvek odchýlok ho môžeme doladiť kvôli presnosti. Obrázok generátora signálu používajúceho časovač IC 555 je uvedený nižšie:
Typický obvod 555 v Astabilnom režime je uvedený nižšie, z čoho sme odvodili vyššie uvedený obvod generátora signálu.
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.
Je vidieť, že RB vyššie uvedeného diagramu je nahradený bankou v obvode generátora signálu; to sa deje preto, aby sme na výstupe dostali štvorcovú vlnu s premennou frekvenciou pre lepšie testovanie. Pre jednoduchosť je možné hrniec vymeniť za jednoduchý rezistor.
Spúšťová brána Schmitt:
Vieme, že všetky testovacie signály nie sú štvorcové ani obdĺžnikové vlny. Máme trojuholníkové vlny, vlny zubov, sínusové vlny a tak ďalej. Pretože UNO dokáže detekovať iba štvorcové alebo obdĺžnikové vlny, potrebujeme zariadenie, ktoré dokáže meniť akékoľvek signály na obdĺžnikové vlny, preto používame spúšťaciu bránu Schmitt. Schmittova spúšťová brána je digitálna logická brána určená pre aritmetické a logické operácie.
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. Spravidla nedostávame Schmittovu spúšť zvlášť, vždy máme bránu NIE, ktorá nasleduje za Schmittovou spúšťou. Tu je vysvetlené fungovanie Schmitt Trigger: Schmitt Trigger Gate
Budeme používať čip 74LS14, 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.
Teraz privádzame akýkoľvek signál na bránu ST, na výstupe budeme mať obdĺžnikovú vlnu invertovaných časových období, tento signál privádzame do UNO.
Vysvetlenie kódu čítača frekvencie Arduino:
Kód pre toto meranie frekvencie pomocou arduina je pomerne jednoduchý a ľahko pochopiteľný. Tu vysvetľujeme funkciu pulseIn, ktorá je zodpovedná hlavne za meranie frekvencie. 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);
Daná funkcia meria čas, po ktorý je na PIN8 Uno prítomná vysoká alebo nízka úroveň. Takže v jednom cykle vlny budeme mať trvanie pozitívnej a negatívnej úrovne v mikrosekundách. Funkcia pulseIn meria čas v mikro sekundách. V danom signáli máme najvyšší čas = 10 mS a najnižší čas = 30 ms (s frekvenciou 25 HZ). Takže 30000 bude uložených v celom čase Ltime a 10 000 v Htime. Keď ich spojíme, vznikne Trvanie cyklu a jeho prevrátením vznikne Frekvencia.
Kompletný kód a video pre tento merač frekvencie pomocou Arduina sú uvedené nižšie.