Ha megépítettünk egy
égetőáramkört, a legnagyobb hibát amit
elkövethetünk az első pillanatban az, hogy
rácsatlakoztatunk egy PIC-et és
megpróbáljuk beégetni! Teszik ezt sokan annak
ellenére, hogy a cikkekben a legtöbb esetben le van
írva az élesztés menete. Ez a cikk részben
azért
készült, hogy egy topikban linkkel tudjam ajánlani a
teendőket, ne kelljen minduntalan leírni ugyanazt. ;)
A kiinduló állapot tehát az, hogy
elkészültünk az égető áramkörrel.
PIC-et még hagyjuk a fiókban, PC-re még ne
csatlakozzunk, előbb az
áramkört végig kell ellenőrizni, hogy minden
jól működik-e! Szükségünk lesz egy
multiméterre.
Az égetők alapvetően kétféle kivitelben
készülnek, már ami a
tápellátásukat illeti.
1. Külső táppal biztosítjuk a Vdd(5V) és a
Vpp(12V) feszültségeket. Itt legtöbb esetben egy
dugasztáp, esetleg egy PC táp a forrás.
A PC
táp elég veszélyes lehet, ha nincs jól
terhelve az 5V-os része, mert túlfeszültséget
termelhet, ill. nem állnak be a feszültségek a
megfelelő szintekre! Én csak akkor ajánlom, ha kellő
hozzáértéssel képes valaki beüzemelni,
leellenőrizni, hogy a kapott feszültségek nem tartalmaznak
káros összetevőket(szkóp!)!
Dugasztáp esetén a nyers
egyenfeszültségnek 14V körül kell lennie minimum,
maximum 20V, amiből az első regulátor biztonsággal tud
12V-ot előállítani. Terhelhetősége legalább
300mA legyen. Ebből a feszültségből legtöbb esetben
egy 78(L)12 állítja elő a 12V-ot, majd erre kötve
egy 78(L)05 az 5V-ot. Ezek a feszültségek kerülnek ez
után az égető Vdd ill. Vpp kapcsoló
alkatrészeire, legyen az tranzisztor, vagy kapcsoló(pl. a
WLPT_mini-k esetében).
2. Az USB 5V-ja, vagy más
külső stabil 5V(pl. a céláramkör tápja)
az égető elsődleges tápfeszültsége, amiből
belső DC-DC
konverter
állítja elő a Vpp(12V) feszültséget.
Minkét esetben az első
dolgunk az, hogy leellenőrizzük a feszültségek rendben
vannak-e, és nem melegszik semmi!
Néhány
égetőáramkör rajza, a további
magyarázatokhoz:
WLPT_mini 78Lxx táppal
és
WLPT_mini PC, vagy más külső 5
és 12V táppal
WLPT_mini_v4
WCOM_v5
WPB_F18_LPT
égető USB, vagy más
külső 5V-os táppal, belső Vpp
előállítással
Oshon_rajza
Bojan
Dobaj féle áramkör
Illetve egy új COM portos
égetőm képe:
Vessük össze a rajzokat, láthatjuk, hogy a
tápellátásukban nagyon hasonlóak,
így elég egy áramkörön bemutatni az
ellenőrzési pontokat.
A külső tápos égetők
tápfeszültség ellenőrzését a
WCOM_mini_v4 rajzán fogom bemutatni.
Ha csatlakoztattuk a J2 ponthoz a 14..20V egyenfeszt, akkor a C4 +
oldalán közel azonos feszültséget kell
mérjünk(0,7V-al kevesebbet legfeljebb). A C11 +
oldalán 12 és 13V
közötti feszültség kell legyen a D6
dióda miatt(kb. 12,6V). Ha ez rendben, akkor a C3 +
oldalán 5+-0,3V feszültséget kell mérni. Ha
nem melegszik semmi, akkor ezzel rendben is vagyunk.
A belső Vpp-s áramkörök esetén a DC-DC
konverter kimenetét kell ellenőrizni és azt, hogy nem
melegszik-e semmi. Ilyen a WPB_RS_v2 rajzon a C2
kondenzátor + pontja.
Ha a tápfeszültségek rendben vannak,
léphetünk tovább a Vpp-t és a Vdd-t
kapcsoló eszközök(tranyó, vagy kapcsoló)
ellenőrzéséhez.
Ha ez kapcsoló, akkor még nincs
szükségünk PC-re, egyszerűen az ICSP
csatlakozó
Vpp(12V) és Vdd(5V) pontjain mérve leellenőrizzük,
hogy a megfelelő feszültségek kikerülne-e rájuk
a kapcsolók működtetésével.
Ha a kapcsoló eszköz tranzisztor(Vdd Q5, Vpp Q3), akkor el
kell indítani az égető programot és az
égető áramkört rá kell csatlakoztatni a
PC-re(COM, LPT vagy USB portra kiviteltől függően). A
programban be kell lépnünk az általában
Check-nek nevezett menüpontba, ahol meg kell találjuk
azokat a Check boxokat, amiket kipipálva kézzel tudjuk
működtetni az égető áramkört, jelen esetben a
Vpp és Vdd tranzisztorokat a COM port DTR és TXD vonalain
keresztül. Ezek a vonalak LPT portos égetők esetében
mások, de az égető rajzáról
leolvashatóak.
A WPB_F18_F16_vx.xx program estében ez a menüpont
így néz ki:
Megjegyzem, hogy ezt megelőzően az égető
építési leírásában
megtalálható módon be kell állítani
a vonalak fázisát. Itt erről nem teszek
említést, mert minden égetőnek saját
beállítása van, keressük a saját
leírásában!
Ha bepipáljuk a Vdd-t vagy a Vpp-t, akkor az ICSP port megfelelő
lábain 5, ill. 12V feszültséget kell
mérjünk. Az eltérés +-0,4V lehet. Ha a
feszültségek fordítva jelennek meg, akkor a
vonalakat invertálni kell(program
beállítása).
Ha ez rendben, akkor léphetünk tovább a
programozó vezetékek(PGD, PGC)
ellenőrzésére.
Ugyanebben a menüben találjuk a két check boxot.
Bepipáláskor a hozzá tartozó ICSP ponton
4V-nál nagyobb feszültséget kell
mérjünk. Kipipálatlan állapotban pedig 0,8V-n
ál kevesebbet. Ha ez pont fordítva történik,
akkor a vonalakat invertálni kell(program
beállítása).
A PGD vonal ellenőrzésekor figyelni kell az adat vonal
visszajelzését.
Az "Adat vonal belső logikai szintje" után akkor kell "High(1)"
látnunk, amikor a DATA box be van pipálva.
és akkor "Low(0)", amikor a pipa nincs bennt.
Ha mindez
fordítva lenne, akkor a Port
Beállítás-nál invertálni kell az
Adat be vonalat.
Ez a COM port beállító ablaka:
Ez pedig az LPT port-é:
A portok
bemeneti vonalainak logikai szintje attól függ, hogy az
égető áramkörben felhasznált
alkatrészek, illetve maga a kapcsolás invertál-e,
vagy sem. Nyílván ettől függ az is, hogy az
adatéleket hogyan kell állítani a programban.
Tehát az nem baj, ha a bemeneti vonal logikai szintje
ellentétes a belső logikai szinttel. A vonalak valós
feszültségeit műszerrel meg is mérhetjük. Itt
jelzem, hogy a COM porton a magas szinthez tartozó
feszültség a -3...-25V közé eső
érték jelzi az alacsony szintet pedig a +3..+25V
közé eső érték(RS232 szabvány
szerint). Az LPT porton a +4...+5V a H, a 0...0,8V az L szint.
Ha minden rendben van, következhet
a PIC-es próba.
Itt fontos, hogy a PIC bekötése helyes legyen az ICSP port
megfelelő lábaira! Az ICSP port
kiosztására nincs szabvány, ezért
ügyelni kell az eltérésekre!
Ellenőrizni kell, hogy az MCLR/Vpp lábon van-e
felhúzó ellenállás(10k) a Vdd-re, mert
ennek hiányában a vezetéken lebegő Vpp láb
tönkre teszi a PIC-et!
A PIC-et mindig úgy csatlakoztassuk, hogy a tápok ki
vannak kapcsolva. Ezután a tápokat bekapcsoljuk és
a programmal felismertetjük a PIC-et. Érdemes olyan
programot választani, amiben van ilyen
szolgáltatás. Ha WLPT_mini-t használunk, akkor
válasszuk ki a támogatását a megfelelő
chenck box bepipálásával. Azokkal a programokkal
nem garantálom a működését, amik nem
támogatják ezt a módot. Ennek ellenére
nekem néhány programmal működött,
néhány PIC-el. A WPB_F18_F16_F12_vx.xxb
-vel érdemes
próbálkozni, ha a listában szerepel a PIC.
Ha a felismerés megtörtént, akkor már nagyobb
baj nem történhet.
Természetesen nem szabad melegednie semminek, és
más fény és hang jelenség sem
kísérheti a folyamatot. :)
Ha a mért feszültségek rendben vannak, de még
sem ismeri fel a PIC-et az égető, vagy felismeri, de
égetni nem tudja hiba nélkül, akkor első körben
a programozási sebességet csökkentsük le a
megfelelő értékek
beállításával, WPB esetében ez a
csúszka nagyobb értékre való
állítását jelenti.
Ha ez nem segít, akkor a vezetékeket kell rövidebbre
szabni, amennyire csak lehet. A nyomtatóportot nem szabad
gyári vezetékekkel toldani, és 60cm-nél
hosszabb vezeték sem ajánlott. Az ICSP vezeték
max. 10cm legyen szalagkábelből.
A WPB_F18_F16_F12_vx.xxb
programnak van egy
teszteléshez kifejlesztett szuper lassú
üzemmódja,
ahol szemmel lehet követni a kimenetek
változását. A zöld indikátor az ADAT
bemenet állapotát követi nyomon, ezzel ki lehet
szűrni az áramköri hibákat. Csak szuperlassú
módban működik és csak a PIC
felismerésénél. 18F-ek esetében is
működik, de ott a szekvencia bonyolultabb, ezért csak a
16F-ek esetében írom le a következőkben amit
látnunk kell.
A kimenetekre 1k-s
ellenállásokkal sorba kötve tegyünk 2 LED-et
anóddal a kimenetek(PGD,PGC) felé,
ellenállásokat a testre. PIC-et ne csatlakoztassunk
rá, majd kezdjük meg a PIC felismertetésének
folyamatát. A LED-ek villogásával
ellenőrizhetjük a következő szekvenciákat. Ahol 1-van,
ott a LED-nek világítania kell. A PGC lábon
lévő LED ütemesen felvillan, az ehhez tartozó
értékeket kell értelmezni. Amit látnunk
kell a következő 16F-ek esetében:
1. 22db 0 adat
2. 011000
3. 011000
4. 011000
5. 011000
6. 011000
7. 011000
8. 001000
9. 0xxxxxxxxxxxxxx0
Az xxx-ek helyén
1-eket kell olvasunk, ha nincs rajta PIC. Ha rákötünk
egyet, akkor amennyiben a PIC fogadja a megfelelő szekvenciát,
válaszolnia kell a saját
azonosítójával. A felismerés a
nullához közeli sebességen is meg kell
történjen, tehát így kizárhatjuk a
sebességtől függő körülményeket.
Ha netán jó szekvenciát olvasunk vissza, de az
égetőszoftver nem ismeri fel a PIC-et még sem, akkor az
LPT port ACK vonalával gond van. Sajnos mostanában
elég sok alaplap nem teljesíti a (régi)
szabványt, így nem ismeri fel a
szintváltozásokat a vonalon.
Ha viszont PIC-el is csupa 1-et olvasunk vissza az xx-ek
helyén és a mért
jelszintek is a korábbiakban említettek szerint rendben
vannak, és minden áramköri elem jó, akkor a
PIC hibás. A PIC legkönnyebben statikus
túlfeszültség
miatt mehet tönkre, amit a Vpp vezetékén
keresztül szedhet be, ha nincs 10k-s ellenállás a
Vpp és Vdd között, vagy a Vpp és a GND
között. Ezt soha ne felejtsük le, akár
céláramkört, akár programozó adaptert
használunk.
Kapcsolat:
Ha kérdés vagy
véleményetek van, a wattmep@tvn.hu
címre írjatok.
A hobbielektronika fórumon
is feltehetitek a
kérdéseket: PIC
égetési hibák, problémák,
kérdések
WPB_F18_F16_vx.xxb esetében
pedig itt: WPB
égetőszoftver fejlesztése / tesztelése
Kérem a fórumban, privátot ne írjatok
szakmai
kérdéssel!
Jó programozást!
2010.05.28. @watt
mod. 2011.01.22.