Kaavio kierroslukumittarista mikro-ohjaimessa. Yksinkertainen yleiskierroslukumittari, joka perustuu ATtiny2313-mikrokontrolleriin. Tee-se-itse radiotekniikka, elektroniikka ja piirit. Luettelo käytetyistä komponenteista

Ehdotan kierroslukumittarivaihtoehtoa AVR-mikro-ohjaimeen, jossa on suuria numeroita merkkien näyttö. Numerot on järjestetty erillisiksi segmenteiksi koko näytön korkeudelle, mikä tekee mittareiden lukemista helpommin luettavissa. Suunniteltu mittausalueelle 300 - 9999 rpm. Mutta kävi ilmi, että korkeammalla (alkaen 10 000) rpm vähiten merkitsevä numero siirtyy näytön ulkopuolelle ja laite näyttää kierrosten määrän minuutissa jaettuna 10:llä, mikä ei myöskään ole huono.

Piiri perustuu ATmega8-mikro-ohjaimeen. Kierroslukumittarin lukemien näyttämiseen käytetään yleistä WH1602-näyttöä, joka perustuu HD44780 (KS0066) -ohjaimeen.

Kampiakselin nopeuden laskemiseksi tarkemmin mikro-ohjain kellotetaan ulkoisesta kvartsiresonaattorista 8 MHz:n taajuudella. Sulakkeet on asetettu vastaavasti:

Jos korkea tarkkuus mittaukset eivät ole kovin tärkeitä, niin voit tehdä ilman ulkoista kvartsia, ja sulakkeet on asetettava kelloamaan sisäisestä RC-oskillaattorista 8 MHz. Koska painettu piirilevy on johdotettu TQFP-32-paketin MK:lle, siinä on käyttömukavuuden vuoksi ISP-liitin piirin sisäiseen ohjelmointiin. Liitteenä oleva arkisto sisältää useita laiteohjelmistoja eri aikaväleillä kierroslukumittarin lukemien päivittämiseksi näytöllä: 50, 100, 150, 200, 250, 333 ja 500 ms (jakso ilmaistaan ​​laiteohjelmiston tiedostonimessä) sekä tulosignaaleja 1 pulssi per kierros ja 2 impulssi per kierros. Arkistossa on myös tiedosto painettu piirilevy ja Proteus-projekti. Piirin kokoamisen ja mikro-ohjaimen laiteohjelmiston vilkkumisen jälkeen saadaan seuraava laite:

Video näyttää takometrin toiminnan laiteohjelmistolla 1 pulssi per kierros ja näytön päivitysjakso 50 ms

Luettelo radioelementeistä

Nimitys Tyyppi Nimitys Määrä HuomKauppaOma muistilehtiö
U1 MK AVR 8-bittinen

ATmega8A-AU

1 Muistilehtiöön
U2 Lineaarinen säädin

L7805AB

1 L7805AB2T Muistilehtiöön
D1 Zener diodi

BZV55C4V7

1 BZV55C5V1 Muistilehtiöön
D2 Tasasuuntaajadiodi

1N4001

1 Muistilehtiöön
LCD1 LCD-näyttöWH16021 Taustavalaistu Muistilehtiöön
X1 Kvartsi resonaattori8 MHz1 Muistilehtiöön
RV1 Trimmerin vastus

10 kOhm

1 Muistilehtiöön
R1 Vastus

20 kOhm

1 SMD 1206 Muistilehtiöön
R2 Vastus

100 kOhm

1 SMD 1206 Muistilehtiöön
R3 Vastus

10 kOhm

1 SMD 1206 Muistilehtiöön
R4 Vastus

47 ohmia

1 SMD 1206 (47-100 ohmia) Muistilehtiöön
C1-C2 Kondensaattori22 pF2 SMD 0805 Muistilehtiöön
C3-C5 Kondensaattori0,1 µF3 SMD 0805 Muistilehtiöön
C6 470uF x 16V1 Muistilehtiöön
C7 Elektrolyyttikondensaattori100uF x 10B1
Hyvää iltapäivää.
Esitän harkittavaksi kaavion yksinkertaisesta digitaalisesta kierroslukumittarista AVR ATtiny2313, KR514ID2 ja suunnittelemani optoerotin.
Sallikaa minun tehdä varaus heti: Internetissä on monia samanlaisia ​​​​järjestelmiä. Jokaisella toteutuksella on omat hyvät ja huonot puolensa. Ehkä minun vaihtoehtoni sopii jollekin paremmin.

Aloitan luultavasti ne. tehtäviä.
Tehtävä: täytyy tehdä digitaalinen kierroslukumittari nopeuden säätöön sähkömoottori kone
Johdantoehdot: Siellä on valmis referenssilevy, jossa on 20 reikää lasertulostin. Rikkoutuneista tulostimista on saatavana monia optoerottimia. Keskimääräiset (työ)nopeudet ovat 4000-5000 rpm. Näytettävien tulosten virhe ei saa ylittää ± 100 kierrosta.

