Orodha ya maudhui:

Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller .: 4 Hatua
Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller .: 4 Hatua

Video: Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller .: 4 Hatua

Video: Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller .: 4 Hatua
Video: ESP32 Tutorial 5 - LED Fade, control brightness of an LED -ESP32 IoT Learnig kit 2024, Novemba
Anonim
Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller
Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller
Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller
Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller
Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller
Jinsi ya Kupima Mzunguko wa Juu na Mzunguko wa Ushuru, Sambamba, Kutumia Microcontroller

Najua unachofikiria: "Hu? Kuna mengi ya Maagizo juu ya jinsi ya kutumia watawala wadogo kupima kipimo cha ishara. Alfajiri." Lakini subiri, kuna riwaya katika hii: Ninaelezea njia ya kupima masafa ya juu sana kuliko microcontroller (MCU) inayoweza kubeba na mzunguko wa jukumu la ishara - zote kwa wakati mmoja!

Masafa ya kifaa huanzia ~ 43 Hz hadi ~ 450 kHz, wakati mzunguko wa ushuru unatoka 1% hadi 99%.

Acha nieleze sehemu "inaweza kubeba": kipindi cha hatua za MCU za ishara ya mawimbi ya mraba, T, kwa kufuatilia muda kati ya hafla mbili za baadaye za mpito. Kwa mfano, voltage ya chini hadi juu inaruka kwenye moja ya pini zake za I / O. Inafanya hivyo kwa kuhesabu idadi ya kunde za saa yake ya ndani. Kwa ujinga, kikomo cha juu cha masafa ya kipimo kinapaswa kutii nadharia ya sampuli ya Nyqvist-Shannon; i.e., ingekuwa sawa na nusu ya masafa ya saa za MCU. Kwa kweli kikomo ni cha chini sana, kwa sababu MCU inapaswa kutekeleza nambari ya kushughulikia usumbufu, kuokoa anuwai, kufanya shughuli za hesabu, kuonyesha matokeo, nk. Katika majaribio yangu na 48 MHz MCU idadi ndogo ya mizunguko ya saa kati ya mabadiliko yanayoweza kupimika ilikuwa karibu 106. Kwa hivyo, kikomo cha juu cha masafa ya kupimika katika kesi hii itakuwa 48, 000/212/2 = 226.4 kHz.

Wakati MCU inapima kipindi cha ishara, inaweza pia kuamua upana wa kunde, P: wakati wa voltage ya ishara iliyobaki juu. Kwa maneno mengine, wakati kati ya mabadiliko ya chini-hadi-juu na ya chini-chini. Mzunguko wa wajibu wa ishara basi hufafanuliwa kama asilimia ifuatayo:

Wajibu = 100% * P / T.

Kama ilivyo katika masafa, kuna kikomo cha vitendo juu ya upana wa kunde. Kutumia mfano hapo juu, mizunguko ya saa 106 itapunguza upana wa kunde hadi chini ya microseconds 2.21. Au, si chini ya 50% kwa 226.4 kHz.

Njia mojawapo ya kuongeza kikomo cha juu cha masafa ya mawimbi ya mraba ni matumizi ya wagawanyaji wa dijiti ambao hutumia visanduku. Kugawanya masafa ya pembejeo na n kutapanua anuwai inayopimika ya juu n mara. Hii ni habari njema, wagawanyaji wa dijiti wana kasoro moja ya kimsingi: ishara iliyogawanyika inapoteza upana wa mapigo (na mzunguko wa ushuru) habari! Kwa sababu ya jinsi wagawanyaji wanavyofanya kazi, pato lao huwa na mzunguko wa ushuru wa 50%. Bummer…

Katika kurasa zifuatazo, hata hivyo, nitaonyesha jinsi ya kugawanya masafa ya dijiti na kuhifadhi upana wa asili wa kunde kuniruhusu kupima ishara zaidi ya mipaka iliyowekwa na kuhesabu moja kwa moja.

Hatua ya 1: Idara ya masafa ya dijiti

Idara ya masafa ya dijiti
Idara ya masafa ya dijiti
Idara ya masafa ya dijiti
Idara ya masafa ya dijiti
Idara ya masafa ya dijiti
Idara ya masafa ya dijiti

