Fórum témák
» Több friss téma |
Nem jók a kérdések, nem lehet rájuk értelmes választ adni. Ami a flow kérdéskört érinti(alig van ilyen) nem a makró számol. Ha beállítod a projectben az órajelet, akkor a késleltetéseket jól fogja számolni a fordító, feltéve, hogy a PIC-be is azt a frekit használod, állítod be.
A Timereknél pedig a timer az, ami számol, az egy hardver, a makró csak beállítja. Amit a makró kiír, annyival fog menni a timer, ha az említett frekiket jól állítottad be. Azért ez nem egyszerű, mert ismerni kell a PIC oszcillátorát és néhány PIC-nek nem túl egyszerű felépítése van, ezért foglalkozni kell vele. A léptetőmotorokról keresd meg a hozzá való topicot, tudom hogy van ilyen, láttam már! Fordulatszámmérő topic is van! Ha flow kérdésed lesz, akkor szívesen...
Istenem miért kell ennyire körülményesnek lenni néha?
(miért érzem, hogy néha nem akarjuk érteni a kérdést?) Ha a timer-re kérdeznék akkor arra kérdeznék. Én a makró beállításra kérdeztem az pedig igen csak flow specifikus. Vagyis a tmr2 vagy tmr1 -nek a makró beállításaira. Illetve melyiket célszerűbb használni, vagyis flow melyikkel pontosabb, esetleg mindegy, mert nem a flowtól függ a pontosság, hanem a program lefutási idejétől? mivel eddig is pontosan számolt tmr0-val a 100ms os méréshez, a projectben jók az órajel beállítások. De rövidebb idő méréshez kicsivel pontosabb beálltás kell a tmr makróban ezért érdekelne a flow beállítása. Lehet jobban járok ha megtanulom magam mint eddig...
Nekem a TMR 2 jobban kézre áll. Ezt később fejlesztették, nyilván több tapasztalattal.
Ez sok mindentől függ! Mekkora az órajeled! Akarsz-e pwm-et használni? Milyen időosztás kell? Ezt neked kell eldönteni!
Nézegettem én is, csak kínlódok az angol PIC működési leírásokkal. de lassan megtanulok angolul annyit olvasok.
Kétféle képen tudom állítani az órajelet a projectben. 20 000 000 Hz és akkor ha a makrót TMR0-ra és lefutó élre állítottam az osztót 1:16-ra akkor 1220.703 Hz en pörög, vagyis 122 ig számolt ahoz, hogy 100ms os legyen a mérés. (ebben a tartományban pontos a fordulatszám mérés a műszerekhez képest, hiába tűnik el a tizedes érték a az órajel végéről .703) ha TMR2 re állítom a makrót akkor az előosztó 1:4 utóosztó is 1:4 akkor 1220.703 Hz lesz az órajel szintén. De zavar a 256os túlcsordulási érték és nem tudom még mi az. Mit csinál, mit változtat, leáll, újra indul? valójában mit csinál. Kell e vele foglalkoznom most ebben az esetben. Viszont ha a project opcióknál pic frekvenciát 19660800 Hz re állítom, akkor as TMR2 ugyan ezekkel az osztókkal 1200.000hz ig számol. vagyis ha 120ig számoltatom akkor pontosan 100ms ot kapok, nem veszik el a tizedes érték. de a kvarc 20Mhz ami a osc lábakon van, vagyis az tényleg 20Mh vagy lehet beállítani neki a 19...Mhz et.
Ha Bpesti vagy akkor a 19660800 Hz-es kvarc könnyedén beszerezhető. A minap írtam is, hogy hol.
Itt. A hozzászólás módosítva: Dec 1, 2012
A Timer2-t nagyon egyszerűen használhatod. Ha a megszakításban osztod 5-tel akkor 1 milliszekundumot kapsz. Ha 50-nel akkor 10ms, ha 500 akkor 1 ms. Ha 5000, akkor 1s.
Ez érdekes: ha a project opcióknál 1:1 mind a kettő, lásd az első képed, akkor felül 20 000 000 Hz van alul 19531,250 Hz
Nekem nem jön ki az 5000 csak 4882.813 Hz ha ugyan azok a beállítások mint a képen. na? 18F4620 pic A hozzászólás módosítva: Dec 2, 2012
Tegnap éjjel sokáig játszottam a beállításokkal, és sehogy nem tudtam kerek 5000 Hz et kihozni 20MHz es beállításból.
Új üres project, vagy régi, teljesen mindegy, 16 vagy 18 as széria is mindegy, sok pic-et cserélgetve a chip konfigban nekem csak ugyan azok az értékek jöttek ki tmr0,1,2, (3) beállításokban. Nálam van gond a programomban? Vagy nem állítok be valamit jól?
Szia nem teljesen vágom miröl is van szó de ha jól értem akkor a frekibeállitás a probléma.
Néhány oldallal visszább van egy progi és az sokat segithet.Link A hozzászólás módosítva: Dec 2, 2012
100ms majd 10ms kell, az meg van ha 19... kvarcot használok.
Nem az 5kHz a lényeg, ha vissza olvasol, hanem az hogy nekem a 20Mhz beállítással miért nem jön ki? Mit állítottam rosszul?
Itt vannak a beállítások amikkel nem j ön ki az 5000Hz.
Szia!
Fosc = 20.00 MHz, a timer2 bemenetére Fosc/4 megy Fosc/4 = 5MHz. Ha a timer2 előosztója 4 -et oszt (T2CKPS<1:0>: '0b01') és a timer2 maga 250 -nel (PR2 = 249), akkor timer kimenetén 5 MHz / 1000 = 5kHz = 5000 Hz -es jel jelenik meg. A megszakítást kérő jelet az otóosztó (1..16 közötti osztással) kimenete adja. Ha az utóosztó osztása 1, akkor 200us, ha 10 akkor 2ms időközönként kérhető a megszakítás.
Visszanézel PJG-nek kijött.. de nem értem hogyan...
Közben találtam én is valamit a program beállításomban. Ha megnézed az oscillátornál HS van. Nekem külső 20Mhz kristály van beépítve. Nem tudom meg tudod-e nézni a 18F4620 as beállításait, de ott van EXT... RA6, RA7 stb beállítás... nem azt kellene használnom? Te mit használnál külső kvarcnál?
Pontosan ezen az alapon a korábbi leírasom szerint pjg leprogramozta, fel is tette ide, működik, el is magyarázta, képet tett fel... Ha lenne kedvem el is magyaráznám újra, de nincs. Az is lehet, hogy hiábavaló lenne. Nem ártana megérteni mi az a bináris osztás...
A hozzászólás módosítva: Dec 2, 2012
Nem-nem! 20MHz-el jött ki neki!
Te is szelektíven olvasol! Ezt is én írtam: Itt!
Nem 256, hanem 250, a rollover. Harmadik képen.
A hozzászólás módosítva: Dec 2, 2012
IGAZAD van! leborulok, nem vettem észre.
Néztem ott a beállítást de mivel legördülő menü, nem néztem sose, hogy azt lehet módosítani is. A felette lévőket nem lehet így nem néztem ezt se.
Ez az érdekes ! Én leírtam vagy 5* , nem figyelt rá senki ! Most vitáznak miért és hogyan
megérdemlik ... A hozzászólás módosítva: Dec 2, 2012
Hello mindenkinek.
Van egy pic-em 16f887, evvel szeretném a elektromos kerékpár összes vezérlését kijelzését megoldani (pillanatnyi áram fogyasztás, aku töltötség, sebeség, motor vezérlés). Kicsit elakadtam a sebesség mérő résznél és nem tudom hogy jól csinálom e a dolgot. Szóval Trm2 es osztóval egy "seb" változót növelek 3815-ig (ami 1 secundumnak felel meg), majd ujrakezdem, közben RB0-án várom a jelet (amit majd egy reed relé ad), a jel "seb" változó pillanatnyi étékéből kiszámolja a sebeséget, majd lenulláza azt és minden kezdődik újból. Ez az elmélet.... gyakorlatban nem tudok képletet kitalálni ami "seb" pillanatnyi értékéből kiszámitja a sebeséget... valaki tud segiteni? vagy tul sokat akarok 1 pictöl:
Azt tudni kellene hogy mekkora utat tesz meg a kerék egy fordulat alatt!
Sebesség = út / idő Sebesség = Megtett út (méterben) / seb/3815 (ez ugye másodperc) Így megkaptuk a sebességet m/s-ban. Ezt meg kell szorozni 3,6-al. Akkor km/h-ban lesz. Persze célszerű úgy ügyeskedni hogy ne keljen lebegőpontos számokat használni! A hozzászólás módosítva: Dec 2, 2012
Nézd meg a freki,periódus,impulzusidő mérő programot, hogyan mérünk. Érdemesebb a CCP1 modult ilyen mérésre használni(Itt találod). A számításokat látom mrobi már leírta, így erről én már nem írok, az úgy jó lesz!
Miért ilyen szürke és kockás a szimbólum? Azért mert saját kód van beleírva?
Kis segítséget szeretnék kérni. Eléggé réren tanultam matematikát, vagy éppen akkor hiányoztam, mikor erről volt szó.
Szóval adott egy nem lineáris számsor. ezt kéne átalakítani Flowban lineárissá. 600 -> 10 300 -> 20 200 -> 30 150 -> 40 120 -> 50 100 -> 60 86 -> 70 75 -> 80 66 -> 90 60 -> 100 54 -> 110 50 -> 120 Hogyan lehet? Köszi.
Pont most láttam valamelyik angol nyelvű újságban erről egy cikket. Mindjárt rákeresek.
És ebben mi a bonyolult? Fogsz egy többirányú elágazást és megadod melyik esetre milyen kimenetet adjon.
Ez a blokk le van tiltva, nem fordul bele a kódba. Jobb egérkattintás, Disable Ikon pipát vedd ki, ha kell a blokk a programba.
Erre polinom függvényt szoktunk használni. Óriási hátránya, hogy lebegőpontos számításokat kíván, ami csak nagy PIC-ekbe fér bele(bár lehet, hogy fixpontosan is meg lehetne oldani, még nem próbáltam). Én a Graph ingyenes grafikon készítő programmal szoktam kiszámoltatni a polinom együtthatókat a függvény ráillesztésével. Az értékeket vidd be a táblázatba, jelenítsd meg, majd illessz rá annyiad fokú polinomot, amennyi jól lefedi a pontjaidat.
Gondolom egy hőmérő feszültség jelét akarod kijeleztetni? Ha elég csak a diszkrét pontokat létrehozni, akkor elég egy táblázat is. A hozzászólás módosítva: Dec 2, 2012
|
Bejelentkezés
Hirdetés |