PIC-Programmiergerät

Verschiedenes Zeug, veraltet. Moderne PICs lassen sich „Low-voltage“ ohne 12-V-Programmierspannung programmieren.

Für serielle Schnittstelle, benötigt Hilfsspannung

Es geht hierbei um eine Selbstbauanleitung nur für die Mikrocontroller-Typen PIC16C84 und PIC16F84.

Der verbreitete Schaltplan des LudiPipo Einsicht funktionierte bei mir nicht, bei keinem der verfügbaren Rechner. Eine externe Stromversorgung erwies sich in jedem Fall als notwendig. Deshalb hier ein geeigneter Schaltplan.

Schaltplan
Schaltplan PIC-Programmierer mit externer Stromversorgung
Nachbau nach derzeitigem Kenntnisstand nicht empfehlenswert!

Der sicherere Weg ist, das bei PonyProg2000 angegebene Programmiergerät nachzubauen.

Wie funktioniert es?

Die Original-Schaltung enthielt die roten und schwarzen Bauelemente, die Modifikation die blauen und schwarzen.
Die verschiedenen Fassungen beziehen sich auf 16F84, 12F629, 16F876 und 16F877.

Die Leuchtdiode leuchtet erst, wenn die Versorgungsspannung genügend groß ist. Die beiden anderen Z-Dioden wirken mit den Vorwiderständen als Pegelumsetzer von RS232 auf TTL.

Zum Programmieren benutze ich PICPROG von Tord Andersson.

Für serielle Schnittstelle, ohne Hilfsspannung

Der Trick dieser Schaltungen liegt darin, das Massepotenzial der PIC auf eine negative Spannung zu legen. Sowie geniale Pegelumsetzer. Die angegebenen Serienwiderstände müssen so hochohmig sein. Mit kleineren Werten funktioniert es nicht.

Für verschiedene PICs und serielle EPROMs

Das unten angegebene neue PIC-Programmiergerät Einsicht funktioniert ohne Stromversorgung. Allerdings erst nach Umbau!
Leiterplatte; Schaltplan (Eagle-Quelle) als Vektorgrafik

Der in Basisschaltung arbeitende Transistor verstärkt das Datensignal auf V24-Pegel, ohne die Polarität zu drehen. Die Steuerung des Kollektors auf 5N bewirkt Stromverstärkung in Gegenrichtung, d.h. Emitter und Kollektor vertauschen ihre Rolle. Trickreich.

An Stelle der Schaltkreisfassungen wurden nur dort Präzisionskontakte eingesetzt, wo der zu programmierende Schaltkreis angeschlossen werden muss. Damit ist die aufzubringende Steckkraft minimal und die Lösung billig.

Für 8-polige SMD-Schaltkreise gibt es preiswerte Adapterclips in der Bucht zu kaufen. Da muss man keine Chips aufdrücken. PLCC ist heutzutage (2014) ausgestorben.

Umbauarbeiten

Für PIC16F84 und pinkompatible

außen innen
Ansicht der fliegend verdrahteten Miniaturform

Leider nicht mehr zu finden, daher der nächste Aufbau.

JDM-Drahtadapter

Mal schnell ein JDM-PIC-Programmer (Hochvolt) mit losen Drahtenden. Für 9-polige SubD-Buchse und Lochstreifenplatine (5 Streifen), hier 3er-Loch-Platine. Einige der 1N4148 wurden naheliegenderweise mit DDR-Miniplastdioden, etwa SAY32, bestückt. Den Schaltplan habe ich so umgestaltet, dass man in etwa die Funktion dieser Trickschaltung erahnen kann. Dabei wird T2 rotzfrech (auch) im Inversbetrieb genutzt. Und bei T1 lädt die Basis-Kollektor-Diode den Elko C1. Offen ersichtlich ist, dass die Computermasse 5P entspricht. Daher darf die PIC sich nicht in einer anderweitig geerdeten Schaltung befinden, etwa durch ein USB-Kabel zum gleichen PC. Dadurch genügt ein Spannungshub von ±8 V an der seriellen Schnittstelle für die Bereitstellung der Versorgungsspannung und der Programmierspannung.

Zurück zum alten und erprobten JDM-Programmer

Damit das funktioniert, sollte in die Nähe der PIC ein Stützkondensator 100 nF zwischen 5P und GND sowie ein Dämpfungskondensator 47 pF zwischen CLK und GND. Sonst ging es im Probeaufbau mit PIC12F508 und SMD-Clip nicht so recht, und erst durch Ansetzen des Oszilloskoptastkopfes funktionierte es plötzlich.

Am USB-Seriell-Konverter nach CDC-Klasse funktioniert dieser nicht, weil CTS nicht abfragbar ist. Müsste man besser auf DSR legen. Und der Konverter muss korrekt BREAK unterstützen.

Für parallele Schnittstelle, ohne Hilfsspannung

Parallele Schnittstellen sind nicht ausgestorben, und mit Latch kann man preiswerte USB-Parallelport-Adapter verwenden.

LVISP-Drahtadapter

Für moderne PICs, die mit 0 V an MCLR programmiert werden können. Oftmals sind da 12 V Programmierspannung nicht mehr zulässig, und man würde in konventionellen Hochvolt-Programmiergeräten (ohne einstellbare Programmierspannung) die Chips riskieren. Für genügend Strom an 5 V sind D0..D3 des Datenports parallel geschaltet. Glücklicherweise gibt WinPicPgm da stets High-Pegel aus.

Zurück zum alten und erprobten Parallelport

Die beste Adaptierung an ein Steckboard sind Litzen eines Flachbandkabels, die am Ende mit abgeschnittenen Beinen von LEDs oder Widerständen konfektioniert sind. Die Verbindung dazwischen erfolgt entweder durch Löten oder (temperaturbeständig) mit einer Aderendhülse. Zudem sollte diese Verbindung mit Schrumpfschlauch nach außen isoliert werden. Das macht eine Menge Arbeit, aber das Ergebnis lässt sich dann viele Jahre verwenden. Der Einsatz loser Drahtenden und eines Steckboards für die PIC ist bezüglich der Pinbelegung unschlagbar universell.

Verdammt, ich Rindvieh

Mit PIC12F1822 funktioniert es wunderbar, mit PIC10F206 jedoch überhaupt nicht. Ja klar, PIC10F206 ist nicht low-voltage-programmierbar.

Sonstiges / Links