PIC-Programmer-Bauanleitung (JDM)

1.1.2009

Nach einer Anregung von DB5AG habe ich einen nach Radu Igret modifizierten JDM-Programmer nachgebaut und dafür mit Eagle von CadSoft eine Leiterplatte entworfen. Dieser PIC-Brenner (PIC-Burner) ist mit der seriellen Schnittstelle des PC zu verbinden und benötigt keine externe Betriebsspannung.

Welche PIC-Typen und EEPROMs werden von diesem PIC-Programmer unterstützt? Dieser PIC-Brenner ist für folgende Typen geeignet: PIC12C50x, PIC12F62x, PIC16FFxx, PIC16F62x and EEPROM 24Cxx. Getestet wurde dieser PIC-Brenner mit folgenden PICs: PIC12C508 (A), PIC12C509 (A), PIC12F629, PIC12F675, PIC16F84A, PIC16F627, PIC16F628.


Dieser PIC-Programmer ist einfach nachzubauen und besitzt handliche Abmessungen. Drei Leuchtdioden zeigen den Zustand des Brennvorgangs an. Rot: Brennen, Gelb: Taktsignal, Grün: Spannungsversorung. Die Abmessungen der Leiterplatte betragen in etwa 50 mm x 62 mm. Hier ist eine Großansicht des Aufbaus.

Das Besondere an diesem JDM-Programmer:
Im Vergleich zu dem ursprünglichen JDM-Programmer befindet sich eine Verbindung zwichen Pin 10 (JDM) und Vss an Stelle von VDD. Durch diese Veränderung ist es nun möglich auch PIC Microcontroller mit einer LVP-Funktion (z. B. PIC16F627 oder PIC16F628) zu brennen.

Der Stromlaufplan (das Schaltbild) für den PIC-Programmer:
Das nachfolgend abgebildete Schaltbild habe ich mit Eagle-Lite von CadSoft erstellt, um im Anschluss daran das Layout für eine Leiterplatte entwickeln zu können. Eagle ist eine recht beliebte beliebte Software zum Layouten von Leiterplatten. Eagle Lite von CadSoft für nicht-kommerzielle Projekte kostenlos zum Einsatz kommen.

Schaltbild
Der Stromlaufplan des PIC-Programmer (große Darstellung hier), (Download der Bestückungsliste hier). Die verwendeten bipolaren NPN-Transistoren sind nich kritisch und können aller Wahrscheinlichkeit nach durch jeden Kleinsignaltyp ersetzt werden. Alle Kondensatoren müssen mindenstens 16 Volt aushalten. Die (weibliche) SUD-D-Buchse besitzt neun Pins (Reichelt-Best.-Nr.: EMV-BUCHSE 09W). Alle Widerstände sind gewöhnliche Kohleschichttypen mit 1/4 Watt und 5% Toleranz (Download der Eagle-SCH-Datei für das Schaltbild hier). Sämtliche Bauteile sind bei Reichelt erhältlich.

Der Leiterplattenentwurf:
Die Leiterplatte habe ich mit Hilfe von Eagle entworfen. Da ich kein besonders erfahrener Leiterplatten-Entwickler bin, habe ich die Unterstützung des Autorouters in Anspruch genommen. Nach etwas Probieren kam dann eine für den Hobbybedarf absolut taugliche Leiterbahnführung heraus. Ich möchte an dieser Stelle allerdings betonen, dass es nicht meine Absicht war etwas für die industrielle Massenproduktion zu entwickeln.

Layout und Bestückung von der Bestückungsseite
Blick auf die Bestückungsseite des PIC-Programmers. Die kleinen Bohrungen haben einen Durchmesser von 0,8 mm und die großen von 3,5 mm. Ich empfehle den Ausdruck direkt mit Eagle und der Eagle-BRD-Datei (Download der jdm-layout.brd und der folienausdruck.brd, welche bereits für den Folien-Ausdruck vorbereitet ist).

Ich habe nichts dagegen, wenn mit meinen Eagle-Dateien Verbesserungen vorgenommen werden, vorausgesetzt, es bleibt bei einer Freizeitbeschäftigung. Ich habe übrigens den Leiterplattenentwurf auch als Bild zum Herunterladen (layout-as-picture.gif) zur Verfügung gestellt. Die Druckqualität ist dann allerdings nicht so gut wie bei dem direkten Ausdruck aus Eagle. Außerdem sollte man zudem nicht vergessen, die Abmessungen für die Belichtungsvorlage zu korrigieren, da sonst die Bauteile nicht passen würden. Für diese Aufgabe empfehle ich das kostenlose Bildbetrachtungs- und Bearbeitungsprogramm IrfanView.

So setzt man die verschiedenen PICs und EEPROMs in die Fassung:

Einstecken des PICs
Bild oben: PIC 16Fxx, PIC16F62xx
Einstecken kleiner PICs
Bild oben: PIC12C50x, PIC12F62x
Einstecken von EEPROMs
Bild oben: EEPROM 24Cxx

Das Programm IC-Prog:
Schließlich benötigt man noch ein Programm, mit dem man in der Lage ist, die Hex-Codes von der Festplatte des eigenen Computers in den PIC zu kopieren. Übrigens liegen Hunderte von Hex-Codes für PICs zum Download im Internet bereit. Man benötigt also keinerlei Programmierkenntnisse für Mikrocontroller, um solche einzusetzen. Einfach Herunterladen und Brennen.

Ich werwende für diesen PIC-Programmer das kostenlose Windows-Programm IC-Prog, welche den hier vorgestellen modifizierten JDM-Programmer ebenfalls unterstützt.

IC-Prog, Einstellung für JDM-Programmer
IC-Prog: Diese Einstellung ist für den hier vorgestellen modifizierten JDM-Programmer zu wählen.

Persönliche Erfahrungen und Nachteile des Brenners:
Das Brennen, Flashen, Löschen und Überprüfen von PICs dauert nur etwa 20 bis 50 Sekunden. Allerdings gelang es mir nicht einen PIC zu brennen, der vorher von einem anderen Programmer beschrieben wurde. Dies beruht wahrscheinlich auf unterschiedliche Brennspannungen. Eine serielle Schnittstelle liefert je nach PC leider nicht immer ausreichende Spannungen zum Brennen von PIC. Insbesondere sollen die seriellen Schnittstellen von Notebooks leider sehr oft zu schlecht ausgelegt sein. Bei mir funktioniert der PIC-Brenner an drei verschiedenen Desktop-PCs ohne Probleme. Lediglich mit der I/0-Verzögerung unter IC-Prog musste etwas experimentiert werden. Es besteht also ein gewisses Risiko, dass der Brenner nicht an dem einen oder anderen PC funktioniert.

Wer ganz sicher gehen möchte, kann als Alternative einen PIC-Brenner verwenden, der an einem Parallelport oder USB-Port betrieben wird. Unter http://www.sprut.de/electronic/pic/brenner gibt dafür Bauanleitungen. Ich selbst habe den Parallelport-Brenner nachgebaut. Auch hier ist auf ein kurzes Druckerkabel notwendig und je nach Computer musste mit der Brenngeschwindigkeit experimentiert werden.