Rajoitus: ohjausyksikön virtalähde on 36 V (takometri asennetaan samaan koteloon ohjausyksikön kanssa - siitä lisää alla).

Pieni lyyrinen poikkeama. Tämä on ystäväni kone. Kone on varustettu PIK-8 sähkömoottorilla, jonka nopeutta ohjataan netistä löytyvän muunnetun kaavion mukaan. Ystävän pyynnöstä koneelle kehitettiin yksinkertainen kierroslukumittari.

Aluksi piirissä oli tarkoitus käyttää ATMega16:ta, mutta olosuhteiden harkinnan jälkeen päätettiin rajoittua ATtiny2313:een, joka toimii sisäisestä (RC) oskillaattorista 4 MHz:n taajuudella.

Yleinen kaava näyttää tältä:

Kuten näette, ei mitään monimutkaista. Muuntaa binäärikoodi seitsemään segmenttiin, käytin KR514ID2-dekooderia, tämä antaa kolme etua kerralla.

  • Ensinnäkin se säästää tilaa ATtiny2313-muistissa vähentämällä työkoodia (koska binäärikoodin ohjelmistomuunnos seitsensegmenttiseksi ei sisälly laiteohjelmistoon, koska se on tarpeeton).
  • Toiseksi: ATtiny2313-lähtöjen kuormituksen vähentäminen, koska LEDit "valaisevat" KR514ID2:lla (kun numero 8 näkyy, maksimikulutus on 20-30 mA (tyypillinen yhdelle LEDille) * 7 = 140-210 mA, mikä on "paljon" ATtini2313:lle sen kanssa koko tyyppikilven suurin (kuormitettu) kulutus 200 mA).
  • Kolmanneksi mikro-ohjaimen "varattujen" jalkojen määrää on vähennetty, mikä antaa meille mahdollisuuden tulevaisuudessa (tarvittaessa) päivittää piiriä lisäämällä uusia ominaisuuksia.

Laitteen kokoaminen suoritettu leipälauta. Tätä varten purimme roskakoriin makaavan toimimattoman laudan. mikroaaltouuni. Digitaalinen LED-ilmaisin, avaintransistorit (VT1-VT4) ja rajoitusvastukset (R1 - R12) otettiin sarjana ja siirrettiin uudelle piirilevylle. Koko laite kootaan, mikäli tarvittavat komponentit ovat saatavilla, savutaukoilla puolessa tunnissa. Huomaa: KR514ID2-mikropiirissä positiivinen tehohaara on 14 ja negatiivinen on 6 (merkitty kaavioon). KR514ID2:n sijasta voit käyttää mitä tahansa muuta binäärikoodin dekooderia seitsemänsegmenttiseksi, joka toimii 5 V:n jännitteellä. Otin sen, mikä oli käsillä.
Digitaalisen LED-ilmaisimen "h"- ja "i"-nastat ovat vastuussa kahdesta pisteestä numeroiden välissä, ja niitä ei ole liitetty tarpeettomana.
Asennuksen ja laiteohjelmiston jälkeen, mikäli asennusvirheitä ei ole, laite alkaa toimia heti päälle kytkemisen jälkeen eikä vaadi konfigurointia.

Jos kierroslukumittarin laiteohjelmistoon on tehtävä muutoksia, kortissa on ISP-liitin.

Kaaviossa vetovastus R12, nimellisarvo 30 kOhm, valittiin kokeellisesti tietylle optoerottimelle. Kuten käytäntö osoittaa, se voi vaihdella eri optoerottimissa, mutta 30 kOhmin keskiarvon pitäisi varmistaa vakaa toiminta useimmille tulostinoptoerottimille. ATtiny2313-dokumentaation mukaan sisäisen vetovastuksen arvo vaihtelee 20 - 50 kOhm, riippuen tietyn mikrokontrollerierän toteutuksesta (ATtiny2313-passin sivu 177), mikä ei ole täysin sopiva. Jos joku haluaa toistaa piirin, hän voi ensin käynnistää sisäisen vetovastuksen, ehkä se toimii sinulle, optoerottimellesi ja MK:lle. Se ei toiminut minulla setissäni.

Tältä näyttää tyypillinen tulostimen optoerotin.

Optoerottimen LED saa virtansa 1K-rajoitusvastuksen kautta, jonka asetin suoraan optoerotinkortille.
Jännitteen aaltoilun suodattamiseksi piirissä on kaksi kondensaattoria, elektrolyyttinen 220 µF x 25 V (joka oli käsillä) ja keraaminen 0,1 µF, ( yleinen kaava mikro-ohjaimen päälle kytkeminen on otettu ATtiny2313-tietolehdestä).

Pölyltä ja lialta suojaamiseksi kierroslukumittaritaulu on päällystetty paksulla autolakkakerroksella.

Komponenttien vaihto.
Voit käyttää mitä tahansa nelinumeroista LED-merkkivaloa, joko kahta kaksinkertaista tai neljää yksittäistä. Pahimmassa tapauksessa asenna merkkivalo erillisiin LEDeihin.

KR514ID2:n sijasta voit käyttää KR514ID1:tä (jossa on sisällä virtaa rajoittavat vastukset) tai 564ID5, K155PP5, K155ID9 (jossa rinnakkaisliitäntä yhden segmentin haarojen välissä) tai mikä tahansa muu binääri-seitsemänsegmenttimuunnin (asianmukaisin muutoksin mikropiirin nastojen kytkennässä).

Ottaen huomioon sen oikea siirto asennus MK ATMega8/ATMega16:een tämä laiteohjelmisto toimii samalla tavalla kuin ATtiny2313:ssa, mutta sinun on korjattava koodi (vaihtaa vakioiden nimet) ja käännettävä uudelleen. Vertailuja ei ole tehty muille AVR MCU:ille.

Transistorit VT1-VT4 - kaikki matalavirtaiset, jotka toimivat kytkintilassa.

Toimintaperiaate perustuu optoerottimelta yhdessä sekunnissa vastaanotettujen pulssien lukumäärän laskemiseen ja niiden uudelleenlaskentaan näyttämään kierrosten lukumäärää minuutissa. Tätä varten käytetään sisäistä laskuria Timer/Counter1, joka toimii tuloon T1 saapuvien pulssien laskentatavassa (nasta PD5 pin 9 MK). Vakaan toiminnan varmistamiseksi ohjelmiston debounce-tila on käytössä. Sekunnit lasketaan Timer/Counter0 plus yhdellä muuttujalla.

Kierrosten laskeminen, johon haluan keskittyä, tapahtuu seuraavan kaavan mukaan:
M = (N/20) *60,
missä M on arvioidut kierrokset minuutissa (60 sekuntia), N on optoerottimesta tulevien pulssien määrä sekunnissa, 20 on reikien lukumäärä vertailulevyssä.
Kaiken kaikkiaan yksinkertaistamalla kaavaa saamme:
M = N*3.
Mutta! ATtiny2313-mikrokontrollerissa ei ole laitteiston kertolaskutoimintoa. Siksi sovellettiin summaamista offsetilla.
Niille, jotka eivät tiedä menetelmän ydintä:
Numeroa 3 voidaan laajentaa nimellä
3 = 2+1 = 2 1 + 2 0 .
Jos otamme numeromme N, siirrämme sitä vasemmalle 1 tavulla ja lisäämme toisen N, joka on siirretty vasemmalle 0 tavulla, saamme numeromme N kerrottuna 3:lla.
Laiteohjelmistossa AVR ASM:n koodi kaksitavuista kertolaskua varten näyttää tältä:

Mul2bytes3:
CLR LoCalcByte //tyhjennä työrekisterit
CLR HiCalcByte
mov LoCalcByte,LoInByte //lataa arvot, jotka on vastaanotettu ajastimesta/laskuri1
mov HiCalcByte, HiInByte
CLC //puhdas kotitaloussiirto
ROL LoCalcByte //siirtää siirtobitin läpi
ROL HiCalcByte
CLC
LISÄÄ LoCalcByte,LoInByte //sum, ottaen huomioon siirtobitin
ADC HiCalcByte, HiInByte
ret

Toimivuuden ja mittaustarkkuuden tarkastus suoritettiin seuraavasti. Tietokoneen jäähdyttimen tuulettimeen liimattiin pahvilevy, jossa oli kaksikymmentä reikää. Cooler nopeutta valvottiin BIOSin kautta emolevy ja verrattuna kierroslukumittarin lukemiin. Poikkeama oli noin 20 kierrosta taajuudella 3200 kierrosta/minuutti, mikä on 0,6 %.

On täysin mahdollista, että todellinen ero on alle 20 kierrosta, koska Emolevyn mitat pyöristetään 5 kierroksen sisällä (perustuu henkilökohtaisiin havaintoihin yhdelle levylle).
Mittauksen yläraja on 9 999 rpm. Mittauksen alaraja, teoriassa ±10 kierrosta, mutta käytännössä ei mitattu (yksi optoerottimesta tuleva pulssi sekunnissa antaa 3 kierrosta minuutissa, mikä virhe huomioiden pitäisi teoriassa oikein mitata nopeuksia 4 kierrosta minuutissa ja yli, mutta käytännössä tämä indikaattorin on oltava vähintään kaksinkertainen).