Wagawanyaji wa jadi wa masafa ya dijiti hutumia flip-flops; mafunzo haya yanaelezea vizuri kanuni za jinsi ya kujenga wagawanyiko kwa kutumia flip-flops za kawaida za JK. Hii inasuluhisha shida ya masafa ya kuingiza juu sana kwa MCU, lakini ina shida kubwa: ishara iliyogawanyika ina mzunguko wa ushuru wa 50% bila kujali jukumu la ishara ya pembejeo! Kuona ni kwa nini iko kesi angalia takwimu mbili za kwanza. Ishara ya asili na kipindi T na upana wa kunde P huingizwa ndani ya pini ya saa ya flip-flop ya JK wakati pini zake za J na K zinashikiliwa juu kila wakati (takwimu ya kwanza). Mantiki ya 3.3V inadhaniwa kote. Wacha tufikirie kwamba flip-flop inasababishwa na kando (yaani, kuongezeka) kwa saa. Chini ya hali hizi, mabadiliko ya hali ya pini ya pato (mtu binafsi "flips" na "flops") hufanyika kila wakati pini ya saa inakwenda kutoka chini hadi juu. Saa ya juu hadi mpito ya chini (yaani, makali hasi) hupuuzwa kabisa. Tazama takwimu ya pili. Pini ya pato, Q, hutoa ishara ambayo kipindi chake ni mara mbili zaidi ya kipindi cha asili, i.e., mzunguko ni nusu. Upana wa pigo la pato daima ni sawa na T. Kwa hivyo, upana wa asili wa kunde, P, unapotea.

Kuongeza flip-flop nyingine ya JK katika usanidi ulioonyeshwa kwenye takwimu ya tatu hugawanya masafa ya asili na 4. Kuongeza vitambaa zaidi kwa njia ile ile inayogawanya masafa na nguvu zinazofuata za 2: 8, 16, 32, nk.

Shida: jinsi ya kugawanya masafa ya wimbi la mraba wakati ukihifadhi upana wa kunde?

Wazo ni kuongeza vizuri makali hasi yaliyosababisha JK flip-flop kwenye mchanganyiko. Wacha tuiite "Neg FF"; angalia sura ya nne. Hapa, "vizuri" inamaanisha kuwa pini za J na K za flip-flop mpya zimefungwa kwenye pini za Q na Qbar, mtawaliwa, ya mgawanyiko-na-4 ("Pos FF") iliyoonyeshwa kwenye takwimu iliyopita. (Hapa, "bar" ni mwamba ulio juu ya alama ya Q inayoonyesha kukanusha kimantiki.) Kuona ni nini inafanikiwa angalia meza ya kazi ya "Neg FF" katika sura ya tano: pini za pato la Neg, Q na Qbar, kioo hali ya pini zake za kuingiza, J na K, mtawaliwa. Maana yake wanaonyesha hali ya Pos 'Q na Qbar. Lakini, hatua ya flip-flop ya Neg inapaswa kusubiri makali hasi ya ishara ya asili, ambayo inafika kwa wakati P baada ya makali mazuri. Aha!

Mabadiliko ya mawimbi yanayotokana yanaonyeshwa kwenye sura ya sita. Ishara ya matokeo ya "Pos Q" kwa 1/4 frequency, "Pos Qbar" inverse, "Neg Q" inafuata "Pos Q" iliyohamishwa na upana wa kunde P, na "Neg Qbar" ni inverse yake. Unaweza kuthibitisha kuwa mantiki NA ya "Pos Qbar" na "Neg Q" hutoa treni ya kunde inayojulikana na upana wa asili wa kunde P na 1/4 masafa. Bingo!

Mwanzoni nilitumia ishara hii ya pato kulisha MCU. Walakini, ilibadilika kuwa shida kwa upana mfupi sana wa kunde kwa sababu ya upeo wa mizunguko ya 106 ya MCU iliyotajwa katika Utangulizi. Nimetatua shida hii ndogo kwa kuokota pato lingine: "Pos Qbar" NA "Neg Qbar" badala yake. Kuangalia moja tu kwa maumbo ya mawimbi inapaswa kukusadikisha kwamba upana wa kunde wa umbo hili la mawimbi, P ', hutofautiana kati ya T na 2T badala ya (0, T) masafa ya P. P inaweza kupatikana kwa urahisi kutoka kwa P' na:

