Fórum témák
» Több friss téma |
Ü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?
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.
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
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
Szia nézd meg a mellékletet hátha segít.
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 ?
És itt van még egy rakás file
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
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?
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 .
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
Köszi ez volt a megoldás...
Utánnaolvasok hogy mi is ez...
Ü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.
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.
Nálam lefordul ékezetes betű nélkül.Ékezetessel nem...
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.
Nincs hosszú elérési utad?
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.
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?
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.
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.
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ő.
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.
Igen megszakításban használva a "háttérben" fut.
Mit akarsz mérni? Hol használod?
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.
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.
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 ![]()
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.
|
Bejelentkezés
Hirdetés |