Käsittelen erikseen ravitsemuskysymystä.
Koko piiri saa virran 5V lähteestä, koko laitteen arvioitu kulutus ei ylitä 300 mA. Mutta teknisten eritelmien ehtojen mukaan kierroslukumittarin on sijaittava rakenteellisesti moottorin kierrosluvun säätöyksikön sisällä, ja yksikkö vastaanottaa LATR:ltä vakiojännite 36 V., jotta erillistä virtajohtoa ei vedetä, LM317 asennetaan lohkon sisään nimikilpitilassa tehon pienentämisessä 5 V:iin (rajoitusvastuksella ja zener-diodilla suojaamaan vahingossa tapahtuvalta ylijännitteeltä). Olisi loogisempaa käyttää PWM-ohjainta alaspäin muuntavassa tilassa, kuten MC34063, mutta kaupungissamme on ongelmallista ostaa tällaisia ​​​​asioita, joten käytimme mitä löysimme.

Valokuvat kierroslukumittaritaulut ja valmis laite.


Lisää kuvia







Valitettavasti tällä hetkellä ei ole mahdollista ottaa valokuvia koneella.

Levyjen asettelun ja ensimmäisen koeasennuksen jälkeen laatikko laitteen kanssa meni maalaukseen.

Jos kierroslukumittarisi ei toimi heti päällekytkennän jälkeen, tunnetulla oikealla asennuksella:

1) Tarkista mikro-ohjaimen toiminta, varmista, että se saa virtansa sisäisestä generaattorista. Jos piiri on koottu oikein, kellotaulussa tulee näkyä neljä nollaa.

2) Tarkista optoerottimen pulssien taso, valitse tarvittaessa vastuksen R12 arvo tai vaihda optoerottimen kytkentäpiiri. Mahdollinen vaihtoehto käänteinen kytkentä optotransistori, jonka veto on miinus, sisäinen vetovastus MK päällä tai ei. Transistoria on myös mahdollista käyttää kytkentä- (invertoivassa) toimintatilassa.
optocoupler Lisää tunnisteita

Ibrahim Kamal (IKALOGIC)

Kyseinen kosketukseton kierroslukumittari on kompakti laite yrityksen tuottamassa ATMega48-mikro-ohjaimessa, jonka avulla voit mitata suuret nopeudet pyöriminen kosketuksettomalla tavalla. Mittaukseen käytetään IR-anturia (optoerotin, IR-LED ja IR-valodiodi samassa kotelossa). Tietojen ulostulo suoritetaan kaksirivisellä LCD-näytöllä, joka perustuu HD44780-ohjaimeen.

Toimintaperiaate

IR-anturi (optocoupler), joka on miniatyyri komponentti, jossa on IR-LED ja fotodiodi yhdessä kotelossa, lähettää IR-säteilyä pyörivään mekanismiin (akseli, moottorin roottori), jossa tulee olla pieni heijastava tarra.

Tämän tarran ansiosta jokainen akselin kierto saa aikaan heijastuneen IR-säteilyn pulssin. Käytössä olevan yrityksen valmistama anturi on merkitty.

Tämä anturi valittiin vastaavien tuotteiden testauksen jälkeen, koska sen kotelo tarjosi optisen eristyksen lähettävien ja vastaanottavien osien välillä ja IR-LED kesti suuria virtoja, mikä mahdollistaa mittaukset pitkiä matkoja.

Näin ollen optoerotinta käyttämällä voimme laskea ajan akselin täydelle pyörimiselle ja sitten, kun tiedämme ajan (merkitsimme tätä aikaa T sekunneissa), voimme laskea kierrosten määrän minuutissa yksinkertaisella lausekkeella 60/T.

Tietojen vastaanottaminen anturilta

Laitteen kustannusten ja kokoonpanon monimutkaisuuden vähentämiseksi sekä järjestelmän joustavuuden lisäämiseksi yhdistämme IR-anturin suoraan mikro-ohjaimeen ja toteutamme vastaanotetun signaalin kaiken käsittelyn ohjelmistossa. On syytä huomata heti, että tämä ei ole niin yksinkertaista, koska IR-valodiodista vastaanotettu signaali sisältää kohinaa ja ulkoinen valaistus vaikuttaa siihen jatkuvasti. Haasteena on siis suunnitella laite, joka mukautuu automaattisesti ympäristön valoon ja etäisyyteen mittauskohteeseen.

Alla olevassa kuvassa näkyy kaavio analoginen signaali IR-anturista (valokuvadiodi)

Koska signaalissa on kohinaa, joka kerta pulssin olemassaolo ja puuttuminen määritetään (pulssin läsnäolo osoittaa, että akseli pyörii ja anturi "näkee" heijastavan tarran), suuri määrä värähtelyt "johtavat" mikrokontrolleria harhaan. Lisäksi nämä tekijät eivät salli mikrokontrolleriin sisäänrakennetun analogisen komparaattorin käyttöä, ja meidän on otettava käyttöön analoginen signaalinkäsittely ennen jokaista syklin laskentatoimenpidettä.

