Fórum témák
» Több friss téma |
Cikkek » Sebességmérő segédmotoros kerékpárra Sebességmérő segédmotoros kerékpárra
Szerző: MaSTeRFoXX, idő: Aug 13, 2009, Olvasva: 46563, Oldal olvasási idő: kb. 2 perc
A működtető programról A programot C-nyelven írtam WinAVR-ben. A működéséről annyit, hogy a főciklusban jeleníti meg a számokat a kijelzőn, és frissíti a képet másodpercenként körülbelül 50-szer. A körülfordulási idő mérése, és a sebesség számolása megszakításokkal történik. Az egyik érdekesség, az a print függvényen belül maga a kiíratás. Mivel a nyáktervet minél egyszerűbbre akartam csinálni (kerülni az átkötéseket), emiatt össze-vissza kellett kavarnom a kijelző kiosztását, aminek az eredménye az a sok tologatás és maszkolás. Az AVR adottságaiból származik hogy 16bites felbontása van annak a számlálónak, amit idő mérésére használok, így ennél az órajelnél (3.2768MHz) a megmérhető minimális sebesség kb 4.8 km/h, de ez egyáltalán nem probléma, hiszen a gyalog is kb. 5km/h val halad az ember. A kijelezhető maximális sebesség 99.9 km/h, fölötte is működhet, ekkor 10-el kellene osztani, és kikapcsolni a tizedespontot. Még ilyenkor, 90km/h fölött is kb 0.5km/h a felbontás finomsága. Aki ezt megépíti, valószínűleg érdekelni fogja a konst nevezetű konstans, amit a program elején definiálunk. Ennek az értéke: konst=10*3.6 [m/sec] * kerület [m], a 10-szeres szorzó azért kell, hogy ne kelljen szórakozni a tizedes törtekkel, egyszerűbb ha fel van szorozva, és a kijelzőn tesszük csak ki a tizedes pontot. Jelenleg a kód Simson S51-re van beállítva, mérőszalaggal mérve, 16"-os első keréknél kb. 172 cm. Aki módosítja, mérje le mérőszalaggal a kerületet, ne a sugárból számoljon mert sokkal pontatlanabb, persze ilyenkor újra kell fordítani a kódot. A programozásnál, a fusebiteknél kapcsoljuk ki a JTAG interfészt (vegyük ki a pipát a Jtag Interface Enabled-ről), és állítsuk át külső kvarcra az órajelforrást (Ext. Crystal/resonator, High Freq, Startup time 64ms, CKSEL=1111) Ha valamit elrontottunk volna, és nem reagál továbbá az AVR, akkor a kvarcot kiforrasztva és egy 1MHz-es órajelforrást az XTAL1 lábra kötve, újra lehet próbálkozni. A forráskód
A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |