Tachometer ya gari kwenye microcontroller. Mchoro wa tachometer ya gari. Inapokea data kutoka kwa sensor

0

Ibrahim Kamal (IKALOGIC) Kipimao kisicho na mawasiliano kinachohusika ni kifaa kompakt kwenye microcontroller ATMega48 iliyotengenezwa na Atmel, ambayo inakuwezesha kupima kasi ya juu mzunguko kwa njia isiyo ya mawasiliano. Sensor ya IR hutumiwa kwa kipimo (optocoupler, IR LED na IR photodiode katika nyumba moja). Pato la data hufanywa kwenye onyesho la LCD la herufi mbili kulingana na kidhibiti cha HD44780.

Kanuni ya uendeshaji Sensor IR (optocoupler), ambayo ni sehemu ya miniature na IR LED na photodiode katika nyumba moja, hutuma mionzi ya IR kwa utaratibu unaozunguka (shimoni, rotor motor), ambayo inapaswa kuwa na sticker ndogo ya kutafakari juu yake.

Shukrani kwa kibandiko hiki, kila mzunguko wa shimoni husababisha mapigo yaliyoakisiwa ya mionzi ya IR kuonekana. Sensor inayotumiwa imetengenezwa na Vishay Semiconductor na inaitwa TCND-5000.

Kihisi hiki kilichaguliwa baada ya kujaribu bidhaa zinazolingana kwa sababu makazi yake yalitoa utengano wa macho kati ya sehemu zinazotuma na kupokea, na IR LED inaweza kuhimili mikondo ya juu, ikiruhusu vipimo kuchukuliwa kwa umbali mrefu. Kwa hivyo, kwa kutumia optocoupler, tunaweza kuhesabu wakati wa mapinduzi kamili ya shimoni, na kisha, tukijua wakati (wacha tuonyeshe wakati huu T kwa sekunde), tunaweza kuhesabu idadi ya mapinduzi kwa dakika kwa kutumia usemi rahisi 60/ T. Kupokea data kutoka kwa sensor Ili kupunguza gharama ya kifaa na ugumu wa mkusanyiko, na pia kuongeza kubadilika kwa mfumo, tutaunganisha moja kwa moja sensor ya IR kwa microcontroller na kutekeleza usindikaji wote wa ishara iliyopokelewa kwenye programu. . Inafaa kumbuka mara moja kuwa hii sio rahisi sana, kwani ishara iliyopokelewa kutoka kwa IR photodiode ina kelele, na taa za nje huathiri kila wakati. Kwa hivyo, changamoto ni kuunda kifaa ambacho hubadilika kiotomatiki kwa mwangaza na umbali wa kitu cha kipimo. Picha hapa chini inaonyesha mchoro ishara ya analog kutoka kwa sensor ya IR (photodiode)

Kwa kuwa ishara ina kelele, kila wakati uwepo na kutokuwepo kwa pigo imedhamiriwa (uwepo wa pigo unaonyesha kuwa shimoni inazunguka na sensor "inaona" kibandiko cha kutafakari), idadi kubwa ya oscillations "kupotosha" microcontroller. Zaidi ya hayo, vipengele hivi hutuzuia kutumia kilinganishi cha analogi kilichojengewa ndani cha kidhibiti kidogo, na tunahitaji kuanzisha uchakataji wa mawimbi ya analogi kabla ya kila utaratibu wa kuhesabu mzunguko. Suluhisho lilipatikana katika kukadiria kiwango cha wastani kulingana na kiwango cha juu na thamani ya chini nguvu ya ishara kutoka kwa sensor, na kuwasha hysteresis katika eneo la kiwango cha wastani. Hysteresis hutumiwa kuzuia mapigo ya kelele kutoka kwa mzunguko wa kuhesabu mara kwa mara. Kielelezo hapa chini kinaelezea jinsi algorithm hii inavyofanya kazi.

Wakati ishara inaongezeka kutoka hali ya chini(hakuna tafakari kutoka kwa kibandiko kwenye shimoni) hadi juu (akisi ya mapigo ya IR), kanuni itazingatia mapigo haya. ngazi ya juu tu baada ya kuvuka "kiwango cha kuongezeka" cha hysteresis na kuzingatia kiwango cha chini tu baada ya ishara kuvuka "ngazi ya kuanguka" ya hysteresis. Algorithm hii inaepuka makosa ya hesabu yanayosababishwa na ishara ya kelele. Mchoro wa mpangilio wa kifaa

Bofya ili kupanua Suluhisho la mzunguko ni rahisi sana na compact (kutokana na matumizi ya sensor miniature) na haina vipengele vya gharama kubwa. Kifaa hiki kinatumia betri tatu za AAA. Kama unavyoweza kuwa umeona, hakuna potentiometer ya kurekebisha utofautishaji wa onyesho (ambayo pia husaidia kupunguza saizi ya kifaa). Hii inawezekana shukrani kwa utekelezaji wa programu algorithm ya kurekebisha kiotomatiki tofauti kulingana na kiwango cha voltage ya usambazaji kwa kutumia PWM na kichungi masafa ya chini kwenye vipengele R3, R4 na C2. Watumiaji wanaweza kusoma maandishi ya algoriti katika msimbo wa chanzo Programu ya Microcontroller katika sehemu ya pili ya kifungu. Kiunganishi cha JP1 kimekusudiwa kwa upangaji wa ndani wa mzunguko wa kidhibiti kidogo. Kiunganishi cha JP2 kimekusudiwa kuunganisha kihisi cha ziada cha mtumiaji. Orodha ya vipengele vilivyotumika Uteuzi katika mzunguko Jina, rating IC1 Microcontroller ATmega48 Q1, Q2 Transistor BCW66G C1, C2 10 nF C4, C5 33 pF X1 Quartz resonator 20 MHz R1, R2, R7 470 Ohm R3 1 kOhm kO 5 MOhm 1. R6 110 Ohm R8 70 Ohm LED3 LED IR1 Optocoupler TCND-5000 B1 Kitufe B2 Swichi ya umeme JP1 Kiunganishi cha programu ya ndani ya mzunguko JP2 Kiunganishi cha Upanuzi Onyesho la uendeshaji tachometer isiyo na mawasiliano kwenye microcontroller ya AVR Katika sehemu ya pili ya makala, tutazingatia muundo wa kifaa na pointi kuu katika programu microcontroller, ikiwa ni pamoja na ubadilishaji wa analogi hadi dijiti na mpangilio wa kubadilishana data na onyesho la LCD. Lugha ya Kiingereza: Tachometer isiyo na mawasiliano kwenye AVR. Sehemu ya 1. Tafsiri ya Kiratibu: Vadim iliyoagizwa na RadioLotsman

Kulingana na nyenzo za tovuti

Ni nini hata hivyo tachometer? Tachometer ni kifaa kinachotumiwa kupima RPM (mapinduzi kwa dakika) ya mwili wowote unaozunguka. Tachometers hufanywa kwa misingi ya mawasiliano au yasiyo ya mawasiliano. Tachomita za macho zisizo za mawasiliano kwa kawaida hutumia leza au boriti ya infrared kufuatilia mzunguko wa mwili wowote. Hii inafanywa kwa kuhesabu muda uliochukuliwa kwa mzunguko mmoja. Katika nyenzo hii, iliyochukuliwa kutoka kwa wavuti ya Kiingereza, tutakuonyesha jinsi ya kutengeneza tachometer ya macho ya dijiti kwa kutumia Arduino Uno . Hebu tuchunguze toleo la kupanuliwa la kifaa na onyesho la LCD na msimbo uliorekebishwa.

Mzunguko wa Tachometer kwenye microcontroller

Orodha ya sehemu za mpangilio

  • Microcircuit - Arduino
  • Resistors - 33k, 270 ohm, 10k potentiometer
  • Kipengele cha LED - bluu
  • IR LED na Photodiode
  • Skrini ya LCD 16 x 2
  • Rejesta ya zamu ya 74HC595

Hapa, badala ya sensor ya yanayopangwa, moja ya macho hutumiwa - kutafakari kwa boriti. Kwa njia hii hawana wasiwasi juu ya unene wa rotor, idadi ya vile haitabadilisha usomaji, na inaweza kusoma mapinduzi ya ngoma - ambayo sensor ya slot haiwezi.

Kwa hivyo kwanza kabisa utahitaji LED inayotoa IR na photodiode kwa sensor. Jinsi ya kuikusanya - imeonyeshwa ndani maagizo ya hatua kwa hatua. Bofya kwenye picha ili kupanua ukubwa.

  • 1. Kwanza unahitaji mchanga wa LED na photodiode ili kuwafanya gorofa.
  • 2. Kisha kunja kipande cha karatasi kama inavyoonekana kwenye picha. Fanya miundo miwili kama hiyo ili LED na photodiode ziingie vizuri ndani yake. Waunganishe pamoja na gundi na uwape rangi nyeusi.
  • 3. Ingiza LED na photodiode.
  • 4. Waunganishe pamoja na superglue na solder waya.

Thamani za kupinga zinaweza kutofautiana kulingana na ni diode gani ya picha unayotumia. Potentiometer husaidia kupunguza au kuongeza unyeti wa sensor. Solder waya za sensor kama inavyoonyeshwa kwenye takwimu.

Mzunguko wa tachometer hutumia rejista ya mabadiliko ya 74HC595 8-bit na Onyesho la LCD 16x2. Fanya shimo ndogo kwenye nyumba ili kurekebisha kiashiria cha LED.

Solder 270 ohm resistor kwenye LED na uiweke kwenye pin 12 ya Arduino. Sensor imeingizwa kwenye bomba la ujazo ili kutoa nguvu ya ziada ya mitambo.

Hiyo ndiyo yote, kifaa ni tayari kwa calibration na programu. Unaweza kupakua programu kutoka kwa kiungo hiki.

Video ya tachometer ya nyumbani inafanya kazi

Kifaa hiki ni tachometer nzuri. Kikomo cha kipimo 100 - 9990 rpm. Usahihi wa kipimo - ± 3 rpm. Lakini kwa mtazamo bora, data ni mviringo. Kifaa hiki kiko kwenye gari langu - Tavria. Pia imewekwa kwenye Chevrolet Cavalier, VAZ-2109, YAVA-350 12-volt pikipiki, Honda Lead 90 pikipiki.

Kuna mizunguko miwili ya pembejeo:

  • pini 6 (PD2) - ingizo la kukatiza la INT0. Ingizo hili linatumika kupima kasi ya injini.
  • pini 11 (PD6). Pembejeo hii hutumiwa kupunguza mwangaza wa viashiria wakati taa za gari zimewashwa.

Mzunguko hutumia resonator ya quartz na mzunguko wa 8 MHz kwa usahihi zaidi na utulivu wa vipimo.

Kichujio cha ingizo kilichotumiwa kuunganisha kwenye koili ya kuwasha kiliundwa kwa majaribio na kulingana na tajriba na muundo wa mzunguko wa vitengo sawa. Ilionekana kuwa bora katika kesi ya kuwasha kwa mawasiliano na katika kesi ya kuwasha kwa elektroniki.

Kupunguza mwangaza wa kiashiria wakati wa kuwasha taa ni muhimu ili mwanga mkali kutoka kwa kiashiria usisumbue dereva katika giza.

Ubao wa mzunguko uliochapishwa:

Wakati wa kukusanyika inaonekana kama hii:

Ninapendekeza kutumia kiashiria nyekundu, kwa sababu ni bora zaidi kuonekana kwenye jua. Visomo huwa havisomeki pale tu vinapoonyeshwa moja kwa moja na jua kali. Athari hii inaweza kupunguzwa au hata kuondolewa kabisa ikiwa unaweka kiashiria nyuma ya chujio nyekundu, lakini kwa bahati mbaya sikuwa na kitu kama hicho ...

FUSES zinaonyeshwa kwenye mradi, lakini ikiwa mtu hatashona kutoka CodeVisionAVR, basi nitazirudia hapa:

Mradi una ufafanuzi ufuatao kwenye mstari wa 17:

#fafanua naBladeCnt 2 // 1 - coil mbili, 2 - coil moja, 4 - pikipiki ...

Kwa magari ya Soviet na magari yenye mfumo wa kuwasha wa usambazaji, parameter hii itakuwa 2. Kwa mifumo ya kuwasha na coil mbili (kama katika VAZ-2110) - 1. Kwenye pikipiki na moped (mfumo wa kuwasha 2-kiharusi) parameter hii ni 4. .

Hili halikuwa wazo langu. Rafiki aliniuliza tu kuja na kifaa ili iweze kuhesabu mapinduzi ya shimoni ya injini bila waya, kurekebisha vifaa vya dizeli. Na ili uweze kuitumia popote.

Baada ya kukaa na kufikiria, nilikuja na yafuatayo:

Kanuni ya operesheni ni rahisi: tunawasha IR LED, na photodiode inapokea kutafakari. Tunahesabu muda kati ya mapokezi ya ishara, kuibadilisha kwa mapinduzi kwa dakika na kuionyesha kwenye skrini. Ugavi wa umeme unamaanisha kuwa na betri.

Kwa ujumla, sitafanya vuta paka karibu..... :)

Wakati huo nilikuwa na kidhibiti kidogo kama hiki - PIC16F88. Hiki ndicho kilichotokea.

Mchoro wa kifaa:

Sikujisumbua na kitambuzi cha mawimbi ya IR. Ingawa, ikiwa inataka, iliwezekana (na kwa wanaotamani, hii inaweza kutumika kama motisha ya kuboresha J) kuunganisha sensor ya TSOP1736 badala ya photodiode (ambayo, kwa kweli, nilikuwa nayo kwenye hisa wakati huo). Kimsingi, inaweza kutolewa kwa 36 kHz kutoka kwa jenereta iliyokusanywa kwenye timer 555. Unaweza kuanza jenereta kwa ishara tu inayowasha IR LED. Ndivyo ilivyo ... Zaidi ya hayo, nilifanya majaribio hayo. Wakati mwanga wa kHz 36 ulipowekwa kwa TSOP, matokeo yake yalikuwa 5 volts. Mwangaza ulipofungwa, matokeo ya TSOP yaliwekwa upya hadi sifuri. Lakini, kwa kuwa kazi ilikuwa kukusanya kifaa cha kujitegemea kwa matumizi kidogo, niliona kuwa ni kupoteza nishati kutumia sensor na jenereta. Kwa kuongeza, umbali wa kitu kilichopimwa haukuwa muhimu sana. Hata umbali wa sentimita ulikuwa sawa. Kwa ujumla, iliibuka kama hii.

Ugavi wa umeme wa LCD unatokana moja kwa moja na bandari ya PIC, sawa na usambazaji wa umeme wa LM358, ili kupunguza matumizi ya nishati katika hali ya kulala.

Kwa bahati mbaya, hakuna ubao wa moja kwa moja wa mfano wa kwanza uliosalia :(. Ilikuwa ubao bila ukuzaji wa mawimbi kutoka kwa kigundua picha. Ishara ilienda moja kwa moja kwa MK.

Bodi ilionekana kama hii:

Kwa kuwa kiwango cha ishara kutoka kwa mpiga picha haitoshi kila wakati kwa microcontroller, ilikuwa ni lazima kuongeza mzunguko. Niliunda amplifier kwa kutumia LM358. Sasa mzunguko unaonekana kama inavyofanya.

Baada ya kuchagua kesi na kurekebisha bodi kwa hiyo, tulikusanya kifaa hiki kizuri:


Kanuni ya uendeshaji ni kama ifuatavyo:

Alama inatumika kwa kitu kinachochunguzwa kwa kutumia kihakiki cha kawaida cha ofisi. Karibu 5-7 mm kwa kipenyo. Au lebo ya karatasi nyeupe imeunganishwa.

Wakati nguvu imewashwa kwa mara ya kwanza, PIC huanza kuhesabu muda wa kipindi kati ya mapigo, ambayo, yanaonyeshwa kutoka kwa tepe, hufika kwenye kigundua picha. . Ikiwa hakuna mapigo kwa takriban sekunde 4, usomaji umewekwa upya hadi sifuri. Ikiwa hakuna mapigo kwa takriban sekunde 20, kifaa huenda kwenye hali ya matumizi ya chini. Kiashiria kinazima. Kwa kipimo kinachofuata unahitaji kubonyeza kitufe kilichounganishwa kwenye bandari RB0. na kifaa "huamka". Mzunguko huanza tena.

Usahihi wa usomaji ni bora, lakini sio juu ya safu nzima. Kwa kasi ya juu usomaji "huelea", lakini kidogo tu na sio kwa umakini.

Hasara pekee ya kifaa hiki ni masafa yake sio marefu sana. Karibu sentimita. Lakini hii inaweza kutatuliwa, kama nilivyoandika hapo juu, kwa kutumia kigundua picha kama TSOP1736 au TSOP1738 na jenereta kwenye kipima saa 555. Katika kesi hii, hakuna haja ya LM358.

Ufafanuzi mwingine ni kwamba nyenzo za kitu kinachochunguzwa lazima ziwe giza.

Kumbukumbu iliyo na faili ya proteus na chanzo iko hapa.

Kwa njia, nimepata msimbo wa zamani wa chanzo unaotumia kanuni ya kuhesabu mapigo kwa kutumia moduli ya kukamata, lakini kiashiria ni LED. Lakini si vigumu kuifanya tena kwa LCD, itakuwa rahisi zaidi

Habari za mchana.
Ninawasilisha kwa kuzingatia kwako mchoro wa tachometer rahisi ya dijiti AVR ATtiny2313, KR514ID2, na optocoupler iliyoundwa na mimi.
Acha nihifadhi mara moja: kuna mipango mingi sawa kwenye Mtandao. Kila utekelezaji una faida na hasara zake. Labda chaguo langu litafaa zaidi kwa mtu.

Labda nitaanza na hizo. kazi.
Kazi: unahitaji kufanya tachometer ya digital ili kudhibiti mapinduzi motor ya umeme mashine
Masharti ya utangulizi: Kuna diski ya kumbukumbu iliyotengenezwa tayari na mashimo 20 kutoka printa ya laser. Kuna optocouplers nyingi zinazopatikana kutoka kwa vichapishaji vilivyovunjika. Kasi ya wastani (ya kufanya kazi) ni 4,000-5,000 rpm. Hitilafu ya matokeo yaliyoonyeshwa haipaswi kuzidi ± 100 mapinduzi.

Kizuizi: usambazaji wa nguvu kwa kitengo cha kudhibiti ni 36V (tachometer itawekwa katika nyumba moja na kitengo cha kudhibiti - zaidi juu ya hapo chini).

Kicheko kidogo cha sauti. Hii ni mashine ya rafiki yangu. Mashine hiyo ina motor ya umeme ya PIK-8, ambayo kasi yake inadhibitiwa kulingana na mchoro uliobadilishwa unaopatikana kwenye mtandao. Kwa ombi la rafiki, tachometer rahisi kwa mashine ilitengenezwa.

Hapo awali, ilipangwa kutumia ATMega16 katika mzunguko, lakini baada ya kuzingatia masharti, iliamuliwa kujiweka kikomo kwa ATtiny2313, inayofanya kazi kutoka kwa oscillator ya ndani (RC) kwa mzunguko wa 4 MHz.

Mpango wa jumla kama ifuatavyo:

Kama unaweza kuona, hakuna kitu ngumu. Ili kubadilisha msimbo wa binary kwa sehemu saba, nilitumia avkodare ya KR514ID2, hii inatoa faida tatu mara moja.

  • Kwanza, huhifadhi nafasi katika kumbukumbu ya ATtiny2313 kwa kupunguza msimbo wa kufanya kazi (kwani utaratibu wa ubadilishaji wa programu ya msimbo wa binary hadi sehemu saba haujumuishwi kwenye firmware kwani sio lazima).
  • Pili: kupunguza mzigo kwenye matokeo ya ATtiny2313, kwa sababu LEDs "zinaangazwa" na KR514ID2 (wakati nambari ya 8 inaonyeshwa, matumizi ya juu yatakuwa 20-30 mA (ya kawaida kwa LED moja) * 7 = 140-210 mA, ambayo ni "mengi" kwa ATtini2313 na matumizi yake kamili ya nameplate (ya kubeba) ya 200 mA).
  • Tatu, idadi ya miguu ya "busy" ya microcontroller imepunguzwa, ambayo inatupa fursa katika siku zijazo (ikiwa ni lazima) kuboresha mzunguko kwa kuongeza uwezo mpya.

Kukusanya kifaa kutekelezwa ubao wa mkate. Ili kufanya hivyo, tulibomoa bodi isiyofanya kazi ambayo ilikuwa imelala kwenye mapipa. tanuri ya microwave. Dijitali kiashiria kilichoongozwa, transistors muhimu (VT1-VT4) na vipinga vya kuzuia (R1 - R12) vilichukuliwa kama seti na kuhamishiwa kwenye bodi mpya. Kifaa nzima kinakusanyika, ikiwa vipengele muhimu vinapatikana, na mapumziko ya moshi katika nusu saa. Kuzingatia: kwa microcircuit ya KR514ID2, mguu mzuri wa nguvu ni 14, na hasi ni 6 (iliyowekwa alama kwenye mchoro). Badala ya KR514ID2, unaweza kutumia avkodare nyingine yoyote ya msimbo katika sehemu saba inayoendeshwa na 5V. Nilichukua kile kilichokuwa karibu.
Pini za "h" na "i" za kiashiria cha dijiti cha LED zinawajibika kwa alama mbili katikati kati ya nambari; hazijaunganishwa kama sio lazima.
Baada ya kusanyiko na firmware, mradi hakuna makosa ya ufungaji, kifaa huanza kufanya kazi mara moja baada ya kuwasha na hauhitaji usanidi.

Ikiwa ni muhimu kufanya mabadiliko kwenye firmware ya tachometer, kiunganishi cha ISP kinatolewa kwenye ubao.

Katika mchoro, resistor ya kuvuta-up R12, iliyopimwa 30 kOhm, ilichaguliwa kwa majaribio kwa optocoupler maalum. Kama inavyoonyesha mazoezi, inaweza kutofautiana kwa optocouplers tofauti, lakini thamani ya wastani ya 30 kOhm inapaswa kuhakikisha utendakazi thabiti kwa optocouplers nyingi za kichapishi. Kwa mujibu wa nyaraka za ATtiny2313, thamani ya kupinga ndani ya kuvuta-up ni kati ya 20 hadi 50 kOhm, kulingana na utekelezaji wa kundi maalum la microcontrollers (ukurasa wa 177 wa pasipoti ya ATtiny2313), ambayo haifai kabisa. Ikiwa mtu yeyote anataka kurudia mzunguko, anaweza kwanza kuwasha upinzani wa ndani wa kuvuta-up, labda itakufanyia kazi, kwa optocoupler yako na MK yako. Haikufanya kazi kwangu kwa seti yangu.

Hivi ndivyo optocouupler ya kawaida kutoka kwa printa inaonekana.

LED ya optocoupler inawezeshwa kupitia kizuia kikomo cha 1K, ambacho niliweka moja kwa moja kwenye ubao na optocoupler.
Ili kuchuja viwimbi vya voltage, kuna capacitor mbili kwenye saketi, ya elektroliti ya 220 µF x 25V (iliyokuwa mkononi) na ya kauri ya 0.1 µF, ( mpango wa jumla kuwasha kidhibiti kidogo kinachukuliwa kutoka kwa karatasi ya data ya ATtiny2313).

Ili kuilinda kutokana na vumbi na uchafu, bodi ya tachometer imefungwa na safu nene ya varnish ya magari.

Uingizwaji wa vipengele.
Unaweza kutumia kiashiria chochote cha tarakimu nne za LED, mbili mbili au nne moja. Kwa mbaya zaidi, kusanya kiashiria kwenye LED tofauti.

Badala ya KR514ID2, unaweza kutumia KR514ID1 (ambayo ina vipinga vya kuzuia sasa ndani), au 564ID5, K155PP5, K155ID9 (pamoja na uunganisho sambamba kati ya miguu ya sehemu moja), au kibadilishaji chochote cha binary hadi sehemu saba (pamoja na mabadiliko sahihi katika unganisho la pini za microcircuit).

Kwa kuzingatia hilo uhamisho sahihi ufungaji kwenye MK ATMega8/ATMega16 firmware hii itafanya kazi sawa na kwenye ATtiny2313, lakini unahitaji kusahihisha msimbo (kubadilisha majina ya mara kwa mara) na kurejesha. Ulinganisho haujafanywa kwa MCU zingine za AVR.

Transistors VT1-VT4 - yoyote ya chini ya sasa, inayofanya kazi katika hali ya kubadili.

Kanuni ya uendeshaji inategemea kuhesabu idadi ya mipigo iliyopokelewa kutoka kwa optocoupler katika sekunde moja na kuikokotoa tena ili kuonyesha idadi ya mipigo kwa dakika. Kwa kusudi hili, kihesabu cha ndani cha Kipima Muda/Kihesabu1 kinatumika, kinachofanya kazi katika hali ya kuhesabu mipigo inayofika kwenye pembejeo T1 (pini PD5 pini 9 MK). Ili kuhakikisha utendakazi thabiti, hali ya utatuzi wa programu imewashwa. Sekunde huhesabiwa na Timer/Counter0 pamoja na kigezo kimoja.

Uhesabuji wa mapinduzi, ambayo ningependa kuzingatia, hutokea kulingana na fomula ifuatayo:
M = (N / 20) *60,
ambapo M ni makadirio ya mapinduzi kwa dakika (sekunde 60), N ni idadi ya mapigo kutoka kwa optocoupler kwa sekunde, 20 ni idadi ya mashimo kwenye diski ya kumbukumbu.
Kwa jumla, kurahisisha formula tunapata:
M = N*3.
Lakini! Kidhibiti kidogo cha ATtiny2313 hakina kazi ya kuzidisha maunzi. Kwa hiyo, majumuisho yenye kukabiliana yalitumika.
Kwa wale ambao hawajui kiini cha njia:
Nambari ya 3 inaweza kupanuliwa kama
3 = 2+1 = 2 1 + 2 0 .
Ikiwa tutachukua nambari yetu N, tuihamishe kushoto kwa 1 byte na kuongeza N nyingine iliyohamishwa kushoto na ka 0, tunapata nambari yetu N ikizidishwa na 3.
Katika firmware, nambari kwenye AVR ASM ya operesheni ya kuzidisha ya baiti mbili inaonekana kama hii:

Mul2baiti3:
CLR LoCalcByte //safisha rejista za kufanya kazi
CLR HiCalcByte
mov LoCalcByte,LoInByte //load maadili yaliyopokelewa kutoka kwa Timer/Counter1
mov HiCalcByte,HiInByte
CLC //safisha uhamishaji wa kaya
ROL LoCalcByte //kuhama kupitia sehemu ya kubeba
ROL HiCalcByte
CLC
ONGEZA LoCalcByte,LoInByte //sum, ukizingatia sehemu ya kubeba
ADC HiCalcByte,HiInByte
ret

Ukaguzi wa utendakazi na kipimo cha usahihi ulifanyika kama ifuatavyo. Diski ya kadibodi iliyo na mashimo ishirini iliwekwa kwenye shabiki wa baridi wa kompyuta. Kasi ya baridi ilifuatiliwa kupitia BIOS ubao wa mama na ikilinganishwa na usomaji wa tachometer. Mkengeuko ulikuwa karibu mapinduzi 20 kwa mzunguko wa mapinduzi 3200 kwa dakika, ambayo ni 0.6%.

Inawezekana kabisa kwamba tofauti halisi ni chini ya mapinduzi 20, kwa sababu Vipimo vya ubao wa mama vinazungushwa ndani ya zamu 5 (kulingana na uchunguzi wa kibinafsi kwa ubao mmoja maalum).
Kikomo cha juu cha kipimo ni 9,999 rpm. Kikomo cha chini cha kipimo, kinadharia kutoka kwa mapinduzi ± 10, lakini haikupimwa katika mazoezi (mshindo mmoja kutoka kwa optocoupler kwa sekunde hutoa mapinduzi 3 kwa dakika, ambayo, kwa kuzingatia kosa, kinadharia inapaswa kupima kwa usahihi kasi kutoka kwa mapinduzi 4 kwa dakika. na hapo juu, lakini kwa mazoezi hii kiashiria lazima iwe angalau mara mbili).

Nitakaa kando juu ya suala la lishe.
Mzunguko mzima unatumiwa kutoka kwa chanzo cha 5V, makadirio ya matumizi ya kifaa nzima hayazidi 300 mA. Lakini, kwa mujibu wa masharti ya vipimo vya kiufundi, tachometer lazima iwe ndani ya kitengo cha kudhibiti kasi ya injini, na kitengo hupokea kutoka kwa LATR. shinikizo la mara kwa mara 36V., Ili sio kuvuta waya tofauti ya nguvu, LM317 imewekwa ndani ya kizuizi katika hali ya nameplate, kwa njia ya kupunguza nguvu hadi 5V (na kizuia kikwazo na diode ya zener ili kulinda dhidi ya overvoltage ya ajali). Itakuwa jambo la busara zaidi kutumia kidhibiti cha PWM katika modi ya kigeuzi cha hatua ya chini, kama MC34063, lakini katika jiji letu ni shida kununua vitu kama hivyo, kwa hivyo tulitumia kile tulichoweza kupata.

Picha bodi za tachometer na kifaa cha kumaliza.


Picha zaidi







Kwa bahati mbaya, kwa sasa haiwezekani kupiga picha kwenye mashine.

Baada ya mpangilio wa bodi na mkutano wa kwanza wa mtihani, sanduku na kifaa kilikwenda kwa uchoraji.

Ikiwa tachometer yako haifanyi kazi mara baada ya kuwasha, na usakinishaji sahihi unaojulikana:

1) Angalia uendeshaji wa microcontroller, hakikisha kuwa inaendeshwa na jenereta ya ndani. Ikiwa mzunguko umekusanyika kwa usahihi, zero nne zinapaswa kuonyeshwa kwenye piga.

2) Angalia kiwango cha mapigo kutoka kwa optocoupler, ikiwa ni lazima, chagua thamani ya resistor R12 au ubadilishe mzunguko wa uunganisho wa optocoupler. Chaguo linalowezekana muunganisho wa nyuma optotransistor yenye kuvuta-up hadi minus, na upinzani wa ndani wa kuvuta-up MK umewashwa au la. Inawezekana pia kutumia transistor katika kubadili (inverting) mode ya uendeshaji.
optocoupler

  • AVR
  • Ongeza vitambulisho