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   735 / 1210
(#) apromax hozzászólása Dec 22, 2015 /
 
PIC 24 -nél három alternatív csatlakozási lehetőség is van a programozáshoz (PGEDx, PGECy). Ezek teljesen egyenrangúak, mégis a konfig szóban állítani lehet melyik páros szerint használjuk a processzort.
FICD regiszter ICS<1:0>
Idézet:

ICD Communication Channel Select bits
11 = Communicate on PGEC1 and PGED1
10 = Communicate on PGEC2 and PGED2
01 = Communicate on PGEC3 and PGED3
00 = Reserved, do not use
.
Hogyan van az, hogy valamely csatornán elkezdem programozni, majd eközben megmondom az eszköznek a konfog szóban hogy melyik csatornán fogom programozni. Ez így nem teljesen világos, hiszen ha már megy a programozás és automatikusan felismerte a port párost, akkor mi szükség erre a beállításra?
(#) dibuquqo hozzászólása Dec 22, 2015 /
 
Sziasztok!
Olyan kérdéssel fordulnék hozzátok, hogy egy ideje programozok PICeket, de csak assembly. Most szeretnék váltani C-re. A problémám az, hogy a feltelepített XC8 fordító csak egy bizonyos számú kódot engedélyez. A fizetős verziója enged akármennyit. Létezik valami ingyenes változat amivel korlátlan számú utasítás írható be?
(#) AZoli válasza apromax hozzászólására (») Dec 22, 2015 /
 
Én úgy tudom, hogy programozni bármikor bármelyik párosokon lehet, csak a debug-hoz kell kiválasztani hogy melyiket akarod használni.
(#) dibuquqo válasza AZoli hozzászólására (») Dec 22, 2015 /
 
Lehet rosszul fogalmaztam: Mplab x Ide 3.05 használok. Eddig mpasm compiler használtam assemblyre. Az a bajom, hogyha XC8 compilerre futtatom, ahol lehet c nyelvet használni ott, ha túl nagy a program, akkor nem engedi feltölteni a PIC-re. Valami olyan megoldást keresek ami ezt kiküszöböli, mivel a compiler ára 900 euró, hogy bármekkora programot fel lehessen tölteni a PIC-re.
(#) gyoran válasza Hp41C hozzászólására (») Dec 22, 2015 /
 
Köszönöm, én nem néztem Errata-t, jó, hogy eszembe juttattad
Amit írnak még meg kell emésztenem
Az Errata szerint bizonyos esetekben elhasznál egy plusz osc ciklust. Eszerint késnie kellene. De megnézem még. Mindenesetre a pont nálad
Érdekes viszont, hogy most 12pF, új kvarc: eddig pontos
(#) apromax válasza AZoli hozzászólására (») Dec 22, 2015 /
 
Igen, én is így tudtam. Most viszont nem értem miért, de sem egy PIC24 sem egy dsPIC33 nem programozható PK2 vel. ( 28 lábú, DIP tokos, láb kompatibilis, könnyen cserélem). Ez volna az első projekt ebben a kategóriában és sajnos itt akadtam el.
(#) Hp41C válasza apromax hozzászólására (») Dec 22, 2015 /
 
Idézet:
„PIC 24 -nél három alternatív csatlakozási lehetőség is van a programozáshoz (PGEDx, PGECy). Ezek teljesen egyenrangúak, mégis a konfig szóban állítani lehet melyik páros szerint használjuk a processzort.”

Mindhármon lehet programozni, de csak a kijelöltön lehet nyomkövetni.
(#) Hp41C válasza apromax hozzászólására (») Dec 22, 2015 /
 
Pk2DeviceFile.dat V1.62.14 -ban szerepel a PIC24FJ64GA002, PIC24FJ64GB002 stb.
Sajnos elkövették azt, hogy a programming executive -t belefordítpották a kezelőprogramba...
A hozzászólás módosítva: Dec 22, 2015
(#) AZoli válasza apromax hozzászólására (») Dec 22, 2015 /
 
Idézet:
„...nem programozható PK2 vel.”

Pontosabban? Fel sem ismeri? Mi a hibaüzenet?
dibuquqo:
Én apromax-nak válaszoltam, én nem használtam soha XC8 -at, de XC16-nál nem tudok ilyen korlátozásról (kódméret), csak az optimalizációt illetően.
(#) apromax válasza AZoli hozzászólására (») Dec 22, 2015 /
 
érdekes nincs hibaüzenet, illetve csak ennyi: FAILE. Olyan mintha fel sem lenne dugva a PK2. Olvasni sem tud.
A Core 2,5V megvan mindkét esetben.
A PK2 jó, mert PIC18 al lepróbáltam. Az IC -k teljesen újak.
A tápot mindenhol rendben megkapják. Remélem az adatlap jó.
(#) atiotezer hozzászólása Dec 23, 2015 /
 
Sziasztok

MPLAB x 3.15

Kapott C fájl fordításakor hiányolja a conio.h-t Ezt honnal lehetne előkeríteni?

conio.h.png
    
(#) dkarcsi73 hozzászólása Dec 23, 2015 /
 
Sziasztok!
Tudna valaki segíteni abban hogy a "Kónya" féle PIC mikrovezérlők alkalmazástechnikája című könyv első kiadásához honnan lehetne hozzájutni.
Üdv.
(#) Zsolt2 válasza dkarcsi73 hozzászólására (») Dec 23, 2015 /
 
Egy kis google keresessel konnyen meg lehet kapni: Bővebben: Link
(#) dkarcsi73 válasza Zsolt2 hozzászólására (») Dec 23, 2015 /
 
Az első kiadásra gondoltam!
(#) Hp41C válasza apromax hozzászólására (») Dec 23, 2015 /
 
Melyik típusról lenne szó?
(#) apromax válasza Hp41C hozzászólására (») Dec 24, 2015 /
 
PIC24HJ128GP202
dsPIC33FJ128GP802
A PK2 felismeri hogy a target -en ott a táp, aztán bármely funkció indításakor kigyullad a PK2 Busy piros LED -je, majd leidőzítés után (hibakód nélküli) hibajelzéssel megáll a program.
(#) apromax válasza Hp41C hozzászólására (») Dec 24, 2015 /
 
Karácsonyi ajándékként megtaláltam a megoldást.
Nem szabad kiválasztani manuálisan a PIC típusát. Ha auto módban használom akkor nemcsak felismeri, hanem írja / olvassa is!
Nekem ez furcsa működés, tekintve PIC16 - 18 nál eddig nem volt ilyen tapasztalatom.
Onnan sejtettem hogy merre fele kell keresni a hibát, hogy a PK2 programja másként viselkedett mikor nem volt a PK2 modul csatlakoztatva sehova. Manuálisan (akár találomra) kiválasztottam egy PIC18 at, majd később egy PIC24 et. s nyomtam mindegyikre egy Write utasítást. A PIC18 -nál a programban az ablak alatt megjelenő Staus Bar lefutott, majd csak ez követően jelzett hibát, Ha viszont PIC24 vagy dsPIC33 -at állítottam be azonnal FAILED lett az eredmény, nem szaladt végig a Staus Bar sem mint előbb.
Van erről tapasztalatotok, vagy helyből az auto felismertetéssel használjátok PK2 -t?
Boldog, Békés Karácsonyt Mindenkinek!
(#) Hp41C válasza apromax hozzászólására (») Dec 24, 2015 / 1
 
A PICKit2 a 16 és 32 bites kontrollerek programozásához beéget / letölt (32 bitesnél a RAM -be) egy un. Programming Executive -t, leellenőrni, elindítja, lekéri a kódját (application ID) és a verzióját. Ha ezek egyeznek, a programming executive segítségével elvégzi a kiolvasást vagy a programozást. Ha nincs meg a kapcsolat a kontrollerrel, a programming executive ellenőrzése már hibára fut.
A programming executive használatát az ini állományben a PE24: N illetve PE33: N sorokkal ki lehet kapcsolni.
Boldog, Békés Karácsonyt Mindenkinek!
A hozzászólás módosítva: Dec 24, 2015
(#) apromax válasza Hp41C hozzászólására (») Dec 24, 2015 /
 
Köszönöm a kimerítő választ.
(#) gyoran válasza gyoran hozzászólására (») Dec 27, 2015 /
 
Sziasztok
Ismét a külső 32kHz-ról járatott Timer1 problémámmal jelentkezem.
Külső kvarc adatlap szerint bekötve. Nincs előosztó, Timer 1 ebből 2mp-enként interruptot generál. Interruptban csak változót inkrementálok. A főprogram semmit nem csinál, csak ezt a változót olvassa és óra-perc-másodpercet alakít belőle.
Processzor (12F629) a belső 4 MHz-ról jár. (INTOSC with IO: b'100')
T1CON: b'00001111'
Az óra siet, akármit csinálok.

Egy kicsit kísérleteztem. Másik 12F629-cel ugyancsak siet az óra, főleg a 80 pF körüli kondenzátorokkal, ezzel 5-6 mp-et percenként.
Soros csillapító ellenállás nem használ.
Külső 74HC14-es oszcillátorral hajszál pontos.
Ugyanez a tesztprogram, 16F628A-val ugyanebben a konfigurációban, 15 pF kondenzátorral szintén pontos.
Szóval úgy tűnik, csak a 12F629 sorozat nem azt teszi, amit kellene, ill. mintha az órajelhez keveredne plusz ciklus (zavar?). Csak akkor a 628A-val miért megy jól?
Google nekem erről semmit nem hozott.

Van még valakinek tippje?
A hozzászólás módosítva: Dec 27, 2015
(#) sonajkniz válasza gyoran hozzászólására (») Dec 27, 2015 /
 
Szia!

Nem ismerem az adott PIC-et így csak tippelni tudok, de hátha segít.
Megfelelően stabil a táp?
Az adatlap nem ír valamit a pontos órához kellő procfeszültségről?
Szükséges a program szempontjából a 4 MHz?
Ez utóbbit azért kérdezem, mert én mindíg úgy oldom ezt meg, hogy amíg nincs más dolga a procinak, csak a kijelzés, akkor a lehető leg alacsonyabbra veszem a frekit, ha pedig a beállított idő elérkezéséig még kijelzés sem kell, akkor aludni küldöm. Ijenkor csak a TIMER 1-es megy, és mikor megszakít, felébreszti a procit, elvégzi a műveleteket, amit kell, és megy aludni. Ez leginkább telepes táplálásnál fontos.
(#) gyoran válasza sonajkniz hozzászólására (») Dec 27, 2015 /
 
Szia

Köszönöm a választ
A táp 5 Voltos stabil labortáp, ez minden PIC-nek "hazai pálya" kell legyen.
A SW eredeti feladata ugyanaz, mint amit írtál napi 20 órát alszik, ezalatt csak TIMER1-re ébred fel.
De most csak tesztprogram fut rajta, mert egyszerűen nem értem, hogyan lehet ugyanaz a kvarc az egyik PIC-en pontos, a másikon meg siet. Még ha késne, azt mondanám SW-hiba, de sietni csak úgy tud, ha egy időegység alatt több órajel megy bele. És az is változó, mennyit siet.
Ráadásnak még elemről táplálva is produkálta, ott meg nem lehet földhurok vagy tápon jövő zavar.
A 16f628 A meg hajszál pontos. De valószínű más a külső oscillátorhoz tartozó belső áramkör.
De hogy ez miért csak nálam lép fel, nem tudom. Pedig 3 db alkatrészről plusz az IC-ről van szó. Ezt el sem lehet rontani.
(#) sonajkniz válasza gyoran hozzászólására (») Dec 27, 2015 /
 
Több ugyanilyen PIC-el is lepróbáltad már?
Lehet a PIC a hibás. Például be van ragadva a timer egyik számláló bitje. Ezért nem számol el 65536-ig, csak mondjuk 65023-ig.
Próbáld meg, hogy kiszámolod, az adott sietés milyen elszámolási érték mellett jöhet létre, és ellenőrzésképp a megszakítás során kapcsold be a megfelelő bitet, hogy direkt váltsd ki ezt a sietést. Ha nem változik semmi, akkor az a bit be van ragadva. ha mégtöbbet siet, akkor oszcillátor probléma.
(#) gyoran válasza sonajkniz hozzászólására (») Dec 27, 2015 /
 
Szia
Igen, több IC, több kvarc, több kondenzátor, különböző kondenzátor érték.
10-12 pF körül elég pontos lesz, (az alkalmazásomhoz is elég) de az már brutálisan kevés. Meg akkor sem értem.
Az adatlap szerint 68-100 pF kellene.
IC mellett 100 nF a tápon.
Most éppen beraktam 2x100 pf-et, erre 1 perc alatt 5 mp-vel lett gyorsabb.
És ez ráadásnak egy tipikus felhasználása a Timer1-nek.
Tulajdonképpen annak is örülnék, ha valaki megírná hogy nála a 12f629-en ez így jól működik, mert akkor legalább tudnám, hogy nálam van valami.
(#) sonajkniz válasza gyoran hozzászólására (») Dec 27, 2015 /
 
Igazából, a több IC-s próba sem garancia.
Én jártam úgy, hogy egy programom egy adott ponton leakadt. Sikerült behatárolnom, hol akad el, de ott nem volt semmi hiba. Több egyszerre vásárolt PIC-en lepróbáltam, de semmi.
Végül a kérdéses ponton lévő RAM-ot átcímeztem egy másikra. Rögtön elindult.
Ezután egy régebbi áramkörömből kivett PIC-el lepróbálva az eredeti verziót, működött.
Kiderült, mind az 5 PIC-ben az az 1 byte hibás volt.
(#) benjami válasza gyoran hozzászólására (») Dec 27, 2015 /
 
Dugdosós panelon én is jártam már így pont az órakvarccal. Nekem is állandóan sietett, aztán kiderítettem, hogy ha lekapcsolom a hétszegmens kijelző meghajtását rendbe jön (ha csak a kijelzőt húztam ki az is elég volt a sietés megszünéséhez, tehát nem a programban volt a hiba). Valószínűleg a kimeneti lábakon levő áramváltozások zavarták az órakvarcot, pedig már minden létező helyet telipakoltam szűrőkondikkal (sajnos nem derült ki azóta sem, mi történne ha rendes nyákon lett volna az áramkör, mert nem lett normálisan megépítve).
(#) Sten hozzászólása Dec 27, 2015 /
 
Sziasztok!
Most szeretnék elkezdeni PICelni...
Olyan kérdésem lenne hogy milyen próba illetve fejlesztőpanelt érdemes venni egy kezdőnek vagy esetleg megépíteni?
Ez itt jó lehet egy kezdőnek?
És milyen PIC-el érdemes kezdeni?
Köszi Sten
(#) Bakman válasza Sten hozzászólására (») Dec 27, 2015 /
 
Én egyszerű, dugdosós próbapanelt vennék, azon nincsenek felesleges alkatrészek.
(#) gyoran válasza benjami hozzászólására (») Dec 27, 2015 /
 
Szia
Nekem is dugdosós panelen csinálja, de nincs nagy fogyasztó rajta, viszont van mindenféle kapcsolóüzemű táp a környéken.
Az eredeti áramkör raszternyákon elkészült (lévén karácsonyi ablakdísz, nem nagyon várhatott), de ott is gyanús volt.
A 16f628a viszont nem csinálja, valószínű annak korrektebb az órajelgenerátora.
(#) benjami válasza gyoran hozzászólására (») Dec 27, 2015 /
 
Én 16F1783-al és 18F26K22-vel próbáltam (lábkompatibilisek egymással). Mindkettővel ugyanúgy csinálta. Szkóppal rámérve az órakvarcra, mint ha látszott is volna valami megingás abban a pillanatban amikor váltott a multiplexelt hétszegmens kimeneti láb (a katódok 330 Ohm-al direkt a PIC lábakról mentek, a 4 vagy 6 közös anód pedig tranzisztorral voltak kapcsolva). Talán a táplábon is mintha megingott volna a feszültség a váltáskor, hiába kondiztam agyon (a panel táp bemenetén még semmi megingás nem volt). Ekkor arra jutottam, hogy a dugdosós panel a nagy átmeneti ellenállása miatt erre nem használható.
Következő: »»   735 / 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