Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   108 / 1210
(#) gianni89 válasza icserny hozzászólására (») Ápr 12, 2011 /
 
Érintkezési hiba volt. Köszi
(#) dudzsi hozzászólása Ápr 13, 2011 /
 
Sziasztok!
16F676-nál ha be állitom _INTRC_OSC_NOCLKOUT-ra akkor alapbol 4MHz fog menni a PIC? Vagy be kell konfigurálni assemblybe. Mit kell be irni assemblybe amikor az orajelet állitom be?
Köszi
(#) El_Pinyo válasza dudzsi hozzászólására (») Ápr 13, 2011 /
 
Igen, csak a konfigurációs szóban kell megadni az oszcillátor típusát ebben az esetben. Lehetőség van a belső oszcillátor kalibrálására is, mindezen információkat bővebben az adatlap tartalmazza.
(#) Hp41C válasza dudzsi hozzászólására (») Ápr 13, 2011 /
 
Szia!

Csak 4MHz -es oszcillátora van... Ha még a MCLR -t is letiltod, tegyél a kimenetté konfigurálás, T1 gate, oszcillátor engedélyezése elé néhány ms várakozást...
(#) nagy_david1 hozzászólása Ápr 14, 2011 /
 
Üdv!

Megint én vagyok. Valakit megkérek írjon egy könyv címet a következő elvárásaim alapján -mivel a csipp-csupp tanulásom nem igazán alapokra épül-: alapfoktól kezdőknek, C nyelvet és ne assembly-t használjon, magyar nyelv előny. Rengeteg könyvet találtam de egyik része érthetetlenül magyarázott számomra másik fele pedig assembly-t részesítette előnyben és használta. A másik pedig az, hogy egy mások által ajánlott könyvel szeretném kezdeni. Inkább legyen angol csak konyhanyelven tárgyalja a dolgokat. C nyelves ismereteim alapfokúak.
Apropó ez utóbbival kapcsolatban is van egy kérdésem. Win7 alatt milyen C programokat ismertek. Sajnos a DOS-al eddig a bajom eléggé meggyűlt Win7 alatt, míg a visual C#-ban néha a C parancsok nem kompatibilisek vagy épp generál a program is párat. Valami ötlet esetleg?
(#) vilmosd válasza nagy_david1 hozzászólására (») Ápr 14, 2011 /
 
A konyvespolcon van C konyv PIC-re, es altalanos C-re is. Magyarul es kulfoldi nyelven. Nezz szet!
(#) nagy_david1 válasza vilmosd hozzászólására (») Ápr 14, 2011 /
 
Köszönöm. Nagyon tetszik ez a könyvespolc kifejezés.
(#) Bari- hozzászólása Máj 5, 2011 /
 
Sziasztok

Kezdő vagyok PIC téren, egyelőre csak mások által megírt dolgokat próbálok életre kelteni, eddig nem is volt gondom. Most belefutottam egy nem működő kapcsolásba és nem tudom, hogy én égetem e be rosszul a programot vagy a pic-el van e a probléma.
A kapcsolás egy RGB ledes lámpa lenne, a kapcsolási rajzon PIC 16F628A szerepel, nekem itthon egy 16F628 20/P pic-em volt (jópár éve kaptam egy barátomtól, a fiókban porosodott, az ICD 2 látja, írja, olvassa, töri gond nélkül), gondoltam ennek is jónak kellene lennie, sajnos sem az oldalon írt konfig bitekkel, sem úgy hogy ezeket a forrásból veszi nem indult el a kapcsolás. A 15-ös lábon akkor is test van, mikor a dip kapcsoló nincs zárva és 5V-nak kellene lennie. A program beégetésére egy eredeti ICD2-t használok.
A kapcsolásból találtam egy másik verziót is, ott 6-os dip kapcsoló van 2 + funkcióval, és máshogy van a pic-hez kötve, ugyan ez a jelenség.
Én csinálok valamit rosszul vagy ide nem jó a sima 628-as és mindenképp az A-s verzió kell?

A lámpa párom szülinapjára készülne.
A segítséget előre is köszönöm :worship:
(#) icserny válasza Bari- hozzászólására (») Máj 6, 2011 /
 
A PIC - Miértek, hogyanok c. topikban szerepelt már ez a kapcsolás. Ha jól csalódom, ebben a hozzászólásban van a megoldás. A "használati útmutató" pedig ebben található.
(#) Hp41C válasza Bari- hozzászólására (») Máj 6, 2011 /
 
Szia!

A belinkelt oldalon ott a forrás álomány is... Igaz, jal -ban íródott, de a beállítások így is kiolvashatók...
(#) icserny válasza Hp41C hozzászólására (») Máj 6, 2011 /
 
Nekem annak idején (januárban) azt a forrást nem sikerült lefordítani. Nem tudni pontosan, hogy melyik változattal, milyen támogatói könyvtárral fordul. Akiknek működött, csak a kész HEX állományt használták.
(#) Bari- válasza icserny hozzászólására (») Máj 6, 2011 /
 
Köszönöm a válaszokat.
StefuPeti által a linkelt topicba feltöltött zip-el is próbálkoztam még tegnap éjjel, Annyit sikerült elérnem, hogy a konfig biteket a forrás által állítva beíródik a hex de ír valami hibaüzenetet, hogy nem teljesen jók a konfig bitek ( 16F628 20/P pic-et használnék), éjfélkor nem volt már energiám tovább foglalkozni vele. Ma este újra megpróbálom életre kelteni.

Bari
(#) watt válasza Bari- hozzászólására (») Máj 6, 2011 /
 
Pedig a két PIC konfigurációs szavai között 1 bit elérés van, az is úgy, hogy a A-s típusnak 1-el több van a kódvédelemre, azaz nem nagyon szabadna ettől lennie. A PIC-ek felépítése között azonban van eltérés, de ez csak akkor okozhat problémát a migráláskor, ha érinti az adott részt a program.
(#) Bari- válasza watt hozzászólására (») Máj 6, 2011 /
 
Sajnos a programozáshoz még nem értek, így nem tudom megítélni, hogy a program használ e ilyen részt a pic- ben ami az egyikben benne van, de a másikban nincs, a fentebb belinkelt oldalon azt írja jó a sima és az A verzió is (one PIC 16F628 or 16F628A and a suitable device to program this microcontroller), így gondolom jónak kéne lennie. Este tudok írni konkrét Mplab hibaüzenetet, pontosan nem emlékszem rá mi volt, de valami olyasmi, hogy a beállított konfigurációs bitek közül van olyan amit nem támogat az adott pic, ettől függetlenül beégette a hex-et, a 15-ös lábon nem volt már fix test, és a piros led egyfolytában világít, de mást nem csinált. Este jelentkezem a fejleményekkel, remélem sikerül életre kelteni.

Bari
(#) watt válasza Bari- hozzászólására (») Máj 6, 2011 /
 
Ha azt írják, akkor elvileg nincs is kérdés!

A hibaüzenet pontos, valóban az A-s típus CP1 bitje nincs, azaz nem használt a sima típusban. Ez semmi gondot nem okozhat. Annak mennie kéne, ha mindent összevetettünk!
(#) Bari- válasza watt hozzászólására (») Máj 7, 2011 /
 
Tegnap sajnos nem jutottam el odáig hogy ismét foglalkozzak az áramkörrel. A pontos hibaüzenet:
MPLAB ICD 2 does not support programming this device if both the internal oscillator and internal MCLR are selected. You may continue programming, but you are encouraged to cancel, reconfigure your device, and try again.
A konfig beállításokat a forrásól veszi, megpróbálom kézzel beállítani ezeket hátha sikerül.

Bari
(#) Bari- válasza Bari- hozzászólására (») Máj 7, 2011 /
 
Sajnos kicsúsztam már a módosítási időből.
Kézzel beállítva a konfig biteknél a külső MCLR-t már hibaüzenet nélkül beégetődik a hex, és a kapcsolás is működik.
Köszönöm szépen mindenkinek a segítségtt :worship:
A kész lámpáról rakok majd fel képet a ki mit építettbe.

Bari
(#) potyo válasza Bari- hozzászólására (») Máj 7, 2011 /
 
És mi nem világos ezen az üzeneten?
(#) szitko hozzászólása Máj 11, 2011 /
 
Sziasztok.
Kicsit belekeveredtem a PIC16f A/D konverterébe és nem nagyon találom a kiutat.
Tehát. Az alap elmélet, hogy egy A/D bemenetre rákötök egy potit, három másik portra 3db ledet, ha egyik irányba fordítom a potit (középállástól számítva) az egyik led világít, ha másik irányba fordítom a másik led, ha középpen van a harmadik led világít.(ez a hardver része). Beállítom az A/D-t ahogy kell, ez idáig müködik is. Beolvasom az ADRESH-t ami ugye csak 8 bit a 10-ből. Az ADRESL-el egyenlőre nem foglalkozom, mert...Namost a program szimulátoron megy úgy ahogy a hardver résznél leírtam, csak itt akadtam el, ha jól értelmeztem eddigi olvasmányaim, akkor az A/D 0-1024-ig alakítja át az analóg jelet. Ahoz, hogy a középállásnál világítson a led, ennek az értéknek 512-nek kell lenni, ha csak a felső 8 bitet használom (ARDESH) akkor ugyanez az érték csak 127, de nem értem, hogy lesz 1024-ből 255.Tudom, hogy 8 bit csak 255, de akkor hova lesz a többi érték? És ha mind a 10 bitet használnám, azt ASM-ben hogy adjam meg, hogy a közép 512. Nem értem. (Kicsit bonyolult ez nekem).

Megköszönném ha valaki el tudná magyarázni tőmondatokba.
(#) foxi63 válasza szitko hozzászólására (») Máj 11, 2011 /
 
Szia!
Ha csak a felső 8 bitet használod, akkor a felosztás csak a negyede a lehetségesnek. Ekkor 0- 0xff ig használod a számokat. Közép érték a 0x7f, jól írtad. Ha mind a 10 bitet használod, akkor a Ram-ot ellapozod eggyel följebb, kiolvasod az értéket, visszalapozod a ramot, és a továbbiakban valahova elmented az alsó számot. A két szám tekinthető 1db 16 bites számnak, ami a 11. től a 15. bitig 0-val van feltöltve. Na most ha összeakarod hasonlítani monjuk az 511 -el , ( 0x1ff) akkor egy kivonást kell csinálnod .A CARRY bitet beállítod 1-re elsőnek kivonod az alsó byte-ot ,ha az nagyobb, akkor jelzi a C bit , akkor a második számhoz hozzá kell adni mégegyet,(elágazás) ezután kivonod a másik számból a felső byte-ot az eredményt jelzi a Z bit (egyenlőek),és jelzi a C bit is, kisebb vagy nagyobb.
Ettől fog elvállni melyik led is világítson.
üdv.: Foxi
(#) Hp41C válasza szitko hozzászólására (») Máj 11, 2011 /
 
Szia!

A szimulátor pontos, a megvalósított áramköz zajos...
A középállást úgy figyeld, hogy egy alsó és egy felső hatás között levőt tekinted középállásnak. pl. 126 és 128 között vagy 125 és 129 között stb.
(#) szitko válasza foxi63 hozzászólására (») Máj 11, 2011 /
 
Köszönöm a kimerítő választ, így már kicsit érthetőbb a dolog.
Ha csak a felső 8 bitet használom, és pl. a ref. fesz a VDD-VSS, akkor ugye a közép érték az 127d=2,5V. Ilyenkor mekkora lépésekben számol az A/D? Ezt ki lehet számolni valahogy? Gondolom, akkor a pontosság rovására megy, ha csak 8 bitiet használok.
(#) szitko válasza Hp41C hozzászólására (») Máj 11, 2011 /
 
Igen két érték között lévö volt az értékhatár, de nem ez volt a bajom, hanem az elmélet. Most beégettem a progit egy PIC16f877-be rádugdostam a ledeket és láss csodát, működik.(mellékelve) Foxi63 elég jól elmagyarázta az A/D működését.

ad_1_1.asm
    
(#) foxi63 válasza szitko hozzászólására (») Máj 11, 2011 /
 
Szia! Hát igen a felbontás = 5.0V /255 = 19,6mV
amennyiben 5V a PIC tápja . Jelen esetben (led) nem érdekes a felbontás. A potméter max. 10K lehet, de érdemes a csúszka és a test közé egy 10- 100nF szűrést tenni, akkor stabil lesz a feszültség.Esetleg átlagolhatsz, összeadod 8x az eredményt, majd 9. re eltolod 3 bittel jobbra (/8), vagy egy időzítővel csak 1sec időnként olvasod be. vagy .......
Na ezért érdemes programozni!!!
üdv.: Foxi
(#) szitko válasza foxi63 hozzászólására (») Máj 11, 2011 /
 
Tehát a variáció tárháza kifogyhatatlan.Jelen esetben a PIC tápja 5.0V, a poti 10k, külső VREF+ 3.2V stabil (AN3), mindenhol 100nf szűrés kivéve a analóg bemeneten, ott csak 10nf (AN0), és 0.01mV-os pontosság kell nekem.
Köszönöm szépen a segítséget! (ha ennyi elég.)
(#) potyo válasza szitko hozzászólására (») Máj 11, 2011 /
 
0.01mV az elég meredek, ahhoz kb. 19 bites AD átalakító kellene. Biztos kell neked ekkora? Vagy 10mV akart az lenni?
(#) szitko válasza potyo hozzászólására (») Máj 11, 2011 /
 
Bocsi nem 0.01mV, hanem 0.01V. Mégegyszer bocsi az elírásért.
(#) trudnai válasza szitko hozzászólására (») Máj 11, 2011 /
 
Idézet:
„Bocsi nem 0.01mV, hanem 0.01V”


Tehat 10mV. foxi63 szamitasabol kiindulva neked 2.5V referencia fesz kellene, igy akkor 2.5 / 255 = 0.0098 ~ 0.010V azaz 10mV lesz a felbontas...
(#) szitko válasza trudnai hozzászólására (») Máj 11, 2011 /
 
Igen 10mV, de a referencia fesz az 3.2V, azt írtam késöbb. Ebből a 3.2V-os ref feszből csináltam a 3 ledes példakapcsolást.
(#) watt válasza szitko hozzászólására (») Máj 12, 2011 /
 
A kérdés már csak az, hogy érted-e már, hogyan kell kiszámolni a felbontást adott bitszámú A/D esetében, mert azért ez nagyon egyszerű! Ha igen, akkor mi a probléma azzal, hogy 3,2V a ref feszed?
Következő: »»   108 / 1210
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