Ratkaisu löytyi arvioimalla keskimääräistä intensiteettiä maksimi- ja minimiarvo signaalin intensiteetin anturilta ja hystereesin kytkeminen päälle keskimääräisen intensiteetin alueella. Hystereesiä käytetään estämään meluisia pulsseja toistuvasta laskentajaksoista. Alla oleva kuva selittää, kuinka tämä algoritmi toimii.

Kun signaali kasvaa alkaen heikko kunto(ei heijastusta akselissa olevasta tarrasta) korkeaan (IR-pulssin heijastus), algoritmi ottaa tämän pulssin huomioon korkea taso vasta sen jälkeen, kun se ylittää hystereesin "nousevan tason" ja ottaa huomioon matala taso vasta sen jälkeen, kun signaali ylittää hystereesin "laskevan tason". Tämä algoritmi välttää kohinaisen signaalin aiheuttamat laskentavirheet.

Laitteen kaavio

Piiriratkaisu on erittäin yksinkertainen ja kompakti (pienikokoisen anturin käytön ansiosta) eikä sisällä kalliita komponentteja. Laite toimii kolmella AAA-paristolla.

Kuten olet ehkä huomannut, näytön kontrastin säätämistä varten ei ole potentiometriä (mikä auttaa myös pienentämään laitteen kokoa). Tämä on mahdollista kiitos ohjelmiston toteutus algoritmi kontrastin automaattiseen säätämiseen syöttöjännitetasosta riippuen PWM:n ja suodattimen avulla matalat taajuudet elementeillä R3, R4 ja C2. Käyttäjät voivat lukea algoritmin tekstin sisään lähdekoodi Mikro-ohjainohjelmisto artikkelin toisessa osassa.

Liitin JP1 on tarkoitettu mikro-ohjaimen ohjelmointiin piirin sisällä. Liitin JP2 on tarkoitettu lisäkäyttäjän anturin liittämiseen.

Luettelo käytetyistä komponenteista

Nimitys
kaaviossa
Nimi, nimitys
IC1 Mikro-ohjain ATmega48
Q1, Q2 Transistori BCW66G
C1, C2 10 nF
C4, C5 33 pF
X1 Kvartsikide 20 MHz
R1, R2, R7 470 ohmia
R3 1 kOhm
R4 1,5 kOhm
R5 1 MOhm
R6 110 ohmia
R8 70 ohmia
LED3 LED
IR1 Optoerotin TCND-5000
B1 Painike
B2 Virtakytkin
JP1 Piirin sisäinen ohjelmointiliitin
JP2 Laajennusliitin

Työn esittely kontaktiton kierroslukumittari AVR-mikro-ohjaimessa

  • mistä saan kierroslukumittarin firmwaren?
  • Laiteohjelmisto - artikkelin toisessa osassa (kuvauksen lopussa on linkki arkistoon, jossa on lähde ja HEX)
  • Kiitos paljon
  • Onko sinulla PCB-asettelu?:confused:
  • Valitettavasti piirilevystä ei ole piirustusta. Uskon, että sen kehittäminen ei ole kovin vaikeaa. Komponentteja ei ole paljon ja nämä ovat useita transistoreita, diodeja, kondensaattoreita ja vastuksia.
  • Oletko koskaan ajatellut tehdä nopeusmittarin kierroslukumittarin tilalle, jotta voit käyttää auto-moto-laitteita? Erillisille kierroslukumittareille ja eri nopeusmittareille on useita piirejä, mutta kaksoislaitteille ei ole yhtä. Jos onnistut, loisit erittäin suositun mallin! Mitä mieltä olette?
  • Ehkä, mutta se ei ole paljon samaa kierroslukumittaria. Olen samaa mieltä siitä, että tällaiselle suunnittelulle tulee kysyntää. Nyt olen törmännyt verkossa tapahtumiin, kuten ajotietokoneisiin, tietojen lukemiseen CAN/LINin kautta ajotietokoneesta ja sen esittämiseen visuaalisessa muodossa reaaliajassa auton LCD-näytöillä. Jotain tällaista...
  • Allekirjoita täällä http://radioparty.ru/forums/viewtopic.php?f=2&t=39
  • Onko kukaan yrittänyt koota sitä Proteuksessa?
Hyvää iltapäivää.
Esitän harkittavaksi kaavion yksinkertaisesta digitaalisesta kierroslukumittarista AVR ATtiny2313, KR514ID2 ja suunnittelemani optoerotin.
Sallikaa minun tehdä varaus heti: Internetissä on monia samanlaisia ​​​​järjestelmiä. Jokaisella toteutuksella on omat hyvät ja huonot puolensa. Ehkä minun vaihtoehtoni sopii jollekin paremmin.

Aloitan luultavasti ne. tehtäviä.
Tehtävä: sinun on tehtävä digitaalinen kierroslukumittari ohjataksesi koneen sähkömoottorin nopeutta.
Johdantoehdot: Lasertulostimesta on valmis referenssilevy, jossa on 20 reikää. Rikkoutuneista tulostimista on saatavana monia optoerottimia. Keskimääräiset (työ)nopeudet ovat 4000-5000 rpm. Näytettävien tulosten virhe ei saa ylittää ± 100 kierrosta.

Rajoitus: ohjausyksikön virtalähde on 36 V (takometri asennetaan samaan koteloon ohjausyksikön kanssa - siitä lisää alla).

Pieni lyyrinen poikkeama. Tämä on ystäväni kone. Kone on varustettu PIK-8 sähkömoottorilla, jonka nopeutta ohjataan netistä löytyvän muunnetun kaavion mukaan. Ystävän pyynnöstä koneelle kehitettiin yksinkertainen kierroslukumittari.

Aluksi piirissä oli tarkoitus käyttää ATMega16:ta, mutta olosuhteiden harkinnan jälkeen päätettiin rajoittua ATtiny2313:een, joka toimii sisäisestä (RC) oskillaattorista 4 MHz:n taajuudella.

Yleinen kaava näyttää tältä:

Kuten näette, ei mitään monimutkaista. Binäärikoodin muuntamiseksi seitsemänsegmenttiseksi käytin KR514ID2-dekooderia, joka antaa kolme etua kerralla.

  • Ensinnäkin se säästää tilaa ATtiny2313-muistissa vähentämällä työkoodia (koska binäärikoodin ohjelmistomuunnos seitsensegmenttiseksi ei sisälly laiteohjelmistoon, koska se on tarpeeton).
  • Toiseksi: ATtiny2313-lähtöjen kuormituksen vähentäminen, koska LEDit "valaisevat" KR514ID2:lla (kun numero 8 näkyy, maksimikulutus on 20-30 mA (tyypillinen yhdelle LEDille) * 7 = 140-210 mA, mikä on "paljon" ATtini2313:lle sen kanssa koko tyyppikilven suurin (kuormitettu) kulutus 200 mA).
  • Kolmanneksi mikro-ohjaimen "varattujen" jalkojen määrää on vähennetty, mikä antaa meille mahdollisuuden tulevaisuudessa (tarvittaessa) päivittää piiriä lisäämällä uusia ominaisuuksia.

Laitteen kokoaminen toteutettu leipälaudalla. Tätä varten laatikoissa makaavan toimimattoman mikroaaltouunin piirilevy purettiin. Digitaalinen LED-merkkivalo, avaintransistorit (VT1-VT4) ja rajoitusvastukset (R1 - R12) otettiin sarjana ja siirrettiin uudelle piirilevylle. Koko laite kootaan, mikäli tarvittavat komponentit ovat saatavilla, savutaukoilla puolessa tunnissa. Huomaa: KR514ID2-mikropiirissä positiivinen tehohaara on 14 ja negatiivinen on 6 (merkitty kaavioon). KR514ID2:n sijasta voit käyttää mitä tahansa muuta binäärikoodin dekooderia seitsemänsegmenttiseksi, joka toimii 5 V:n jännitteellä. Otin sen, mikä oli käsillä.
Digitaalisen LED-ilmaisimen "h"- ja "i"-nastat ovat vastuussa kahdesta pisteestä numeroiden välissä, ja niitä ei ole liitetty tarpeettomana.
Asennuksen ja laiteohjelmiston jälkeen, mikäli asennusvirheitä ei ole, laite alkaa toimia heti päälle kytkemisen jälkeen eikä vaadi konfigurointia.

Jos kierroslukumittarin laiteohjelmistoon on tehtävä muutoksia, kortissa on ISP-liitin.

Kaaviossa vetovastus R12, nimellisarvo 30 kOhm, valittiin kokeellisesti tietylle optoerottimelle. Kuten käytäntö osoittaa, se voi vaihdella eri optoerottimissa, mutta 30 kOhmin keskiarvon pitäisi varmistaa vakaa toiminta useimmille tulostinoptoerottimille. ATtiny2313-dokumentaation mukaan sisäisen vetovastuksen arvo vaihtelee 20 - 50 kOhm, riippuen tietyn mikrokontrollerierän toteutuksesta (ATtiny2313-passin sivu 177), mikä ei ole täysin sopiva. Jos joku haluaa toistaa piirin, hän voi ensin käynnistää sisäisen vetovastuksen, ehkä se toimii sinulle, optoerottimellesi ja MK:lle. Se ei toiminut minulla setissäni.

Tältä näyttää tyypillinen tulostimen optoerotin.

Optoerottimen LED saa virtansa 1K-rajoitusvastuksen kautta, jonka asetin suoraan optoerotinkortille.
Jännitteen aaltoilun suodattamiseksi piirissä on kaksi kondensaattoria, elektrolyyttinen 220 µF x 25 V (joka oli käsillä) ja keraaminen 0,1 µF (yleinen piiri mikro-ohjaimen liittämiseksi on otettu ATtiny2313-tietolehdestä).

Pölyltä ja lialta suojaamiseksi kierroslukumittaritaulu on päällystetty paksulla autolakkakerroksella.

Komponenttien vaihto.
Voit käyttää mitä tahansa nelinumeroista LED-merkkivaloa, joko kahta kaksinkertaista tai neljää yksittäistä. Pahimmassa tapauksessa asenna merkkivalo erillisiin LEDeihin.

KR514ID2:n sijasta voit käyttää KR514ID1:tä (jossa on sisällä virtaa rajoittavat vastukset) tai 564ID5, K155PP5, K155ID9 (kun yhden segmentin jalat on kytketty rinnan) tai mitä tahansa muuta binääri-seitsemänsegmenttimuunninta (asianmukaisin muutoksin). mikropiirin nastojen yhteydessä).

Edellyttäen, että asennus on siirretty oikein ATMega8/ATMega16 MK:hen, tämä laiteohjelmisto toimii kuten ATtiny2313:ssa, mutta sinun on korjattava koodi (muutettava vakioiden nimet) ja käännetty uudelleen. Vertailuja ei ole tehty muille AVR MCU:ille.

Transistorit VT1-VT4 - kaikki matalavirtaiset, jotka toimivat kytkintilassa.

Toimintaperiaate perustuu optoerottimelta yhdessä sekunnissa vastaanotettujen pulssien lukumäärän laskemiseen ja niiden uudelleenlaskentaan näyttämään kierrosten lukumäärää minuutissa. Tätä varten käytetään sisäistä laskuria Timer/Counter1, joka toimii tuloon T1 saapuvien pulssien laskentatavassa (nasta PD5 pin 9 MK). Vakaan toiminnan varmistamiseksi ohjelmiston debounce-tila on käytössä. Sekunnit lasketaan Timer/Counter0 plus yhdellä muuttujalla.

Kierrosten laskeminen, johon haluan keskittyä, tapahtuu seuraavan kaavan mukaan:
M = (N/20) *60,
missä M on arvioidut kierrokset minuutissa (60 sekuntia), N on optoerottimesta tulevien pulssien määrä sekunnissa, 20 on reikien lukumäärä vertailulevyssä.
Kaiken kaikkiaan yksinkertaistamalla kaavaa saamme:
M = N*3.
Mutta! ATtiny2313-mikrokontrollerissa ei ole laitteiston kertolaskutoimintoa. Siksi sovellettiin summaamista offsetilla.
Niille, jotka eivät tiedä menetelmän ydintä:
Numeroa 3 voidaan laajentaa nimellä
3 = 2+1 = 2 1 + 2 0 .
Jos otamme numeromme N, siirrämme sitä vasemmalle 1 tavulla ja lisäämme toisen N, joka on siirretty vasemmalle 0 tavulla, saamme numeromme N kerrottuna 3:lla.
Laiteohjelmistossa AVR ASM:n koodi kaksitavuista kertolaskua varten näyttää tältä:

Mul2bytes3:
CLR LoCalcByte //tyhjennä työrekisterit
CLR HiCalcByte
mov LoCalcByte,LoInByte //lataa arvot, jotka on vastaanotettu ajastimesta/laskuri1
mov HiCalcByte, HiInByte
CLC //puhdas kotitaloussiirto
ROL LoCalcByte //siirtää siirtobitin läpi
ROL HiCalcByte
CLC
LISÄÄ LoCalcByte,LoInByte //sum, ottaen huomioon siirtobitin
ADC HiCalcByte, HiInByte
ret

Toimivuuden ja mittaustarkkuuden tarkastus suoritettiin seuraavasti. Tietokoneen jäähdyttimen tuulettimeen liimattiin pahvilevy, jossa oli kaksikymmentä reikää. Kylmän nopeutta seurattiin läpi Emolevyn BIOS kierroslukumittarin lukemiin. Poikkeama oli noin 20 kierrosta taajuudella 3200 kierrosta/minuutti, mikä on 0,6 %.

On täysin mahdollista, että todellinen ero on alle 20 kierrosta, koska Emolevyn mitat pyöristetään 5 kierroksen sisällä (perustuu henkilökohtaisiin havaintoihin yhdelle levylle).
Mittauksen yläraja on 9 999 rpm. Mittauksen alaraja, teoriassa ±10 kierrosta, mutta käytännössä ei mitattu (yksi optoerottimesta tuleva pulssi sekunnissa antaa 3 kierrosta minuutissa, mikä virhe huomioiden pitäisi teoriassa oikein mitata nopeuksia 4 kierrosta minuutissa ja yli, mutta käytännössä tämä indikaattorin on oltava vähintään kaksinkertainen).

