Kako hitro in kako daleč?

Objavljeno: 29.3.2016 | Avtor: Veronika Vavpotič | Kategorija: Ceneje je bolje | Revija: April 2016

Sodoben digitalni merilnik omogoča natančno merjenje hitrosti in razdalje. Ga lahko izdelamo doma? Kako ga umerimo? Ga lahko nadgradimo v potovalni računalnik?

Navidezni analogni merilnik hitrosti  na prikazovalniku potovalnega računalnika

Navidezni analogni merilnik hitrosti na prikazovalniku potovalnega računalnika

Od leta 1902, ko je Otto Schulze izumil klasični analogni merilnik hitrosti z mehanskim pogonom prek pogonske gredi vozila, se v svetu avtomobilizma na videz ni dosti spremenilo. Hitrost v večini avtomobilov še vedno prikazuje mehanski kazalec. Kljub temu novi avtomobili hitrost in razdaljo merijo digitalno, le prikazujejo jo analogno. Brzinomer je tako pogosto kar merilnik napetosti, ki ga prek digitalno/analognega pretvornika krmili računalnik. Po drugi strani brzinomerov z analognimi prikazovalniki za kolesa že dolgo ni več.

Tokrat se bomo spopadli z izzivom, kako doma izdelati natančen digitalni brzinomer in merilnik razdalje, ki ga bomo lahko z dodatnimi funkcijami spremenili v pravi potovalni računalnik.

Kako delujejo?

Hitrost merimo na enem ali več kolesih vozila, pri čemer najpogosteje uporabljamo impulzna tipala, ki med vsakim obratom kolesa oddajo enega ali več električnih impulzov. Hitrost kolesa je količnik med številom impulzov, pomnoženim z razdaljo, ki jo prevozi kolo med dvema impulzoma, in izbrano časovno enoto. Uporabimo lahko tudi tipala, ki delujejo po načelu generatorja napetosti. Če se napetost povečuje ali zmanjšuje proporcionalno s hitrostjo vozila, potrebujemo le še analogno-digitalni pretvornik.

Na podlagi izmerjenih hitrosti vrtenja koles lahko izračunamo hitrost vozila tudi, ko katero od koles izgubi stik s podlago. Tako merjenje je v sodobnih avtomobilih navadno integrirano v računalnik sistema ABS (angl. anti blocking system), ki preprečuje zdrs koles med zaviranjem.

Hitrost vozila v km/h lahko izračunamo, če poznamo obseg koles, število impulzov, ki jih dobimo med enim vrtljajem, ter število impulzov, ki jih preštejemo v času med dvema osveževanjema vrednosti hitrosti na prikazovalniku. Denimo, če želimo osveževati hitrost 10-krat na sekundo, preštejemo impulze v trajanju desetinke sekunde, jih delimo s številom impulzov enega vrtljaja, pomnožimo z obsegom kolesa v metrih in pomnožimo s 36, da dobimo vrednost v km/h (kilometrov na uro). Pri tem upoštevamo, da ima ura 36000 desetink sekunde in da je kilometer (km) 1000 metrov.

Kolesarski števci praviloma zaznajo le en impulz na obrat kolesa. Zato je hitrost enaka količniku števila obratov, pomnoženim z obsegom kolesa, in časa med dvema štetjema impulzov. Če naredimo eno meritev na sekundo, je hitrost v km/h enaka številu impulzov krat obsegu kolesa v metrih krat 3,6.

Če vam ni do spajkanja, lahko za osnovo uporabite tudi katerega od Arduinovih izdelkov.

Če vam ni do spajkanja, lahko za osnovo uporabite tudi katerega od Arduinovih izdelkov.

Digitalna logika

Bistveni del sodobnega digitalnega merilnika hitrosti niso tipala, temveč digitalna logika, ki meri čas in šteje impulze ter prikazuje izračunano hitrost. Danes bi se ob poplavi mikrokrmilnikov malokdo odločil za diskretno logiko, konec osemdesetih let preteklega stoletja pa ni bilo nič nenavadnega, če smo merilnik sestavili iz dveh števcev (74LS193), pomnilniških vrat (74LS373), 32 kB EPROMa (zbrisljiv bralni pomnilnik, angl. erasable programmable read only memory, npr. tipa 27C256) in oscilatorja (NE555), ki je rabil za sekundno časovno bazo. Mikrokrmilnik za preračun števila izmerjenih impulzov v število km/h ali milj/h ni bil potreben, saj smo lahko vse mogoče vrednosti preračunali vnaprej in jih shranili v EPROM. Število impulzov, ki jih je števec preštel v eni sekundi, je bilo enako naslovu pomnilniške vrstice EPROMa, kjer je bila shranjena kombinacija za prvi segment prikazovalnika. Drugi segment prikazovalnika je dobil vrednost takoj z naslednje lokacije. Ker je bilo zunanje vodilo 8-bitno, je bilo potrebno še vmesno shranjevanje vrednosti prvega segmenta, za kar so poskrbela pomnilniška vrata …

