PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : galvanisch getrennte ISP-Programmierung



Bumbum
17.09.2013, 20:00
Hallo,

bei einem aktuellen Projekt von mir, dass über einen Trafo mit Strom versorgt wird, muss ich auch die Schaltungsmasse mit dem Schutzleiter verbinden. Ist diese Verbindung nicht vorhanden funktioniert ein Schaltungsteil nicht. (Ist nicht schlecht, nur das debuggen ist ohne diesen Schaltungsteil schwierig möglich)

Mein Problem ist, dass der ATmega644 auf der Schaltung nach wenigen Minuten abstürzt, wenn ich meinen ISP-Programmer (AVR ISP mkII) angeschlossen habe. Es kommt auch vor, dass der Programmer nach kurzer Zeit nicht reagiert. Ich vermute eine Masseschleife über die PC-Masse und den Schutzleiter, über die der Atmel und/oder der Programmer abstürzen. Beide Geräte (PC und Schaltung) stecken in der gleichen Steckdosenleiste. Die Schuko-Stecker habe ich schon gedreht; das hat leider keine Abhilfe gebracht.

Das ganze ist mir so zu gefährlich. Ich denke ich werde noch einige Manntage an der Schaltung programmieren und irgendwann raucht mir bestimmt eine dünne Leiterbahn ab, die durch zu hohen Leckstrom überlastet wird.

Meine Idee war also eine galvanische Trennung der ISP-Schnittstelle über Optokopler. Die Schaltungsseite wollte ich mit dem Netzteil der Schaltung versorgen, die PC-Seite über einen weiteren USB-Anschluss. Folgende Schaltung habe ich entworfen und aufgebaut:

26410

Die Schaltung funktioniert grundsätzlich. Zumindest werden digitalen Signale Übertragen. (von Hand generierter Takt --> Pin an Masse oder +5V und Multimeter auf der anderen Seite)
Ich kann auch bei 1kHz ISP-Takt ab und zu die Fuse-Bits des Atmels auslesen. Aber sobald ich den ISP Takt schneller stelle, oder größere Datenmengen übertrage treten Fehler auf.

Wer hat Ideen zur Verbesserung? Es muss jetzt nicht mit 2MHz ISP-Takt funktionieren, aber 100 kHz und Fehlerfrei wären schon mal ein Fortschritt...

Viele Grüße
Andreas

- - - Aktualisiert - - -

Ich sehe gerade ich habe einen alten Stand der Schaltung hochgeladen. So hat sie nicht funktioniert. Ich habe die die Eingänge der Komperator-OPs vertauscht und die Optokoppler-Ausgänge auf Masse schalten lassen mit Pull-Up auf +5V. Aber ansonsten ist die Schaltung wie im Schaltplan.

Peter(TOO)
17.09.2013, 21:31
Hallo,

Das einfachste wäre einfach eine zusätzliche Masseverbindung zwischen Schaltung und Gerät, möglichst mit 1.5 oder 2.5mm2.

Wenn ich das richtig enträtzel, verwendest du den PC817?
Der hat eine cut-off Frequenz von 80kHz, das wird aber mit einem Rl von 100 Ohm gemessen.
Bei 1k hat das Teil Schaltzeiten im Bereich von 20-30µs.
Zudem wird alles noch schlechter, wenn du die Transistoren als Emitterfolger verwendest!

Also machs mal mit Pullup und dem Emitter an Masse.

Dann kannst du die Komparatoren auch wieder umdrehen ;-)

MfG Peter(TOO)

PICture
18.09.2013, 08:23
Hallo!

@ Bumbum

Ich sehe (hoffentlich noch gut ;) ) im Schaltplan als Treiber OPV's LM324 und LM358 die in digitaler Schaltung nix zu suchen haben. Ich würde eher z.B. 74XX125 verwenden. ;)

Bumbum
18.09.2013, 17:06
Hallo,

@Peter: Die Emitter sind bereits an Masse, deswegen ja die Drehung der Komperatpr-Eingänge. Ich habe das vielleicht etwas unglücklich ausgedrückt. Allerdings bin ich mir nicht sicher, ob nur das tauschen der 1k Pull-Ups zu 100R die Lösung sein wird. 80 kHz ist ja immer noch nicht die Welt.

@PICture: Das sind wirklich LM's die ich als LED-Treiber verwende. Die Teile lagen halt alle so in der Kiste rum. Der Aufbau hat mich also nur Bastel-Zeit gekostet.

Ich habe mir überlegt, dass ich die alte Schaltung wahrscheinlich einfach entsorge und neu Anfange. Wie das am besten gelöst werden soll stelle ich hier zur Diskussion. Also: Wie und mit welchen Bauteilen würdet ihr einen Adapter bauen, der die ISP-Schnittstelle galvanisch isoliert und eine Übertragungsrate von sagen wir mal 500 kBit/Sec erlaubt? 5V Spannungsversorgung ist auf beiden galvanisch getrennten Seiten jeweils vorhanden.

Viele Grüße
Andreas

Peter(TOO)
18.09.2013, 18:46
Hallo Bumbum,

Ein 6N137 geht bis 10 MBit/s, der macht auch schon schöne Logik-Signale am Ausgang.

MfG Peter(TOO)

Bumbum
19.09.2013, 16:37
Hallo,

die 6N137 sehen vom Datenblatt und vom Preis her schon mal nicht schlecht aus. Da werde ich bei meiner nächsten Bestellung welche mitbestellen. Fehlen nur noch die LED-Treiber für die Optokoppler. Hat ihr da auch Vorschläge?

Viele Grüße
Andreas

Peter(TOO)
19.09.2013, 16:56
Hallo Andreas,

Deshalb habe ich die den angegeben, der ist schon alt (der muss so um die 35 Jahre auf dem Markt sein), aber günstig und leicht zu beschaffen.
Gibt's auch als 2-fach und, glaub 4-fach, Variante.

Treibe würde ich das mit normalen Transistoren. BC546 sollte reichen, sonst kann du den 2N3904 nehmen, der ist für Schaltanwendungen optimiert.
Auch alt, billig und leicht zu beschaffen ;-)
2N3906 wäre der Komplementärtyp (pnp).

MfG Peter(TOO)