Forum: Mikrocontroller und Digitale Elektronik ISP VCC und GND zwischen Schaltung und Programmer isolieren


von Dennis K. (scarfaceno1)


Lesenswert?

Guten Tag,

Ich habe eine Schaltung gebastelt, die ihre eigene Stromversorgung nutzt 
und bin beim programmieren über einen AVR Dragon auf folgendes Problem 
gestoßen.

Ich habe die Betriebsspannung an der Schaltung eingeschaltet und dann 
mit dem Avr Dragon verbunden und programmiert. Getestet ob das neue 
Programm läuft und und mit einem freudigen Gesicht das Board 
abgeschaltet. Da fiel mir auf, daß es sich nicht abschaltet. Die 
Displays der Schaltung aber wesentlich dunkler wurden.
Etwas verdutzt habe ich kurz überlegt und da fiel mir ein, daß die 
Schaltung ja auch über den Dragon 5V bekommt....

So habe ich dem Dragon / USB Anschluss ja viel zu viel Strom entlocken 
wollen. Damit ich nicht den Dragon oder USB Anschluss damit zerschieße 
würde ich gerne wissen, wie die beiden Kreise am besten voneinander 
trenne.

Ich habe dazu folgenden Beitrag gefunden, der aber nicht beantwortet 
wurde:

[[Beitrag "ISP und VCC bei AVR in Schaltung entkoppeln"]]

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@ Dennis Kaufmann (scarfaceno1)

>Etwas verdutzt habe ich kurz überlegt und da fiel mir ein, daß die
>Schaltung ja auch über den Dragon 5V bekommt....

Nö, das muss nicht so sein, das kann man per Jumper aber so machen. Im 
NORMALFALL wird das Target NICHT vom Dragen versorgt sondern von seinem 
eigenen Netzteil/Energiequelle. Der Dragon zieht nur ein paar mA vom 
Target für die Pegelwandler.

>So habe ich dem Dragon / USB Anschluss ja viel zu viel Strom entlocken
>wollen.

So leicht geht das nicht (kaputt).

> Damit ich nicht den Dragon oder USB Anschluss damit zerschieße
>würde ich gerne wissen, wie die beiden Kreise am besten voneinander
>trenne.

Indem man den Jumper auf dem Dragon NICHT setzt.

von Dennis K. (scarfaceno1)


Lesenswert?

Erstmal danke für die Rasche Antwort.
Bin allerdings noch nicht glücklich damit. :-P

Falk Brunner schrieb:
> Indem man den Jumper auf dem Dragon NICHT setzt.

Du meinst mit Jumper die 6 Pol ISP Leiste?
Da soll ich dann den +5V Pin (Pin 2) einfach nicht verbinden?
Brauch ich den nicht für Sense?
Damit der Programmer die Spannung am µC erkennt?

von Falk B. (falk)


Lesenswert?

@ Dennis Kaufmann (scarfaceno1)

>> Indem man den Jumper auf dem Dragon NICHT setzt.

>Du meinst mit Jumper die 6 Pol ISP Leiste?

Nö.

>Da soll ich dann den +5V Pin (Pin 2) einfach nicht verbinden?

NEIN! Alle 6 Signale werden benötigt! Siehe Doku im AVR-Studio!

>Brauch ich den nicht für Sense?
>Damit der Programmer die Spannung am µC erkennt?

Eben darum.

Ich sehe gerade, dass es gar keinen direkten Jumper gibt, mit dem der 
Dragon das Target speisen kann. Man kann es jedoch über die extra VCC 
Pinheader machen.

Also ist alles OK und dein Dragon und USB werden nicht belastet.

von Dennis K. (scarfaceno1)


Lesenswert?

Falk Brunner schrieb:
> Also ist alles OK und dein Dragon und USB werden nicht belastet.

So ganz stimmt das nicht...
Das von mir oben beschriebene Problem ist ja definitiv aufgetreten.

Und die Versorgungsspannung muss ja von irgendwo gekommen sein, wenn ich 
die
separate Spannungsversorgung abschalte.
Da es aber nur diese beiden Spannungsquellen gibt, muss es folglich vom 
Dragon kommen.
Oder etwas nicht?!?
Der extra VCC Pin ist auch nicht verbunden. Lediglich der ISP Header...

von Uwe (Gast)


Lesenswert?

Naja die IO Pins des AVR vertragen halt VCC + 0,5V danach wird die Clamp 
Diode leitend die mit der Kathode am IO-Pin und mit der Anode am VCC Pin 
hängt leitend. Da du die Spannung am AVR wegnimmst ist VCC halt 0V. Also 
liegt auf dem VCC Pin über die Diode eine Spannung, die deine Schaltung 
jetzt versorgt und wenn der Strom zu hoch ist raucht die Clamp Diode ab.

von SkyperHH (Gast)


Lesenswert?

Schottky-Diode zwischen Board und Vcc zum Programmer hin einbauen? Dann 
zeigt Sense zwar etwas weniger an, als wirklich am Atmel anliegen... 
aber im Gegenzug kann der Dragon nicht mehr das Board versorgen.
Alternative die Diode auf den Dragon hinzufügen...

von Georg (Gast)


Lesenswert?

Hallo,

für die meisten ISP-Schaltungen gilt:

System einschalten, dann Programmer anstecken.

Programmer trennen, dann System abschalten.

Aber kaputt geht normalerweise nichts.

Georg

von Dennis K. (scarfaceno1)


Lesenswert?

Georg schrieb:
> für die meisten ISP-Schaltungen gilt:
>
> System einschalten, dann Programmer anstecken.
>
> Programmer trennen, dann System abschalten.
>
> Aber kaputt geht normalerweise nichts.

Guten Morgen,

in der Regel mach ich das ja auch so...
Meistens...

Aber wenn halt mal nicht ist das Problem.

SkyperHH schrieb:
> Schottky-Diode zwischen Board und Vcc zum Programmer hin einbauen?

Es besteht ja keine Verbindung von VCC des Boards zum Programmer. 
Lediglich der ISP Header ist verbunden. Also MISO, MOSI, SCK, RST, GND, 
VCC (Sense).

Oder ist eben die VCC Leitung doch keine reine Sense Leitung?
Meinst du denn diese Leitung?

Es wurden bereits einige "Shields" für den Dragon entworfen, die den 
Dragon schützen sollen. Wird das Problem damit auch behoben?

Ich habe gerade etwas gelesen:
Der Dragon hat ja laut Beschreibung hier im Forum eine Überstrom 
Begrenzung von 300mA. Damit sollte meine Sorge doch abgewendet sein?

: Bearbeitet durch User
von SkyperHH (Gast)


Lesenswert?

Ich kenne jetzt den Dragon nicht (nutze nur AVRISP mkII), aber wenn 
nicht über Sense(VCC), dann über die Signalleitungen MISO, MOSI & SCK. 
Reset wird auf GND gezogen, bzw. hat einen Pullup auf dem Device...

Atnel schreibt:

Atmel AVR Dragon Requirements
Max Current Source Capability (to target)  300mA

I/O Pins
Maximum Source Current VCC header  up to total 300mA

Also sieht es so aus, als wenn der Dragon dein Device versorgt... 
Shottky-Diode in VCC und in die Datenleitungen (MISO, MOSI & SCK) 
jeweils einen Widerstand zur Strombegrenzung...

Mehr zum Thema "Dragon Protection"-->
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=54390
http://www.aplomb.nl/TechStuff/Dragon/Dragon.html
http://n1.taur.dk/permanent/dragonhide.pdf


Dennis Kaufmann schrieb:
> SkyperHH schrieb:
>> Schottky-Diode zwischen Board und Vcc zum Programmer hin einbauen?
>
> Es besteht ja keine Verbindung von VCC des Boards zum Programmer.
> Lediglich der ISP Header ist verbunden. Also MISO, MOSI, SCK, RST, GND,
> VCC (Sense).

von Dennis K. (scarfaceno1)


Lesenswert?

Ok, erstmal vielen Dank für die zahlreichen Antworten.

Ich habe die zur Verfügung gestellten Links studiert. Anscheinend hat 
der Dragon eine Überstrombegrenzung.

Daher werde ich wohl einfach versuchen die Anweisungen der An- und 
Abschaltprozedur in Zukunft genauer zu befolgen.

Gruß Dennis

von abc (Gast)


Lesenswert?


von Dennis K. (scarfaceno1)


Lesenswert?

Schaut gut aus. Vielen Dank.

von Falk B. (falk)


Lesenswert?

Ein handelsüblicher USB-Isolator ist einfacher und für recht wenig Geld 
überall verfügbar und hat den Vorteil, u.a. die SPI-Geschwindigkeit 
nicht zu begrenzen.

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
Noch kein Account? Hier anmelden.