Forum: Mikrocontroller und Digitale Elektronik AVR programmieren mit externer Spannung


von michael (Gast)


Lesenswert?

Hallo,

ich progammiere derzeit einen Attiny2313 mit einem mySmartUSBlight. 
Zurzeit mache ich es immer so, dass ich erst die externe 
Spannungsversorgung (5V) der Schaltung trenne, dann den Programmer an 
die Schaltung klemme, programmiere, dann erst wieder den Programmer 
abtrenne und zum Schluss die externe Spannung wieder einschalte.

So langsam wird mir das gefummel allerdings zu nervig. Kann ich den uC 
nicht irgendwie bei eingeschalteter externer Betriebsspannung 
programmieren? Kann ich beispielsweise am Programmierkabel die 
Vcc-Leitung kappen und dann bei laufender externer Spannung (5V) 
programmieren?

lg

von Boben (Gast)


Lesenswert?

> Kann ich beispielsweise am Programmierkabel die Vcc-Leitung kappen und
> dann bei laufender externer Spannung (5V) programmieren?

Warum sollte das nicht funktionieren? Du hast MOSI und MISO zur 
Datenübertragung, RESET um den Controller in den Programmiermodus zu 
versetzen und GND als Bezugspotential.

von Peter R. (pnu)


Lesenswert?

Bei diesem Betrieb sollten aber beide VCC in etwa gleich groß sein.

Wenn der USB- Progger mit 5V läuft, gibt er H-Pegel von 5V ab. Ein dran 
angeschlossenener Kontroller der mit 4,0V versorgt wird (oder gar mit 
3,3V) bekommt dann Überspannung an seine Eingänge, die ja nur VCC 
(+ca.0,2 V) vertragen.

Bei den meisten proggern mildern Längswiderstände in den Signalleitungen 
zwar die Problematik. Aber es sollte besser nur EINE gemeinsame 
Spannungsversorgung für progger und target verwendet werden.

: Bearbeitet durch User
von michael (Gast)


Lesenswert?

Peter R. schrieb:
> Aber es sollte besser nur EINE gemeinsame
> Spannungsversorgung für progger und target verwendet werden.

Boben schrieb:
> Warum sollte das nicht funktionieren? Du hast MOSI und MISO zur
> Datenübertragung, RESET um den Controller in den Programmiermodus zu
> versetzen und GND als Bezugspotential.

Okey, dann würde es in diesem konkreten Fall funktionieren da der 
Controller in der Schaltung mit 5V betrieben wird.

Da ich diese Problematik in zukunft vermutlich öfter haben werde 
spendiere ich vielleicht doch besser eine Stunde um mir ein kleines 
Gadget zusammenzulöten.

von Frank K. (fchk)


Lesenswert?

Die korrekte Vorgehensweise ist, dass der Programmer niemals zur 
Spannungsversorgung dient. Der VTarget-Pin ist eigentlich nur dafür 
gedacht, die Levelshifter im Programmer zu versorgen, damit die genau 
die passenden Spannungspegel liefern. Billig-Programmer haben das meist 
nicht. Soll ja billig sein, damit die ganzen Anfänger das auch kaufen. 
Bei einem guten Gerät entsteht diese Problematik gar nicht erst.

fchk

von M. K. (sylaina)


Lesenswert?

Also ich hab mir "damals" (4/5 Jahre her) für rund 50 Euro den AVR ISP 
MKII gekauft. Gibts z.B. bei Reichelt, Conrad, Pollin, Amazon u.v.m.

Klar, 50 Euro ist ein kleiner Happen aber dafür braucht man keine Angst 
haben beim Flashen sich den Controller zu schießen. Und man weiß auch 
immer ziemlich genau: klappt das Flashen nicht liegts mit sehr hoher 
Wahrscheinlichkeit nicht am Programmer.

von Peter R. (pnu)


Lesenswert?

Meine Erfahrung ist die: Mit Selbstbau-USB-Lab, mit STK500- Firmware und 
Fremdspeisung ständig programmiert. Auch mit 3,3V am Target, obwohl das 
die Schutzdioden über 1kOhm öffnet (beim MOSI-Signal). Es ging trotzdem 
gut.

Ich hab aber im Wesentlichen nur die atmega8 verwendet, die relativ 
robust sind. Wie es bei einem anderen Kontroller klappen würde? ich weiß 
es nicht.

