Symbol www.digital-bahn.de Symbol
Shop Forum Datenschutzerklärung Suche Kontakt

PIC Programmer und IC-Prog: Tipps und Tricks

Diese Seite beschreibt Tipps zur Fehlersuche beim Nachbau der Platine PIC-Programmer. Des weiteren werden gestellte Fragen, die evtl. von allgemeinem Interesse sind, hier beantwortet.

Fragen und Antworten Fehlersuche
Wo kriege ich Platinen her?
Wie löte ich SMD Bausteine?
Wie programmiere ich PICs?
Wo bekomme ich die 16V DC her?
Ist es richtig, dass 4 Bauteile unbestückt bleiben?
Ich brauche die LEDs doch gar nicht, oder?
Wofür braucht die Platine die Westernbuchse X4?
Kann ich einen USB to Parallel-Umsetzer verwenden?
Programmiersockel für SMD-PICs
Die kommerzielle Klammer
Die Wäscheklammer-Lösung!
Die Platine funktioniert nicht!
Brennvorgang wird (teilweise) abgebrochen
Verify geht nicht
Probleme mit IC-Prog / Oshon
Probleme mit IC-Prog unter Windows NT / 2000 / XP
PBrenner erkennt immer den PIC 16F84/84A
Probleme mit PBrenner V4.x
Die Hardware-Check Funktion (PBrennerNG)
Zweipol-Dekoder lässt sich nicht programmieren!
Probleme mit 16F627 (S88-N Bus Projekte)

 

Fragen und Antworten / Tipps und Tricks

Wo kriege ich Platinen her?

siehe arrow Platinen beziehen

Wie löte ich SMD Bausteine?

siehe arrow SMD löten

Wie programmiere ich PICs?

siehe arrow PICs programmieren
siehe arrow mein PIC-Programmer

Wo bekomme ich die 16V DC her?

Ich verwende hierfür ein Stecker Netzgerät mit einer Ausgangsspannung von 16V DC (Gleichspannung). Vielleicht finden Sie ein brauchbares Netzgerät in Ihrer Bastel-Kiste? Es werden weniger als 100 mA benötigt, und auch mit 18V dürfte es keine Probleme geben (Temperatur des 7805 beachten!).
Natürlich kann man hier auch ein richtiges (einstellbares) Netzgerät verwenden.
Mit AC (Wechselspannung) kann die Platine nicht betrieben werden (die Spannung müsste gleichgerichtet und geglättet und evtl. geregelt werden).
 
Mitlerweile gibt es auch brauchbare DC Steckernetzteile, die 15V ausgeben, z.B. Conrad 511180.

Ist es richtig, dass C11 und C21 unbestückt bleiben?

Genau so ist es!

Ich brauche die LEDs doch gar nicht, oder?

Doch! Die LEDs haben nicht nur die Aufgabe, Aktivität zu signalisieren. Sie dienen auch als Pull-Up.

Wofür braucht die Platine die Westernbuchse X4?

Die Westernbuchse ist nur für die Projekte mit dem PIC 16F627 des Rückmelde-Systems ( MS88-8 / GLS88-8 / Weich88-8 ) interessant! Ansonsten kann diese unbestückt bleiben.

Kann ich einen USB to Parallel-Umsetzer verwenden?

Hier habe ich so meine Bedenken. Das Timing am Parallel-Port ist entscheidend für den Brennerfolg. Nun weiss ich nicht, wie ein Umsetzter eben das Timing umsetzt, aber ich sehe das zumindest kritisch. Aber es gibt ja auch in der PC-Welt noch Wunder...
 
zum Test habe ich mir besorgt: D-Lock USB910 USB-Parallel 61330
 
Hiermit hat es allerdings nicht funktioniert
 
Das Haupt-Problem besteht darin, dass ein USB-Parallel-Umsetzer keine LPT Schnittstelle zur Verfügung stellt. Das Brenn-Programm wie z.B. PBrenner möchte ja einen LPT-Port ansprechen. Dieser wird aber von keinem (mir bekannten) USB-Parallel Umsetzter bereit gestellt. Sollte jemand einen solchen Umsetzter kennen, bitte melden...
 
Das folgende Projekt soll für USB eine echte LPT-Schnittstelle realisieren:
siehe arrow http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/index.html.de

Programmiersockel für SMD-PICs

Da ich immer wieder danach gefragt werde, habe ich hier einmal einige Programmier-Sockel aufgeführt, mit denen die verschiedenen PICs adaptiert werden können. Diese Testsockel sind leider nicht ganz billig. Allerdings benötigt man diese für die meisten meiner Dekoder nicht, da die PICs ja auf der Platine über den 5-poligen Programmierstecker programmiert werden können. Nur wer eine grosse Anzahl von PICs uneingelötet programmieren möchte, muss auf solche Sockel zurückgreifen.
 
Anzahl Füssefür diese PICBezug z.B.Hersteller Nummer
8-poligz.B. 12F629/675 SN-Type
Gehäusebreite 3.9mm
Farnell 9897615 Wells-CTI 652B008221x-002
Farnell 9897500
Bürklin 15 B 5420
3M-Textool 208-7391
14-poligz.B. 16F630/676 SL-Type
Gehäusebreite 3.9mm
kein Anbieter bekannt Wells-CTI 652B016221x-002
Bürklin 15 B 54223M-Textool 214-7390
18-poligz.B. 16F627 SO-Type
Gehäusebreite 7.5mm
Bürklin 15 B 54283M-Textool 218-7223

zurück zum Anfang nach Oben

Die kommerzielle Klammer

Es gibt die Möglichkeit, PICs auf Platinen ohne Programmierstecker über eine Programmier-Klammer zu kontaktieren. Voraussetzung hierfür sind allerdings gute Lötstellen ohne grösse Lötzinn-Kleckse am PIC.
Leider ist eine solche Klammer nicht billig und zudem auch nicht sehr lange haltbar, da die Kontakte unter jedem klammern etwas leiden. Mit der Klammer kann man mal ein paar eingelötete PICs umprogrammieren, jedoch stellt diese auch gewisse Ansprüche an die Lötung. Zu grosse Zinn-Kleckse an den Pins können die Kontakte der Klammer verbiegen und so nach einigen "Klammerungen" zum Problem werden. Evtl. macht es da Sinn, kurz mit Entlötlitze die "Zinnvorkommen" zu minimieren.
 
Anzahl Füssefür diese PICBezug z.B.Hersteller Nummer
8-poligz.B. 12F629/675 SN-Type
Gehäusebreite 3.9mm
Bürklin 30 F 3620 Pomona 5250
16-poligz.B. 12F630/676 SL-Type
Gehäusebreite 3.9mm
Bürklin 30 F 3624 Pomona 5252

 
Inzwischen habe ich ein paar der 8-poligen Klammern hier auf Vorrat liegen (Bürklin 30 F 3620), da Bürklin ja nicht an private Abnehmer versenden mag. Die Klammer kann gegen 12.- € von mir bezogen werden. Mit der 8-poligen Klammer können übrigens auch die 14-poligen 16F630 / 16F676 programmiert werden, die Typen sind bzgl. der Lage der Programmier-Pins kompatibel!
 
Die kommerzielle Klammer am Programmer Die kommerzielle Klammer am WeichEi

zurück zum Anfang nach Oben

Die Wäscheklammer-Lösung!

Einfach ist manchmal nicht nur einfach, sondern einfach nur simpel... (sorry for this sentence if you are using a translator-program)
 
Hier wird der PIC auf eine LED-Dekoder-Platine mittels einer Klemm-Pinzette gedrückt. Diese Platine besitzt den 5-poligen Programmierstecker und ist auch für die Programmierung der 8-poligen PICs einsetzbar (Lage von Pin 1 beachten!).
 
Die Platine muss hierfür nur mit dem Programmierstecker bestückt sein (das zweite 16-polige IC auf der Platine im Bild neben dem Stecker ist überflüssig)
 
geeignete PICs: z.B. 12F629, 12F675, 16F630, 16F676, 16F684
 
Die Wäscheklammer-Lösung!

zurück zum Anfang nach Oben

Fehlersuche

Die Platine funktioniert nicht!

Brennvorgang wird (teilweise) abgebrochen

Dies kann folgende Ursachen haben:

Verify bei der Programmierung geht nicht (Fehler im EEPROM-Daten-Bereich)

Dies kann bei den Dekoder-Software mit unterschiedlichen Betriebs-Modi passieren. Hier wird unter gewissen Bedingungen beim Programmstart der Inhalt des EEPROM verändert, wodurch der Verify misslingt (im späteren Leben wird hier durch Tastendruck beim Programnstart der Betriebs-Mode umgeschaltet und im EEPROM gespeichert). Beim 2. oder 3. Versuch klappt der Verify wieder, da jetzt der EEPROM-Wert wieder dem ursprünglichen Programm-Code entspricht.

Probleme mit IC-Prog / Oshon

Mir wurde teilweise berichtet, dass es auf einigen Rechnern mit der Programmier-Software IC-Prog und Oshon Probleme gab, es aber mit PBrenner gut funktionierte.
PBrenner scheint ein etwas freundlicheres Timing zu haben, mit anderen Worten: Der Programmier-Vorgang dauert etwas länger, dafür ist das Programm aber auch toleranter. Evtl. kann man auch das Timing verlangsamen (bei IC-Prog: Einstellungen -> Hardware -> I/O Verzögerung)

Probleme mit IC-Prog unter Windows NT / 2000 / XP

siehe arrow Spezieller Treiber

PBrenner erkennt immer den PIC 16F84/84A, obwohl ein anderer Typ programmiert werden soll

Diesen PIC zeigt der PBrenner an, wenn er eigentlich gar nichts erkennt. D.h. es könnte der z.B. PIC falsch herum in der Fassung sitzen, das Verbindungskabel zwischen Programmer und PIC falsch verdrahtet sein, ganz fehlen oder verdreht sein. In seltenen Fällen ist auch mal der PIC kaputt.
siehe auch Überprüfung mit Hilfe der Hardware-Check Funktion (IC-Prog / Oshon)

Die Hardware-Check Funktion (PBrenner NG)

PBrenner NG bietet einen Hardware Check für die Platine, was eine Fehlersuche stark vereinfachen kann:
 
PBrenner NG HW Check

 
Es sollten sich bei der Betätigung der Test-Buttons in PBrenner NG entsprechende Reaktionen bei den LEDs auf der Programmer-Platine einstellen (siehe Spalte 2). Sind die LEDs nicht ansprechbar, dann müsste man die Pegel am IC4 testen (Spalte 3). Fehlen hier die angegebenen Pegeländerungen für ein Signal, so liegt in der Regel ein Problem mit dem 25poligen PC-Kabel vor oder die LPT-Schnittstelle des PC arbeitet nicht. Liegt hingegen der als IN bezeichnete Pegel an, aber der OUT-Pegel kommt nicht, dann ist IC4 defekt.
Sind die Pegel am IC4 zu messen, nicht jedoch am Stecker X3 (Spalte 4), dann gibt es ein Problem mit T1 (bei Vcc) oder T2 (bei Vpp). Bei CLK und DATA liegt hier kein Transistor, kann also eigentlich nicht vorkommen. Liegen die Pegel an X3 an, die entsprechende LED leuchtet aber nicht, dann ist diese meistens verdreht eingebaut (oder defekt).
 
Die angegebenen Pegel sind für nur die Bestückung mit einem LS07 für IC4 und ohne Anschluss einer zu programmierenden Hardware gültig!
 
Button gedrückt
(Spalte 1)
LED-Funktion Programmer-Platine
(Spalte 2)
Spannung IC4 75LS07
(Spalte 3)
Spannung Programmierstecker X3
(Spalte 4)
"Vdd on" LED "VCC" = AN In: IC4 Pin 11 ca. 0 V
Out: IC4 Pin 10 ca. 0 V
X3 Pin 2 (VDD) ca. 5 V
"Vdd off" LED "VCC" = AUS In: IC4 Pin 11 ca. 3-5 V
Out: IC4 Pin 10 ca. 5V
X3 Pin 2 (VDD) ca. 0 V
"Vpp on" LED "VPP" = AN Int: IC4 Pin 9 ca. 0 V
Out: IC4 Pin 8 ca. 0 V
X3 Pin 4 (VPP) ca. 13 V
"Vpp off" LED "VPP" = AUS In: IC4 Pin 9 ca. 3-5 V
Out: IC4 Pin 8 ca. 13 V
X3 Pin 4 (VPP) ca. 0 V
"SCLK on" LED "CLK" = AUS In: IC4 Pin 1 ca. 3-5 V
Out: IC4 Pin 2 ca. 5 V
X3 Pin 5 (CLK) ca. 5 V
"SCLK off" LED "CLK" = AN In: IC4 Pin 1 ca. 0 V
Out: IC4 Pin 2 ca. 0 V
X3 Pin 5 (CLK) ca. 0 V
"SDATA on" LED "DATA" = AUS In: IC4 Pin 3 ca. 3-5 V
Out: IC4 Pin 4 ca. 5 V
X3 Pin 6 (DATA) ca. 5 V
"SDATA off" LED "DATA" = AN In: IC4 Pin 3 ca. 0 V
Out: IC4 Pin 4 ca. 0 V
X3 Pin 6 (DATA) ca. 0 V

Zweipol-Dekoder lässt sich nicht programmieren!

Dies kann mit der Dimensionierung des R16 auf der Programmer-Platine zusammenhängen.
 
siehe arrow Stückliste Note 3

Probleme mit den 16F627(A)

Vereinzelt treffen Meldungen ein, wonach es Probleme gibt, einen 16F627 in den Platinen für den S88-N Bus zu programmieren. Bei diesen Platinen wird der PIC über einen extra Programmier-Stecker gebrannt.
Ich selber hatte bisher keine Probleme mit den 16F627, jedoch mit den 16F627A.
 
Hier ein paar Ideen zur Abhilfe:
  1. Brenngeschwindigkeit: hier zeigt sich, dass es manchmal sinnvoll ist, diese nach OBEN (also "schneller") zu verändern. Dies erscheint mir im ersten Moment zwar unlogisch - ist aber so. Insbesondere die "A"-Typen mögen es hier lieber etwas schneller.
  2. Versuch mit IC-Prog. Dieses Programm scheint toleranter zu sein.
  3. Beim SMS88-N und Weich88-N scheint es teilweise Probleme zu geben, wenn C4 bestückt ist. Hier kann es helfen, die zu programmierende Platine mit Spannung zu versorgen (z.B. Anschluss an eine S88N-P Platine, die mit Spannung versorgt, aber nicht an eine Zentrale angeschlossen ist)
  4. Versuch mit PBrennerNG. (siehe hierzu arrow Verwenden meines Programmers mit PBrenner NG)

zurück zum Anfang nach Oben