Elektronik_Header_3LŘftersteuerung mit ESP-01

 

ICD Nachbau

Auf meine Anfrage bei Microchip M├╝nchen wurde mir folgendes mitgeteilt:

“Wir stimmen einer Ver├Âffentlichung zu unter der Voraussetzung, dass alle Schaltungsteile, Layout ...etc., die nicht aus Originaldokumenten von Microchip stammen klar und deutlich als [solche] gekennzeichnet sind und Sie dafuer die technische Unterstuetzung uebernehmen.”

So sei es...


Halt! Kurz durchatmen...
Bevor sich jetzt jemand hinsetzt und die auf dieser Seite beschriebene, erste Version des ICD von anno 2000 nachbaut, sollte er sich noch den Nachfolger ICD2 zu Gem├╝te f├╝hren. Der unterst├╝tzt deutlich mehr moderne PICs, wird selbst auch von den aktuellen MPLAB -Versionen unterst├╝tzt (was f├╝r den hier beschriebenen ICD nicht zutrifft) und wird per USB an den Rechner angeschlossen, was zumindest die Stromversorgung des eigenen Projektes (unter bestimmten Voraussetzungen) vereinfacht.


So, nachdem ich das losgeworden bin, kann es weiter gehen...

Das nachfolgend gezeigte Schaltbild des MPLABTM-ICD f├╝r PIC16F87x wurde aus der Microchip- Dokumentation zum ICD entnommen und zum nicht kommerziellen Nachbau in das EAGLE-Format ├╝bertragen. Die Dokumentation selbst sowie die zugeh├Ârige MPLAB-IDE in der jeweils aktuellen Version (zur Zeit V5.2) ist auf den Seiten von Microchip zu finden.

Microchip ├╝bernimmt f├╝r die hier ver├Âffentlichte Schaltung keine Haftung und keinen Support. Die Rechte von Microchip an der Schaltung bleiben durch die Ver├Âffentlichung auf meiner Homepage unber├╝hrt.

Microchip ICD SchaltbildTN_MicrochipICD
Wer auf dem Bild nicht alles erkennen kann, muss nicht gleich zum Augenarzt rennen. Das Schaltbild des 
Microchip ICD in voller Aufl├Âsung kann ebenfalls angesehen werden ;-)

Die EAGLE-Dateien f├╝r Schaltbild und Layout k├Ânnen nat├╝rlich, wie versprochen, ebenfalls geladen werden.

Mittlerweile sind auch Bilder des ICD und des Demo-Boards vorhanden.

Das Layout ist zweiseitig. Beim Kauf der Bauteile ist besonders auf die Gr├Â├če der Widerst├Ąnde zu achten, denn um den Platzbedarf der Schaltung gering zu halten und um das Layout so nah wie m├Âglich an das Original von Microchip anzulehnen, wurden Typen der Gr├Â├če 0204 verwendet. Das entspricht im wirklichen Leben der Widerst├Ąnde einer L├Ąnge von 4 mm und einem Durchmesser von 2 mm. Diese Winzlinge waren nicht zu bekommen, aber die “Metallschicht-Widerst├Ąnde, 1%” von Fa. Reichelt in der Gr├Â├če 0206 passen in die Schaltung, wenn die Dr├Ąhte vorsichtig ganz dicht am Widerstandsk├Ârper abgebogen wurden. Zerbrochen ist mir dabei keiner.

Achtung !! Die Oberseite der Platine ist vollfl├Ąchig mit Kupfer belegt und stellt die Masseverbindung f├╝r alle Bauteile dar. In der Layoutdarstellung von EAGLE wird diese Massefl├Ąche der ├ťbersichtlichkeit halber normalerweise nicht dargestellt und die Bauteile scheinen keine Masseverbindung zu haben. Um die Massefl├Ąche “einzuschalten” muss der Autorouter gestartet werden. Daraufhin wird der Innenbereich des hellroten Rahmens gef├╝llt und man sieht auch die Anschl├╝sse der "frei" im Raum stehenden GND-Pins. Die  Pins sind nicht vollfl├Ąchig an die Kupferfl├Ąche angeschlossen, sondern nur ├╝ber 4 schmale Streifen. Dieses Verfahren nennt man "W├Ąrmefalle" und bewirkt, dass beim L├Âten nicht die gesamte W├Ąrme des L├Âtkolbens in die umliegende Kupferfl├Ąche abgeleitet wird, sondern tats├Ąchlich den Anschluss erhitzt und so eine gute L├Âtverbindung schafft.

Um die Massefl├Ąche wieder auszuschalten (damit man den Rest der Schaltung wieder besser erkennen kann) irgendwo auf eine “freie” Stelle (ohne Bauteile) der Massefl├Ąche clicken und den “Ripup”-Befehl aufrufen.

Reichelt liefert ├╝brigens auch den PIC 16F876 in 4 MHz-Ausf├╝hrung f├╝r knapp ├╝ber DM 20,-- und alle anderen ben├Âtigten Bauteile f├╝r zusammen ca. DM 30-35,-- (ohne den PIC, der kommt dazu).

Ein kleines Geheimnis hat Microchip in der Schaltung auch versteckt: Der verwendete PIC16F876 ist ein 20MHz-Typ, der Quarz auf der Platine hat aber 4 MHz. Ich habe jedenfalls einen 20 MHz Typ in der ICD eingesetzt.

Die Firmware f├╝r diesen PIC auf dem ICD liegt in der MPLAB V5.0 und h├Âher als “mpl876.hex” im Installationsverzeichnis der MPLAB-IDE vor. Wie der Code in den PIC kommt ist in der Microchip Technical Note etn21d.pdf beschrieben (siehe dazu auch hier).

Zus├Ątzlich hier noch die St├╝ckliste. EAGLE liefert sie durch Aufruf von “File->Run... ->BOM.ULP” (Bill Of Materials). Ich habe die BOM etwas formatiert und entsprechend der Microchip Technical Note etn21d.pdf 3 Widerstandswerte gegen├╝ber dem Schaltbild ge├Ąndert (bitte beim Nachbau beachten !).

Bauteile-Infos

Die Zenerdiode D6 hat au├čer der Typbezeichnung nat├╝rlich auch einen Wert. Man muss eine BZX55 mit 5,6 V Durchbruchspannung besorgen.

Eine weitere “Falle” ist der (bzw. sind die) Modular-Stecker zur Verbindung von ICD und Demo-Board. Bei Reichelt gibt es zwei Typen dieser 6-poligen Stecker. Der korrekte Typ ist der MEBP 6-6S. Man erkennt den richtigen Typ leicht an der Anordnung des Ausbruchs f├╝r die "Rastnase" des Steckers auf der Platinenseite, also n├Ąher zu den L├Âtanschl├╝ssen. Wenn man den falschen Typ bekommen hat, dann passt der nur von der Unterseite der Platine.

Bitte f├╝r diese Dateien obige Hinweise zu Urheberrechten, Haftung und Support beachten.

 

Neu ! Einseitiges Layout f├╝r ICD

Ich habe f├╝r Nachbauwillige ohne professionelles Labor noch ein einseitiges Layout f├╝r den ICD erarbeitet, das im heimischen Keller wohl einfacher herzustellen ist.

Bitte hier beachten, dass ich diese Schaltung nicht selbst ausprobiert habe !!

Ich habe zwar lediglich das Schaltbild leicht ge├Ąndert (notwendige Br├╝cken eingef├╝gt), aber da durch die mechanischen ├änderungen auch die elektrischen Eigenschaften der Schaltung beeinflusst worden sein k├Ânnen, kann ich nicht versprechen, dass es funktioniert. Sorry.

Falls sich jemand an den Nachbau wagt, bitte ich um R├╝ckmeldung, ob der ICD mit diesem alternativen Layout ebenfalls funktioniert. Danke !

Bitte auch f├╝r diese Dateien obige Hinweise zu Urheberrechten, Haftung und Support beachten.

 

Hardware├Ąnderung an dem ICD

In seltenen F├Ąllen kann es vorkommen, dass beim Versuch den ICD zu initialisieren keine Verbindung zum zu programmierenden PIC aufgenommen werden kann und die IDE die Meldung “No Target ” bringt.

In den meisten F├Ąllen kann Abhilfe geschaffen werden, indem das Signal RB3 des zu programmierenden PIC durch einen Pull down-Widerstand von 10k gegen Masse gezogen wird.

Um diese ├änderung, die sich nur beim programmieren oder debuggen auswirkt, nicht auf jeder Zielhardware einbringen zu m├╝ssen, dr├Ąngt sich der Gedanke auf, diesen Pull down auf dem ICD selbst anzubringen.

Dazu ist etwas Gehirnakrobatik notwendig, denn RB3 auf der Zielhardware geht auf die RJ-45-Buchse (6-polige Telefonbuchse) an Pin 6, wird ├╝ber ein 1:1 verdrahtetes Kabel mit dem ICD verbunden, kommt dort dann also an Pin 1 an.

Eine m├Âgliche Stelle, den zus├Ątzlichen Widerstand unterzubringen ist folgende:

ICD-PlatineBlick von der Best├╝ckungsseite auf den ICD. Rechts ist der RJ-45 Verbinder, links der Sub-D-Stecker f├╝r die serielle Kopplung zum PC.

 

 

 

 

Dann ist unten (beim Betrachter) Pin 1 des Verbinders, von dem eine Leiterbahn auf der Best├╝ckungsseite nach links zu einer Durchkontaktierung f├╝hrt. An dieser Durchkontaktierung (unterer Kreis im Bild rechts) wird der eine Anschluss des 10k Widerstandes angel├Âtet. Direkt oberhalb dieser Durchkontaktierung liegen 5 Widerst├Ąnde und eine Diode dicht neben einander gegen├╝ber. Der obere der beiden linken Widerst├Ąnde, R27 (der direkt neben der Diode D3) ist am rechten Ende mit Masse verbunden.

 

Hier (obere Ellipse im Bild oben) wird der andere Anschluss des neuen 10k Widerstandes angel├Âtet. Fertig.

 

 

 

 

 

Nachtrag zur beschriebenen Hardware├Ąnderung

Einige Tage (ich will ehrlich sein...einige Wochen) nach Durchf├╝hrung der ├änderung habe ich meinen ICD mal wieder in Betrieb genommen. Leider hat der “No Target”-Fehler wieder zugeschlagen :-((

Offenbar kann man sich den Umbau mit dem zus├Ątzlichen Widerstand sparen. Schaden tut er aber auch nicht, wer schon flei├čig war, kann den Widerstand drin lassen.

 

Das Demo-Board des ICD

Zuerst hatte ich Skrupel das Layout des ICD-Demo-Boards zu ver├Âffentlichen, weil verschiedene “Unsauberkeiten” vorhanden sind (siehe unten). Nachdem ich jetzt aber doch von mehreren Leuten darauf angesprochen wurde, lege ich die Unterlagen zum Download bereit. In dem ZIP sind alle Dateien (Layout und Schaltplan im EAGLE-Format sowie die St├╝ckliste) enthalten. Gegen├╝ber den bereits auf Anfrage per Mail verschickten Unterlagen ist jetzt noch eine Steckbr├╝cke im RC7-Signal eingef├╝gt (siehe unten).

Das Demo-Board ist funktionsf├Ąhig, nur m├╝ssen einige Kleinigkeiten beachtet werden:

Wenn der MAX232 best├╝ckt ist und R28 ebenfalls, dann kann es passieren, dass der Ausgang R2OUT des MAX232 gegen den Ausgang RC7 des PIC arbeitet. Wenn RC7 im PIC als Ausgang geschaltet ist, ist dabei mit keinen Problemen zu rechnen, da die Ausgangsstufen der PICs recht kr├Ąftig sind. Anders sieht es aus, wenn RC7 Eingang spielen soll. In diesem Fall kann je nach Beschaltung ein Einfluss des MAX232 nicht ausgeschlossen werden (recht eindrucksvoll demonstriert durch die immer leuchtende LED D9 :-). Deshalb habe ich in die Verbindung RC7 - R28 eine Steckbr├╝cke eingef├╝gt.

Die anderen Punkte sind reine Kosmetik. An einigen Stellen enden z.B. Leiterbahnen als “Antennen”, f├╝hren also ins Nichts...├ťberbleibsel von abgebrochenen Routingl├Ąufen.

Als n├Ąchstes gibt es die Signale XXX und YYY aus dem Originalschaltbild, f├╝r die ich kein Ziel gefunden habe. Die dem MAX232 abgewandten Enden von R25 und R27 sind also nicht beschaltet.

Falls einer der geneigten Leserschaft wei├č, wo man diese Signale geschickter Weise an die PICs f├╝hren k├Ânnte, der m├Âge sich bitte melden. Danke !

Das ist eigentlich schon alles.

Halt ! Fast h├Ątte ich vergessen, dass ich noch eine ├änderung vorgenommen habe:

Der GND-Pin (Pin 11) von JP3B war nicht angeschlossen. Die Nachbauer, die die Unterlagen per Mail von mir bekommen haben m├╝ssen also noch diesen Pin mit einem kurzen St├╝ck Draht mit Pin 12 von JP3A verbinden. Achtung, die Anschl├╝sse 1 der beiden Pinreihen liegen nicht nebeneinander.

In der herunterladbaren Version der Schaltung ist diese Verbindung schon enthalten.

Gegen├╝ber dem Original sind auf meinem Demo-Board 8 zus├Ątzliche LEDs vorhanden, die jeweils ├╝ber einen DIP-Schalter mit  Port D des PIC verbunden sind. Ja, diese LEDs lassen sich nur mit dem 40-poligen Derivat des 16F8xx ansprechen. ├ťber einen Trick besteht auch bei Verwendung des 16F876 (28-polig) die M├Âglichkeit, diese LEDs anzusprechen. Dazu m├╝ssen lediglich die korrespondierenden Pins am 40-poligen Sockel eines beim 16F876 vorhandenen Ports mit den entsprechenden Pins des Port D verbunden werden. Geeignet sind daf├╝r kurze Leitungen aus flexiblem Draht mit je einem einzelnen “Header -Pin” an jedem Ende. Diese Pins lassen sich sch├Ân in den 40-poligen Sockel einstecken. “Patchen” nennt man das wohl in Fachkreisen ;-)

 

Nach dem Testen

Wenn nach der erfolgreichen Programmentwicklung die Zielhardware (hier das Demoboard) stand alone betrieben werden soll, muss die Verbindung zum ICD gel├Âst werden, sonst zieht der ICD den MCLR-Pin des Target-PIC auf Low und der PIC kann nicht anlaufen.

 

Feedback

Mittlerweile habe ich auch R├╝ckmeldung ├╝ber die einseitige Version der Schaltung. Fabian Fessler ist nicht vor der Pioniertat zur├╝ckgeschreckt und hat das einseitige Layout ge├Ątzt, gebohrt, best├╝ckt und nach z├Ąhem Kampf (ein defekter Mehrfach-Widerstand hat uns wochenlang genarrt :-( erfolgreich in Betrieb gesetzt.

Danke Fabian !

Sein Erfahrungsbericht kann auf seiner eigenen Homepage demn├Ąchst bestaunt werden.

Inzwischen hat auch Wilfried Fedtke einen ICD nach meinen und Fabians Unterlagen gebaut, aber vorher noch ├änderungen durchgef├╝hrt. Seinen Erfahrungsbericht hat er auf seiner RC-Hobby-Site ver├Âffentlicht.


Peter Kaemmerling hat beim Nachbau und der anschlie├čenden Inbetriebnahme des Demoboards einen weiteren Fehler gefunden.

Der 40-polige Sockel hat keine Versorgungsspannung. Die Pins 11 und 32 sind zwar miteinander aber nicht mit dem Rest der Schaltung verbunden. Erstaunlicherweise hat der PIC in Teilen trotz fehlender Versorgungsspannung funktioniert. Erst als Peter den Analogteil in Betrieb nahm, traten Probleme auf, die hiermit ihre Erkl├Ąrung fanden. Danke f├╝r den Hinweis !

Peter will das Layout ├╝berarbeiten und mir dann zur Ver├Âffentlichung zur Verf├╝gung stellen. Ich habe zwischenzeitlich die mir bekannten (und oben beschriebenen) ├änderungen auch in meine Unterlagen eingebracht und zum Download zur Verf├╝gung gestellt.


Volkmar Heinz hat ebenfalls einen Nachbau des Microchip ICD designed.Seine Version verwendet einen 16F877, hat zus├Ątzlich eine Spannungsversorgung on board und wurde in gro├čen Teilen mit SMD-Bauelementen best├╝ckt. Ich habe die Unterlagen zum Nachbau hier abgelegt.

Auch Volkmar hat die Oberseite seiner Platine vollfl├Ąchig mit Kupfer belegt, es gelten die gleichen Regeln zum Betrachten der Platine in EAGLE, wie bereits oben angegeben.

Fragen zur Schaltung seines ICD (und zu Modelleisenbahnelektronik oder Motorradelektrik) beantwortet Volkmar selbst.


(ICD = In Circuit Debugger, IDE = Integrated Development Environment)

 


Den nachfolgenden Satz muss ich hier so oder ├Ąhnlich auch noch loswerden:

    Der Nachbau der Schaltungen anhand der Pl├Ąne auf meiner Homepage sowie der Betrieb der Schaltungen erfolgt auf eigene Gefahr. Eine Haftung seitens Microchip oder mir f├╝r die ordnungsgem├Ą├če Funktion der nachgebauten Schaltungen ist ausgeschlossen.

Jeder sei aber beruhigt, die Schaltungen (im doppelseitigen Layout) funktionieren bei mir bisher tadellos :-)

 


Besucherzaehler

Besucher seit
25.11.2000

>