P = 2T - P '

Hatua ya 2: Vifaa vya vifaa vinavyopendekezwa

Vifaa vya vifaa vinavyopendekezwa
Vifaa vya vifaa vinavyopendekezwa
Vifaa vya vifaa vinavyopendekezwa
Vifaa vya vifaa vinavyopendekezwa
Vifaa vya vifaa vinavyopendekezwa
Vifaa vya vifaa vinavyopendekezwa

Ninampenda sana yule jamaa mpya kwa watendaji wa elektroniki: Atmel SAM D21 MCUs kulingana na processor ya 32-bit ARM Cortex M0 + inayofanya kazi kwa kiwango cha saa 48 MHz, juu zaidi kuliko Atmels wakubwa. Kwa mradi huu nilinunua:

  • Bodi ya ItsyBitsy M0 Express MCU kutoka Adafruit
  • Nilikuwa na betri ya LiPo inayoweza kuchajiwa kutoka Adafruit
  • Onyesho la Monochrome 128x32 SPI OLED (ulikisia: Adafruit)
  • Dual-makali-yalisababisha JK flip-flop SN74HC109 kutoka Texas Instruments
  • Dual-makali-yalisababisha JK flip-flop SN74HC112 kutoka Texas Instruments
  • Quadruple NA lango CD74AC08E kutoka Vyombo vya Texas
  • Quadruple AU lango CD74AC32E kutoka Vyombo vya Texas

Hatua ya 3: Mzunguko

Mzunguko
Mzunguko
Mzunguko
Mzunguko

Takwimu ya kwanza inaonyesha muundo rahisi wa mita / mzunguko wa ushuru. Mantiki ya 3.3 V CMOS inachukuliwa kote. Kwa hivyo, urefu wa wimbi la mraba wa pembejeo lazima iwe kati ya V inayolinganaIH kiwango (i.e., 2 V) na 3.3 V. Ikiwa sio hivyo, unahitaji kuipandisha juu au chini ipasavyo. Katika hali nyingi mgawanyiko rahisi wa voltage ungetosha. Ikiwa unataka kubuni toleo lako la mita kwa kiwango tofauti cha mantiki, basi lazima utumie mtawala mwingine mdogo (MCU), betri, na onyesho linalofanya kazi kwa kiwango unachotaka. Milango ya mantiki na vitambaa vilivyotumika katika mradi huu hufanya kazi na viwango vya mantiki popote kati ya 2 V na 6 V na inapaswa kuwa sawa katika hali nyingi.

Kama inavyoonyeshwa, ItsyBitsy MCU inatumia pini 9-13 kuwasiliana na onyesho kupitia itifaki ya programu ya SPI. Pini ya 3V inatoa nguvu kwa mzunguko mzima. Pini ya pembejeo ya dijiti 3 inakubali ishara iliyochambuliwa, wakati pini 2 na 4 zinadhibiti chanzo cha ishara: ama ishara ya moja kwa moja inayokuja kupitia lango AND3 (masafa ya kuingiza chini), au ishara iliyogawanywa na 4 kupitia lango AND4 (masafa ya pembejeo ya juu) kama ilivyoelezewa katika Hatua ya 2 Nambari hiyo, iliyojadiliwa katika hatua inayofuata, hugundua kiotomatiki masafa yanayoingia na inabadilisha ipasavyo chanzo cha ishara.