Die exakte Lösung ist natürlich die mit Treibern zwischen target und 
progger.
Die macht auch den Unterschied zwischen 5V Vcc und 3,3V Vcc mit.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Frank K. schrieb:
> Die korrekte Vorgehensweise ist, dass der Programmer niemals zur
> Spannungsversorgung dient. Der VTarget-Pin ist eigentlich nur dafür
> gedacht, die Levelshifter im Programmer zu versorgen, damit die genau
> die passenden Spannungspegel liefern.

Aha. Ist das der Grund warum das PICKit einen sogar einstellbaren 
Spannungsregler an Bord hat, mit dem es die Zielschaltung versorgen 
kann? Und das PICKit erwähne ich durchaus absichtlich, weil du es so 
gern und oft als das Maß aller Dinge darstellst.

Michael K. schrieb:
> Also ich hab mir "damals" (4/5 Jahre her) für rund 50 Euro den AVR ISP
> MKII gekauft. Gibts z.B. bei Reichelt, Conrad, Pollin, Amazon u.v.m.
> Klar, 50 Euro ist ein kleiner Happen aber dafür braucht man keine Angst
> haben beim Flashen sich den Controller zu schießen.

OK. Man kann alternativ auch einfach mal das Hirn einschalten, bevor man 
den Programmer an die Zielschaltung ansteckt. Wenn man die selber gebaut 
hat, weiß man ja mit welcher Spannung die versorgt wird und ob das zum 
Programmer paßt.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Axel S. schrieb:
> Frank K. schrieb:
>> Die korrekte Vorgehensweise ist, dass der Programmer niemals zur
>> Spannungsversorgung dient. Der VTarget-Pin ist eigentlich nur dafür
>> gedacht, die Levelshifter im Programmer zu versorgen, damit die genau
>> die passenden Spannungspegel liefern.
>
> Aha. Ist das der Grund warum das PICKit einen sogar einstellbaren
> Spannungsregler an Bord hat, mit dem es die Zielschaltung versorgen
> kann? Und das PICKit erwähne ich durchaus absichtlich, weil du es so
> gern und oft als das Maß aller Dinge darstellst.

Da ist das aber wenigstens abschaltbar und standardmäßig aus.
Und was heißt "Maß aller Dinge"? Ich habe ein ICD3, sozusagen die 
leistungsfähigere Profiversion davon.

fchk

von M. K. (sylaina)


Lesenswert?

Axel S. schrieb:
> OK. Man kann alternativ auch einfach mal das Hirn einschalten, bevor man
> den Programmer an die Zielschaltung ansteckt. Wenn man die selber gebaut
> hat, weiß man ja mit welcher Spannung die versorgt wird und ob das zum
> Programmer paßt.

Man hätte dem Selbstbauprogrammer auch einen Pegelwandler spendieren 
können …hätte, hätte, Fahrradkette…

von Toni R. (torei55)


Lesenswert?

michael schrieb:
> Kann ich beispielsweise am Programmierkabel die
> Vcc-Leitung kappen und dann bei laufender externer Spannung (5V)
> programmieren?

Und warum schaltest Du nicht einfach die 5V im mySmart ab ?

Zitat aus der liesmich des "mySmart...":
1
2. Kommandos
2
============
3
4
Dieses zusätzliche Protokoll wird über eine Kennung aktiviert,
5
die den eigentlichen Kommandos als Präfix vorangestellt werden muss.
6
7
myAVR-Kommandos, beginnend mit 0xE6='æ'=Alt+0230, 0xBA=0186
8
9
"浺¹²³©" + Zeichen für Kommando ( 0xE6 0xB5 0xBA 0xB9 0xB2 0xB3 0xA9 )
10
11
12
Kdo    Light    MK2    MK3     Beschreibung
13
----------------------------------------------------------------
14
   
15
+        X       X       X     Board Spannungsversorgung anschalten
16
17
-        X       X       X     Board Spannungsversorgung ausschalten

von Joachim B. (jar)


Lesenswert?

michael schrieb:
> So langsam wird mir das gefummel allerdings zu nervig. Kann ich den uC
> nicht irgendwie bei eingeschalteter externer Betriebsspannung
> programmieren?

ich trenne die beiden Spannungen immer mit Schottkydioden, externe 
Spannung zugeführt durch Schottky und Programmierspannung am ISP auch, 
die beiden Dioden treffen sich mit der Kathode an VCC, so ist Rückfluss 
vom Programmieradapter zum dicken Verbraucher 300 WS 2812 LEDs 
ausgeschlossen und programmieren kann ich immer, ob externe VCC anliegt 
oder nicht, auch gibt es keinen Rückfluß vom externen Netzteil zum USB 
wenn der PC aus ist.

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.