- Mga Kinakailangan na Bahagi:
- Paliwanag sa Circuit:
- Signal Generator gamit ang 555 Timer IC:
- Schmitt Trigger Gate:
- Paliwanag ng Arduino Frequency Counter Code:
Halos bawat elektronikong libangan ay dapat nakaharap sa isang senaryo kung saan dapat niyang sukatin ang dalas ng signal na nabuo ng isang orasan o isang counter o isang timer. Maaari naming gamitin ang oscilloscope upang gawin ang trabaho, ngunit hindi lahat sa atin ay kayang bayaran ang isang oscilloscope. Maaari kaming bumili ng kagamitan para sa pagsukat ng dalas ngunit ang lahat ng mga aparatong ito ay magastos at hindi para sa lahat. Sa pag-iisip na iyon ay magdidisenyo kami ng isang simple ngunit mahusay na Frequency Counter gamit ang Arduino Uno at Schmitt gateway ng gatilyo.
Ang Arduino Frequency Counter na ito ay mabisang gastos at madaling magawa, gagamitin namin ang ARDUINO UNO para sa pagsukat ng dalas ng signal, ang UNO ang puso ng proyekto dito.
Upang subukan ang Frequency Meter, gagawa kami ng isang generator ng dummy signal. Ang dummy signal generator na ito ay gagawin sa pamamagitan ng paggamit ng 555 timer chip. Bumubuo ang timer circuit ng isang square wave na ibibigay sa UNO para sa pagsubok.
Sa lahat ng nasa lugar magkakaroon kami ng isang Arduino Frequency meter at isang square wave generator. Maaari ding magamit ang Arduino upang makabuo ng iba pang uri ng mga form ng alon tulad ng sine wave, saw wave ng ngipin atbp.
Mga Kinakailangan na Bahagi:
- 555 timer IC at 74LS14 Schmitt gatilyo gate o HINDI gate.
- 1K Ω risistor (2 piraso), 100Ω risistor
- 100nF capacitor (2 piraso), 1000µF capacitor
- 16 * 2 LCD,
- 47KΩ palayok,
- Breadboard at ilang mga konektor.
Paliwanag sa Circuit:
Ang circuit diagram ng Frequency Pagsukat gamit ang Arduino ay ipinapakita sa ibaba ng pigura. Ang circuit ay simple, ang isang LCD ay nakipag-interfaced sa Arduino upang ipakita ang sinusukat na dalas ng signal. Ang 'Wave Input' ay pupunta sa Signal Generator Circuit, kung saan nagpapakain kami ng signal kay Arduino. Ginagamit ang isang Schmitt gateway gate (IC 74LS14) upang matiyak na ang parihabang alon lamang ang pinapakain kay Arduino. Para sa pag-filter ng ingay nagdagdag kami ng ilang mga capacitor sa buong lakas. Masusukat ang Frequency Meter na ito ng mga frequency hanggang sa 1 MHz.
Ang circuit signal ng generator at Schmitt gatilyo ay ipinaliwanag sa ibaba.
Signal Generator gamit ang 555 Timer IC:
Una sa lahat pag-uusapan natin ang tungkol sa 555 IC based square wave generator, o sasabihin kong 555 Astable Multivibrator. Ang circuit na ito ay kinakailangan dahil, sa Frequency Meter na nasa lugar dapat tayong magkaroon ng isang senyas na alam sa atin ang dalas. Kung wala ang senyas na iyon hindi namin masasabi ang pagtatrabaho ng Frequency Meter. Kung mayroon kaming isang parisukat na may kilalang dalas maaari naming magamit ang signal na iyon upang subukan ang Arduino Uno Frequency Meter at maaari naming i-tweak ito para sa mga pagsasaayos para sa kawastuhan, sa kaso ng anumang mga paglihis. Ang larawan ng Signal Generator na gumagamit ng 555 Timer IC ay ibinibigay sa ibaba:
Karaniwang circuit ng 555 sa Astable mode ay ibinibigay sa ibaba, kung saan nakuha namin ang nabigyan sa itaas na Signal Generator Circuit.
Ang dalas ng output signal ay nakasalalay sa RA, RB resistors at capacitor C. Ang equation ay ibinibigay bilang, Dalas (F) = 1 / (Oras ng oras) = 1.44 / ((RA + RB * 2) * C).
Narito ang RA at RB ay mga halaga ng paglaban at ang C ay halaga ng capacitance. Sa pamamagitan ng paglalagay ng mga halaga ng paglaban at kapasidad sa itaas ng equation nakukuha natin ang dalas ng output square wave.
Makikita ng isa na ang RB ng nasa itaas na diagram ay pinalitan ng isang palayok sa Signal Generator Circuit; tapos na ito upang makakuha tayo ng variable frequency square square sa output para sa mas mahusay na pagsubok. Para sa pagiging simple, maaaring palitan ng isang tao ang palayok ng isang simpleng risistor.
Schmitt Trigger Gate:
Alam namin na ang lahat ng mga signal ng pagsubok ay hindi parisukat o parihabang alon. Mayroon kaming mga triangular na alon, alon ng ngipin, alon ng sine at iba pa. Sa kakayahang makita lamang ng UNO ang parisukat o parihabang mga alon, kailangan namin ng isang aparato na maaaring baguhin ang anumang mga signal sa mga parihabang alon, sa gayon ginagamit namin ang Schmitt Trigger Gate. Ang Schmitt gateway gate ay isang digital logic gate, na idinisenyo para sa arithmetic at lohikal na operasyon.
Ang gate na ito ay nagbibigay ng OUTPUT batay sa antas ng boltahe ng INPUT. Ang isang Schmitt Trigger ay mayroong antas ng boltahe na THERSHOLD, kapag ang signal ng INPUT na inilapat sa gate ay may antas na boltahe na mas mataas kaysa sa THRESHOLD ng logic gate, ang OUTPUT ay napapataas. Kung ang antas ng signal ng boltahe ng INPUT ay mas mababa kaysa sa THRESHOLD, ang OUTPUT ng gate ay magiging mababa. Hindi namin karaniwang nakakakuha ng hiwalay na Schmitt trigger, palagi kaming may HINDI gate na sumusunod sa Schmitt gatilyo. Ang nagtatrabaho sa Schmitt Trigger ay ipinaliwanag dito: Schmitt Trigger Gate
Gagamitin namin ang 74LS14 chip, ang chip na ito ay mayroong 6 Schmitt Trigger gate dito. Ang SIX na gate na ito ay konektado sa loob tulad ng ipinakita sa ibabang pigura.
Ang Talaan ng Katotohanan ng Inverted Schmitt Trigger gate ay ipinapakita sa figure sa ibaba, kasama nito kailangan nating iprograma ang UNO para sa pag-invert ng positibo at negatibong mga yugto ng oras sa mga terminal nito.
Ngayon ay magpapakain kami ng anumang uri ng signal sa ST gate, magkakaroon kami ng parihabang alon ng mga baligtad na tagal ng panahon sa output, papakainin namin ang signal na ito sa UNO.
Paliwanag ng Arduino Frequency Counter Code:
Ang code para sa pagsukat ng dalas na ito gamit ang arduino ay medyo simple at madaling maunawaan. Narito ipinapaliwanag namin ang pagpapaandar ng pulsoIn na higit na responsable sa pagsukat ng dalas. Ang Uno ay may isang espesyal na function na pulseIn , na nagbibigay-daan sa amin upang matukoy ang tagal ng positibong estado o tagal ng negatibong estado ng isang partikular na hugis-parihaba na alon:
Htime = pulseIn (8, TAAS); Ltime = pulseIn (8, LOW);
Sinusukat ng ibinigay na pagpapaandar ang oras kung saan ang Mataas o Mababang antas ay naroroon sa PIN8 ng Uno. Kaya sa isang solong siklo ng alon, magkakaroon kami ng tagal para sa positibo at negatibong antas sa Micro segundo. Ang pulseIn function na sumusukat ng oras sa micro segundo. Sa isang naibigay na signal, mayroon kaming mataas na oras = 10mS at mababang oras = 30ms (na may dalas 25 HZ). Kaya't ang 30000 ay maiimbak sa Ltime integer at 10000 sa Htime. Kapag idinagdag namin ang mga ito magkasama magkakaroon tayo ng Tagal ng Cycle, at sa pamamagitan ng pag-invert nito magkakaroon kami ng Frequency.
Ang kumpletong code at video para sa Frequency Meter na gumagamit ng Arduino ay ibinibigay sa ibaba.