Danes za gradnjo digitalne logike zadošča en sam mikrokrmilnik, ki ga lahko povežemo s klasičnim ali pametnim zaslonom. Mikrokrmilnik je hkrati tudi veliko cenejši od »vojske« enostavnih čipov. Z nekaj programerskega truda omogoča še dodatne funkcionalnosti, kot so: prikaz ure in datuma, merjenje vmesnih časov, alarmi (denimo, kdaj smo pri vožnji s kolesom na polovici poti), izračun povprečne hitrosti, shranjevanje najvišje hitrosti in povprečnih hitrosti po časovnih intervalih … K temu lahko dodamo še merjenje obratov pedal in srčnega utripa, če vgradimo dodatna tipala.

Kaj pa v avtomobilu? Namesto obratov pedal lahko merimo število obratov motorja, porabo goriva ali, še bolje, nivo goriva v rezervoarju, varčnost vožnje, nagiba in geografskega položaja ... To pa zato, ker ima danes skoraj vsak poceni 32-bitni mikrokrmilnik z dovolj velikim delovnim pomnilnikom (RAM, angl. random access memory) zmogljivost potovalnega računalnika.

Adafruitsov barvni 2,2-palčni prikazovalnik TFT z ločljivostjo 240 × 320 pik, ki deluje prek zaporednega vmesnika SPI

Adafruitsov barvni 2,2-palčni prikazovalnik TFT z ločljivostjo 240 × 320 pik, ki deluje prek zaporednega vmesnika SPI

Načrt

Potrebujemo napajanje. V avtomobilu lahko uporabimo napetostni regulator, ki enosmerno napetost iz 12 V= spremeni v napetost, primerno za napajanje mikrokrmilnika; navadno 3,3 V= ali 5 V=. Na kolesu se lahko zanesemo na baterijsko napajanje ali napajanje iz dinama. V marčni številki Monitorja smo si lahko prebrali o samogradnji napajalnika ali napetostnega regulatorja.

Mikrokrmilnik potrebuje za svoje delovanje delovni takt. Večina ima že vgrajen oscilator, a ta  navadno ne omogoča natančnega merjenja časa brez ustreznega kristalnega oscilatorja ali resonatorja. Za osnovno merjenje hitrosti zelo natančne meritve časa sicer ne potrebujemo, a prikaz časa in datuma brez kvarčnega kristala ni mogoč. Toda tega ni težko zagotoviti, saj moramo mikrokrmilniškemu čipu dodati le dva kondenzatorja (včasih tudi upor) in kvarčni kristal, ki resonira pri ustrezni frekvenci.

Za programiranje mikrokrmilnika potrebujemo programator, ki navadno ni nič drugega kot tovarniško predprogramiran mikrokrmilnik (ali dva mikrokrmilnika, kjer je eden uporabljen za prilagajanje nastavitev) z nekaj dodatnimi diskretnimi elektronskimi komponentami, ki ga z osebnim računalnikom povežemo prek priključka USB. Sodobni mikrokrmilniki omogočajo programiranje ob pomoči zaporednih komunikacijskih protokolov, kot sta JTAG (protokol za testiranje in razhroščevanje, po imenu skupine: joint test action group) in ICSP (zaporedno programiranje na tiskanem vezju, angl. incircuit serial programming), ne da bi jih morali pri tem odstraniti iz tiskanega vezja. Izdelovalci mikrokrmilnikov večinoma ponujajo tudi brezplačna razvojna okolja.

Ko imamo delujoč računalnik, se moramo lotiti še priklopa tipal. Večina mikrokrmilnikov ima analogne in digitalne vhode. Za priklop tipala zato ne potrebujemo obsežnega analognega vezja. V mikrokrmilnik vgrajeni števci lahko štejejo impulze neodvisno od centralne procesne enote (CPE) mikrokrmilnika, ki lahko v vmesnem času izvaja druge naloge, kot so: izračun trenutne hitrosti in prevožene razdalje, izris grafike za prikaz hitrosti (ali prižiganje segmentov na segmentnem prikazovalniku), izračunavanje raznih statistik in preverjanje pravilnega delovanja.

Opozorilo!

Nikar ne odstranjujte originalnega merilnika hitrosti iz avtomobila, motornega kolesa ali kolesa z motorjem, saj je ta edini homologiran! Svoj digitalni merilnik lahko uporabljate le vzporedno. Upoštevajte tudi, da se gume na kolesih s časom obrabljajo in se njihov profil manjša, zato je obseg starih gum nekoliko manjši. Homologiran merilnik hitrosti v vozilu nikoli ne sme prikazovati manjše hitrosti od dejanske, lahko pa prikazuje do okoli 10 % večjo.

Odgovornost za pravilno delovanje domačega digitalnega merilnika hitrosti in za morebitno škodo zaradi morebitne napačne sestave ali napake v članku ali na spletnih straneh, na katere se članek nanaša, v celoti prevzamete sami. Če nimate vsaj osnovnih elektrotehničnih izkušenj, prosite za pomoč prijatelja ali znanca.

Samogradnja

Veliko načrtov za izdelavo brzinomera na različnih spletnih portalih se zanaša na že izdelane digitalne module, od prikazovalnikov do mikrokrmilniških modulov. Module med seboj povežemo z enostavnimi žičnimi povezavami. Bistveni element je tako vgrajena programska oprema mikrokrmilniškega modula, ki napravo spremeni v merilnik hitrosti in potovalni računalnik in jo avtor (navadno brezplačno) ponudi uporabnikom spleta.

Izdelave brzinomera se lahko lotimo tudi brez posebnega načrta, iz elektronskih komponent. Potrebujemo: mikrokrmilnik, prikazovalnik, električni regulator, baterije in magnetno/kontaktno tipalo, ki ga dobimo od kakega odsluženega kolesarskega brzinomera.

Najprej izdelamo in preizkusimo osnovno vezje za pogon mikrokrmilnika. Mi smo uporabili električno shemo za mikrokrmilnik PIC32MX270F256B, ki omogoča tudi povezavo prek USB, da lahko po vožnji podatke prenesemo na domači računalnik, obenem pa lahko brzinomer prek tega priključka tudi baterijsko napajamo (več na: sites.google.com/site/pcusbprojects/5-custom-projects/o-basic-circuit-for-pic32mx250f128b-to-work-over-usb). Lahko bi uporabili tudi kak Arduino ali Raspberry PI, a smo želeli zaradi potrebne majhnosti celotno vezje izdelati sami, brez nepotrebnih konektorjev in s kar se da majhno porabo energije.

Ker obdelava podatkov iz magnetno/kontaktnega tipala ni zapletena, se splača več pozornosti nameniti prikazu izmerjenih in izračunanih vrednosti. Že za okoli 10 dolarjev si lahko omislimo poceni barvni prikazovalnik tipa TFT z diagonalo okoli 4,5 cm (npr. www.adafruit.com/products/618), ki ga upravljamo prek vodila SPI (zaporedni zunanji vmesnik, angl. serial peripheral interface), ki je v svetu mikrokrmilnikov zelo priljubljeno zaradi enostavne implementacije, prilagodljivosti, možnosti dvosmernega prenosa podatkov in zanesljivosti. Povezava prek SPI zahteva na mikrokrmilniku le 4 ali 5 priključkov. Zato povezava ni zahtevna. Za programiranje je na voljo vsa dokumentacija, pa tudi programske knjižnice.

Doma izdelan avtomobilski prikazovalnik hitrosti

Doma izdelan avtomobilski prikazovalnik hitrosti

Inovativnost brez meja

Po tem, ko je Rasberry PI postal igralnica za samograditelje, je dobil veliko posnemovalcev pri skoraj vseh vrstah modulov za gradnjo enostavnih procesnih računalnikov na osnovi mikrokrmilnikov. Tako lahko iz različnih elektronskih modulov, mikrokrmilnikov in nekaj malega diskretnih elementov za nekaj deset evrov sami sestavimo skoraj vsak brzinomer ali potovalni računalnik, ki si ga lahko zamislimo; celo tak, ki trenutno hitrost vozila sproti prikazuje na mobilnem telefonu. A največ dela je s pisanjem vgrajene programske opreme …

Koristni spletni naslovi

www.sparkfun.com/tutorials/123

www.instructables.com/id/Digital-multimeter-for-your-car/

Spletne in običajne trgovine z elektronskimi komponentami:

www.farnell.com (Velika Britanja)

www.mouser.com (Nemčija)

www.ic-elektronika.si (Slovenija)

www.hte.si (Slovenija)

www.ebay.com  (ZDA)

www.adafruit.com (ZDA)

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

ph

Komentirajo lahko le prijavljeni uporabniki