WLPT_Vpp_mini
A legegyszerűbb LPT-s Vpp-s(HLP) programozó.

Az eredeti áramkör, amiből az ötletet merítettem a Fox Delta oldalán találta egyik fórumtársam, icserny. Ez az égető csak LVP(alacsony feszültségű) módban tud programozni, mert a Vpp(12V) égetőfeszültséget nem oldották meg. Ennek a módnak az a hátránya, hogy ha egy PIC-be beleégetünk egy olyan kódot, aminek a konfigurációs bitjei között az LVP bit tiltva van, akkor többé nem tudjuk módosítani annak tartalmát.
Ötletet kaptam az illesztési megoldásból és kiegészítettem egy kézi Vpp vezérléssel és még némi védelemmel is.
A diódás táplálást, ami az eredeti rajzon is volt elhagytam két okból. Egyrészről nem biztosított a minimum 4,5V, ami szükséges a korrekt égetéshez. Másrészt, ha már úgy is kell egy 12-os Vpp feszültség, akkor már az 5V is könnyen megoldható.
A tápellátást egy 12V-os névleges feszültségű (sokszor a 9V-os is elég, mert sokkal több feszültség jön le róluk, mint amit feltüntetnek!) hálózati dugasztápról tudnám elképzelni, de minden olyan tápegység alkalmas, ami minimum 13V-ot ad le a kimenetén. A rajzon látható 78L05, 78L12 regulátorokkal felépített tápegység rész el is hagyható, ha van egy olyan tápegységünk, ami stabil és szűrt 10-től 13V és 5V-ot ad. A feszültségeket értelemszerűen kell bekötni a rajzon feltüntetett feszültség értékkel megjelölt pontokra.

Lássuk a rajzot:


Ha a két tápegység IC-t leszámoljuk, akkor az egész áramkör egy kapcsolóból, egy kondenzátorból(C6), 2 diódából és két ellenállásból áll.

Külső táplálás esetén(pl. akku, USB 5V, PC AT táp, labortáp, stb.) ez így néz ki:

A két dióda védelmi szerepet lát el, ha netán a PC-től feszültség tüske érkezne, akkor azt a Vdd-re vezeti.
Az R3 azért van, hogy ne induljon el a program a PIC-ben(Reset állapot). De az se jelentene gondot, ha elindulna és netán a PGD, PGC lábai kimenetnek lennének beállítva, mert a két 270ohm-os ellenállás korlátozza a vonalakon folyó áramot 25mA-nél kisebbre, amit a PIC minden gond nélkül elvisel.

Aki már látott más felépítésű égető áramkört, rögtön felmerülhet benne, hogy a Vpp-t és a Vdd-t ugyan mi fogja kapcsolni?
Az egyszerűség oltárán feláldoztam némi kényelmet. Ez alatt azt értem, hogy a saját kezünkkel kell a Főkapcsolót és a Vpp kapcsolót kezelni, de ez ne riasszon el senki, nem kell átmenni mágnes relébe! :)
Attól nem kell tartani, hogy a Vdd és Vpp tartós rajtahagyása káros lenne(leteszteltem, fél napot rajta volt egy PIC-en, semmi probléma vele. Az adatlapok sem említenek ilyen irányú korlátot.).

Látható a rajzokon, hogy a Vpp kapcsoló csak akkor adhat feszültséget a Vpp vonalra, ha a Főkapcsoló is be van kapcsolva. A PIC adatlapján csak az a feltétel van megadva, hogy a Vdd hamarabb legyen bekapcsolva 100ns-al, mint a Vpp.
Ezért csak arra kell ügyelnünk, hogy a Vpp kapcsolót ne felejtsük bekapcsolva az égetés, vagy kiolvasás után, illetve legyen kikapcsolva a főkapcsoló bekapcsolása előtt.
Ha még is a Vpp kapcsolót bekapcsolva hagynánk a Főkapcsoló bekapcsolása előtt, akkor sem valószínű, hogy ez a PIC halálához vezetne, legfeljebb nem kapcsol égető üzemmódba. Tehát ha netán ilyen előfordulna, akkor sem kell megijedni, csak ki és be kell kapcsolni a Vpp-t. Ettől függetlenül, ha lehet ne teszteljük a drága PIC-et azzal, hogy egyszerre kapja a Vdd-t a Vpp-vel, még akkor sem, ha ezt a gyakorlatot a JDM programozó előszeretettel használja, hiszen az adatlap mást ír elő.

Az adatlap előírását a következő ábrán láthatjuk:


A P13 idő mutatja, hogy a Vdd bekapcsolása után mennyi idővel lehet a Vpp-t ráadni, hogy a programozói módba lépjen a PIC. A P12 idő pedig azt, hogy mennyi idő után lehet a kommunikációt elindítani. Belátható, hogy mindkét idő minimumot be tudjuk tartani a kézi vezérléssel.

Felsorolás szerűen számba veszem az égetési eljárás lépéseit:
  1. Elindítjuk a PC-n az égetőprogramot (pl. WINPIC800, WPB_F18, stb..) 
  2. Céláramkör(PIC) ICSP portjára csatlakoztatjuk az égető ICSP vonalait a helyes összeköttetés szerint.
  3. Bekapcsoljuk a Főkapcsolót.
  4. Bekapcsoljuk a Vpp kapcsolót.
  5. Felismertetjük a PIC-ünket, ha ezt támogatja az égetőprogram.
  6. Benyitjuk a hex állományunkat, amit be szeretnénk tölteni a PIC-be.
  7. Elindítjuk az égetési folyamatot. 
  8. Ha nem ellenőrzi le az égetőprogram a tartalmat, akkor azt megtehetjük, ha szükségét érezzük(javasolt!)
  9. Ha rendben, akkor kikapcsoljuk a Vpp-t majd a Főkapcsolót. (Ha nincs rendben, akkor újra égetjük és ellenőrizzük!)
  10. Kész.
Az Oshon 16F-es programja igényli, hogy a Vpp-t ki és bekapcsoljuk, minden égetési, olvasási ellenőrzési művelet után. Ezt megtehetjük a többi égetőprogram esetében is, bajt nem okoz. 


Mielőtt égetni kezdünk, be kell állítani a PGD(Adat ki), PGC(Órajel), ACK(Adat be)) vonalak fázisait a kiválasztott égető programban.
Annyival van könnyebb dolgunk más égetőáramkörökhöz képest, hogy csak erre a három vonalra kell koncentrálnunk, a többi nem érdekes(nincs bekötve).

Lássuk hogyan:

WPB_F18_xxx: (letöltés)


WINPIC800: (letöltés)

Oshon 16F: (letöltés)


Oshon 18F: (letöltés)


Összefoglalhatjuk  a beállítási ablakokban látottakat egy mondatban: A három vonalat egyik esetben sem kell invertálni.
Ezt figyelembe vehetjük más égetőprogramok beállításánál is.


Megépítés, (segítő leírások kezdőknek):

Nem terveztem hozzá nyákot, mert a 12V és az 5V feszültségem megvolt és azt a néhány alkatrészt felforrasztottam a két tüskecsatlakozóra, majd hőre lágyuló ragasztóval bevontam, így nem törik le. Szerintem ennél kielégítőbb megoldást nem nagyon lehet találni, igényesebbet bizonyosan! :)

A nyomtató porttól kb. 1m-es UTP kábelen hoztam a jelet, és egy tüske aljzatot forrasztottam a végére. Erre csatlakoztam egy tüskecsatival, amire az alkatrészek egyik része került(két ellenállás) és erről tovább egy 20cm hosszú 5 eres szalagkábellel mentem
, amiből 3 eret kötöttem be(GND, PGD, PGC). A szalagkábel másik felére került az ICSP tüskealjzat, az általam használt kiosztással(WPB), amitől eltérni lehet és kell is, ha más kiosztást használtok, pl. a PICKit2-ét! (Soha nem szabad a rajzokon látott kiosztásokat kézpénznek venni, mert nincs erre szabvány, vagy megegyezés! Mindig az aktuális kiosztást kell megvizsgálni a céláramkörön és az adatlap szerint leellenőrizni, hogy a PIC megfelelő lábaira kerüljenek az égetőáramkör ICSP vonalai.) Az ICSP csatira felkerült a két dióda(1N4148), a két kondi(100n), és az ellenállás(1k).
A szalagkábelből fennmaradó 2 ér a Vdd és a Vpp lesz.
A Vdd vezetékre az első rajz szerint a fix 5V-ot kell kötni ami a 7805 regulátorról jön, a Vpp vezetékre a Vpp kapcsolóról jut a feszültség, amire pedig a 12V-os regulátorról kerül a fesz.
Ha külső tápos a megoldás, akkor a kétáramkörös kapcsolót kell bekötni a bejövő 5V és 12V elé a második rajz szerint . A Vpp kapcsolóra így kerül továbbiakban a 12V, amiről a Vpp vezetékbe kell jutnia.

Azért sem gondoltam arra, hogy fix nyáktervet készítsek, mert az egyszerűségéből adódó flexibilitását elveszítenénk az áramkörnek. Többfajta kapcsoló, többfajta regulátor, kondi felhasználható, akár éppen az, ami a fiókban hever.
Ha csak egy égetésre kell, pl. a PICKit2 élesztéséhez, akkor sem érdemes túl nagy feneket keríteni neki. Az 5V a PC USB portján mindig rendelkezésre áll, a 10..13V-ot pedig akár akkumulátorról, vagy elemekből összerakva is meg lehet oldani. Egy régi AT-s PC táp is megfelel a feladatra, csak az 5V-ját le kell terhelni egy 12V-os izzóval, mert nem kapcsol be különben. A PC tápnál még vigyázni kell, hogy ne a hálózati kapcsolójával kapcsolgassuk ki-be, mert nem garantálható, hogy a ki-bekapcsoláskor milyen feszültségcsúcsok keletkeznek. Jobb itt is a 
második rajz szerint bekötni a kapcsolókat.

Így néz ki az égető: (még nincsenek kiöntve a csatlakozók ragasztóval)




Mindezek ellenére azt is el tudom képzelni, hogy valaki ez az égetőt választja hosszabb távra, és igényes nyákot tervez neki.

Remélem, hogy ez a kis áramkör hasznunkra válik!

Jó égetést!
watt.


        2009.01.29.

frissítés:

2013.07.16