Fórum témák

» Több friss téma
Fórum » Modulrendszerű, grafikus PIC programozás
Lapozás: OK   49 / 177
(#) aderka válasza baloghzoli1 hozzászólására (») Nov 7, 2009 /
 
Kösz, erre nem gondoltam. Nem jutott eszembe az analog bemenet felhasználása, pedig nagyon jó ötlet.

üdv: Dávid
(#) kaqkk válasza aderka hozzászólására (») Nov 7, 2009 /
 
Én valahogy így csinálnám parsicban

gombsor.PIC
    
(#) Ferkógyerek válasza kaqkk hozzászólására (») Nov 7, 2009 /
 
Én pedig így.

gombsor.PIC
    
(#) dcsabi válasza aderka hozzászólására (») Nov 7, 2009 /
 
Hogy tényleg kapcsoló kegyen, vagy nyomógomb, akkor a következőt javaslom...
A nyomógomb egyik fele az analóg bemenetre, a másik fele egy feszültség osztó a test és a + 5V közé poti (trimmer poti) vagy két ellenállás összesen Kb10k sorba és a nyomógomb a közös ponton. Vagy a balogzoli által feltett rajz szerint...stb
Minden nyomógombra különböző az érték, esetleg programozás megkezdésekor egy LCD-re kiiratni minden kapcsoló értékét, és a limitert ehhez állítani a programban. (Parsicban ez kb 5 perc...)
A példa 4 nyomógomb, de természetesen 10-16 is lehet...

AN_K_N.PIC
    
(#) dcsabi hozzászólása Nov 7, 2009 /
 
Ez jó volt!- mig rajzolgattam, ferkógyerek majdnem ugyanazt rajzolta...csak kicsit előbb...(ezt Mplab le is fordítja)
(#) kaqkk válasza dcsabi hozzászólására (») Nov 7, 2009 /
 
Van már választék
(#) elektrorudi válasza aderka hozzászólására (») Nov 8, 2009 /
 
Ezt a gyakorlatban régóta használják.
Pl. a viszonylag sok nyomógombot igénylő híradástechnikai cuccok: magnó, rádió tuner, autórádió, videó, stb. nyomógombjait is így oldják meg.
(#) aderka válasza dcsabi hozzászólására (») Nov 8, 2009 /
 
Köszönöm, innen már boldogulok, csak mondom nem jutott eszembe az analog bemenet felhasználása...
Egyébként mi a helyzet egy 628-as PIC-nél, ahol nincs analog bemenet?
(#) dcsabi válasza aderka hozzászólására (») Nov 8, 2009 /
 
Én hamar átlépném a problémát!
Mivel első szempont nekem az adott feladat megoldása.
Ehhez, miután behatároltam a program strukturáját, választok egy mikrovezérlőt ami alkalmas a feladatra és tudom progarmozni.
Ha az említett sajátossághoz nem kényszerít semmilyen fogadalom, akkor használok másik mikrovezérlőt, (nem hinném, hogy 3-400 ft) külömbség megéri, hacsak nem 100 db egyforma cuccot kell csinálnom.
Egy nyomógombbal csináltam már menüt. Feltételezem valamilyen optikai megjelenítés van a rendszerben adott esetben és ez mutatja hol járok,- belépés menüpont váltás, előre hátra léptetés...(időzítéssel,késleltetéssel, adott számu nyomásal,...stb kombinálva)
Ez adott esetben a program tárból vesz el helyet, a második nyomógomb ezen módszer szerint szinte korlátlan lehetőséget teremt. Lehet, hogy többre megyünk vele...
(#) aderka válasza dcsabi hozzászólására (») Nov 8, 2009 /
 
Köszönöm a segítséget!
(#) Peti.Janka válasza elektrorudi hozzászólására (») Nov 8, 2009 /
 
Akkor ennek köszönhető, hogy az erősítőmön megnyomok egy gombot és teljesen mást reagál mint kellene
(#) kkrisz75 hozzászólása Nov 8, 2009 /
 
Bocsánat, és tudom, hogy elég régen volt már...
(Előre jelzem 0 szinten vagyok PIC témában)

Visszanéztem a topic legelejére, és laponként haladok előre. Eljutottam a led villogtatás saját magam való programozásáig, Aztán a futófényt is megoldottam.
Nagyon jók voltak a progik, hogy ellenőrizni tudjam magam.

Lényegében nekem egy fordulatszám mérő kell a kocsiba. Azért álltam neki. Találtam is rá megoldásokat. Ha jól emlékszem kaqkk megoldását néztem át.

Igazából magam kezdtem el írni az alapján és végül lépésről lépésre, hogy meg értsem, lemásoltam.

De van mégis 1-2 problémám vele.

Hogy használom fel a 16F628 as belső 4MHz órajelét, hogy a percenkénti fordulatszámot írja ki.
Mivel az időzítőt ms ban kell beállítani, hogy számolom MHz-ből?

Vagy is 1 fordulat/perc alatt 2 jel érkezik az elosztóról. Az azt jelenti, hogy 1x(2/60s) ami 0.033hz. Eddig el jutottam.
Azt is meg tudom számolni, hogy adott idő alatt hány darab jel érkezik be. De hogyan számolom ki, hogy mennyi legyen az adott idő. Vagyis mekkora érték az egységnyi idő? Mennyi ms?
(#) kaqkk válasza kkrisz75 hozzászólására (») Nov 8, 2009 /
 
Ha egy fordulat alatt 2 jel érkezik , akkor 5000 fordulat 10000 jel ezt osztod 60 -al és megkapod hogy egy s alatt hány jeled van , a mérési időt úgy variálod hogy ez egész számot adjon .
(#) kkrisz75 válasza kaqkk hozzászólására (») Nov 8, 2009 /
 
Ok ezt értem...

De a PIC ben megadott milisec az kb. valós?

Pl ha 100ms alatt megszámolom hány jel érkezik, és azt felszorzom 10el akkor tudom, hogy 1s alatt mennyit fordul, és azt szorzom 60al, és osztom 2 vel(vagy 30al szorzom) akkor tudom, mennyit fordul 1 perc alatt.

Ez jó lehet így?

Vagyis mindegy hány MHz az órajel, a PIC az nagyjából jól számolja a parsic-ban megadott milisec-ot?
(#) kaqkk válasza kkrisz75 hozzászólására (») Nov 8, 2009 /
 
4Mhz -s órajelnél valós a beírt ms időzítési érték
(#) proli007 válasza kkrisz75 hozzászólására (») Nov 8, 2009 /
 
Hello!
Kicsit számolj még utána, mert kissé darabos lesz és kétszer akkora mint a fordulat. Mert 1,66-ot nehezen szorzod meg 60-al.
üdv! proli007
(#) kaqkk válasza aderka hozzászólására (») Nov 8, 2009 /
 
A 628 nál használhatod a D Csabi által ajánlott menürendszert 2 gombbal ! Az egyik gombbal lépkedsz a menüben a másikkal állítasz !
(#) kkrisz75 válasza kaqkk hozzászólására (») Nov 8, 2009 /
 
A programodat alapul véve.

A TR1 2ms os időzítéssel, az ST1 500 ig számol az azt jelenti, hogy 1s alatt bejövő jeleket számolja meg (2x500 ?), amit az AF1 felszoroz 60al.
Így a percenkénti fordulatszámot kapom?

Viszont ha két jel van fordulatonként akkor melyik a jobb.

Ha AF1 30al szorzom, vagy Az ST1 csak 250ig számol?

Jól gondolom?


FR_01.PIC
    
(#) kaqkk válasza kkrisz75 hozzászólására (») Nov 8, 2009 /
 
Próbáld ki ! 50 hz -el meghajtva 3000 / perc
(#) kaqkk válasza kaqkk hozzászólására (») Nov 8, 2009 /
 
Így azt mutatja hogy jól számoltunk !

FR01.PIC
    
(#) kkrisz75 válasza kaqkk hozzászólására (») Nov 8, 2009 /
 
Igen.... világos.

Tovább nézegettem, és csak 60 fordulatonként számol.

Laikus gondolat: Kérdés, hogy jó-e?

Ha én felszerelek egy "fogaskereket" 60db foggal és azt optikai érzékelőn keresztül adom jelnek, akkor ha jól számolom, elég lenne az AF1 elemben a 10es szorzás, és a mérési időt 2ms-al 50ig számolva 100ms-ban tudnám megállapítani.

Vagyis 0-1000ig csak 10eseket 1000 felett viszont már az 1eseket is mérné.

Egyben a másik kérdés:
7000 fordulaton ez 7000 jel per másodperc, 7 jel per milisec.
A PIC és az optikai érzékelők képesek ezt mérni?
(#) kaqkk válasza kkrisz75 hozzászólására (») Nov 9, 2009 /
 
Akkor most döntsd el mi a cél és hogyan szeretnéd megoldani ! Eddig a motor gyújtásáról beszéltünk
most fogaskerekes jeladóról !Egyébbként az összes
jelet számolja ami beérkezik ! Csak a rövid mérési idő miatt kell 60-nal szorozni .
(#) proli007 válasza kkrisz75 hozzászólására (») Nov 9, 2009 /
 
Hello!
- Írd már fel a képleteket magadnak! Hogyan lenne 7000 fordulat, 7000Hz? A fordulatot nem egy percre adják meg? (700Hz itt 420 000 fordulat lenne.)
- Tekintve, hogy csak egész számokat tudsz szorozni itt, ha 60-al szorzol, akkor 60-anként fog a kijelzés ugrálni..
üdv! proli007
(#) sniperx hozzászólása Nov 9, 2009 /
 
A mellékelt kapcsoláshoz gondoltam egy kódos beléptetésre. Erre tudnátok valami bevált progit adni?
Normál nyomógombokkal felépített tasztatúrám van itthon, ezt gondoltam használni hozzá.
Elég annyit tudnia, hogy egy négyjegyű számra adjon ki egy impulzust, ami indítaná a kapcsolásomat.
A szám beállítása elég, ha a pic átírásával működik, tehát nem kell, hogy a taszton keresztül át tudjam írni.
Kijelző nem lesz kapcsolva hozzá, tehát valami egyszerű kellene. Még annyi, hogy elhibázott kód esetén legyen egy billentyű, ami visszaállítja alapra az új kód beírásához.

alarm.pic
    
(#) sniperx hozzászólása Nov 9, 2009 /
 
Még egy kérdés: ha a programon belül több azonos időalapú ütemadóra van szükség, akkor érdemes ugyanarra kötni az összeset, vagy lehet helyenként letenni egyet? A lényege az lenne, hogy ezt a fordításkor több időzítőként kezeli-e a fordító, illetve ezzel lehet-e megtakarítani helyet/program időt?
(#) Ferkógyerek válasza sniperx hozzászólására (») Nov 9, 2009 /
 
Ha azonos időalapra van szükséged akkor csak egyet tegyél le és arról menjen az összes. Mivel ahogy írtad is, mindegyikhez külön rutint ír a program. A legegyszerűbb ha felcimkézed a kimenetét (label-is source) és minden egyes helyen ahol szükséged van rá csak leteszel egy újabb cimkét (label-is destination).
Így nem kell keresztülhúzni a fél rajzon.
(#) kkrisz75 válasza proli007 hozzászólására (») Nov 9, 2009 /
 
Ez a 7000 fordulat/perc a max fordulat.

7000 1/min x 60jel/perc(60 fog 1 fordulatra elosztva) = 420000 jel/perc : 60 (hogy másodperc legyen) = 7000 jel/mp max fordulaton.
Így jött ki a 7000.

kaqkk.
Elsőre a gyújtásról akartam le venni, de ott a 60as szorzás miatt csak 60 fordulatonkénti lépést mutat. Amúgy jól mér nincs is vele bajom, csak ne 60anként hanem legalább 10 fordulatonként léptessen, volt a terv.

Igy nem a szorzást, hanem a bejövő jelek számát növelem ("szorzom") 60al, így elég a 10es szorzás. Ami egész számú értéket eredményez fordulat/perc -nél.

Ford_03.PIC
    
(#) proli007 válasza kkrisz75 hozzászólására (») Nov 9, 2009 /
 
Hello!
Hát akkor jól bevittél minket az erdőbe a 60-as fogaskerékkel.. :yes:
üdv! proli007
(#) kkrisz75 válasza proli007 hozzászólására (») Nov 9, 2009 /
 
Az igaz... bocsi...

Nektek ez kb egy 5 perces program, nekem meg már 2-3 napi agyalás volt.

Utólag visszagondolva az egészet, tényleg nem bonyolult. De nekem így 4-5 nap PICel való foglalkozás után még valahogy nem megy rutinból.

Alapból ott el akadtam, hogy a Timer (Tr) a 2 jel közti időt méri ms-ban, de én azt egyfolytában át akartam számolni 4Mhz-ről. Bonyolítottam.

Így ez a program, sokat segített a legegyszerűbb dolgok megértésében.

Köszi a segítséget.

(Megpróbálom magam kitalálni, hogy tudok-e ehhez pL: 6500 1/min -re váltásjelzőt beállítani) Láttam EEprom ról egy programot régebben, és egy órát amin gombokkal lehet beállítani az időt, évet, napot - nagy falat lesz.... nekem.
(#) dcsabi válasza kkrisz75 hozzászólására (») Nov 9, 2009 /
 
Ha tőbb összetettebb feladatot hajtasz a PIC-el, akkor ezeket próbáld ki egyedül lehetőség szerint.
Ha megtapasztalod a használatot akkor bővítsd, bonyolítsd tovább...
Következő: »»   49 / 177
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