Programmeren van kleine PIC's met de Galva-Wisp

Sommige PIC types (zoals 12Fxxx en 16F630/16F676) willen soms om verschillende redenen slecht in programmeermode gaan.
Ze voeren dan prima hun geprogrammeerde programma uit, maar zijn vaak met moeite te herprogrammeren (= opnieuw programmeren).

Om de PIC toch in programmeermode te krijgen moet het Vpp signaal (= 13 volt) een fractie eerder worden aangeboden dan de voedingsspanning van de PIC (= Vpp-before-Vcc), waardoor het probleem is opgelost.
De Galva-Wisp maakt voor heel even een power-short (een paar milliseconden) op de voeding van de te programmeren PIC (waardoor de voeding van de PIC dus wegvalt), terwijl de Vpp spanning op de MCLR pin wordt gezet.
Een Schottky diode en een 1000µF elco*) op de Galva-Wisp verzekeren dat de Galva-Wisp zelf zijn voeding blijft behouden gedurende deze korte periode.
Hierom is het belangrijk dat de 2 LED's op de Galva-Wisp van een low current type zijn, anders is elco C1 te klein.

Natuurlijk moet de voeding van de PIC wel tegen deze power-short kunnen en mag deze niet meer stroom leveren dan de TIP120 darlington transistor kan hebben (een paar ampère), bovendien moet het de spanning daarna ook weer snel kunnen herstellen.
Een voeding gemaakt met een 7805 of 78L05 werkt in ieder geval goed, maar sommige lab voedingen niet, omdat deze zijn beveiligd tegen kortsluiting en zich maar langzaam herstellen.
In die gevallen helpt het om een 10Ω weerstand tussen de voeding en de PIC te zetten.
Aanbevolen wordt om bij de kleine PIC's altijd een 10Ω weerstand in de Vcc voedingslijn van de PIC te plaatsen.

*) Op een Wisp628 PIC programmer zijn de Schottky diode en 1000µF elco niet aanwezig.
Deze zul je dus zelf buiten de Wisp628 moeten plaatsen.
Meer info over de Wisp628 bij Voti. (Engelstalig).
De TIP120, de elco en de Schottky diode zijn wel aanwezig op de Wisp648.
Voor de Wisp648 is dit artikel dan ook niet van toepassing.
De Wisp648 is de opvolger van de Wisp628.
Zie ook het schema voor de Wisp628.

 

Galva-Wisp  


Schema voor de Galva-Wisp PIC programmer
Aanbevolen wordt om altijd een 10Ω weerstand in de Vcc lijn van een kleine PIC te plaatsen.
Kleine PIC's (zoals de 12Fxxx en 16F630/16F676) hebben geen LVP (PGM) pin voor de witte draad.
De witte draad wordt hier simpelweg niet aangesloten (n.c. = not connected).

 

Wisp628  


Schema voor de Wisp628 PIC programmer van Voti
De Wisp628 heeft in tegenstelling tot de Galva-Wisp geen 1000µF en Schottky diode aan boord.
Bij gebruik van een Wisp628 moeten deze dus ook nog worden toegevoegd aan het extra circuitje.
Het type Schottky diode is niet kritisch, de SB140 mag bijvoorbeeld ook een SB130 of 1N5819 zijn.

 

Wisp648  

Programmeurs met een Wisp648 van Voti hoeven niets extra's te bouwen omdat bovenstaande schakeling reeds in deze programmer zit.
Het enige waar op gelet moet worden is dat er een jumper geplaatst is op de twee pinnen van jumper J1 (= doorverbonden), of door jumper P-short in stand Ena (= enable, = ingeschakeld) te plaatsen, als het een nieuwere Wisp648 versie betreft met drie pinnen voor de jumper.

Als een voeding wordt gebruikt die overweg kan met de power-short (voor de Vpp-before-Vcc), o.a. een 7805 voeding kan dat, dan mag jumper J1 altijd in gesloten stand staan.
De Wisp648 zal dan eerst proberen om de PIC te herkennen zónder gebruik te maken van de power-short en als het herkennen niet lukt, een poging wagen mét power-short.


De 10Ω weerstand zit alleen aan de 100n ontkoppel condensator en de PIC zelf.
Andere componenten moeten gewoon met de +5V worden verbonden, die komen dus niet achter de 10 Ω weerstand.
Alleen als de PIC geprogrammeerd moet worden, dan komt ook nog de Galva-Wisp programmer (tijdelijk) achter de 10Ω weerstand (door de DIL-clip over de PIC te plaatsen).

Zoals je ziet in de bovenste Galva-Wisp tekening zitten alle drie draden van de TIP120 darlington transistor aan de 15-polige connector (pin 1, 2 en 7).
Hierdoor kun je deze transistor (en de 1k weerstand) mooi in de behuizing van de connector zelf bouwen (zie foto hieronder).
In het geval van een Wisp628 wordt het wat lastiger, omdat dan ook nog de 1000µF elco en de Schottky diode in de connector moeten worden geplaatst waarvoor helaas geen ruimte is.
Een dongle die je tussen de Wisp628 en programmeerkabel plaatst is dan de beste oplossing (zie foto rechts).
Meer info over de dongle voor de Wisp628 bij Voti (Engelstalig).
Voor de Wisp648 hoef je helemaal niets te doen, bij de Wisp648 is bovengenoemde schakeling al geheel ingebouwd.


Voor de wat grotere PIC's heb ik een andere kabel met een 18-pins DIL clip (zonder de TIP120, dan niet nodig).
Met wat 10 seconden lijm kun je de TIP120 vast zetten.

 

De TIP120 kan worden gemonteerd in de behuizing van de 15-polige sub-D connector.
Door het bovenste metalen gedeelte van de TIP120 er af te knippen past het makkelijk in de connector.
De TIP120 wordt aangesloten tussen pin 1 (GND) en pin 2 (+5V) van de connector (zie het kleine schemaatje hiernaast).
Een weerstand van 1k moet worden gesoldeerd tussen de basis van de TIP120 en pin 7 van de connector.
Aan deze kabel zit een 8-pins DIL-clip, omdat de transistor alleen nodig is bij de kleine PIC's.

8

8 De TIP120 met 1k weerstand is hier binnenin de connector gemonteerd.
 

Een bijzonder soepele "diodekabel" met afscherming om elke ader is zeer geschikt als programmeerkabel.


De 8-pins DIL-clip past ook op de 14-pins en 20-pins PIC's.
 

Dezelfde 8-pins DIL-clip die bedraad is voor de 12Fxxx PIC's, past ook op de 14-pins (zoals 16F630/676) en 20-pins PIC's (zoals 16F689/690/785).
De clip moet dan geplaatst worden aan de kant van pin 1 van de PIC.

Maak de kabel aan de DIL-clip niet te lang, ga niet boven de 80cm zitten.
Het is bovendien aan te bevelen om een kabel te gebruiken waarvan elke ader zijn eigen afscherming heeft (zie foto rechts).
Deze is eventueel te maken van een oude "diodekabel", knip de 5-polige DIN-stekers eraf en je hebt een soepel snoer met aparte afscherming per ader om een programmeerkabel van te maken.


SMD SOIC PIC's


Op de foto een 12F629 in zowel DIL- als in SOIC behuizing.
Voor de SMD PIC's bestaan er SOIC-clip's.

 

Let er bij het solderen van een PIC in SMD behuizing op, dat je zoweinig mogelijk soldeertin gebruikt.
Als je dikke klodders soldeertin gebruikt, blijft de SOIC-clip niet op de SMD PIC zitten en kun je de PIC niet programmeren.
Ben je niet zo ervaren in het solderen, dan kun je beter niet aan SMD beginnen.

De 8-pins SOIC-clip kan ook gebruikt worden voor het programmeren van de 14-pins SMD PIC's, maar in tegenstelling tot de DIL versie, niet voor de 20-pins SMD PIC's, omdat de 20-pins SMD PIC maarliefst twee maal zo breed is.
Hiervoor moet dus een brede SOIC-clip genomen worden.