Hallo, ich habe öfters Probleme mit Massen beim "Arbeiten" (=Basteln) hier in der Werkstatt. Das Notebook hängt per Schaltnetzteil am Netz, während Fischls usbasp Programmer am Notebook und an der Zielschaltung hängt - Massen somit verbunden. Wenn ich dann gleichzeitig mit dem Oszi irgendwas messen will, wo ich die Oszi-Masse (mit PE verbunden) an einen ständig schaltenden (oder auch nur nicht-Masse (->Brummen)) Punkt klemme (zB Oszi an Last einer H-Brücke), habe ich irgendwo eine zusätzliche Verbindung gebaut, die mir so überhaupt nicht passt (in der gleichzeitig gehörten Musik - über Audiokabel auch mit dem Notebook massenverbunden - hört man Piepsen). So wie ich mir das erklären kann, ist im Schaltnetzteil des Notebooks (oder des Verstärkers) PE entweder mit der Ausgangsmasse verbunden, oder zumindest per Kondensator gekoppelt. 1. Warum kann bei den ganzen tollen SNTs der Ausgang nicht komplett getrennt sein? Bei konventionellen Trafos hatte man das doch auch (zumindest die mit Schirmwicklung oder getrennten Kammern...). 2. Welche galvanisch getrennten Programmer kennt ihr? (möglichst billig (und) zum Nachbauen) Gruß David P.S. Alternativen die mir dazu einfallen: - Oszi-Masse immer mit Schaltungsmasse verbinden... - Notebook auf Akku rennen lassen - Notebook-Netzteil über Trenntrafo anschließen (oder das Oszi (keine Sorge ich würde keine 230V Schaltungen so ausmessen)) aber alles eher umständlich.
Alle Massen mit einem Kabel verbinden ist das einfachste. Die Notebookmasse kommt ueber den Schirm und GND der seriellen Schnittstelle.
Was mich eher stört ist ja eigentlich nur, warum meine Notebookmasse gleich PE ist?! PPS: zwischen Oszi-Masse und z.B. Schaltungsversorgung fließt dann scheinbar unbegrenzter Strom (zum Glück habe ich die Schaltung aus einem 300mA Steckernetzteil versorgt). Zwischen PE und Schaltungsmasse messe ich aber nur einen Widerstand von ca 250 Ohm... -> muss aber ein großer Kondensator sein, der da koppelt?! (wenn die 50Hz Brumm da so durchgehen?!)
Das Problem haben wir hier auch. Das teuflische daran ist, dass bei einem Controller mit Debug-Wire (Atmel-AVR), bei einer Verbindung Notebook mit Programmer/Debugger und der Schaltung am Labornetzteil eine Potentialdifferenz auftreten kann, die sich dann beim Einstecken des Programmers an der Schaltung auf den Debug-Wire Eingang (Reset) auswirkt. Dann ist der Controller tot. Ich hab mich mal umgeschaut was z.B. eine galv. Trennung für USB kosten würde. Die Schaltnetzteile haben die zumind. kapazitive Kopplung von GND und PE, weil sich darüber EMV Störungen (ESD, etc.) ableiten lassen, die man nicht anders weg bekommt. Ich denke in einem Labor od. einer Bastlerwerkstatt bekommt man das nur dann weg, wenn man sich ein schönes Massekonzept überlegt. Trenntrafo - Galv. Trennung USB - Galv. Trennung Labornetzteil. Mag jetzt für " 6645" ein wenig übertrieben klingen, aber das Problem ist, dass man auch an Schaltungen arbeiten muss, die z.B. intern eine galv. Trennung haben. Wenn man dann auf der anderen Seite wieder mit nem Oszi od. ähnlichen Geräten ran musss, dann passts mit den Massen wieder nicht, da dann der Schaltungseingang wieder eine Rückwirkung auf den Schaltungsausgang hat über PE vom Oszi. Da dürfte es nur helfen, wenn die einzelnen Komponenten jeweils auf einer "Insel" sitzen (Oszi. Labornetzteil, ...) Oder hat jemand einen anderen Vorschlag?
Was spricht dagegen die ISP Leitungen über Optokoppler zu führen (Datenrichtungen beachten)? Kann man ja ne Adapter Platine für basteln... Hatte sowelche Probs bisher nicht (Gott sei Dank)
Da ich schon Dimmer und H-Brücke geproggt habe, war mir die direkte Verbindung zu unsicher. Mein ISP arbeitet seid fünf Jahren mit Optokopplern und ich bin zufrienden.
Interesse an galv. getrenntem STK500-Programmer mit USB-Schnittstelle? Habe ich Anfang des Jahres mal designt und seitdem auch problemlos im täglichen Gebrauch - nette Nebenfunktion: funktioniert herab bis zu 2,7V Target Spannung. Bei Interesse, eine Email an meinen o.g. Namen plus "@gmx.de" schicken. Dann sehen wir weiter... :) Gruß H.
Ich bin auch gerade dabei, meinen ISP mittels Optokoppler auf dem Target zu beschalten, weil ich verschiedene Programmer benutzen möchte. Zur Zeit versuche ich, das mit dem STK600 als Programmer zum Laufen zu bekommen - leider mit wenig Erfolg. avrdude meldet bei Programmierversuchen immer "Target reverse inserted". Die Beschaltung habe ich schon zigmal überprüft, Reset wird bei dem Programmierversuch auch ausgelöst (sehe ich an ein paar LEDs an den Ausgängen des Target-Controllers). Ich nutze den 10-poligen Stecker am STK600. Nun stellen sich mir folgende Fragen (die ja vielleicht jemand beantworten kann, der schon Optokoppler am ISP erfolgreich in Betrieb hat): 1. Kann das STK600 (und andere Programmer) die LEDs der Optokoppler und die Spannungsversorgung für einen Optokoppler (den für MISO) überhaupt treiben? Durch die LEDs fließen jeweils so etwa 7,5 mA, was der eine HCPL2630 aufnimmt, kann ich gerade nicht sagen. 2. Ist beim STK600 irgendwas Spezielles zu beachten (Jumper etc.)? Die Doku ist leider sehr dürftig. VTarget ist gesteckt. 3. Kann die Beschaltung der Optokoppler Probleme bereiten? Prinzipiell habe ich im statischen Zustand (manuell) Ein- und Ausgänge nachgemessen - die entsprechen den erwarteten Werten. Siehe dazu auch mein angehängtes Schaltbildchen (sorry für die chaotische Leitungsführung, Kicad ist da nicht sehr kooperativ). P6 ist der 10-polige ISP-Stecker auf dem Target, P8 sind Jumper, um die Verbindung zwischen Optokopplern und uC kappen zu können, Vcc und GND ist die Spannungsversorgung des Targets (5 V)... Was ich an Problemen ausschließen kann: 1. uC ist nicht "verfust". 2. ISP-Kabel sollte nicht zu lang sein (10 cm). 3. SCK dürfte nicht hoch getaktet sein. 4. Optokoppler sollten flott genug sein (HCPL2630, 10 MBaud) Irgendwie gehen mir gerade die Ideen für die Fehlersuche aus und ein Oszi habe ich leider auch nicht hier... :o(
@Michael Mach mal nen ordentlichen Schaltplan, wo man auch was erkennen kann, nicht so ein Drahtknäuel. Benutze Labels, auf beiden Seiten natürlich unterschiedliche, sonst sind sie kurzgeschlossen. Mache eine Seie links und die andere rechts und die OK dazwischen (einen umgedreht). Peter
@Michael Ich würde mich mal nach der "ADUMxxxx" Serie bei Analog Devices umschauen. Mit denen würdest du das im Aufbau wesentlich einfach gestallten können. Früher konnte man diese auch ohne Probleme als Samples bekommen(habe lange nicht mehr nachgeschaut). Habe damit einmal über einen PIC mehrere 4-20mA Konverter ohne Probleme betrieben. greetz
So, anbei nochmal die etwas besser gezeichnete Beschaltung des ISP über Optokoppler. Ich hoffe, jetzt ist die Schaltung besser nachvollziehbar. Ich habe nur die für die ISP-Beschaltung relevanten Dinge gezeichnet, alles andere zur besseren Übersicht weggelassen (Spannungsversorgung uC, Port-Connectors usw...) @Stephan: Sind die HCPL2630 grundsätzlich nicht geeignet oder warum schlägst Du die ADUMxxxx-Serie vor?
Mist, Anhang vergessen - hier ist er nun, der übersichtlichere Schaltplan...
Hallo, Du hast einen Fehler gemacht, durch den Du keine Potentialtrennung mehr hast. Die Optokoppler 1A und 1B haben, da es ein Baustein ist, eine gemeinsame Spannungsversorgung (Pins 5 und 8 bei OK1); die beiden Ausgänge hast Du einmal links (Pin 7 an OK1A) und einmal rechts (Pin 6 an OK1B) liegen. Das geht so nicht; nun besteht eine leitende Verbindung zwischen den beiden Seiten. Für die genannten Optokoppler solltest Du einzelne Bausteine verwenden, oder aber dem Hinweis von msk folgen: Die Trenn-Bausteine "ADUMxxxx" sind ein einziges IC; hier wird nur eine Spannungsversorgung auf beiden Seiten des ICs benötigt (incl. Abblock-Kondensatoren), sonst nichts. Es gibt sie mit verschiedenen Kanal-Anzahlen und Daten-Richtungen. Sie sind einfach einzusetzen und auch recht stromsparend, und sie können (falls nötig) auch verschiedene Spannungen auf beiden Seiten des Bausteins verwenden (=> Pegel-Wandler).
>oder aber dem Hinweis von msk folgen:
Sorry, ich meinte natürlich "stephan" ... :-))
AVRuser schrieb: > Hallo, > > Du hast einen Fehler gemacht, durch den Du keine Potentialtrennung mehr > hast. > Die Optokoppler 1A und 1B haben, da es ein Baustein ist, eine gemeinsame > Spannungsversorgung (Pins 5 und 8 bei OK1); die beiden Ausgänge hast Du > einmal links (Pin 7 an OK1A) und einmal rechts (Pin 6 an OK1B) liegen. Jep, da habe ich mich nur beim Zeichnen vertan, der OK1B sollte eigentlich OK3B sein. Ich habe das mal in der angehängten Schaltung berichtigt. So ist es auch auf der Schaltung verlötet. Prinzipiell sollte die Schaltung aber so funktionieren? > Die Trenn-Bausteine "ADUMxxxx" sind ein einziges IC; hier wird nur eine > Spannungsversorgung auf beiden Seiten des ICs benötigt (incl. > Abblock-Kondensatoren), sonst nichts. Es gibt sie mit verschiedenen > Kanal-Anzahlen und Daten-Richtungen. Sie sind einfach einzusetzen und > auch recht stromsparend, und sie können (falls nötig) auch verschiedene > Spannungen auf beiden Seiten des Bausteins verwenden (=> Pegel-Wandler). Klingt sehr gut, die werde ich mir auf alle Fälle mal für die nächste Platine anschauen.
Von der Schaltung her sollte es funktionieren. Die AVRs können normal 10mA für die LEDs in den Optokopplern liefern; ob der ISP-Programmer dies kann, weiss ich nicht ... (sollte aber eigentlich.) Ich habe gerade nicht die max. Signal-Frequenz für die Optokoppler zur Hand; sollte es Probleme geben, hilft es vielleicht, die ISP-Taktfrequenz zu verringern.
AVRuser schrieb: > Ich habe gerade nicht die max. Signal-Frequenz für die Optokoppler zur > Hand; sollte es Probleme geben, hilft es vielleicht, die > ISP-Taktfrequenz zu verringern. Das habe ich auch schon probiert, leider ohne Ergebnis. Was mich etwas verwundert, ist, dass die Fehlermeldung "Target reverse connected" nicht nur dann kommt, wenn ich den Programmierversuch bei angeschaltetem Target starte, sondern auch dann, wenn es abgeschaltet ist. Ich würde da eher ein "Target not found" erwarten... Da stellt sich mir die Frage, ob ich vielleicht am STK600 etwas falsch gejumpert habe (obwohl es nach nicht viel zu jumpern gibt, VTarget ist gesteckt).
So, ich habe mir mal den Programmer "USBasp" bestellt und zusammengelötet und nun funktioniert auch das Programmieren per Optokoppler. freu Zusätzlich habe ich mal sowohl mit dem STK600 als auch mit dem USBasp versucht, ohne Optokoppler zu programmieren. Das geht bei beiden. Nur das Programmieren per STK600 über die Optokoppler funktioniert nicht. Weder am 10-poligen noch am 6-poligen Anschluss. Im Prinzip fallen mir als Problemquellen dann nur noch ein: 1. Das STK600 kann die LEDs in den Optokopplern nicht treiben. 2. Der High-Pegel am ISP-Anschluss des ist nicht 5 V, wofür aber die Vorwiderstände der LEDs ausgelegt sind. Gegen 1. spricht, dass bei jedem Programmierversuch per STK600 zumindest das Reset funktioniert. Die Pegel bzw. die ganzen Signalfolgen kann ich mir leider mangels Oszi nicht anschauen. :o( Daher die Frage: Weiß jemand, welche Pegel am STK600 am ISP-Anschluss anliegen? Die Doku ist ja leider extrem zurückhaltend mit Informationen...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.