Fórum témák
» Több friss téma |
Nagyon régen volt egy gyári kilométer órám (még vagy 8 évvel ezelőtt). Ha jól emlékszem elég lassú volt, azaz nem azonnal mutatta az eredményt, hanem eltelt egy kis idő. Nem lehet az, hogy mondjuk az a gépezet tegyük fel 10 körbefordulás között eltelt időt mérte és aszerint számolt? Azért tudott "pontos" sebességet mutatni?
Először is elnézést az előző hozzászólásomért, sajnálom hogy moderálni kellett!
Gondolod átlagolt az akkori órád? 10 mérésből számolt átlagot? Nem tudom.. Sokat agyalok rajt hogy lehetne értelmesem megoldani, hogy viszonylag gyors legyen a frissítése, és hát minél pontosabb legyen.. üdv: aderka
Sziasztok, most keveredtem erre, végigolvastam az ötleteket. Viszont tényleg nem értem, hogy miért filóztok az időzítéseken, meg hogy X idő alatt hányszor fordul körbe... Valóban az a legegyszerűbb, és egyben a legpontosabb megoldás is, ha két beérkezett jel (egy fordulat) idejét méred. Ebből borzasztó egyszerűen meghatározhatod az aktuális sebességet, km/h-ban:
v [km/h] = 3,6*d*pí*(1/t) d: kerékátmérő, t: egyszeri körbefordulás ideje másodpercben mérve. Nem túl bonyolult feladat kellő pontossággal az időt megmérni. Onnantól, hogy ez megvan, meg csak számolás. Frissítés megfelelőségéhez meg mondjuk elég annyi, hogy másodpercenként egyszer számítod ki a sebességet. Nem kell átlagolni, meg semmi sallang.
Ez csak tippem, mert nem folyamatosan ment felfele a kijelzőn a sebesség értéke, amikor gyorsult a kerékpár.
Ha pontosítani akarsz és nem akarsz reciprokozni,akkor esetleg több mágnest is tehetsz a kerékre ,mindjárt 2*3*4* pontosabb lesz ha meg az időalapot is átállítod úgy hogy egységnyi idő alatt modjuk 4 (esetleg ennek 2* 4* /2 ) impulzust adjon a kerék 4 km/h val menve akkor különösebben számolni sem kell.Csak kiolvasod az inpulzusok számát és mehet a kijelzőre.
Ha megengedtek egy kicsit közbeszólnék . ( huszon éve használok digit kmórát, jópárat "elhasználtam" már)
1, a többség másodpercenként frissíti a kijelzőt, így előfordulhat 1x km/h kijelzéssel álló gép. 2, általában 3 km/h körül szokott lenni legkisebb mért sebesség, ez alatt 0 kijelzés ( 1m/s kb 2 sec/ kerékfordulat) 3, az általam használt "pontosabb" órák felbontása a sebességgel csökkent 0-30 km/h 0.1, 30-60 közt 0,5, fölötte egész szám ! véleményem: túl gyorsan változó kijelzés felesleges, nem igazán érdekes, hogy 15,6 vagy 15,7 km/h a pillanatnyi sebesség ( egyébként is szinte lehetetlen egyenletes sebességgel haladni ) kérdésem a PIC gurukhoz : a kerékfordulat idejét mérni, s ebből sebességet számolni, mennyire megterhelő a picnek ? 36 km/h, 10m/s esetén már közel 5 impulzus másodpercenként ... ui : ha valaki építene egy "egyszerűen" utánépíthető órát, engem is érdekelne....
Teljesen igazad van, abszolút felesleges, sőt zavaró, ha a frissítés gyorsabb a kb. másodpercesnél. A pontosság pedig gyakorlatilag csak azon múlik, hogy mennyire pontosan állítod be a kerékátmérőt. Egy mezei PIC-el a 30-40 MHz-es jelek feldolgozása sem jelent problémát, tehát az említett 5 impulzus/sec az gyakorlatilag 0 hibával számolható, azzal nincsen gond.
Üdv!
Szerintem 10 megás kaviccsal is bőven lenne ideje a számolgatásra. Végülis 1 másodperc akkor is 2.5 millió utasítás, ami nem kevés.
Nem akarok én olyat, hogy másodpercenként 10szer frissítse a kijelzőn az adatokat.
Sőt nekem az is bőven megteszi, ha csak annyit ír ki, hogy 15Km/h nem kell 15,6 vagy 15,7-et kiírnia. tökéletes, ha csak az egész értéket írja ki.
Elkészültem a programmal. Szeretném tudni, milyen PIC-ed van milyen kvarcal hajtod meg.
40 Km/h ig mér a cucc. 1 másodpercenként frissít. A Pontosságáról annyit, hogy a megadott méretek szerint számoltam, szóval a 65 cm-es kerékátmérővel. alap helyzetben 0 Km/h. A legkevesebb amit kiír az 2.5 km/h üdv: aderka
Sajnos nem jó. Találtam benn egy hibát, ami kihat az egész programra.
Hello!
Már most köszönöm. PIC-et pedig olyat veszek, ami jó hozzá. Mondasz egy típust és beszerzem. Várom a kijavított progit. Köszi
Szia!
Akkor én azt mondom, vegyél MAJD 16F628A típusú PIC-et, nálunk kb: 600 Ft ért kapható. 8 MHz-es Kvarc kell még. Addig míg nem tettem fel egy kész progit ne költekezz miattam. üdv: aderka
Ha 2.04 a kerék kerületed ,akkor ha 7.344 másodpercenként a beszámolt értéket atkódolod BCD-re km/h ban kapod a sebességet nem kell semmit számolni.(A kerékátmérő változtatásához csak ezt az időt kell átszámolni.Hány másodperc kell egy kerék körbeforduláshoz 1 Km/h val haladva) Igaz a frissítési gyakoriság így 7-8 s ,de ezen csak időméréssel vagy a felbontás jelentős romlásával, esetleg több mágnessel, tudsz segíteni.
A legjobb az lenne ha 2 mágnest használnál.. Így tudnánk számolni a fél fordulatokat is. Ha ez megoldható akkor elkészítem a programot.
üdv: aderka
Elkezdtem megírni. Ha 2 mágnessel csinálod, akkor ezeket az eredményeket fogja kiírni.
3.6 Km/h, 7,2 Km/h, 11 Km/h... 3.6 Km/h a pontatlanság. Tehát ha a kereked egy felet fordul 1 sec alatt akkor mész 3.6 al.. Ha 2-felet fordul azaz 1 teljes kört tesz meg 1 sec alatt akkor mész 7.2 Km/h-val, és így tovább. Nem tudom megfelel-e így. Ha ennél pontosabbat szeretnél akkor negyedelni kellene. Szóval 4 mágnes kellene. üdv: aderka
Lehet venni a boltban is olcsón :csodalk:
De abba meg nincs benne az alkotás öröme max amég felszereled. De értem a lényeget és jó gondolatod támadt csak kicsit bonyolult (nekem legalábbis )
Bocsánat, hogy beleszólok, de más is megjegyezte már azt, ami eszembe jutott: az impulzusok számlálgatása helyett miért nem inkább az időt méred, két jel között? Van a PIC-ben timer, én inkább azt használnám. A kerék gördülési sugarát beírni fixre, vagy két gombbal akár a felhasználó is megadhatja (így másik bicajra is áttehető újraprogramozás nélkül, EEPROM-ba írva el sem felejti); bekapcsoláskor (ami akár automata is lehet, az első impulzusra) a megadott sugár alapján kiszámolja a 7.2 * PI * r szorzatot, majd másodpercenként ezt elosztja az utoljára mért idővel, és ki is lehet írni km/h egységben, olyan kicsi hibával, ami két tizedesnél sem látszik.
De az is igaz, hogy a méretek, tápellátás, extra funkciók, na meg a költségek, és munkaidő figyelembe vétele mellett, pl. egy ilyen már igencsak versenyképes a házilag megépíthető eszközökkel szemben.
Szia!
Olyannyira nem gond hogy beleszólsz, hogy meg is csinálhatod . Nagyon kevés időm van vele foglalkozni, igazából már ezért bánom is hogy megígértem, hogy megcsinálom.. Nincs rá sok időm, és amit eddig foglalkoztam vele, az ennyi. inpulzusokat számolgatni volt eddig a legegyszerűbb. üdv: aderka
En is szóról szóra ezt javasoltam. Ez a leg elegánsabb megoldás program terén.
Szőkerib (ha nem gond nem irom ki teljesen ): Ha megfelel 7 szegmenses kijelzőkkel, holnap megírom neked a progit. Azért ilyen kijelzőre írnám, mert csak azzal tudom jelenleg letesztelni, bizonytalan progit teszt nélkül pedig nem töltök fel. Utólag úgyis módosítható a kijelzés, úgy gondolom a hangsúly a mérési algoritmuson van.
Szinte meg sem kell írni, csak vásárolni menni, és építeni Itt egy komplett AVR-es megoldás, 2x16-os LCD-re, a Hall-szenzor helyére (esetleg egy felhúzó ellenállással) mehet a Reed-cső is, ha az van kéznél.
Sőt, erről lehagyható a kontraszt állítás is, ne foglaljon sok helyet. Még régebben egy vezetékes motorola telefonból bontottam egy HD47780 vezérlős, 2x8 karakteres kijelzőt, a mérete kb 4cm x 2 cm. Nem tudom, kereskedelmi forgalomban kapható-e ilyen kijelző, de szerintem a méretét illetően egész jó választás lehetne.
Ha sikerül még megtalálnom, megírom a típus számát.
Szia.
Elfogadnám azt a progit, mert legalább abból is tanulnék! Nem baj, ha 7szegmenses kijelzőre tudod megoldani. előre is köszönöm!
Szia!
Nézz körül, hogy tudsz-e szerezni 18F452-es típust, szívem szerint erre írnám a progit. Ha nem, akkor írd meg, hogy milyent tudsz szerezni. Legalább 15 I/O kell, ami annyit jelent, hogy a legkevesebb lábszám az a 28.
Rákérdezek a boltban, hogy van e nekik, vagy tudnak e beszerezni, mert sajnos nincs weboldaluk.
Nekem az is megoldás, ha neked van és eladod számomra, vagy rendelek egyet Pestről.
Hello!
Na erre én is kiváncsi leszek, ha meg tudnátok csinálni úgy a kapcsolást, hogy utánépíthető legyen... meg hát szerintem valahogy úgy kellene, hogy úgymond univerzális legyen tehát ne legyen fix kerékméret mert akkor más nem tudja használni majd a kapcsolást meg az illető se egy idő után akinek tervezitek mivel a gumi kopik és egy idő elteltével kisebb lenne a "kerék" és pontatlan lenne az egész... Tehát én arra tudok gondolni, hogy úgy lenne jó megoldani, hogy be lehessen állítani mindenkinek a kerékméretet... így esetleg a későbbiekben ha kopik a kerék vagy gumicsere lesz újra lehet állítani... Vagy mennyünk el másfele... bár az nem tudom mennyire pontos és mennyire megoldható... de gondoljunk a GPS-ekre... azok is tudnak valahogy sebességet mérni.. mi nem tudjuk használni sehogy a gps jeleket sebességmérésre? vagy ez már elég bonyolult lenne?
Szerintem az már rég nem kérdés, hogy a kerékméret állítható legyen. Ez elég alap dolog.
Egyébként azért azt megnézem, hogy Te mikor méred le mondjuk 2 havonta a kerekedet, és állítod újra a kilóméterórádat a gumi kopása miatt! A gumi kopása nagyjából az a kategória, hogy minden egyes indulás előtt újra kéne mérned a kerekedet, mert nem mindegy hogy ebéd előtt, vagy ebéd után ülsz a bringára, mert attól függően fog jobban vagy kevésbé összenyomódni a kereked, hogy mennyit ettél... Vagy menjünk (és nem pedig mennyünk!!!) más felé: GPS adatokból sebességet csak úgy lehet számolni, ha veszel egy GPS vevő modult. Egyrészt nem olcsó mulatság maga a modul sem, másrészt azt még kezelnie is kell valaminek, harmadrészt pedig GPS alapján csak igen pontatlanul lehet sebességet mérni. A mért érték pontossága borzasztóan függ attól, hogy hány műholdat "lát" a vevő. De sosem lesz olyan pontos, mint egy kerékfordulatot mérő sebességmérő.
Csak most botlottam ebbe a témába, pedig elég érdekes kis "agymozgató". Én is szoktam bringázni, arra még lusta voltam, hogy saját órát építsek, inkább gyáriakat használok. De ugye mindegyikben találtam már olyat, amit máshogy éreztem volna kényelmesnek/ésszerűnek, vagy ami egyáltalán nincs is benne, de szerintem jó lenne. Így aztán nem teljesen érdektelen dolog egy olyan óra építése, amibe az ember minden, számára szükséges funkciót úgy tesz bele, ahogy az neki a legkényelmesebb.
Pár gondolat a technikai megvalósításhoz: A kis áramfelvétel miatt a LED-es megoldások szerintem eleve kiesnek, és még azon is érdemes elgondolkozni, hogy LCD esetén LCD üveget vagy modult használunk-e. Egy LCD modul fogyasztása pár milliamper, ami kisebb méretű elemek esetén (pl. gombelem) már akár okozhat fejtörést is, mondjuk AAA vagy AA cellás táplálásnál már nem akkora tragédia. LCD üvegnél az a nagyon sajnos, hogy én alkatrészként megvehető, és valóban használható darabokat leginkább 3.5 digites kivitelben láttam még, esetleg 4 vagy 4.5 digitesben. A 6 vagy 8 digites LCD üvegeknél az a baj, hogy ha egy hátlapon van az összes szegmens, ahhoz nincs akkora PIC, ami meg is tudja mindet hajtani. Multiplexelt (több hátlapos) LCD üveget meg még sehol nem láttam itthon boltban. A 3.5 vagy 4 digit sebességhez ugyan elég lenne, de a többi funkcióhoz már eléggé kínlódás-szagú a kijelzés megtervezése. LCD modul esetén a másik kérdés, hogy a felhasználni kívánt modul mekkora tápfeszültség-tartományban működik. Az általam látottak túlnyomó többsége 4.5-5.5V közötti, ezt elemes táplálásnál szintén figyelembe kell venni. A sebességmérésnél egyébként impulzusok közti időt érdemes mérni és abból visszaszámolni a sebességet. A "PIC miértek"-ben nemrég valaki robogóra épített sebességmérőt ilyen elven, épp a minap írt vissza, hogy kipróbálta a gyakorlatban, működik. Az osztástól (reciprokszámítás) nem kell nagyon félni, szükség esetén megírható a program akár c-ben is, ahol ez egy egyszerű művelet csupán, de assemblyben sem kivitelezhetetlen. Ha bringára kerül a cucc, akkor még a mechanikai védelem is fontos, lehet akár eső is, ha vannak rajta gombok (miért ne lennének...), akkor meg kell oldani, hogy azok mellett se tudjon beázni az elektronika. Azt kevésbé tartanám problémának, ha a saját építésű szerkezet "hatalmas", a gyári órák többszöröse a mérete, de masszív dobozban legyen és a kezelése is olyan legyen, hogy ne vonja el feleslegesen a figyelmet menet közben egy módválasztás.
Üdv!
A 7 szegmenses kijelzőt én is csak próbára szántam. A végleges verzióba LCD modult lenne célszerű választani, mert ha jól tudom, az LCD kijelzőknek váltó áram kell. A szükséges 4.5-5.5V-ot akár egy kis step-up konverterrel is meg lehet oldani. Az MC34063 is ha jól emlékszem 3V-tól felfele már működik. A PIC18F452-nek is elég 3V a működéshez, szóval meg lehet oldani a tápellátást egy féldöglött Li-po / Li-ion akksival is. A pic is keveset fogyaszt sleep módban, meg az LCD tápellátása is megszűntethető egy FET-tel. Amúgy nem asm-ben programozok (csak nagyon ritkán), mikroPascal-ban írom a progikat. Mindenesetre egyenlőre csak 7szegmensesre írom a progit, mert nincs más kéznél, amivel le tudnám ellenőrizni a progit.
Kérdés, kinek mi a "kevés" fogyasztás. Ha egy kijelző megeszik mondjuk 2mA-t, az már egy 700mAh-s akku vagy AAA elem esetén 350 óra folyamatos működés, körülbelül két hét. Egy MC34063-nak a saját, üresjárási árama több mA, tapasztalatom szerint terheletlen kimenet esetén 5-10mA között szokott lenni. Ehhez jön még a PIC fogyasztása, amit persze le lehet csökkenteni, ha a felesleges időben alszik. Mindent összeszámolva 5mA körüli fogyasztás biztos összejönne, ami egy telepes kütyünél szerintem már nem kevés. Szintén a 700mAh-s kapacitást alapul véve ez már kevesebb, mint egy hét folyamatos működés.
Az LCD üveget egyébként nem olyan rettenetesen bonyolult meghajtani (csináltam már 8032-vel is, "kézzel"), főleg, ha olyan mikrokontrollerrel csinálod, amiben van LCD-meghajtó modul. A PIC16F914 család ilyen, én a 16F946-osból és egy 3.5 digites kijelzőből építettem órát. Azt hiszem, hogy ez az áramkör alapvetően kapásból jó lenne akár bringaórának is, megfelelő firmware és dobozolás csak a kérdés. Az órám átlagosan 6uA áramot vesz fel a 3db AA elemből. Bővebben: Link |
Bejelentkezés
Hirdetés |