Käsittelen erikseen ravitsemuskysymystä.
Koko piiri saa virran 5V lähteestä, koko laitteen arvioitu kulutus ei ylitä 300 mA. Mutta teknisten eritelmien mukaan kierroslukumittarin on sijaittava rakenteellisesti moottorin nopeudensäätöyksikön sisällä, ja yksikköön syötetään vakiojännite 36 V, jotta ei vedetä erillistä virtajohtoa, LM317 on asennettu yksikön sisään tyyppikilven tilassa tehon alentamistilassa 5 V (rajoitusvastus ja zener-diodi suojaamaan vahingossa tapahtuvalta ylijännitteeltä). Olisi loogisempaa käyttää PWM-ohjainta alaspäin muuntavassa tilassa, kuten MC34063, mutta kaupungissamme on ongelmallista ostaa tällaisia ​​​​asioita, joten käytimme mitä löysimme.

Valokuvat kierroslukumittaritaulut ja valmis laite.


Lisää kuvia







Valitettavasti tällä hetkellä ei ole mahdollista ottaa valokuvia koneella.

Levyjen asettelun ja ensimmäisen koeasennuksen jälkeen laatikko laitteen kanssa meni maalaukseen.

Jos kierroslukumittarisi ei toimi heti päällekytkennän jälkeen, tunnetulla oikealla asennuksella:

1) Tarkista mikro-ohjaimen toiminta, varmista, että se saa virtansa sisäisestä generaattorista. Jos piiri on koottu oikein, kellotaulussa tulee näkyä neljä nollaa.

2) Tarkista optoerottimen pulssien taso, valitse tarvittaessa vastuksen R12 arvo tai vaihda optoerottimen kytkentäpiiri. On mahdollista kytkeä optotransistori käänteisesti vedolla miinukseen, sisäisen vetovastuksen MK ollessa päällä tai ei. Transistoria on myös mahdollista käyttää kytkentä- (invertoivassa) toimintatilassa.
optoerotin

  • AVR
  • Lisää tunnisteita

    Kierroslukumittari mittaa auton osien, mekanismien ja muiden komponenttien pyörimisnopeutta. Kierroslukumittari koostuu 2 pääosasta - anturista, joka mittaa pyörimisnopeutta, ja näytöstä, joka näyttää arvot. Periaatteessa kierroslukumittari kalibroidaan kierroksilla minuutissa.

    Tietysti voit tehdä tällaisen laitteen itse, ehdotan kaaviota AVR mikro-ohjain Attiny2313. Tällaisella mikro-ohjaimella saat 100 - 9990 rpm. , mittaustarkkuus on +/-3 kierrosta minuutissa.

    ATtiny2313-mikro-ohjaimen ominaisuudet

    EEPROM 1 kt
    Analogiset tulot (ADC) 0
    Tulojännite (raja) 5,5 volttia
    Tulojännite (suositus) 4,5-5 volttia
    RAM 128 tavua
    Kellotaajuus 20 MHz
    Flash-muisti 2 kt

    Napaan 11 on asennettu vastus, jonka nimellisarvo on 4,7 kOhm, älä muuta nimellisarvoa, muuten anturi alkaa toimia epävakaasti, kun se kytketään päälle yksijohtimispiirissä.

    Toisin kuin muut piirit, tässä käytettiin 4 transistoria ja 4 vastusta, mikä yksinkertaisti piiriä.

    Piirissä on 8 segmenttiä jokaisessa symbolissa, kukin 5 mA, kokonaismäärä on 40 mA, joten portteja ei ole raskas kuorma. Katsotaanpa laitteen toimintakaavioita.

    Grafiikasta näet, että virta voi olla 60 mA - 80 mA nastalähdössä. varten hienosäätöä sinun on valittava rajoittavat vastukset, joiden nimellisarvo on 470 ohmia.

    Näytön valinta ei ole kriittinen. Valitse mikä tahansa nelinumeroinen LED-ilmaisin tai kokoa se yksittäisistä LED-valoista. Käytä punaista ilmaisinta, jotta kaikki näkyy selvästi auringossa. Kierroslukumittari toimii 12 voltin jännitteellä.

    Kvartsivastus valitaan 8 MHz:n taajuudella tarkkaa ja vakaata mittausta varten. Tulosuodatinta käytetään kytkemiseen sytytyspuolan liittimeen.

    Etsi laiteohjelmistosta riviltä 17 seuraava.

    17. #define byBladeCnt 2 //1 - kaksi kelaa, 2 - yksi kela, 4 - moottoripyörä...

    Tämä parametri on muutettava, jos sinulla on Neuvostoliiton auto, aseta se arvoon 2, jos sinulla on moottoripyörä, aseta se arvoon 4 ja jos autossa on kaksikierukkainen sytytysjärjestelmä, aseta se arvoon 1.