Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   47 / 360
(#) Szamy hozzászólása Feb 2, 2012 /
 
Üdv.
Állapotváltozást hogyan tudok figyelni?Nevezetesen, hogy egy adott változó csak akkor módosuljon, ha a kapcsoló az előző állapotához képest változik?
(#) Kovabe válasza kokozo hozzászólására (») Feb 2, 2012 /
 
Köszönöm az eddigi fáradságodat de nem szeretnék több tanácsot kérni mert már másnak szemetszur az érdeklödésem. És igaza is van csak tényleg türelmetlen vagyok (diszlexiás is) és nem sok idöm van ezzel a projektel foglalkozni de sürgös és ezért kérdezösködtem.
A kérdésedre a válasz még nem tudom milyen PIC, lesz még ki-be kapcsolgatás is rajta, nem kell a nagy pontosság csak fokra.
(#) Kovabe válasza (Felhasználó 15355) hozzászólására (») Feb 2, 2012 /
 
Bocsálnat mindenkitöl de én úgy érzem hogy ha tapasztalt emberektől kérdezek akkor többet tanulok mint ha olvasgatok. Épületgépész vagyok és tapasztalatom alapján tanultam meg a szakmát(mikor a méretezésröl volt szó akkor is cak a tapasztalatok alapján beszéltünk). Ha valakit ezzel az érdeklödéssemmel illetve a hozzáállásommal megbántottam attol elnézést kérek. De ez a kis program segitett az elképzelésem megvalositásában illetve megértettem a logikáját (részben) a müködésének. A PCI kapcsolásiraját is csak azért kérdeztem mert már a 20 oldalon tartok és még nem értettem meg hogy pontosan mit hogyan kell bekötni. Konkrétan látom hogy te bennevagy nagyon ebben a programban de én vizuális ember vagyok és csak azt értem meg amit látok a szememmel.
Üdv Kovács
(#) Kovabe válasza kokozo hozzászólására (») Feb 2, 2012 /
 
Szia itt a program amit addtál, plusz egy kicsit modositottam am még kellet azt beleraktam.
Köszönet mindenkinek ki ebben a topic-ban tevékenykedik.
Üdv Kovács
(#) kokozo válasza Szamy hozzászólására (») Feb 3, 2012 /
 
Szia nézd meg a mellékletet hátha segít.
(#) Szamy válasza kokozo hozzászólására (») Feb 3, 2012 /
 
Köszönöm,megnézem....
(#) kaqkk hozzászólása Feb 3, 2012 /
 
Találtam egy oldalt ahol a kétvezetékes lcd kezelést taglalják , és megtaláltam a hozzá tartozó c file-t Csak azt nem tudom hogyan lehet az lcd eredeti file-jét lecserélni erre .Tudna ebben valaki segíteni ?

PIC_LCD.c
    
(#) kaqkk válasza kaqkk hozzászólására (») Feb 3, 2012 /
 
És itt van még egy rakás file
(#) attis71 hozzászólása Feb 5, 2012 /
 
Sziasztok!

Szeretnék egy DS1821+PIC12F675 digitális hőmérő párost csatlakoztatni RS-485 bus-hoz. Ebből a párosításból legalább 3-at párhuzamosan kötnék a bus-ra. A hőmérő párok egymástól távolabb vannak elhelyezve és a bus végén egy PIC- el szeretném kijelezni a hőmérsékleteket.
Ehhez tudnátok adni tanácsot főleg a PIC illesztése kellene. (Flowcodeban csinálom a programot).

Előre is köszi a segítségeteket.

Üdv: attis71
(#) kiskata hozzászólása Feb 6, 2012 /
 
Kedves hozzáértők...
Tapasztalta már azt valaki hogy a Flowcode-ban az LCD-re kiküldött karakter helyett egy másik jeleni meg
(esetemben az A helyett egy c kis farkincával) .
Ha számot küldök ki az megjelenik rendesen, és ha binárisan PrintASCII vel akkor szintén jól ... ??? A PrintString rosszul küldi ki a karakter kódját...?
Mit ronthattam el?
(#) kaqkk válasza kiskata hozzászólására (») Feb 6, 2012 /
 
Nézd meg a programosat másik kijelzővel , ha az jól dolgozik akkor a kijelzőben az A helyén a kukacos .. betű van a karaktertáblában .
(#) kokozo válasza attis71 hozzászólására (») Feb 7, 2012 /
 
Szia! Ha jól értem neked 2 vagy több pic csatlakozásához kellene segítség.. Használd a flowcode vnet opciót, ezzel lehet tesztelni több pic adatforgalmát, működőképességét.
Bővebben: Link
Bővebben: video
(#) kiskata válasza (Felhasználó 15355) hozzászólására (») Feb 7, 2012 /
 
Köszi ez volt a megoldás...
Utánnaolvasok hogy mi is ez...
(#) attis71 válasza kokozo hozzászólására (») Feb 7, 2012 /
 
Értem, köszi megnézem.
(#) karaszbandi hozzászólása Feb 8, 2012 /
 
Üdv a hozzáértőknek!

Nem tudom, mit nem csinálok jól, de nem akar hex-be fordítani a flowcode.

Ha a példák közül előveszek egyet, akkor azt gond nélkül fordítja.
Ha én csinálok bármit is, akkor hibával megáll a fordítás.

Mellékeltem egy primitív ábrát, ezt sem hajlandó lefordítani.

Mit csinálok nemjól?

v4.2.3.58 van telepítve.
(#) mrobi válasza karaszbandi hozzászólására (») Feb 8, 2012 /
 
Nem tudom kipróbálni mert nincs fent a gépemen de az ékezetes betű nem gond neki? próbáld meg ékezetes betű nélkül elmenteni.
(#) BarnaPili válasza mrobi hozzászólására (») Feb 8, 2012 /
 
Nálam lefordul ékezetes betű nélkül.Ékezetessel nem...
(#) karaszbandi válasza BarnaPili hozzászólására (») Feb 8, 2012 /
 
Próbáltam ékezet nélkül és most az asm-nél áll meg.
Feltettem a 4.3.7.63-at és azzal se megy.
(#) BarnaPili válasza karaszbandi hozzászólására (») Feb 8, 2012 /
 
Nincs hosszú elérési utad?
(#) karaszbandi válasza BarnaPili hozzászólására (») Feb 8, 2012 /
 
Ossza már be magának.....

Másik meghajtón van.


Hogy dögöljön meg a lova a feltalálójának!

Betettem a főkönyvtárába és méltóztatik dolgozni.
(#) karaszbandi válasza (Felhasználó 15355) hozzászólására (») Feb 8, 2012 /
 
OK, ezen túl vagyok, csak kissé nemtetsző a programtól, de ez van.

Másik kérdésem.
Hogy tudok pwm-et csinálni olyan pic-be, amiben eredetileg nincs?
12F675-ben nincs, de van egy olyan motor fordulatszám szabályzóm, ami ezzel van megépítve és pwm a kimenete.
Azt hogy csinálja?
(#) karaszbandi válasza (Felhasználó 15355) hozzászólására (») Feb 8, 2012 /
 
Csináltam egy pwm-et.
Működik is élesben is, csak a pwm frekit nem tudom, hogy hogyan tudnám befojásolni, mert keveslem.
Csak 180Hz körül van és 5ms körüli a periódus idő.

Ezt szeretném feljebb tornászni, csak nem tudom, hogy hogy kéne.

Segítség kéne.
(#) Gagyicom hozzászólása Feb 8, 2012 /
 
Sziasztok!
Szeretnék fordulatszám mérőt készíteni, utána olvastam a fórumon belül, de egyszerűen nem értem a lelki világát. És sajnos nem vagyok képes úgy alkalmazni valamit, hogy nem értem működését! Elagyarázná nekem valaki, hogy az RB0 bemeneten mondjuk felfutóélre számlálok akkor honnan szerzem a ref frekit? Értem én, hogy vannak belső oszcillátorok, de hogy működnek?

Előre is köszönet.
(#) kkrisz75 válasza Gagyicom hozzászólására (») Feb 9, 2012 /
 
Ne bonyolítsd.

A fordulatszám az egységnyi idő alatti körbe fordulás.
1/min vagyis x fordulat 1 perc alatt.

Neked kell egy időzítő ami számlál. Ez fogja az időt adni. Az RB0 bemeneten pedig a jelek jönnek.
Az alap órajelet pedig a kvartz adja.

Vagyis TMR0-t beállítod valamekkora frekvenciára.
Ebbe teszel egy számlálót, amivel beállítható hogy hány milisec-ig számoljon.

Ez idő alatt bejön valamennyi jel. Ezt iratod ki az LCD-n.

Azt kell csak kiszámolni, hogy 1 fordulat alatt mennyi jeled jön be és 1 percen belül mekkora a mérési idő.


Vagyis ha 30 fogas jeladód van és 100milisec a mérési idő akkor
jelek száma * 10 * (60sec / 30fog)= RPM

A 10 az elején=az 1másodpercben a 100ms 10szer van meg.

Így az Lcd-t 100ms onként frissíted. kiíratod a fordulat számot és a végén kinullázod a TMR számlálóját.

Így működik nekem is a kocsiban az óra csoport, mind a sebesség és mind a fordulatszám mérő.
(#) Gagyicom válasza kkrisz75 hozzászólására (») Feb 9, 2012 /
 
Valami ilyesmi fordult meg a fejemben nekem is, csak a tmr0 paraméterezése még nem tiszta. Valamint a tmr0 párhuzamosan fut a főprogrammal ugye? Mert 100msec nekem sok idő a kiesésre, viszont a fordulatszám meg fontos paraméter lenne.
(#) kkrisz75 válasza Gagyicom hozzászólására (») Feb 9, 2012 / 1
 
Igen megszakításban használva a "háttérben" fut.

Mit akarsz mérni? Hol használod?
(#) Gagyicom válasza kkrisz75 hozzászólására (») Feb 9, 2012 /
 
Egy komplex mérőrendszer csinálok amely ráadásul usb van összekötve egy géppel. Majdnem mindent megoldottam, csak a fordulatszámmérés van vissza. Az idő az usb kommunikáció miatt fontos, hogy az adatokat a megfelelő felbontásban kapjam meg. 2 minta/sec a minimum.
(#) kkrisz75 válasza Gagyicom hozzászólására (») Feb 9, 2012 / 1
 
Ha úgy érted a mintát, hogy a fordulatszámot kimérje akkor a 100ms-os mérés az 10 minta /mp

Nálam a futása a programnak:
- Főprogramban elindítja az LCD-t
- Ez után hív egy tmr0 makrót, amit 20Mhz-es kvarcnál 1220 hz re állítottam. Ebbe tettem egy számlálót ami 122ig számol. Vagyis ez a 100ms-os idő.
Amikor a számláló eléri a 122-t akkor az LCDfrissítés nevű változó = 1-el.
- Ez után másik makró amiben az RB0-t kezeli. Itt az RPM változóhoz hozzá ad 1et vagyis RPM=RPM+1

- Ez után jön egy végtelen cikus amin belül van egy feltételes elágazás.
- Ha az LCDfissítés változó = 1 akkor írja ki a ....
- RPMKiírás = RPM * 20 vagyis (RPM * 10* (60/30)) vagyis (RPM * 10 * 2)
- Ezt kiírja az LCDre (nekem kerekíti 100ra mert nekem nem kell pontosabban, egyébként a 20-as szorzás miatt 20asával lépked)
- Ez után az LCD és a Timer változó = 0

Ezt a ciklust ismétli lényegében.

Vagyis 100ms onként kiírja a fordulatszámot.
(és még kis millió dolgot csinál: méri a sebességet, meg tett Km-t, benzin szintet, víz hőfokot, vezérli a ledeket, stb..)

Ha egyesével kell a mérés akkor 60 fog kell a jeladóhoz, hogy a 60as szorzást / osztást ki lehessen hagyni. lásd a képlet .... jel *10*(60/60) vagyis RPMkiírás = RPM * 10

A mérési pontosság nagyon sokban függ a bejövő jelek számától 1 fordulaton belül.
PL kocsinál a trafóról csak 2 jel jön be fordulatonként. Gyakorlatban viszont a jel tüskék miatt, ez 4 jel lesz. Viszont nagyon nagy léptében számol lásd képlet.

RPMkiírás = RPM * 10 * (60/4)

Vissza számolva, nagyokat ugrik fordulatszám változáskor.

Ezt lehet kompenzálni az idővel. Ha neked elég 4 minta akkor elég 250ms onként mérni viszont ott a 10 helyére 4-et kell tenni a képletben mert 250ms 4szer van meg az 1 másodpercben.
Ezzel lehet játszani.
(#) kkrisz75 válasza kkrisz75 hozzászólására (») Feb 9, 2012 /
 
Ez lemaradt a végéről.

Azért fontos az 1 fordulatra eső jelek száma minél nagyobb legyen, mert annál kisebb lehet a mérési idő, ezzel annál pontosabb lesz a mérés is.

Pl ha 1 jel jön be fordulatonként akkor alacsony fordulaton rövid mérési idő alatt nem jön be jel így nem mér semmit. Ugyan akkor magasabb fordulaton is mérhetetlen lesz.

Példák az én mérési időmmel és jeladómmal.
Képlet: RPMkiiras=RPM * (10*(60/30))

Ha 10 jel jön be 100ms alatt akkor
RPMkiiras = 10* 20 = 200
Ha 11 jel jön ben 100ms alatt
RPMkiiras = 11* 20 = 220
Ha 12 jel jön be
RPMkiiras = 12* 20 = 240



Viszont ha 4 jel jön be 1 fordulat alatt akkor 100 ms alatti mérésnél: RPMkiiras = RPM * 10*(60/4) =
RPM * 150

Vagyis ha 5 jel jön be akkor RPMki= 5*150 = 750
Ha 6 jel jön be akkor 6*150 = 900
(150es lépték)


Ha növelem az időt 250ms-ra mert kevés a jel:
Akkor a képlet RPMkiiras=RPM * 4 *(60/4) = RPM * 60
Ha 5 jel jön be akkor 5*60 = 300
Ha 6 jel jön be akkor 6*60 = 360
(60as lépték)


Ha 60 jel jön be fordulatonként és 100ms a mérési idő akkor (10es lépték)

Remélem érthetően tudtam leírni ami a fejembe van
(#) Gagyicom válasza kkrisz75 hozzászólására (») Feb 9, 2012 /
 
Köszönöm a válaszod! A fordulatszámmérés fizikájában otthon vagyok és a mérési elvekben is, csak a picen belüli feldolgozás jelent, jelentett problémát, de most amíg itt elcsevegtünk összedobtam egy programot és úgy néz ki, hogy működni fog. Köszönöm az infókat. Egyébként infravörös, fényreflexió elvén működő fodulatszámmérést csinálok.
Következő: »»   47 / 360
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