Përmbajtje:

Si të lexoni shumë ndërprerës me një kunj MCU: 4 hapa
Si të lexoni shumë ndërprerës me një kunj MCU: 4 hapa

Video: Si të lexoni shumë ndërprerës me një kunj MCU: 4 hapa

Video: Si të lexoni shumë ndërprerës me një kunj MCU: 4 hapa
Video: Как управлять нагрузкой 4 переменного тока с помощью беспроводного дистанционного реле KR1204 2024, Nëntor
Anonim
Si të lexoni shumë ndërprerës me një kunj MCU
Si të lexoni shumë ndërprerës me një kunj MCU

A keni qenë ndonjëherë duke u tallur me një projekt (projekte) dhe projekti vazhdon të rritet dhe rritet, ndërsa ju i shtoni më shumë gjëra atij (ne e quajmë atë një Creaturism Feaping)? Në një projekt të kohëve të fundit, unë po ndërtoja një matës frekuence dhe shtova një gjenerator sinjalizues me pesë funksione/sintetizues frekuence. Së shpejti përfundova me më shumë çelësa sesa kisha mbetur në dispozicion kunjat, kështu që çfarë të bëjë një djalë?

Sidoqoftë, unë shpejt kisha shtatë ndërprerës të tjerë në Funbox -in tim (po, kjo është ajo që unë e quaja gjenerator i funksionit tim … e di, nuk kam kreativitet) dhe këtu është një udhëzues i shkurtër që ju tregon se si mund të bëni të njëjtën gjë. Nuk kërkon regjistra ndërrimi ose IC të veçantë. Në fakt, as nuk kërkon një mikrokontrollues, nëse gjysmëpërçuesit diskrete është mënyra se si rrotulloni. Këtu keni një mënyrë për të lexuar/menaxhuar çelsin e shumëfishtë duke përdorur një kunj të vetëm në AVR tuaj (ose mikrokontrollues të tjerë … Kam dëgjuar se ka mikrokontrollues të tjerë përveç AVR, por nuk mund ta imagjinoj …).:)

Hapi 1: Thelbësore (jo në të vërtetë)

Për ta bërë këtë, do t'ju duhet disa përbërës. Ndihmon të kesh një numër çelësash që duhet të menaxhosh. Ju gjithashtu do të keni nevojë për disa rezistorë dhe ose një mikrokontrollues që ka ADC (Konvertim Analog-në-Dixhital) ose ndonjë mënyrë tjetër që dëshironi të tregoni se ka pasur një ndërprerës të aktivizuar dhe cili ndërrues ishte.

Nëse dëshironi, mund të përdorni një oshilator të kontrolluar nga tensioni për ta treguar këtë, ndoshta me disa drita që vezullojnë, ose përndryshe, me zë. Në këtë gjë, unë do të pretendoj se po përdorim një AVR, por në botën tuaj ju mund të pretendoni gjithçka që ju bën të lumtur. Më mungon Bob Ross.

Hapi 2: Ndarësi i Tensionit

Ndarësi i Tensionit
Ndarësi i Tensionit
Ndarësi i Tensionit
Ndarësi i Tensionit

Në thelb, mënyra se si do ta bëjmë këtë është duke përdorur një teknikë dhe qark të quajtur ndarës i tensionit. Ndarësit e tensionit bëjnë, siç mund ta keni menduar, e ndajnë tensionin V,, në,, me një vlerë që ju përcaktoni. Ju mund ta ndani tensionin me disa përbërës, përfshirë kondensatorët dhe induktorët, por këtu do ta bëj me rezistencën e mirë. Ideja Ajo që ne po bëjmë është vendosja e dy komponentëve në seri që do të shkaktojnë, secili individualisht, një rënie të tensionit në të gjithë komponentin. Shikoni foton e parë nëse nuk kam kuptim. Ekziston një ndryshim i mundshëm prej 9V nga hekurudha në hekurudhë. Midis 9V dhe 0V ka dy rezistenca në seri. Secila prej këtyre do të përjetojë një rënie të tensionit në vetvete, në varësi të rezistencës, siç ndoshta ju kujtohet nga V = IR. Nëse bëni një matje të tensionit midis dy rezistorëve, do të merrni një vlerë midis 9V dhe 0V, në varësi të asaj se sa tension ka rënë në rezistencën e parë dhe sa mbetet për të rënë mbi rezistencën e dytë, para 0V. Ekziston një formulë e drejtpërdrejtë për llogaritjen e rënies së tensionit në një rezistencë në këtë situatë dhe duket kështu. Le të jetë tensioni mbi rezistencën 1 (R1) V1 dhe tensionin mbi rezistencën dy (R2) të jetë V2. Meqenëse nuk mund të përdor më formatimin, shiko figurën 2 më poshtë për formulën … Pra, në ndarësin tonë rezistues, tensioni Vout mund të përcaktohet nga formula jonë për V2 (meqenëse ne do t'i referohemi GND në 0V). Çfarë lidhje ka kjo me zbulimin e një sërë ndërprerësish nga një kunj? Epo, kthe faqen dhe unë do të të tregoj!

Hapi 3: Shkalla e ndarjes së tensionit

Shkallë ndarëse e tensionit
Shkallë ndarëse e tensionit

Tani supozoni se ne kemi të gjithë çelsat tanë, ndoshta gjashtë ose tetë ose gjashtëmbëdhjetë, të gjithë të lidhur me rezistorë që secili vepron si një ndarës i tensionit i tillë që kur ndryshon gjendja e kunjit të ndërprerës, tensioni lexohet dhe bazuar në nivelin e tensionit, ne mund të dijë se cili çelës sapo u aktivizua. Shikoni më poshtë. Në foton më poshtë, unë kam lidhur dy blloqe çelsash. Blloku më i lartë ka dy ndërprerës dhe blloku më i ulët ka pesë ndërprerës. Ju mund të lidhni çelsat tuaj të veçantë, kalimtarë, prekës, etj në të njëjtën mënyrë. Gjëja e rëndësishme që duhet vënë re është rezistenca me të cilën është i lidhur kalimi juaj. Në shembullin tim, unë pothuajse kam dyfishuar rezistencën e rezistencës tjetër për të krijuar një hendek tensioni që është i lehtë për t'u matur dhe nuk gabohet për ndërprerësin para ose pas. Nëse nuk e keni vënë re më parë, shikoni përsëri dhe kuptoni që ne jemi përsëri te miku ynë i vjetër, ndarësi i tensionit rezistues. Rezistenca e parë, 10k ohm, është e lidhur me 5V dhe rezistenca e dytë - rezistenca që do të përcaktojë Vjashtë për kunjin SWITCH_ADC, është i lidhur me çdo ndërprerës dhe për këtë arsye, çdo ndërprerës shoqërohet me një tension të veçantë Vout që mund të lexohet nga kunja ADC e lidhur në SWITCH_ADC. Tjetra, përcaktoni Vout -in e pritshëm nga secili ndërprerës ashtu

Vout = Vin * (R2 / (R1 + R2))

për kalimin një:

Vout = 5V * (500 / (10000 + 500)) = 5 * 0.048 = 0.24V ose 240 mV

për kalimin dy:

Vout = 5V * (2200 / (10000 + 2200)) = 5 * 0.18 = 0.9V ose ~ 900mV

dhe kështu me radhë. t ju fus në tensionin e pritur nga një ndërprerës fqinj. Kam gjetur gjënë më të lehtë për të bërë është të ndërtoni shkallën ndarëse dhe të vendosni një multimetër/voltmetër në kunjin ADC dhe të shtypni secilën kunj dhe të shihni se çfarë vlerash merrni. Ata duhet të jenë mjaft të qartë për atë që llogaritni. Pasi të keni të gjitha vlerat e pritshme të tensionit nga secili ndërprerës duke përdorur një rezistencë të veçantë, atëherë mund ta bëni MCU -në tuaj të lexojë pinin ADC dhe ta krahasojë atë me vlerat tuaja të njohura për të përcaktuar se cili ndërprerës është shtypur. Për shembull, thoni që keni regjistruar një rutinë të shërbimit të ndërprerjes që do të thirret sa herë që ka një ndryshim të zbuluar në kunjin ADC. Brenda atij ISR, ju mund të lexoni ADC dhe ta krahasoni atë vlerë me tabelën tuaj të ndërrimit. Nëse jeni duke përdorur një vlerë ADC 8-bit, tensioni juaj do të konvertohet në një numër midis 0 dhe 255 që korrespondon me një tension midis 0V dhe 5V. Kjo supozon se keni konfiguruar ADC -në tuaj në këtë mënyrë.

Hapi 4: Përmbledhje

Pra, tani duhet të dini se si të jeni të kursyer në përdorimin e kunjave GPIO për çelsin. Sa herë që jeni duke mbaruar me kunjat GPIO, ose vështirë se keni ndonjë për të filluar, ose nëse e kuptoni se do të përdorni një bankë çelsash, ndarësi rezistent është mënyra për të shkuar për të ruajtur kunjat tuaj GPIO ndërsa jeni ende duke siguruar një mekanizëm i fuqishëm për të zbuluar qasjen në ndërprerës.

Recommended: