Schematic diagram ng isang tachometer sa isang microcontroller. Isang simpleng unibersal na tachometer batay sa ATtiny2313 microcontroller. Do-it-yourself radio engineering, electronics at circuits. Listahan ng mga inilapat na bahagi

Iminumungkahi ko ang isang opsyon sa tachometer sa isang AVR microcontroller na may malalaking numero pagpapakita ng karakter. Ang mga numero ay nakaayos sa magkakahiwalay na mga segment sa buong taas ng display, na ginagawang mas nababasa ang mga pagbabasa ng instrumento. Idinisenyo para sa saklaw ng pagsukat mula 300 hanggang 9999 rpm. Ngunit lumabas na sa mas mataas (mula sa 10,000) rpm, ang hindi bababa sa makabuluhang digit ay gumagalaw sa kabila ng screen at ipinapakita ng device ang bilang ng mga rebolusyon bawat minuto na hinati ng 10, na hindi rin masama.

Ang circuit ay batay sa ATmega8 microcontroller. Upang ipakita ang mga pagbabasa ng tachometer, ginagamit ang karaniwang WH1602 display batay sa HD44780 (KS0066) na controller.

Upang mas tumpak na kalkulahin ang bilis ng crankshaft, ang microcontroller ay naka-clock mula sa isang panlabas na quartz resonator sa 8 MHz. Ang mga piyus ay nakatakda nang naaayon:

Kung mataas na katumpakan ang mga sukat ay hindi masyadong mahalaga, pagkatapos ay magagawa mo nang walang panlabas na kuwarts, at ang mga piyus ay kailangang itakda sa orasan mula sa panloob na RC oscillator sa 8 MHz. Dahil ang naka-print na circuit board ay naka-wire para sa MK sa TQFP-32 na pakete, para sa kaginhawahan nito ISP connector para sa in-circuit programming. Ang naka-attach na archive ay naglalaman ng ilang firmware na may iba't ibang mga agwat ng oras para sa pag-update ng mga pagbabasa ng tachometer sa display: 50, 100, 150, 200, 250, 333 at 500 ms (ang panahon ay ipinahiwatig sa pangalan ng file ng firmware), pati na rin para sa mga signal ng input 1 pulso bawat rebolusyon at 2 salpok bawat rebolusyon. Gayundin sa archive mayroong isang file naka-print na circuit board at ang proyektong Proteus. Matapos i-assemble ang circuit at i-flash ang microcontroller firmware, ang sumusunod na device ay nakuha:

Ipinapakita ng video ang pagpapatakbo ng isang tachometer na may firmware na 1 pulso bawat rebolusyon at isang panahon ng pag-update ng display na 50 ms

Listahan ng mga radioelement

Pagtatalaga Uri Denominasyon Dami TandaanMamiliNotepad ko
U1 MK AVR 8-bit

ATmega8A-AU

1 Sa notepad
U2 Linear na regulator

L7805AB

1 L7805AB2T Sa notepad
D1 Zener diode

BZV55C4V7

1 BZV55C5V1 Sa notepad
D2 Rectifier diode

1N4001

1 Sa notepad
LCD1 LCD displayWH16021 Backlit Sa notepad
X1 Resonator ng kuwarts8MHz1 Sa notepad
RV1 Trimmer risistor

10 kOhm

1 Sa notepad
R1 Resistor

20 kOhm

1 SMD 1206 Sa notepad
R2 Resistor

100 kOhm

1 SMD 1206 Sa notepad
R3 Resistor

10 kOhm

1 SMD 1206 Sa notepad
R4 Resistor

47 Ohm

1 SMD 1206 (47-100 Ohm) Sa notepad
C1-C2 Kapasitor22 pF2 SMD 0805 Sa notepad
C3-C5 Kapasitor0.1 µF3 SMD 0805 Sa notepad
C6 470uF x 16V1 Sa notepad
C7 Electrolytic kapasitor100uF x 10B1
Magandang hapon po.
Nagpapakita ako para sa iyong pagsasaalang-alang ng isang diagram ng isang simpleng digital tachometer sa AVR ATtiny2313, KR514ID2, at isang optocoupler na dinisenyo ko.
Hayaan akong magpareserba kaagad: maraming katulad na mga scheme sa Internet. Ang bawat pagpapatupad ay may sariling kalamangan at kahinaan. Marahil ang aking pagpipilian ay magiging mas angkop para sa isang tao.

Malamang sisimulan ko na mga. mga takdang-aralin.
Gawain: kailangang gawin digital tachometer para sa kontrol ng bilis de-kuryenteng motor makina
Panimulang kondisyon: Mayroong isang handa na reference disk na may 20 butas mula sa laser printer. Maraming available na optocoupler mula sa mga sirang printer. Ang average (nagtatrabaho) na bilis ay 4,000-5,000 rpm. Ang error ng mga ipinapakitang resulta ay hindi dapat lumampas sa ± 100 revolutions.

Limitasyon: ang power supply para sa control unit ay 36V (ang tachometer ay mai-install sa parehong pabahay kasama ang control unit - higit pa sa ibaba).

Isang maliit na lyrical digression. Ito ang makina ng kaibigan ko. Ang makina ay nilagyan ng isang PIK-8 na de-koryenteng motor, ang bilis nito ay kinokontrol ayon sa isang binagong diagram na matatagpuan sa Internet. Sa kahilingan ng isang kaibigan, isang simpleng tachometer para sa makina ay binuo.

Sa una, pinlano na gamitin ang ATMega16 sa circuit, ngunit pagkatapos isaalang-alang ang mga kondisyon, napagpasyahan na limitahan ang ating sarili sa ATtiny2313, na tumatakbo mula sa isang panloob (RC) oscillator sa dalas ng 4 MHz.

Pangkalahatang pamamaraan ganito ang hitsura:

Tulad ng nakikita mo, walang kumplikado. Upang mag-convert binary code sa isang pitong-segment, ginamit ko ang KR514ID2 decoder, nagbibigay ito ng tatlong pakinabang nang sabay-sabay.

  • Una, nakakatipid ito ng espasyo sa memorya ng ATtiny2313 sa pamamagitan ng pagbabawas ng gumaganang code (dahil ang pamamaraan para sa pag-convert ng software ng binary code sa pitong-segment ay hindi kasama sa firmware dahil hindi ito kailangan).
  • Pangalawa: pagbabawas ng load sa mga output ng ATtiny2313, dahil ang mga LED ay "iluminado" ng KR514ID2 (kapag ang numero 8 ay ipinapakita, ang maximum na pagkonsumo ay magiging 20-30 mA (karaniwan para sa isang LED) * 7 = 140-210 mA, na "maraming" para sa ATtini2313 kasama nito buong nameplate maximum (load) na pagkonsumo ng 200 mA).
  • Pangatlo, ang bilang ng mga "abala" na mga binti ng microcontroller ay nabawasan, na nagbibigay sa amin ng pagkakataon sa hinaharap (kung kinakailangan) upang i-upgrade ang circuit sa pamamagitan ng pagdaragdag ng mga bagong kakayahan.

Pagtitipon ng aparato natupad sa breadboard. Para magawa ito, binuwag namin ang hindi gumaganang board na nakapalibot sa mga basurahan. microwave oven. Digital LED indicator, key transistors (VT1-VT4) at limiting resistors (R1 - R12) ay kinuha bilang isang set at inilipat sa bagong board. Ang buong aparato ay binuo, kung ang mga kinakailangang sangkap ay magagamit, na may mga smoke break sa kalahating oras. Mangyaring tandaan: para sa KR514ID2 microcircuit, ang positibong power leg ay 14, at ang negatibo ay 6 (minarkahan sa diagram). Sa halip na KR514ID2, maaari mong gamitin ang anumang iba pang binary code decoder sa isang pitong-segment na pinapagana ng 5V. Kinuha ko ang nasa kamay ko.
Ang "h" at "i" na mga pin ng digital LED indicator ay may pananagutan para sa dalawang punto sa gitna sa pagitan ng mga numero ay hindi konektado bilang hindi kinakailangan.
Pagkatapos ng pagpupulong at firmware, sa kondisyon na walang mga error sa pag-install, ang aparato ay magsisimulang gumana kaagad pagkatapos lumipat at hindi nangangailangan ng pagsasaayos.

Kung kinakailangan na gumawa ng mga pagbabago sa tachometer firmware, isang ISP connector ang ibinigay sa board.

Sa diagram, ang pull-up na risistor R12, na na-rate na 30 kOhm, ay pinili nang eksperimento para sa isang tiyak na optocoupler. Tulad ng ipinapakita ng kasanayan, maaaring mag-iba ito para sa iba't ibang mga optocoupler, ngunit ang average na halaga ng 30 kOhm ay dapat matiyak ang matatag na operasyon para sa karamihan ng mga optocoupler ng printer. Ayon sa dokumentasyon ng ATtiny2313, ang halaga ng panloob na pull-up resistor ay mula 20 hanggang 50 kOhm, depende sa pagpapatupad ng isang tiyak na batch ng microcontrollers (pahina 177 ng ATtiny2313 passport), na hindi ganap na angkop. Kung nais ng sinuman na ulitin ang circuit, maaari muna nilang i-on ang panloob na pull-up na risistor, marahil ito ay gagana para sa iyo, para sa iyong optocoupler at sa iyong MK. Hindi ito gumana para sa akin para sa aking set.

Ito ang hitsura ng isang tipikal na optocoupler mula sa isang printer.

Ang optocoupler LED ay pinapagana sa pamamagitan ng 1K na naglilimita sa risistor, na direktang inilagay ko sa optocoupler board.
Upang i-filter ang mga ripples ng boltahe, mayroong dalawang capacitor sa circuit, isang electrolytic na 220 µF x 25V (na nasa kamay) at isang ceramic na 0.1 µF, ( pangkalahatang pamamaraan ang paglipat sa microcontroller ay kinuha mula sa ATtiny2313 data sheet).

Upang maprotektahan ito mula sa alikabok at dumi, ang tachometer board ay pinahiran ng isang makapal na layer ng automotive varnish.

Pagpapalit ng mga bahagi.
Maaari kang gumamit ng anumang apat na digit na tagapagpahiwatig ng LED, alinman sa dalawang doble o apat na solong. Sa pinakamasama, i-assemble ang indicator sa magkahiwalay na LEDs.

Sa halip na KR514ID2, maaari mong gamitin ang KR514ID1 (na naglalaman ng kasalukuyang naglilimita sa mga resistor sa loob), o 564ID5, K155PP5, K155ID9 (na may parallel na koneksyon sa pagitan ng mga binti ng isang segment), o anumang iba pang binary hanggang pitong-segment na converter (na may naaangkop na mga pagbabago sa koneksyon ng mga microcircuit pin).

Given na tamang paglipat pag-install sa MK ATMega8/ATMega16 firmware na ito ay gagana katulad ng sa ATtiny2313, ngunit kailangan mong iwasto ang code (palitan ang mga pangalan ng mga constant) at muling i-compile. Ang mga paghahambing ay hindi pa ginawa para sa iba pang AVR MCU.

Transistors VT1-VT4 - anumang mababang-kasalukuyang mga, tumatakbo sa switch mode.

Prinsipyo ng pagpapatakbo ay batay sa pagbibilang ng bilang ng mga pulso na natanggap mula sa isang optocoupler sa isang segundo at muling pagkalkula ng mga ito upang ipakita ang bilang ng mga rebolusyon bawat minuto. Para sa layuning ito, ginagamit ang isang panloob na counter Timer/Counter1, na tumatakbo sa mode ng pagbibilang ng mga pulso na dumarating sa input T1 (pin PD5 pin 9 MK). Upang matiyak ang matatag na operasyon, pinagana ang software debounce mode. Ang mga segundo ay binibilang ng Timer/Counter0 at isang variable.

Pagkalkula ng mga rebolusyon, na gusto kong pagtuunan ng pansin, ay nangyayari ayon sa sumusunod na formula:
M = (N / 20) *60,
kung saan ang M ay ang tinantyang mga rebolusyon bawat minuto (60 segundo), ang N ay ang bilang ng mga pulso mula sa optocoupler bawat segundo, 20 ang bilang ng mga butas sa reference disk.
Sa kabuuan, pinapasimple ang formula na nakukuha namin:
M = N*3.
Ngunit! Ang ATtiny2313 microcontroller ay walang hardware multiplication function. Samakatuwid, inilapat ang pagsusuma na may offset.
Para sa mga hindi alam ang kakanyahan ng pamamaraan:
Ang numero 3 ay maaaring palawakin bilang
3 = 2+1 = 2 1 + 2 0 .
Kung kukunin natin ang ating numerong N, ilipat ito sa kaliwa ng 1 byte at magdagdag ng isa pang N na inilipat sa kaliwa ng 0 byte, makukuha natin ang ating numerong N na pinarami ng 3.
Sa firmware, ang code sa AVR ASM para sa isang two-byte multiplication operation ay ganito:

Mul2bytes3:
CLR LoCalcByte //clear working registers
CLR HiCalcByte
mov LoCalcByte,LoInByte //load values ​​​​na natanggap mula sa Timer/Counter1
mov HiCalcByte, HiInByte
CLC //malinis na paglipat ng sambahayan
ROL LoCalcByte //shift through the carry bit
ROL HiCalcByte
CLC
ADD LoCalcByte,LoInByte //sum, na isinasaalang-alang ang carry bit
ADC HiCalcByte, HiInByte
ret

Pagsusuri ng pag-andar at pagsukat ng katumpakan ay isinagawa tulad ng sumusunod. Ang isang karton na disk na may dalawampung butas ay nakadikit sa cooler fan ng computer. Ang mas malamig na bilis ay sinusubaybayan sa pamamagitan ng BIOS motherboard at inihambing sa mga pagbabasa ng tachometer. Ang paglihis ay humigit-kumulang 20 rebolusyon sa dalas na 3200 rebolusyon/minuto, na 0.6%.

Ito ay lubos na posible na ang tunay na pagkakaiba ay mas mababa sa 20 revolutions, dahil Ang mga sukat ng motherboard ay bilugan sa loob ng 5 pagliko (batay sa mga personal na obserbasyon para sa isang partikular na board).
Ang pinakamataas na limitasyon ng pagsukat ay 9,999 rpm. Ang mas mababang limitasyon ng pagsukat, ayon sa teorya mula sa ±10 rebolusyon, ngunit hindi nasusukat sa pagsasanay (isang pulso mula sa isang optocoupler bawat segundo ay nagbibigay ng 3 rebolusyon bawat minuto, na kung saan, isinasaalang-alang ang error, ay dapat theoretically tama sukatin ang bilis mula sa 4 na rebolusyon bawat minuto at sa itaas, ngunit sa pagsasanay na ito ang tagapagpahiwatig ay dapat na hindi bababa sa doble).

Hiwalay kong tatalakayin ang isyu ng nutrisyon.
Ang buong circuit ay pinapagana mula sa isang 5V na mapagkukunan, ang tinantyang pagkonsumo ng buong aparato ay hindi lalampas sa 300 mA. Ngunit, ayon sa mga tuntunin ng mga teknikal na pagtutukoy, ang tachometer ay dapat na structurally na matatagpuan sa loob ng engine speed control unit, at ang unit ay tumatanggap mula sa LATR pare-pareho ang boltahe 36V., upang hindi hilahin ang isang hiwalay na kawad ng kuryente, ang isang LM317 ay naka-install sa loob ng bloke sa nameplate mode, sa mode ng pagbabawas ng kapangyarihan sa 5V (na may isang limitasyon ng risistor at isang zener diode upang maprotektahan laban sa hindi sinasadyang overvoltage). Magiging mas lohikal na gumamit ng PWM controller sa step-down converter mode, tulad ng MC34063, ngunit sa aming lungsod ay may problemang bumili ng mga ganoong bagay, kaya ginamit namin ang aming mahahanap.

Mga larawan tachometer boards at ang tapos na device.


Higit pang mga larawan







Sa kasamaang palad, sa kasalukuyan ay hindi posible na kumuha ng litrato sa makina.

Matapos ang layout ng mga board at ang unang pagpupulong ng pagsubok, ang kahon na may aparato ay pumunta para sa pagpipinta.

Kung hindi gumagana ang iyong tachometer kaagad pagkatapos i-on, na may alam na tamang pag-install:

1) Suriin ang operasyon ng microcontroller, siguraduhin na ito ay pinapagana ng isang panloob na generator. Kung ang circuit ay binuo nang tama, apat na mga zero ang dapat na ipakita sa dial.

2) Suriin ang antas ng mga pulso mula sa optocoupler, kung kinakailangan, piliin ang halaga ng risistor R12 o palitan ang circuit ng koneksyon ng optocoupler. Posibleng opsyon baligtad na koneksyon isang optotransistor na may pull-up hanggang minus, na naka-on o hindi ang internal pull-up resistor MK. Posible ring gamitin ang transistor sa switching (inverting) mode ng operasyon.
optocoupler Magdagdag ng mga tag

Ibrahim Kamal (IKALOGIC)

Ang non-contact tachometer na pinag-uusapan ay compact na aparato sa ATMega48 microcontroller na ginawa ng kumpanya, na nagpapahintulot sa iyo na sukatin mataas na bilis pag-ikot sa paraang hindi nakikipag-ugnayan. Ang isang IR sensor ay ginagamit para sa pagsukat (optocoupler, IR LED at IR photodiode sa isang pabahay). Ang output ng data ay isinasagawa sa isang two-line na character na LCD display batay sa HD44780 controller.

Prinsipyo ng pagpapatakbo

Ang isang IR sensor (optocoupler), na isang maliit na bahagi na may IR LED at isang photodiode sa isang pabahay, ay nagpapadala ng IR radiation sa isang umiikot na mekanismo (shaft, motor rotor), na dapat ay may maliit na reflective sticker dito.

Salamat sa sticker na ito, ang bawat pag-ikot ng baras ay nagiging sanhi ng isang nakikitang pulso ng IR radiation na lumitaw. Ang sensor na ginawa ng kumpanyang ginamit ay minarkahan.

Ang sensor na ito ay pinili pagkatapos ng pagsubok ng mga katumbas na produkto dahil ang pabahay nito ay nagbigay ng optical isolation sa pagitan ng mga nagpapadala at tumatanggap na bahagi, at ang IR LED ay maaaring makatiis ng mataas na agos, na nagpapahintulot sa mga sukat sa malalayong distansya.

Kaya, gamit ang isang optocoupler, maaari nating kalkulahin ang oras para sa isang buong pag-ikot ng baras, at pagkatapos, alam ang oras (ipahiwatig natin ang oras na ito T sa mga segundo), maaari nating kalkulahin ang bilang ng mga rebolusyon bawat minuto gamit ang isang simpleng expression 60/T.

Pagtanggap ng data mula sa sensor

Upang mabawasan ang gastos ng aparato at ang pagiging kumplikado ng pagpupulong, pati na rin upang madagdagan ang kakayahang umangkop ng system, direkta naming ikonekta ang IR sensor sa microcontroller at ipatupad ang lahat ng pagproseso ng natanggap na signal sa software. Kapansin-pansin kaagad na hindi ito gaanong simple, dahil ang signal na natanggap mula sa IR photodiode ay naglalaman ng ingay, at ang panlabas na pag-iilaw ay patuloy na nakakaapekto dito. Kaya, ang hamon ay ang disenyo ng isang aparato na awtomatikong umaangkop sa ambient light at ang distansya sa pagsukat na bagay.

Ang larawan sa ibaba ay nagpapakita ng diagram analog signal mula sa IR sensor (photodiode)

Dahil ang signal ay may ingay, sa bawat oras na ang presensya at kawalan ng isang pulso ay tinutukoy (ang pagkakaroon ng isang pulso ay nagpapahiwatig na ang baras ay umiikot at ang sensor ay "nakikita" ang reflective sticker), malaking bilang Ang mga oscillations ay "nakaliligaw" sa microcontroller. Bilang karagdagan, hindi pinapayagan ng mga salik na ito ang paggamit ng isang analog comparator na binuo sa microcontroller, at kailangan nating ipakilala ang pagpoproseso ng analog signal bago ang bawat pamamaraan ng pagbibilang ng cycle.

Ang solusyon ay natagpuan sa pagtantya ng average na intensity batay sa maximum at pinakamababang halaga intensity ng signal mula sa sensor, at pag-on sa hysteresis sa rehiyon ng average na intensity. Ang hysteresis ay ginagamit upang maiwasan ang maingay na pulso mula sa paulit-ulit na pagbibilang ng mga cycle. Ipinapaliwanag ng figure sa ibaba kung paano gumagana ang algorithm na ito.

Kapag tumaas ang signal mula sa mababang kondisyon(walang reflection mula sa sticker sa shaft) hanggang sa mataas (reflection ng IR pulse), isasaalang-alang ng algorithm ang pulso na ito mataas na antas pagkatapos lamang nitong tumawid sa "tumataas na antas" ng hysteresis at isinasaalang-alang mababang antas pagkatapos lamang tumawid ang signal sa "pagbagsak na antas" ng hysteresis. Iniiwasan ng algorithm na ito ang mga error sa pagkalkula na dulot ng isang maingay na signal.

Schematic diagram ng device

Ang solusyon sa circuit ay napaka-simple at compact (dahil sa paggamit ng isang miniature sensor) at hindi naglalaman ng mga mamahaling bahagi. Ang aparato ay pinapagana ng tatlong AAA na baterya.

Tulad ng maaaring napansin mo, walang potentiometer upang ayusin ang contrast ng display (na tumutulong din na bawasan ang laki ng device). Posible ito salamat sa pagpapatupad ng software algorithm para sa awtomatikong pagsasaayos ng contrast depende sa antas ng supply ng boltahe gamit ang PWM at isang filter mababang frequency sa mga elemento ng R3, R4 at C2. Mababasa ng mga user ang teksto ng algorithm sa source code Microcontroller software sa ikalawang bahagi ng artikulo.

Ang Connector JP1 ay inilaan para sa in-circuit programming ng microcontroller. Ang Connector JP2 ay inilaan para sa pagkonekta ng karagdagang sensor ng user.

Listahan ng mga inilapat na bahagi

Pagtatalaga
sa diagram
Pangalan, denominasyon
IC1 Microcontroller ATmega48
Q1, Q2 Transistor BCW66G
C1, C2 10 nF
C4, C5 33 pF
X1 Quartz crystal 20 MHz
R1, R2, R7 470 Ohm
R3 1 kOhm
R4 1.5 kOhm
R5 1 MOhm
R6 110 Ohm
R8 70 Ohm
LED3 LED
IR1 Optocoupler TCND-5000
B1 Pindutan
B2 Power switch
JP1 In-circuit programming connector
JP2 Konektor ng pagpapalawak

Pagpapakita ng trabaho contactless tachometer sa AVR microcontroller

  • saan po pwede kumuha ng firmware ng tachometer?
  • Firmware - sa ikalawang bahagi ng artikulo (sa dulo ng paglalarawan mayroong isang link sa archive na may pinagmulan at HEX)
  • maraming salamat
  • May PCB layout ka ba?:confused:
  • Sa kasamaang palad, walang pagguhit ng naka-print na circuit board. Sa tingin ko, hindi ito magiging napakahirap na paunlarin ito. Walang maraming mga bahagi at ito ay ilang mga transistors, diodes, capacitors at resistors.
  • Naisip mo na bang gumawa ng speedometer kapalit ng tachometer, para magamit mo ang auto-moto na kagamitan? Mayroong maraming mga circuit para sa hiwalay na mga tachometer at hiwalay na mga speedometer, ngunit walang isa para sa isang dual device. Kung nagtagumpay ka, gagawa ka ng napakasikat na disenyo! Ano sa tingin mo?
  • Marahil, ngunit hindi ito gaanong katulad ng tachometer. Sumasang-ayon ako na ang gayong disenyo ay hihilingin. Ngayon ay nakatagpo ako ng mga development online tulad ng mga on-board na computer, pagbabasa ng data sa pamamagitan ng CAN/LIN mula sa on-board na computer at pagpapakita nito sa isang visual na anyo sa real time sa mga LCD display sa kotse. May ganito...
  • Signet dito http://radioparty.ru/forums/viewtopic.php?f=2&t=39
  • May sumubok na bang i-assemble ito sa Proteus?
Magandang hapon po.
Nagpapakita ako para sa iyong pagsasaalang-alang ng isang diagram ng isang simpleng digital tachometer sa AVR ATtiny2313, KR514ID2, at isang optocoupler na dinisenyo ko.
Hayaan akong magpareserba kaagad: maraming katulad na mga scheme sa Internet. Ang bawat pagpapatupad ay may sariling kalamangan at kahinaan. Marahil ang aking pagpipilian ay magiging mas angkop para sa isang tao.

Malamang sisimulan ko na mga. mga takdang-aralin.
Gawain: kailangan mong gumawa ng digital tachometer para makontrol ang bilis ng electric motor ng makina.
Panimulang kondisyon: Mayroong isang handa na reference disk na may 20 butas mula sa isang laser printer. Maraming available na optocoupler mula sa mga sirang printer. Ang average (nagtatrabaho) na bilis ay 4,000-5,000 rpm. Ang error ng mga ipinapakitang resulta ay hindi dapat lumampas sa ± 100 revolutions.

Limitasyon: ang power supply para sa control unit ay 36V (ang tachometer ay mai-install sa parehong pabahay kasama ang control unit - higit pa sa ibaba).

Isang maliit na lyrical digression. Ito ang makina ng kaibigan ko. Ang makina ay nilagyan ng isang PIK-8 na de-koryenteng motor, ang bilis nito ay kinokontrol ayon sa isang binagong diagram na matatagpuan sa Internet. Sa kahilingan ng isang kaibigan, isang simpleng tachometer para sa makina ay binuo.

Sa una, pinlano na gamitin ang ATMega16 sa circuit, ngunit pagkatapos isaalang-alang ang mga kondisyon, napagpasyahan na limitahan ang ating sarili sa ATtiny2313, na tumatakbo mula sa isang panloob (RC) oscillator sa dalas ng 4 MHz.

Pangkalahatang pamamaraan ganito ang hitsura:

Tulad ng nakikita mo, walang kumplikado. Upang i-convert ang binary code sa pitong-segment, ginamit ko ang KR514ID2 decoder, nagbibigay ito ng tatlong pakinabang nang sabay-sabay.

  • Una, nakakatipid ito ng espasyo sa memorya ng ATtiny2313 sa pamamagitan ng pagbabawas ng gumaganang code (dahil ang pamamaraan para sa pag-convert ng software ng binary code sa pitong-segment ay hindi kasama sa firmware dahil hindi ito kailangan).
  • Pangalawa: pagbabawas ng load sa mga output ng ATtiny2313, dahil ang mga LED ay "iluminado" ng KR514ID2 (kapag ang numero 8 ay ipinapakita, ang maximum na pagkonsumo ay magiging 20-30 mA (karaniwan para sa isang LED) * 7 = 140-210 mA, na "maraming" para sa ATtini2313 kasama nito buong nameplate maximum (load) na pagkonsumo ng 200 mA).
  • Pangatlo, ang bilang ng mga "abala" na mga binti ng microcontroller ay nabawasan, na nagbibigay sa amin ng pagkakataon sa hinaharap (kung kinakailangan) upang i-upgrade ang circuit sa pamamagitan ng pagdaragdag ng mga bagong kakayahan.

Pagtitipon ng aparato ipinatupad sa isang breadboard. Upang gawin ito, ang isang circuit board mula sa isang hindi gumaganang microwave oven na nakahiga sa mga bin ay disassembled. Ang digital LED indicator, key transistors (VT1-VT4) at limiting resistors (R1 - R12) ay kinuha bilang isang kit at inilipat sa bagong board. Ang buong aparato ay binuo, kung ang mga kinakailangang sangkap ay magagamit, na may mga smoke break sa kalahating oras. Mangyaring tandaan: para sa KR514ID2 microcircuit, ang positibong power leg ay 14, at ang negatibo ay 6 (minarkahan sa diagram). Sa halip na KR514ID2, maaari mong gamitin ang anumang iba pang binary code decoder sa isang pitong-segment na pinapagana ng 5V. Kinuha ko ang nasa kamay ko.
Ang "h" at "i" na mga pin ng digital LED indicator ay may pananagutan para sa dalawang punto sa gitna sa pagitan ng mga numero ay hindi konektado bilang hindi kinakailangan.
Pagkatapos ng pagpupulong at firmware, sa kondisyon na walang mga error sa pag-install, ang aparato ay magsisimulang gumana kaagad pagkatapos lumipat at hindi nangangailangan ng pagsasaayos.

Kung kinakailangan na gumawa ng mga pagbabago sa tachometer firmware, isang ISP connector ang ibinigay sa board.

Sa diagram, ang pull-up na risistor R12, na na-rate na 30 kOhm, ay pinili nang eksperimento para sa isang tiyak na optocoupler. Tulad ng ipinapakita ng kasanayan, maaaring mag-iba ito para sa iba't ibang mga optocoupler, ngunit ang average na halaga ng 30 kOhm ay dapat matiyak ang matatag na operasyon para sa karamihan ng mga optocoupler ng printer. Ayon sa dokumentasyon ng ATtiny2313, ang halaga ng panloob na pull-up resistor ay mula 20 hanggang 50 kOhm, depende sa pagpapatupad ng isang tiyak na batch ng microcontrollers (pahina 177 ng ATtiny2313 passport), na hindi ganap na angkop. Kung nais ng sinuman na ulitin ang circuit, maaari muna nilang i-on ang panloob na pull-up na risistor, marahil ito ay gagana para sa iyo, para sa iyong optocoupler at sa iyong MK. Hindi ito gumana para sa akin para sa aking set.

Ito ang hitsura ng isang tipikal na optocoupler mula sa isang printer.

Ang optocoupler LED ay pinapagana sa pamamagitan ng 1K na naglilimita sa risistor, na direktang inilagay ko sa optocoupler board.
Upang i-filter ang mga ripple ng boltahe, mayroong dalawang capacitor sa circuit, isang electrolytic na 220 µF x 25V (na nasa kamay) at isang ceramic na 0.1 µF (ang pangkalahatang circuit para sa pagkonekta sa microcontroller ay kinuha mula sa ATtiny2313 data sheet) .

Upang maprotektahan ito mula sa alikabok at dumi, ang tachometer board ay pinahiran ng isang makapal na layer ng automotive varnish.

Pagpapalit ng mga bahagi.
Maaari kang gumamit ng anumang apat na digit na tagapagpahiwatig ng LED, alinman sa dalawang doble o apat na solong. Sa pinakamasama, i-assemble ang indicator sa magkahiwalay na LEDs.

Sa halip na KR514ID2, maaari mong gamitin ang KR514ID1 (na naglalaman ng kasalukuyang naglilimita sa mga resistor sa loob), o 564ID5, K155PP5, K155ID9 (kapag ang mga binti ng isang segment ay konektado nang magkatulad), o anumang iba pang binary hanggang pitong-segment na converter (na may naaangkop na mga pagbabago sa koneksyon ng mga microcircuit pin).

Kung nailipat nang tama ang pag-install sa ATMega8/ATMega16 MK, gagana ang firmware na ito tulad ng sa ATtiny2313, ngunit kailangan mong iwasto ang code (baguhin ang mga pangalan ng mga constant) at muling i-compile. Ang mga paghahambing ay hindi pa ginawa para sa iba pang AVR MCU.

Transistors VT1-VT4 - anumang mababang-kasalukuyang mga, tumatakbo sa switch mode.

Prinsipyo ng pagpapatakbo ay batay sa pagbibilang ng bilang ng mga pulso na natanggap mula sa isang optocoupler sa isang segundo at muling pagkalkula ng mga ito upang ipakita ang bilang ng mga rebolusyon bawat minuto. Para sa layuning ito, ginagamit ang isang panloob na counter Timer/Counter1, na tumatakbo sa mode ng pagbibilang ng mga pulso na dumarating sa input T1 (pin PD5 pin 9 MK). Upang matiyak ang matatag na operasyon, pinagana ang software debounce mode. Ang mga segundo ay binibilang ng Timer/Counter0 at isang variable.

Pagkalkula ng mga rebolusyon, na gusto kong pagtuunan ng pansin, ay nangyayari ayon sa sumusunod na formula:
M = (N / 20) *60,
kung saan ang M ay ang tinantyang mga rebolusyon bawat minuto (60 segundo), ang N ay ang bilang ng mga pulso mula sa optocoupler bawat segundo, 20 ang bilang ng mga butas sa reference disk.
Sa kabuuan, pinapasimple ang formula na nakukuha namin:
M = N*3.
Ngunit! Ang ATtiny2313 microcontroller ay walang hardware multiplication function. Samakatuwid, inilapat ang pagsusuma na may offset.
Para sa mga hindi alam ang kakanyahan ng pamamaraan:
Ang numero 3 ay maaaring palawakin bilang
3 = 2+1 = 2 1 + 2 0 .
Kung kukunin natin ang ating numerong N, ilipat ito sa kaliwa ng 1 byte at magdagdag ng isa pang N na inilipat sa kaliwa ng 0 byte, makukuha natin ang ating numerong N na pinarami ng 3.
Sa firmware, ang code sa AVR ASM para sa isang two-byte multiplication operation ay ganito:

Mul2bytes3:
CLR LoCalcByte //clear working registers
CLR HiCalcByte
mov LoCalcByte,LoInByte //load values ​​​​na natanggap mula sa Timer/Counter1
mov HiCalcByte, HiInByte
CLC //malinis na paglipat ng sambahayan
ROL LoCalcByte //shift through the carry bit
ROL HiCalcByte
CLC
ADD LoCalcByte,LoInByte //sum, na isinasaalang-alang ang carry bit
ADC HiCalcByte, HiInByte
ret

Pagsusuri ng pag-andar at pagsukat ng katumpakan ay isinagawa bilang mga sumusunod. Ang isang karton na disk na may dalawampung butas ay nakadikit sa cooler fan ng computer. Ang mas malamig na bilis ay sinusubaybayan BIOS ng motherboard mga board at inihambing sa mga pagbabasa ng tachometer. Ang paglihis ay humigit-kumulang 20 rebolusyon sa dalas na 3200 rebolusyon/minuto, na 0.6%.

Ito ay lubos na posible na ang tunay na pagkakaiba ay mas mababa sa 20 revolutions, dahil Ang mga sukat ng motherboard ay bilugan sa loob ng 5 pagliko (batay sa mga personal na obserbasyon para sa isang partikular na board).
Ang pinakamataas na limitasyon ng pagsukat ay 9,999 rpm. Ang mas mababang limitasyon ng pagsukat, ayon sa teorya mula sa ±10 rebolusyon, ngunit hindi nasusukat sa pagsasanay (isang pulso mula sa isang optocoupler bawat segundo ay nagbibigay ng 3 rebolusyon bawat minuto, na kung saan, isinasaalang-alang ang error, ay dapat theoretically tama sukatin ang bilis mula sa 4 na rebolusyon bawat minuto at sa itaas, ngunit sa pagsasanay na ito ang tagapagpahiwatig ay dapat na hindi bababa sa doble).

