WPB és más égetőáramkörök első beállítása

     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.
Amikor az adat H szintű

és akkor "Low(0)", amikor a pipa nincs bennt.
Amikor az adat L szintű

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.