Fórum témák
» Több friss téma |
Fórum
Helló. A KMZ10C hall szenzoromat egy műveleti erősítővel erősíteném, hogy a kimenetet PIC-re köthessem. Viszont ez a jel nem négyszögjel. Ahhoz hogy az legyen, schmit triggert kell használom. Most nézem, hogy a parsic-ban is van schmit trigger. Akkor nem vagyok muszáj használni külső triggert, vagy ez hogy működik?
Helló. A táblázatban a számokat, szorozni kell 100al, így jön ki a fordulatszámértéke. A lendkerék 1x körbefordulásnál, a jeladó ad 4 jelet. PL a 128 jel beérkezésénél 3800 a fordulat. A fordulat kijelzését 100assával növelem, így a kijelzés 3800-ról, 3900ra ugrik. 3800/30=126. minimum 126 jelnek kel beérkeznie 3800 rpm kijelzéshez. 3900/30=130. minimum 130 jel szükséges ahhoz hogy 3900rpm legyen a kijelzés.
Én ugyan ezt a fordulatszám mérőt akarom most egy simsonon használni, ahol viszont 3db szegmenses kijelző, jelezné a fordulatot.
A bajom csak az, hogy honnan tudom, hogy a példákban bemutatott kimenetek előtt lévő call modulhoz társított táblázatban mik azok a számok. Azt értem, hogy azok adják ki melyik vonal világítson a kijelzőn, de az, honnan tudom melyik melyik. pl: 128 az melyik. Melyik számhoz tartozik és miért 128.. stb... Minden 7 szegmenses kijelző ezt a számsort tartalmazza, de miért. (Ja és bocsi az előző ford-val.pic helyett itt a teljes, az még a ledsor előtt volt)
Ha jól értem fordulatszámot akarsz mérni.
Én autóba csináltam még tavaly egy fordulatszám mérőt, amivel a programig jutottam el sajnos. Anyagi hiányában csak most tudom fizikai mivoltát előállítani. (Ismerős tesztelte, a programot összebarkácsolt készülékkel szerinte jó) 16f877A 40lábú pic-re van tervezve. Ott is a probléma az 1 fordulatra jutó jelek száma, szorzás és osztás volt a gond. Nálam a legpontosabb megoldás egy 60 jelet adó tárcsa volt. Így az 1/perc-es mérés 60al való osztását ki lehet küszöbölni. 0-1000ig csak 10esével mutat fordulatot, 1000-nálam 8000ig 1esével. (Igen, ingadozik, mivel a fordulatszám autónál semmiképp nem egyenletes.) A ledsor kijelző 100fordulatot jelez 8*10es dekában. Az LCD teljesen kiírja. Vagy a másik megoldás, a gyújtótrafóról való leszedés, de ott sehogy nem tudtam kiküszöbölni a 60as osztást ezért csak 60as lépésenként mér. Ott is a ledsor kijelző 8*10, és a 100as lépték miatt nincs különbség, csak az LCD 60-120-180-240... lépésenként jelez ki. Tartamaz egy váltásjelzőt, és annak beállító kapcsolóit, és tárolja epromba. A felesleges dolgokat kivéve, jó kis fordulatszám mérő. Az itt régebben feltett példák alapján készült. ford-val.pic a 60 jeladós ford60.pic a trafóról leszedett jeladós.
Mert azt hittem, hogy azért működik rosszul a progi, mert lassú a futása, cseréltem nagyobba, de végül a programban volt a hiba, és hát azt mondták, hogy 4MHz-es kvarcot használjak.
Csak azért tetted vissza 4MHz-re, mert szerinted 16MHz-en nem megy jól? Vagy mire utal az "inkább" szó? Megy az 16MHz-en, én is így használom.
Milyen pic et használsz ? mehet egyáltalán 16megán ?
töltsd le és nézd meg az adatlapját
Igen, de még a progiban állítottam XT-ről HS-re és úgy ment.
Az oscillator típusnál HS-t kell bejelölni.
HA beállítom parsicban a 16MHz-es frekvenciát, miért nem indul a program?
rajzoltam neked egy példát az átlagolásra (ha gondolod égesd be ) próbáld ki . A kvarc értéke minél nagyobb , annál gyorsabb lehet a program futása (a parsic a 4Mhz -s kristályt szereti) De pl ha órát akarsz csinálni akkor 32768khz-s kavicsot érdemes használni , mert ott egész számra jön ki az osztás Tehát 2--50 -100- 200 hz lehet a megszakítás és nem mondjuk 45.023 hz
Függ az a kristály frekvenciájától, hogy a bemeneten 1ms alatt hány jel jöhet?
Háj! A kristály értékét mi szerint válasszam meg egy ,,projekt,,ben?
Így igaz, már megyen is. holnap folytatjuk, én lépek, jóéjt
Ha a tr1 re kettő db oneshot-ot teszel a második bemenetét invertálod és a" zászlót" meg az lcd átíró bemenetét a két oneshot közé teszed működni fog
Valahogy nem jött össze. Szerinted akkor nem lesz pontos?
A bemeneti jelek átlagolására egyszerűbb megoldás is lenne, mint a táblázat.
Ha megoldottad a táblázatok váltását és megfelel neked a müködése a gyakorlatban, akkor hagyd úgy. Más hasonló megoldásokban több jel átlagát veszik. Pl a legegyszerűbb, ha két multiplexer használatával az utolsó két értéket összeadod és elosztod kettővel, ezt szorzod százzal. és ez kerül a kijelzőre. A gyakorlatban ehhez kisebb időalap kellene és több jel, hogy a százas felbontás megmaradjon. 250ms mintavétel 4x-es késleltetés és 4db mérés átlaga, ez még pont 1s...stb Hiba így is úgy is lesz a mérésban, de azt hiszem ebben az esetben megjelenítés a fontos. A multiplexert azért tedd bele a kilelző elé a "váltó"logikával...(amit rajzoltam)
Ez már jobbnak tűnik (első látásra ) de ha jól megnézem az mx 1 re semmi szükség , nyugodtan kitörölheted és a számláóra kötheted a tabulátorok bemeneteit .
Igaz, ezt nem si figyeltem, de ez csak most a módosított változatban, nem? És így jó?
És azt észrevetted hogy ha nem jön több bejövő jel
a kijelzőn marad az utólsó érték ?? Ja és ha csökken a fordulat akkor mit csinál ? Mert szimulációban nem nullázza a számlálót csak tölti és tölti a bemenőjel .viszont az 500ms es időjel nem törli csak az egyik számlálót
Ha úgy lenne, hogy egy körbefordulásnál 1 jel érkezne be, és ezt számolnám, akkor persze hogy az érték össze-vissza ugrálna. Ahogy mondtam, hogy nekem 1 körbefordulásnál 4 jelet ad. ha csak egy jelet adna, akkor 1 másodperc alatt 1000 fordulatnál 16 jelet adna, és 1100 fordulatnál 18 jelet. Lehet hogy egyszer 16 jelet adna, egyszer 18-at, és az érték 1000-1100 között állandóan ugrálna. HA nekem 4 jelet ad, 1000 fordulatnál 66 jelt ad, 1100 fordulatnál 73 jelet ad. Én megadtam a táblázatba, ha a bejövő jel 66-67-68-69-70-71-72, akkor a kijelzett érték legyen 10, azt megszoroztam 100-al, és így jött ki 1000 fordulat. Lehet hogy ingadozna a bejövő érték 2-3at, de ha az a kettő úgy esik pont hogy 67-68-69 jelet ad, akkor az még mindig csak 1000 fordulat. Én ma ezt próbáltam, és az érték nem változott, vagyis nem úgy ahogy mondjátok, szépen olvasható volt. Holnap talán felvideózom. Egyébként megvan a megoldás a táblázat közti váltásra is.
Dani ha 1 sec -vagy 500ms a mérési idő mindenképp ugrálni fog a mért érték ! Ebben a konfigurációban szerintem átlagolni is kéne
mondjuk 8 mérés átlagát küldeni a kijelző előtt lévő átmeneti tárolónak használt multplexerbe. Sajnos most nem tudok segíteni (rajzzal ) mert ezen a gépen csak éppen most letöltött demó parsic van .
A fordulatszám értéke, egy időegység alatt a számlálóba bejutott jelek száma. (ha ezt így jeleztetnénk ki, akkor a számok futását látnánk csak)
ezért az időegység végén átírjuk egy másik "helyre", ehhez kell a multiplexer, ezt jeleztetjük ki és igy "stabil" a kijelzéskép. A Te megoldásodban az értékeket előre megírtad, hogyan kerül ez összefüggésbe a valós jelsorozattal az idő függvényében?
Akkor az enyémen lényegében mit is kellene változtatni? Be kellene egy olyan multiplexert tenni az én rajzomba is?
Azért mert, ha a valóságban akarjuk használni, akkor a jelet valahol a PIC-re kell vezetni (ez a különbség)
RB.4 (illetve a kijelzőt át kell tenni az R.C... portra, ez lemaradt), vagy a bemenet egy nem használt porton legyen. (aztán még egy "gombóc" is lemaradt) Tudod próbálok a gyakorlatban használható dolgokat ajánlani. A szimuláció az hálás dolog, de a gyakorlati használat a lényeg...
A kijelzőn az "elmúlt" ciklus értékét így lehet megjeleníteni egyszerűen.
Ez a frekvenciamérés (és fordulatszámmérés) alapelve. Egyébként a két Timer használata befolyással van egymásra (a Te megoldásodban is) Szimulációban nem nagyon derül ki, de a gyakorlatban igen. A gyakorlatban optocsatolón keresztül vinném a bemenetre a jelet. |
Bejelentkezés
Hirdetés |