Hiwalay kong tatalakayin ang isyu ng nutrisyon.
Ang buong circuit ay pinapagana mula sa isang 5V na mapagkukunan, ang tinantyang pagkonsumo ng buong aparato ay hindi lalampas sa 300 mA. Ngunit, ayon sa mga tuntunin ng mga teknikal na pagtutukoy, ang tachometer ay dapat na matatagpuan sa istruktura sa loob ng yunit ng kontrol ng bilis ng engine, at ang isang pare-parehong boltahe ng 36V ay ibinibigay sa yunit mula sa LATR Upang hindi hilahin ang isang hiwalay na kawad ng kuryente, isang LM317 ay naka-install sa loob ng unit sa nameplate mode, sa mode ng pagbabawas ng kapangyarihan sa 5V (na may paglilimita sa risistor at zener diode upang maprotektahan laban sa hindi sinasadyang overvoltage). Magiging mas lohikal na gumamit ng PWM controller sa step-down converter mode, tulad ng MC34063, ngunit sa aming lungsod ay may problemang bumili ng mga ganoong bagay, kaya ginamit namin ang aming mahahanap.

Mga larawan tachometer boards at ang tapos na device.


Higit pang mga larawan







Sa kasamaang palad, sa kasalukuyan ay hindi posible na kumuha ng litrato sa makina.

Matapos ang layout ng mga board at ang unang pagpupulong ng pagsubok, ang kahon na may aparato ay pumunta para sa pagpipinta.

Kung hindi gumagana ang iyong tachometer kaagad pagkatapos i-on, na may alam na tamang pag-install:

1) Suriin ang operasyon ng microcontroller, siguraduhin na ito ay pinapagana ng isang panloob na generator. Kung ang circuit ay binuo nang tama, apat na mga zero ang dapat na ipakita sa dial.

2) Suriin ang antas ng mga pulso mula sa optocoupler, kung kinakailangan, piliin ang halaga ng risistor R12 o palitan ang circuit ng koneksyon ng optocoupler. Posible na baligtarin ang pagkonekta sa optotransistor na may pull-up hanggang minus, na may panloob na pull-up resistor MK na naka-on o hindi. Posible ring gamitin ang transistor sa switching (inverting) mode ng operasyon.
optocoupler

  • AVR
  • Magdagdag ng mga tag

    Tachometer sinusukat ang bilis ng pag-ikot ng mga bahagi, mekanismo at iba pang bahagi ng kotse. Tachometer binubuo ng 2 pangunahing bahagi - isang sensor na sumusukat sa bilis ng pag-ikot at isang display na magpapakita ng mga halaga. Karaniwan, ang tachometer ay naka-calibrate sa mga rebolusyon bawat minuto.

    Siyempre, maaari kang gumawa ng gayong aparato sa iyong sarili, iminumungkahi ko ang isang diagram na may AVR microcontroller Attiny2313. Sa tulad ng isang microcontroller maaari kang makakuha ng 100 - 9990 rpm. , ang katumpakan ng pagsukat ay +/-3 rebolusyon bawat minuto.

    Mga katangian ng ATtiny2313 microcontroller

    EEPROM 1 KB
    Mga analog input (ADC) 0
    Input na boltahe (limitasyon) 5.5 Volt
    Input Voltage (Inirerekomenda) 4.5-5 Volts
    RAM 128 byte
    Dalas ng orasan 20 MHz
    Flash memory 2kB

    Ang isang risistor na may nominal na halaga ng 4.7 kOhm ay naka-install sa pin 11, kung hindi, ang sensor ay magsisimulang gumana nang hindi matatag kapag naka-on sa isang single-wire circuit.

    Hindi tulad ng iba pang mga circuit, 4 transistors at 4 resistors ang ginamit dito, kaya pinasimple ang circuit.

    Ang circuit ay may 8 mga segment sa bawat simbolo, 5 mA bawat isa, ang kabuuang halaga ay magiging 40 mA, samakatuwid walang mga port mabigat na kargada. Tingnan natin ang mga operating graph ng device.

    Mula sa mga graphics makikita mo na ang kasalukuyang maaaring umabot mula 60mA hanggang 80mA sa pin output. Para sa fine tuning kailangan mong pumili ng paglilimita sa mga resistor na may nominal na halaga na 470 ohms.

    Ang pagpili ng display ay hindi kritikal; Gumamit ng pulang indicator upang ang lahat ay malinaw na nakikita sa araw. Ang tachometer ay pinapagana ng 12 volts.

    Ang quartz resistor ay pinili sa dalas na 8 MHz para sa tumpak at matatag na pagsukat. Ang input filter ay ginagamit upang kumonekta sa ignition coil terminal.

    Sa firmware sa linya 17, hanapin ang sumusunod.

    17. #define byBladeCnt 2 //1 - dalawang coil, 2 - isang coil, 4 - motorsiklo...

    Kailangang baguhin ang parameter na ito, kung mayroon kang sasakyang Sobyet, itakda ito sa 2, kung mayroon kang motorsiklo, itakda ito sa 4, at kung ang kotse ay may two-coil ignition system, itakda ito sa 1.