Mpangilio hauonyeshi ugumu wa kweli wa unganisho la chip za dijiti. Picha ya pili inaonyesha jinsi mradi huo ungeonekana kwenye ubao wa mkate. Ishara ya kuingiza huja kupitia waya mwekundu kwa pini ya 2CLK ya makali mawili mazuri ya flip-flop. Tahadhari: Kwa kawaida, pini zote za J na K za flip-flop zinapaswa kushikwa juu, lakini SN74HC109 haswa inaweka pini ya Kbar - pini ya K iliyogeuzwa - badala yake. Kwa hivyo, pini hii lazima iwe msingi! Flip-flop ya kwanza hasi katika SN74HC112 ina pini yake ya 1K na 1J iliyounganishwa na pini za 1Q na 1Qbar za SN74HC109. Flip-flop ya pili katika SN74HC112 haitumiki na pini zake za kuingiza (2K, 2J, 2CLRbar) zimewekwa chini. Pini zingine zote za ziada PREbar (iliyowekwa mapema) na CLRbar (wazi) katika vitambaa vyote lazima ziunganishwe na hali ya juu ya kimantiki. Pini za saa na pato zisizotumika hazijaunganishwa. Vivyo hivyo, pini za pembejeo ambazo hazijatumiwa katika milango yote zimewekwa chini, wakati pini zisizotumiwa za pato zimeachwa bila kuunganishwa. Kama nilivyojadili katika "Muuaji wangu asiyeonekana wa Gonga la Simu" Inayoweza kufundishwa, kutuliza pini za pembejeo ambazo hazitumiwi za chipu za kimantiki huondoa usumbufu wa nasibu na huokoa nguvu ya betri.

Hatua ya 4: Kanuni na Kupima masafa ya chini

Kwa kawaida, hatua zote hufanyika katika nambari iliyounganishwa hapa chini. Wakati pembejeo inayoingia kwenye pini 3 inabadilika kutoka kwa dijiti chini kwenda juu, MCU huanza kuhesabu kunde za saa yake ya ndani ya 48 MHz. Inabainisha wakati wa mpito wa juu hadi chini na inaendelea kuhesabu hadi swichi inayofuata hadi ya juu, wakati itaanzisha tena mchakato mzima. Hesabu ya kwanza inawakilisha upana wa kunde, wakati hesabu nzima inawakilisha kipindi cha ishara. Na hiyo ndio siri yote.

CPU inabainisha mabadiliko haya kupitia usumbufu wa vifaa. SAMD21 ina saa kadhaa; nambari yangu hutumia TC3 moja. Hapo awali, nimeanza kwa kusoma karatasi ya data ya M0 ikifanya juhudi nyingi katika kuweka kificho kwa mshughulikiaji wa kukatiza, lakini hivi karibuni nimegundua nambari inayohusiana sana kwenye machapisho ya Jukwaa la Arduino na watumiaji electro_95, MartinL, na Rucus ambaye mchango wake ni ilikubaliwa kihalali. Niliingiza na kubadilisha nambari yao ya pamoja kuwa yangu; kuniokoa muda mwingi!

Kama nilivyosema hapo awali, azimio la ishara limepunguzwa na mzunguko wa ~ 106 CPU kutekeleza nambari kati ya usumbufu. Mgawanyiko wa dijiti na uhifadhi wa upana wa mapigo hutunza masafa ya juu. Mzunguko wa chini, kwa upande mwingine unaleta changamoto nyingine: kwa kuwa kaunta ya saa ya TC3 ina urefu wa 16 kidogo, inafurika baada ya kuvuka kikomo cha hesabu 65, 536. Mtu anaweza kushughulikia hali hii kwa kuongeza usumbufu wa kufurika, lakini akachagua suluhisho tofauti: TC3 inaweza kutumia saa iliyosimamiwa (yaani, iliyogawanywa na programu) saa ya CPU badala ya vifaa 48 MHz moja. Kwa hivyo, ikiwa kipindi cha ishara kinakaribia kikomo cha kufurika, nambari inaweza kuagiza TC3 kutumia hesabu 24 MHz kwa kipindi kijacho na, voila, kaunta inashuka chini ya hesabu 32, 768. Kwa masafa ya chini hata TC3 inaweza kuamriwa kuhesabu kunde 12 MHz, nk Daktari wa daktari anayefaa huamuliwa kiatomati kulingana na masafa ya ishara, na hysteresis, ili kuweka kaunta ya TC3 ndani ya kikomo cha kufurika. Kama matokeo, mwisho wa chini wa anuwai ya kifaa ni karibu 43 Hz.

Unakaribishwa kupiga msimbo na uutumie katika mradi wako, lakini tafadhali taja chanzo chake wakati wa kuchapisha matokeo.

Unganisha na nambari.

Ilipendekeza: