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   207 / 1211
(#) vilmosd válasza _ampervadasz_ hozzászólására (») Feb 7, 2012 /
 
Haat szoval nem lehetetlen, de ugye a vezerleshez elhasznalsz 15 portlabat, es egy rakas programszot. Mit nyersz vele? 24 portlabat. Persze ha tobbet is hasznalsz azonos buszon, akkor esetleg megerne. Ugye a /CS labakat kell kulon vezerelni, a tobbi kozos. Akkor erne meg ra fejleszteni, ha lenne belole sok, es lenne sok idod a fejlesztesre. Ja es olyan keszulek kellene ahol szukseges a sok I/O. Persze a neten rakeresve vannak probalkozasok, tehat nem lehetetlen. Viszont ha megnezed a PIC valasztekot, kicsi penzert vannak sok I/O-val es mas periferiaval rendelkezo tipusok. En inkabb ebbe az iranyba indulnek el.
(#) _ampervadasz_ válasza El_Pinyo hozzászólására (») Feb 7, 2012 /
 
Köszönöm az információt.
Kidobva semmiképp nem lett volna, ez nálam amolyan szleng, hogy bekerült a fiókba.
(#) _ampervadasz_ válasza vilmosd hozzászólására (») Feb 7, 2012 /
 
Igazad van, ezt mindenképp figyelembe vettem, egy öcsipanelen keresztül, legfeljebb gyakorlásra fogom, használni próba panelen, bár megjegyzem az még nincsen.
(#) Sten hozzászólása Feb 7, 2012 /
 
Sziasztok tegnap feltettem egy kérdést amire kaptam is bubuc17-től választ de sajnos mivel még nagyon kezdő vagyok ezen a téren nem nagyon értettem...
Ki tudná nekem valaki fejteni hogy hogy tudok megbizonyosodni hogy egy PIC működőképes-e még
(#) _ampervadasz_ válasza Sten hozzászólására (») Feb 7, 2012 /
 
A PIC -en kivűl meg ven a még a programozód?

Ha igen, akkor a Microchip szoftverét felrakod a gépedre, a programozót csatlakoztatod, a programozóhoz egy adaptert ami csak azt teszi lehetővé, hogy a PIC lábait ne kelljen forrasztgatni, majd ebbe rakod a PIC -et, figyelve a bekötési sorrendet.

Ez utzán elindítod az olvasást ha sikeres, akkor már tudni, lehet hogy az MCU vagy is a PIC jó, viszont az még nem biztos.

Attól hogy az MCU feléled, és fel lehet programozni, az még nem azzal egyenlő, hogy a külvilággal is, tudja a kapcsolatot tartani. A külvilággal a lábain keresztül veszi fel a kapcsolatot. ezek a bit vezetékek.
Na most, ha egy bitvezeték szét van lőve, akkor azon soha nem tudsz kihozni magas "H" logikai szintet.

Ezt úgy lehet a legegyszerűbben letesztelni, ha írva van a PIC -re egy program, hogy az összes portján az összes bitvezetékét kapcsolja be-ki mondjuk 250ms -onként. Ekkor már egy LED -el (természetesen egy előtét ellenállást jól megválasztva) végig lehet vizsgálni az összes bitvezetéket.
Ha az össze bitvezetéken villog a led akkor az azt jelenti, hogy a PIC, nem csak jó, hanem fel is tudja venni a kapcsolatot a külvilággal.
Viszont ha egy vagy két bitvezeték szét van lőve az sem baj, mert attól még a többi használható, kevesebb i/o -t igénylő alkalmazásokban.
Ez általában a 16F877 "méretű" pic -ekre igaz, fizikai méretben kisebb PIC -ekben mint például 16F84 általában az összes bitvezeték tönkre szokott menni.

Ennek kiderítésére (ahogy írtam, és kolléga is) kell egy teszt program, ami ki be kapcsolgat az összes bitvezetéket, majd megvizsgálod. és örülsz, hogy jó a célhardvered.

Ezt csak általános gyakorlatra írom, nem olvastam vissza, a hozzászólásidban, csak ezt amit most írtál.
(#) bubuc17 válasza Sten hozzászólására (») Feb 7, 2012 /
 
Elég ha csak bekapcsolod az összes kimenetet és ezt ismétled. A kimenetre egy ledet 1k ellenálláson keresztül.
Így ha jó a lába akkor világít, ha nem akkor sötét.
Bemenetek ritkán mennek tönkre.
(#) Blade666 hozzászólása Feb 7, 2012 /
 
Sikerült összehoznom az A/D átalakítást és a PWM-t egy 16f88-on, viszont angol tudásom hiányában segítség kellene. A PWM jelet csak a CCP lábakra lehet kiküldeni, vagy minden lábra? Ha más lábra is lehet rakni, azt hogyan lehet beállítani?

PIC16F88.jpg
    
(#) Sten hozzászólása Feb 7, 2012 /
 
Köszönöm most már értem,

Idézet:
„Utána csináltam egy programot aminél lekérdezte az összes lábat és ha valamelyik 1 akkor összes kimenetet bekapcsolta.”


Csak az nem volt világos hogy mért kel lekérdezni mért nem elég rögtön kimenetnek állítani...
(#) potyo válasza Blade666 hozzászólására (») Feb 7, 2012 /
 
Csak CCP lábakra lehet kiküldeni. Ennél konkrétan be lehet állítani a CCPMX konfig bittel, hogy az RB0 vagy az RB3 láb legyen a CCP láb.
(#) Hp41C válasza Blade666 hozzászólására (») Feb 7, 2012 /
 
Szia!

Egy timerrel és némi programmal bármelyik lábra lehet PWM kimenetet csinálni, akár egyszerre többre is.
(#) Blade666 válasza Hp41C hozzászólására (») Feb 7, 2012 /
 
Tényleg , ez eszembe se jutott, kösz a tippet!
(#) Dobbs válasza El_Pinyo hozzászólására (») Feb 7, 2012 /
 
Szia!

Tehát a timer-rel hívod a megszakítást és nem a gomb lenyomással. A megszakítás területen pedig ellenörzöd a gomb lenyomást. Ha éppen van, akkor azt letárolod egy regiszterben. Nem igazán értem, hogyan küszöböli ez ki a felengedés következtében fellépő megnyomódást?! Nekem pont a felengedés a problémám, nem tudom megértetni vele, hogy az csak a felengedés következtében kialakult téves megnyomódás Azért kipróbálom, csak nem értem ezt a fajta megoldást, lehet h félre értettem valamit. Köszi a segítséget.
(#) icserny válasza Dobbs hozzászólására (») Feb 8, 2012 /
 
Önmagában az is segíti a pergésmentesítést, ha csak olyan időközönként nézel rá a nyomógombra, ami alatt már lecseng a pergés (pl. 15-20 ms).

A másik módszer (ehhez kell a regiszter) szerint csak akkor vesszük figyelembe az állapotváltozást, ha az már több óraütés (pl. 5-10) óta megszakítás nélkül fennáll - ami arra utal, hogy stabilizálódott az állapot. Ez utóbbi módszer akkor használható, ha a pergéshez képest rövid időközönként (pl. 1-2 ms) jönnek a megszakítások.
(#) Hp41C válasza icserny hozzászólására (») Feb 8, 2012 /
 
Szia!
Itt egy harmadik módszer: Minden gombhoz rendelj egy regisztert. A gombról beolvasott bitet léptesd be a hozzá tartozó regiszterbe alkalmas időnként (timer it -ról indítva). Ha a regiszterbe alacsony aktív gombot és balra léptetést használva 0x80 kerül, a gomb le van nyomva.
(#) kiskata hozzászólása Feb 8, 2012 /
 
Kedves Hozzáértők...
Szeretném megtudni hogy hol találok arról dokumentációt hogy egy adott (legyen bármelyik) PIC-nek mi a minimális működéshez szükséges kapcsolása...?
(#) icserny válasza kiskata hozzászólására (») Feb 8, 2012 /
 
A topik fejlécében:
Idézet:
„- 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.”


Ezen kívül:
- ha van olyan láb, hogy VUSB, vagy VCAP, akkor az adatlap írja le, hogy mikor mit kell csinálni vele.
- ha nincs belső oszcillátora, akkor kvarc, vagy rezonátor is kell az oszcillátor lábakra.

Konkrétan melyik típusra vagy kíváncsi?
(#) kiskata válasza icserny hozzászólására (») Feb 8, 2012 /
 
Igen, ezeket olvastam...
Az adatlapot is... abban nem talaltam meg a minimalkonfot...
Bujtam a Mikrochip oldalt is...
Egy 18F6622-ot kaptam Valentin napra...
(#) El_Pinyo válasza Dobbs hozzászólására (») Feb 8, 2012 /
 
Félreértelmezed, amit írtam! A timer megszakításban mindenképpen beolvassuk a nyomógomb állapotát egy regiszterbe. A beolvasást shift művelettel végezzük el. Tegyük fel, hogy a nyomógomb 0-ba húz, tehát amennyiben lenyomva tartjuk, a pergéstől eltekintve logikai alacsony szintet mintavételezünk. A figyelést végző regisztert csupa 1 értékkel inicializáljuk. Amennyiben nincs gombnyomás, minden timer megszakításban 1 érték fog shiftelődni a regiszterbe, melynek tartalma így nem változik (csupa 1). Amint lenyomjuk a gombot, elkezd a prellegéstől függően 0 és 1 érték shiftelődni a regiszterbe, egészen addig, amíg a nyomógomb pereg. Amint a pergés megszűnik csak 0 értékek shiftelődnek a regiszterbe és ha a regiszter tartalma csupa 0, akkor a gomb biztosan le van nyomva. Felengedésnél is hasonló a helyzet. Mivel a lenyomás során csupa nulla van a regiszterben, a felengedés során 1 és 0 értékek shiftelődnek a regiszterbe, amíg a pergés tart. Amint vége van, a regiszterbe csupa 1 shiftelődik. Ha a regiszter értéke csupa 1, akkor biztosan fel van engedve a nyomógomb. Remélem így már jobban érthető a dolog.
(#) Hp41C válasza icserny hozzászólására (») Feb 8, 2012 / 1
 
És még
- a PGM és a föld közé 10k, újonan a LVP engedélyezett.
- MCLR, Vdd, Vss, PGD, PGC, PGM kivezetése egy 6 pólusú tüskesorra, ha felületszeret a tok, hogy fel lehessen programozni.
- Vcap láb és a föld közé az adatlap szerinti kondenzátor, ha van ilyen láb.
(#) icserny válasza kiskata hozzászólására (») Feb 8, 2012 / 1
 
Ha jól látom, ennél a 4 db VDD + 1 db AVDD lábat +5V-ra,
a 4 db VSS + 1 db AVSS lábat földre kell kötni.
MCLR 10 kOhm-mal VDD-re, PGM pedig 10 kOhm-mal földre (amíg az LVP nics letiltva).

VCAP és hasonló ennél a vezérlőnél nincs, tehát úgy tűnik, nincs semmi komplikáció.
(#) icserny válasza icserny hozzászólására (») Feb 8, 2012 / 1
 
Volt egyszer egy PICDEM HPC explorer board nevű fejlesztői kártyája a Microchipnek, abban a PIC18F6622 "nagyobb testvére", a 18F8722 lakott. A Microchip már nem forgalmazza, de a dokumentációja még itt-ott megtalálható.

Link: Kapcsolási rajz (PDF) Abban a cserélhető modulok (PIM) miatt változtatható a tápfeszültség meg átkapcsolható a RESET láb, de ezektől eltekintve érdemes megnézni.
(#) Hp41C válasza El_Pinyo hozzászólására (») Feb 8, 2012 /
 
Idézet:
„...ha a regiszter tartalma csupa 0, akkor a gomb biztosan le van nyomva.”

Érdemes egy lépéssel hamarabb meghozni a döntést akkor amikor még 0x80 van a regiszterben. Ugyanis, ha a gomb huzamosan le van nyomva, az ismételt shiftelések ugyanúgy csupa 0 értéket eredményeznek a regiszterben, mint először és a lenyomás detektálás ismételten és sűrűn bekövetkezik.
Idézet:
„Ha a regiszter értéke csupa 1, akkor biztosan fel van engedve..”
Hasonlóan itt is akkor érdemes elvégezni, ha az érték 0x7F.

Mintha már leírtam volna...
(#) El_Pinyo válasza Hp41C hozzászólására (») Feb 8, 2012 /
 
Igen így sem rossz megoldás. Én már korábban leírtam a saját verziómat (Itt), csak mivel érthetetlennek bizonyult a kérdező számára, emiatt megpróbáltam jobban kifejteni.
(#) kiskata válasza icserny hozzászólására (») Feb 8, 2012 /
 
Köszönöm... Tényleg érdekes...
(#) 5cmarzo hozzászólása Feb 9, 2012 /
 
Sziasztok!
PIC 16F627A programozásakor a Fuse bitek írásánál egy hibaüzenet jelenik meg "Error programming Fuses". Ez kontroller hibára, vagy programozó hibára utal? Miként lehet orvosolni a problémát? Köszi!
(#) Hp41C válasza 5cmarzo hozzászólására (») Feb 9, 2012 /
 
Szia!

Többször kérdezed, de ennyiből nem lehet tudni, mi okozza. Töldsd fel, add meg a linkját, amit beleprogramoznál. Milyen programozóval dolgozol?
(#) Stefan hozzászólása Feb 11, 2012 /
 
Sziasztok!
PIC18f14K50 re fejlesztgetek, és baromi idegesítő, hogy állandóan le kell húzni az USB csatit, amitől a tápot kapja amúgy, mert a PK2 mindenáron max 3.6V ot akar rákapcsolni programozásnál.
Nem lehet valahogy megértetni vele, hogy ez a rohadt PIC 5V ról is megy?
(#) El_Pinyo válasza Stefan hozzászólására (») Feb 11, 2012 /
 
Nem véletlenül! Az USB periféria miatt a programozó bemenetek nem viselik el az 5V feszültséget, így alapesetben 3,3V-os jelek segítségével megy a programozás. Ha nem akarod állandóan lehúzgálni, akkor használj USB HID bootloadert!
(#) icserny válasza Stefan hozzászólására (») Feb 11, 2012 /
 
Az USB-ről amúgy is le kell húzni, mert a programozás pont az USB adatvonalakra csatlakozó lábakon történik.

Használhatsz HID bootloadert (a PICCOLO projekt szoftver segédletében található PICCOLO-HID-Bootloader-PIC18F14K50.hex állományt javaslom, mert a gyári demóban nem jók a konfigurációs bit beállítások, a BOR nincs bekapcsolva). Sajnos, ez meg megeszi a flash memória egy jelentős részét, tehát lehet, hogy még mindig jobb a lehúzgálás.
(#) Szikra91 hozzászólása Feb 11, 2012 /
 
Hellósztok! Érdeklődni szeretnék h Ti milyen pic égetőt használtok és a készítettet akkor melyik vált be nektek?
Következő: »»   207 / 1211
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