Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   105 / 361
(#) watt válasza kkrisz75 hozzászólására (») Dec 1, 2012 /
 
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...
(#) kkrisz75 válasza watt hozzászólására (») Dec 1, 2012 /
 
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...
(#) pjg válasza kkrisz75 hozzászólására (») Dec 1, 2012 /
 
Nekem a TMR 2 jobban kézre áll. Ezt később fejlesztették, nyilván több tapasztalattal.
(#) mrobi válasza kkrisz75 hozzászólására (») Dec 1, 2012 /
 
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!
(#) kkrisz75 válasza pjg hozzászólására (») Dec 1, 2012 /
 
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.
(#) pjg válasza kkrisz75 hozzászólására (») Dec 1, 2012 /
 
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
(#) pjg válasza kkrisz75 hozzászólására (») 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.
(#) kkrisz75 válasza pjg hozzászólására (») Dec 2, 2012 /
 
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
(#) kkrisz75 válasza kkrisz75 hozzászólására (») 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?
(#) Kovabe válasza kkrisz75 hozzászólására (») Dec 2, 2012 /
 
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
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») 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?
(#) kkrisz75 válasza kkrisz75 hozzászólására (») Dec 2, 2012 /
 
Itt vannak a beállítások amikkel nem j ön ki az 5000Hz.
(#) Hp41C válasza kkrisz75 hozzászólására (») Dec 2, 2012 /
 
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.
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Dec 2, 2012 /
 
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?
(#) watt válasza Hp41C hozzászólására (») Dec 2, 2012 /
 
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
(#) watt válasza (Felhasználó 15355) hozzászólására (») Dec 2, 2012 /
 
Nem-nem! 20MHz-el jött ki neki!
(#) pjg válasza (Felhasználó 15355) hozzászólására (») Dec 2, 2012 /
 
Te is szelektíven olvasol! Ezt is én írtam: Itt!
(#) pjg válasza kkrisz75 hozzászólására (») Dec 2, 2012 /
 
Nem 256, hanem 250, a rollover. Harmadik képen.
A hozzászólás módosítva: Dec 2, 2012
(#) kkrisz75 válasza pjg hozzászólására (») 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.

(#) kaqkk válasza (Felhasználó 13571) hozzászólására (») Dec 2, 2012 /
 
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
(#) Sanyessz hozzászólása 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:
(#) mrobi válasza Sanyessz hozzászólására (») Dec 2, 2012 /
 
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
(#) watt válasza Sanyessz hozzászólására (») 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!
(#) pjg hozzászólása Dec 2, 2012 /
 
Miért ilyen szürke és kockás a szimbólum? Azért mert saját kód van beleírva?

miert.jpg
    
(#) pjg hozzászólása Dec 2, 2012 /
 
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.
(#) pjg válasza Sanyessz hozzászólására (») Dec 2, 2012 /
 
Pont most láttam valamelyik angol nyelvű újságban erről egy cikket. Mindjárt rákeresek.
(#) kokozo válasza pjg hozzászólására (») Dec 2, 2012 /
 
És ebben mi a bonyolult? Fogsz egy többirányú elágazást és megadod melyik esetre milyen kimenetet adjon.
(#) watt válasza pjg hozzászólására (») Dec 2, 2012 /
 
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.
(#) watt válasza pjg hozzászólására (») Dec 2, 2012 /
 
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
(#) pjg válasza Sanyessz hozzászólására (») Dec 2, 2012 /
 
Itt van:
Következő: »»   105 / 361
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem