Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Pontosítom a kérdést (addig minden eddig elhangzott vélemény szerintem levegőbe beszélés, mert azt se tudjuk mit is akar a felhasználó!!)
Tehát. 1. Mekkora a legrövidebb idő, ami két gombnyomás között elképzelhető? 2. Mekkor a legnagyobb idő, amit mérni kell még, ami a két gombnyomás között elképzelhető?
Itt jonnek azok a problemak ahol az interruptos perges mentesitok nem mukodnek kielegitoen. A gond, hogy az idoket befolyasolja a perges ideje - ami nem konstans. Ha a gombok allapotat idoszakos lekerdezesekkel tudjuk meg, akkor az idozito - ami a lekerdezeseket utemezi - hatarozza meg a pontossagot. Veletlenszam generatorokhoz pl kifejezetten hatranyos hatassal vannak ezek hiszen mindig adott idopillanatban erkezik a jel es eppen a perges mentesites miatt alacsony frekvenciara van ez beallitva. Es ha ezt az idozitest kisebbre veszem mondjuk 500us-ra, akkor a pergesmentesites nem biztos, hogy eleg hatekonyan fog mukodni (hisz pl ahogy javasoltad 10-ig kell elszamolni, nade kozben a bill pereg, tehat neha ez a szamolas ujra indul, azaz a pergesido veletlenszeruen befolyasolja a mert idot).
Mondjuk ha az elso felfutaskor inditanank egy timert, a bill lenyomas interrupt ekozben letiltodik (azaz nem toroljuk a hozza tartozo IF-et), akkor mondjuk var 5ms-et remelve a perges ideje nem ennyire hosszu, majd megnezi hogy bill nyomva van-e. Ha igen akkor megvan a gomb nyomas... es mivel minden gomb nyomasahoz ez az 5ms hozza adodik, ezert az elso felfuto elhez kepest szamolodik a mert ido... szoval mar csak az eltelt ido meresere hasznalt timer felbontasatol fog fuggeni a pontossag.
A jel ok, kocka. Fel, le. Nekem csak a "fel"-ek kellenek.
Timerre nem lehet rátenni, hogy ha a gomb megnyomódik, a timer értkét kiolvasom? 1mp-nél hosszabb idő nem lesz. Vagy ha lesz is, az nem érdekel. Tessék sűrűbben nyomogatni ))
Adott egy ember, akinek van reflexe. Ezt kellene mérni.
A nyomogatós része nincs meg.
A reflex mérésére jó a CCPx modulokkal felépített Capture mód(ahogy potyo leírta). A Timer1-et beállítod pl. egy 4MHz-es kristály esetén 4000000/4/8(előosztó)=125000Hz
Ez azt jelenti, hogy a 2bájtos TImer1 majdnem kétszer túlcsordulna 1 másodperc alatt, azaz fél másodpercnél(524milliSec) rövidebb időket mérhetsz meg egyszerűen(meg lehet mérni hosszabb időket is, csak bonyolultabb!) Szerintem a reflex legyen jobb mint fél sec, mert különben az már bajos! Így a felbontás 8uSec. Ez több mint elég. A CCPx első megszakításakor nullázod és indítod a számlálót. A gomb második megnyomására megnézed az addig beszámolt értéket és megszorzod 8-al(shift balra 4x), majd elosztod 1000-el. Ekkor megkapod a mért időt ezred másodpercben. (ha nem tévedek, de majd kijavít, aki jobb matekból! ) Ha a Timer1 túlcsordulna, akkor a mérés hibás, jelzéssel leáll a program. Ha bejön a második nyomás, akkor ott szintén megáll a program, a következő indításig. Tehát a második nyomás után van idő perellmenetesíteni, inkább az első nyomás utáni perellidő beállítása kritikus. Úgy kell meghatározni hogy ne legyen több, mint az elméleti leggyorsabb reflex. Annyi egyébként prellmentesítésre elegendő. Itt akár várakozással is meg lehet oldani, mert a két nyomás között nem történik más esemény. De szerintem nem így kéne reflexet mérni, hanem úgy, hogy két gomb van, és az egyik indít egy jelet(hang, vagy fény), és erre kell reagálni a fő gombbal. De ez már részletkérdés....
1/125kHz az 8us ha jol szamolok, nem tudom kell-e ekkora pontossag? Velemenyem szerint az osztot feljebb is lehetne emelni, es akkor akar 2 vagy tobb masodpercet is at lehet olelni a 16 bites timerrel.
A masik, hogy szerintem a pergesmenesitest lehet ebben az esetben el is lehet hagyni, hiszen az elso felfuto el kell: 1. varunk gomb nyomasra 2. gomb lenyomva, annak elso felfuto eletol indul a szamolas - CCP barmi... 3. eltelik joval tobb ido mint barmilyen perges... 4. gomb lenyomva, elso felfuto ele allitja meg a stoppert... 5. megint joval tobb ido eltelik mint perges... 6. goto 1.
A timer1 előosztója max 8-as, ha jól láttam. Tényleg melyik PIC-ről is van szó?
Nem pontosan értem, de szerintem itt a gomb elnyomása pillanatában cselekedni kell, nem elég a felengedéskor. Így a prellmentesítés mindneképpen szükséges, mert nagyon jó reflexeket is mérhetünk véletlenül! Arra is gondoltam, hogy a PIC véletlenszerűen indítgatna jeleket, és arra kellene reagálni. Mondjuk 10 ilyen mérés eredményét lehetne átlagolni, vagy más módon kiértékelni. Érdekes játék lenne nem!?
Ez jó ötlet. Nem két gomb, hanem felvillantassz egy ledet, azután számolod mennyi idő telt el az első felfutó élig(gombnyomásig).
Ez már csak azért is jobb mert a két gombos esetben az első gombnyomás után tudatodban van hogy meg kell nyomni a másik gombot minél hamarabb, míg itt a látás -> cselekvés tényleges reakcióidejét méred.
Ebben az esetben pergésmentesítésre sincs szükség, hiszen a reakcióidő kiszámítása után, újból csak a felvillanás indítja a mérést.
megépitettem ezt az égetőt. És kell ennek külön 12V. De az enyen, vagy váltó 12 kell neki?
Szerintem egyen, de nem bizttos.
Most melyiket is?
A belinkelt oldalon van egy pár.
Interruptokkal hadilábon állok, de az elmélet.
Fut a progi. Van egy LCD kijelző. Azt írja, hogy 0ms Gomb megnyomódik, timert megjegyezni. Gomb megint lenyomódik, timert megint megjegyezni. A két jegyzett idő a különbség. Osztót, meg ilyesmit nem gondoltam át. Én logikámmal a timer nő. Túlcsordulásnál van vmi jel? Mert ha nem csordulna tól soha(tudom, van egy vége), akkor végig csak a timer értékéből lehetne visszaszámolni. Túlcsordulás eseténlehetne növelni egy másik változó értékét. Ha az is túlcsordulna, akkor már annyi időtelt el, hogy tudom, a túlcsordulás előtti időt tudom, az új időt a 0-tól hozzáadom. Nem tudom, érthető voltam-e. . . . . . , | ; a pontok a jelek, azokat tudom számolni "|" lenne a változó túlcsordulása és ; a reset utáni jel. "," és ";" idpkülönbségét nem nehéz kiszámolni.
Az csak 2 fajta. De onnan az alsót. Mert a felső Egy JDM.
Az lemaradt, hogy a kiszámolt érték bekerül egy változóba, amit az LCD kiír.
Sziasztok!
Azt szeretném megtudni hogy egy 18F4550-ás PIC és egy 16F877-es PIC között lehet-e I2C kapcsolat? És ha igen akkor hogyan? Nem sok mindent találtam róla.
Ebben igazad van viszont Na akkor kell ra egy 32k-s ora kristaly es 0-s oszto? Akkor kozben meg aludhat is a PIC amig az a lassu emberke meg nem nyomogatja a gombot
En amugy azt hittem, hogy ket ember ul egymassal szemben (ill. hogy nem latjak egymast... es mindegyik elott van 2 v. 4 gomb, egyik nyomja egyiket, masiknak ugyanazt kell, msik nyom egy masikat, az elso emberknet kell arra ugyanazt nyomnia stb.. szoval ket ember reflexet lehetne ily modon merni jatekos formaban Amelyik a lassabb az nem kapja meg a taxi engedelyt vagy valami hasonlo
Most vagy nem olvastad a hsz-emet, vagy nem értetted meg, vagy nem tudom, de én leírtam, hogyan kell ezt! Miért akarod újból kitalálni? Nem azt állítom, hogy nem jó, de egy csomó dolgot nem veszel figyelembe! pl. miféle dolog az, hogy nem nézted meg az osztókat! Hát attól függ mit tudsz majd kihozni a hardverből. A köré kell építeni az egészet.
Én fogtam az adatlapot és vettem a fáradságot, hogy megnézzem neked, Te meg elmész mellette(m) simán! Kösssz!
Szemem előtt van, ahogy felváltva püfölik a gombokat!
Egyébként itt már felmerült néhány jó megoldás a mérés mechanikai kivitelezésére. Amit láma barátunk erőltet, az alapjában hibás elképzelés, már a fizikai résznél. Na de ez legyen innentől az Ő gondja!
Jol gondolkodsz, a timerhez is lehet interruptot rendelni mikor tulcsordul. Arra meg be lehetne tenni egy masik 8 bites valtozot amit ilyenkor lehet szepen novelgetni, igy kapsz egy 8+16 bites szamlalot pl.
Igen, de mi a frásznak mérjünk fél másodpercnél több ideig? Az már hibás mérés eleve!
Elolvastam a cikket, láttam az osztókat, de nem tanultam meg őket fejből.
Azt látom, hogy lehet olyan osztót válsztani, ami nekem jó. Tehát ezt a részt nem nézegetem tovább. Ok, ha kiszámolnám, lehet nem is kell számolni a túlcsordulásokat. Este átolvasom az egészet, hogy mi van, ha túlcsordul, stb.... Csak leírtam, hogyan gondoltam el.
Mert pl elalszik, és a fejével nyomja meg ))
Azért kérdezgetek ilyeneket, mert ha pl legközelebb is kell interruptokat csinálnom, és ott nem lenne elég az osztóval kiszámolt idő, akkor már tudom, hogyan kell áthidalni. Én már csak ilyen vagyok. Köszönök minden segítséget!
Ha arra gondolsz amiről rögtön ott van az összer rajz is akkor igen kell neki külön táp de a 12V kevés mert a bemeneten sorban van egy dióda, plusz ott van egy 7812-is.
Ha tényleg az Oshon-ra gondolsz te is. 15V-al már jól működhet.
Ha feltételezem, hogy a timer egyszeri túlcsordlási idejénél nem lesz hosszabb a reakcióidő, akkor egymás után többször is lehet nyomkodni, ha túlcsorduláskor lereszetelem. Csak olvassa le valaki
Tehát: kell egy timer. Osztót kiszámolom. A gomb megnyomásakor jön az interrupt, ami kiolvassa a timert egy tmp változóba. Az "előző" értékből kiszámolja a különbséget, és utána tmp-t beteszi az "előzőbe". Aztán újra. Persze ha pl a piccel adom a jelet, egszerűbb, mert jelkiadáskor timer indít, és gombnyomáskor kiolvas, mint ahogy watt is írta. Már világos. Még1* köszönöm! A leirásból kibogarászom, hogyan kell beállítani a gombra az interruptot, meg a timert. Ha még lesz kérdésem, jövök
Mert en mindig autovezetesben gondolkodom Pl egy valos szituacioban a triggerelo esemenyt kovetoen mire leesik a tantusz akar tobb mint egy mp is eltelhet. Ez nem annyira a reflex, ez a helyzet felismeres inkabb, hogy na most nyomjuk tovig a feket vagy kormanyozzunk inkabb, vagy takarjuk el az szemunk hogy ne is lassuk mi jon most Es mire ez a folyamat lejatszodik az meglepoen hosszu ido tud lenni kulonosen ugye ha a helyzet varatlanul jott, ha a sofor faradt - vagy ittas.
Ugyanez egy jatek vagy egy kifejezetten reflex teszt eseteben nem tekintheto varatlannak hisz a jatekos/paciens tudja, hogy neki gombot kell nyoogatnia - valoban nincs szukseg fel mp-nel hosszabb idore, kulonben a gombnyomogatonak infuzios kaveadagot kell adni
Ez nem rossz ötlet!
2 gomb! És eldöntendő kérdés! Melyik kapszula?
Ja.
Az jutott eszembe, hogy elég jópofa lenne egy olyan szimulátor, ahol lenne egy kormány, meg 3 pedál. A képernyőn felvillanó LED-ek, vagy általuk kirajzolt ábrák függvényében kéne reagálni különbözőképpen. Ez igazi reflex és döntéshozatali feladat lenne. A gond itt is az, hogy számítunk rá, felkészülünk, koncentrálunk! Emiatt szerintem minden reflexvizsgálat hamis eredményt ad, és ha ennek ellenére rossz az eredmény, az már nagy bajt sejtet!
És a mA nem számit? szóval akor egyenirányitani kelll nem?
|
Bejelentkezés
Hirdetés |