Forum: Mikrocontroller und Digitale Elektronik USBasp 3.3V programmieren


von Hannes123 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Habe gerade meinen neuen USBasp Programmer bekommen (vorher hatte ich 
STK200).
Ein Bild ist im Anhang.

Schematic konnte ich leider keines bekommen. Was ich aber erkennen 
konnte ist, dass es 3 Jumper gibt und dass Jumper 3 mit der Ground Plane 
verbunden ist (also so wie das Original).

Jetzt kann man mit Jumper 1 zwichen 5V und 3.3V wechseln. Das ist aber 
nur für die Versorgung des Boards gedacht, denke ich.
(Wenn ich den Jumper ganz entferne, funktioniert der Programmer 
trotzdem).

Jetzt frage ich mich, wie ich damit eine 3.3V Schaltung programmieren 
kann. Beim STK200 war es ja so, dass das Board den Programmer versorgt, 
aber beim USBasp bekommt der Programmer den Strom ja vom USB und 
arbeitet daher mit 5V.
Damit würde ich mir aber eine 3.3V Schaltung zerstören.

D.h. ich müsste mir einen Adapter mit z.B. 74HC4050 bauen, oder?

Hat jemand vielleich noch andere Ideen?

von Oliver J. (skriptkiddy)


Lesenswert?

Hannes123 schrieb:
> Jetzt frage ich mich, wie ich damit eine 3.3V Schaltung programmieren
> kann. Beim STK200 war es ja so, dass das Board den Programmer versorgt,
> aber beim USBasp bekommt der Programmer den Strom ja vom USB und
> arbeitet daher mit 5V.
> Damit würde ich mir aber eine 3.3V Schaltung zerstören.

Gerade dafür ist der 3.3V/5V Jumper. Du kannst den Programmer je nach 
Jumperstellung mit 3.3V- oder 5V-Targets vewrwenden. Ich habe einen 
USBasp hier, auf dem sich ein 3.3V-Linearregler in der 
Spannungsversorgung zum Mikrocontroller des Programmers befindet. Dieser 
kann durch einen Jumper gebrückt werden, sodass am Ausgang die 5V 
anliegen. Das ist bei deinem ähnlich. Auf dem ist ein 1117-Regler für 
3.3V bei dem Wahlweise die 5V auf den Ausgang oder den Eingang 
geschaltet werden.

Die Betriebsspannung des Mikrocontrollers den Pegeln der ausgehenden 
Programmiersignale, somit machst du nichts kaputt.

Gruß Oliver

von Achim M. (minifloat)


Lesenswert?

Oliver J. schrieb:
> Die Betriebsspannung des Mikrocontrollers den Pegeln der ausgehenden
> Programmiersignale,

Dieser Satz kein Verb! Anpassen?

von USBASP (Gast)


Lesenswert?

Ich verstehe auch nur "Bahnhof". Liegt wohl an mir. Bin halt kein 
Scriptkiddy mehr.

von Oliver J. (skriptkiddy)


Lesenswert?

Mini Float schrieb:
> Dieser Satz kein Verb! Anpassen?
Die Betriebsspannung des Mikrocontrollers entspricht den Pegeln der 
ausgehenden Programmiersignale, somit machst du nichts kaputt.

Das sollte dort stehen :)

Gruß Oliver

von Oliver J. (skriptkiddy)


Lesenswert?

USBASP schrieb:
> Ich verstehe auch nur "Bahnhof". Liegt wohl an mir. Bin halt kein
> Scriptkiddy mehr.

Ich denke es liegt zwar an dir aber nicht daran...

Gruß Oliver

von Hannes123 (Gast)


Lesenswert?

Aber wie kann es dann sei, dass der Programmer mit offenem Jumper 1, 
also weder verbunden mit 5V noch mit 3.3V funktioniert? (In dem Fall 
kann er auch nicht vom zu programmierenden Board versort werden).
Im dem Fall müsste er doch mit den UBS 5V fix verdratet sei, oder? Mir 
ist also nicht klar, wie es möglich wäre, dass die Programmierschaltung 
selbst so mit 3.3V arbeiten kann.
Dann wäre wir wieder bei der Aussage, dass der Jumper 1 nur das Target 
versorgt, man aber den Programmer nicht auf 3.3V Pegel einstellen kann.

von René B. (reneb)


Lesenswert?

Ich nehme mal an das funktioniert manchmal auch durch die Ströme der 
ESD-Dioden.
Ich konnte das auch zwischen zwei ATmegas über die UART beobachten, der 
zweite (unversorgte) lief trotzdem an, da werden wohl die Elkos/Kerkos 
der Spannungsstabilisierung  geladen und halten es für einen Betrieb 
ausreichend stabil. Sobald aber Verbraucher (LEDs usw) drankamen, haben 
diese nur kurz geflackert und die Schaltung hat sich ständig resettet.

von Oliver J. (skriptkiddy)


Lesenswert?

Hannes123 schrieb:
> Dann wäre wir wieder bei der Aussage, dass der Jumper 1 nur das Target
> versorgt, man aber den Programmer nicht auf 3.3V Pegel einstellen kann.
Du hast doch den Programmer vor dir auf dem Tisch. Was hindert dich also 
daran, die Schaltung zu analysieren und dir einen Schaltplan zu 
erstellen.
Dann wirst du sehen, dass JP1 auch für die Versorgung des AVR auf dem 
USBasp zuständig ist. Keine Angst. Trau dich nur. Du kannst dabei nur 
was lernen.

Gruß Oliver

von Hans Peter B. (Gast)


Lesenswert?

Das PDF-File unter
http://www.protostack.com/accessories/usbasp-avr-programmer
enhält den "vermissten" Schaltplan auf Seite 10
Hans Peter

von Oliver J. (skriptkiddy)


Lesenswert?

Hans Peter B. schrieb:
> Das PDF-File unter
> http://www.protostack.com/accessories/usbasp-avr-programmer
> enhält den "vermissten" Schaltplan auf Seite 10
> Hans Peter

Wow, das hätte ich nicht erwartet. Ich nehme alles zurück was ich über 
den usbasp von LCSoft gesagt habe. Die haben tatsächlich nur die 
Targetvergsorung einstellbar gemacht und betreiben den Atmega8 mit 5V. 
Der letzte Murks wenn ihr mich fragt. Sollte aber trotzdem nichts dabei 
kaputt gehen. Die Portpins des AVR auf dem USBasp haben einen 
Innenwiderstand, der den Strom über die internen Schutzdioden der 
Portpins des Target-AVR begrenzt, wenn ein High-Pegel anliegt. Bei einem 
Low-Pegel ist sowieso alles in Ordnung.

Gruß Oliver

von Hannes123 (Gast)


Lesenswert?

Danke für den Link, Hans Peter.

War also doch so, wie ich vermutet hatte.
Ist aber wirklich seltsam, dass die nicht die gesamte Schaltung mit 3.3V 
versorgen.

Schaltplan analysieren wäre nicht gegangen, da gehen einige Leitungen 
unter dem ATmega durch, denen ich nicht folgen kann, bzw. sind unter dem 
AVR ein paar Vias.

Vielleich baue ich mir selbst einen Programmer, der dann wirklich mit 
3.3V arbeiten kann.

Danke für eure Hilfe!

von René B. (reneb)


Lesenswert?

Für den USBprog gibt es auch noch einen 5V->3,3V Zwischenstecker zu 
kaufen. Den verwende ich auch zusammen mit einem Eigenbau-USBasp, der 
nur 5V kann:
http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=13

von Achim M. (minifloat)


Lesenswert?

Hannes123 schrieb:
> Vielleich baue ich mir selbst einen Programmer, der dann wirklich mit
> 3.3V arbeiten kann.

Hab ich schon gemacht:
 * Atmega8 per Spannungsregler dauerhaft mit 3,3V versorgen(der LP295x 
hat eine Strombegrenzung drin)
 * die Z-Dioden an D+ und D- fliegen raus
 * 74AHC245 hinten dran, der hat bei 3,3V Versorgung immer noch 
5V-tolerante Eingänge oder eben einfach ein Widerstand in die 
MISO-Leitung rein
 * Targetversorgung schaltbar machen 3,3V - 0V - 5V(direkt aus dem USB 
oder eben über ne Feinsicherung führen)

von Oliver J. (skriptkiddy)


Angehängte Dateien:

Lesenswert?

Hannes123 schrieb:
> Vielleich baue ich mir selbst einen Programmer, der dann wirklich mit
> 3.3V arbeiten kann.

Du kannst deinen Programmer doch mit einem Skapell und Patchdraht 
bearbeiten (Siehe Anhang).

Gruß Oliver

von USBASP (Gast)


Lesenswert?

@Scriptkiddy:
Der Atmega8L der in dieser Schaltung verwendet wird ist laut Datenblatt 
von Atmel nur für einen Takt von 8MHz spezifiziert. Bei einer Versorgung 
mit 5V funktionieren wohl auch noch die im USBasp verwendeten 12MHz. Bei 
3.3V Versogungsspannung für den Controller wird das in vielen Fällen 
nicht mehr funktionieren.

von Oliver J. (skriptkiddy)


Lesenswert?

USBASP schrieb:
> @Scriptkiddy:
> Der Atmega8L der in dieser Schaltung verwendet wird ist laut Datenblatt
> von Atmel nur für einen Takt von 8MHz spezifiziert. Bei einer Versorgung
> mit 5V funktionieren wohl auch noch die im USBasp verwendeten 12MHz. Bei
> 3.3V Versogungsspannung für den Controller wird das in vielen Fällen
> nicht mehr funktionieren.

Ich hab hier einen USBasp aus China [1]. Auf dem ist ein Atmega8L 
verbaut. Der läuft mit 12MHz und kann über einen Jumper wahlweise mit 
3.3V oder 5V versorgt werden. Das ist zwar Beides out of spec, aber 
funktioniert dennoch prima. Die Chinesen verkaufen diese usbasp bei Ebay 
in enorm großen Stückzahlen. Ich würde daher sagen, dass die Chancen gut 
stehen, dass das bei Hannes auch funktioniert.


[1] 
http://www.ebay.de/itm/New-USBASP-USBISP-AVR-Programmer-USB-ATMEGA8-ATMEGA128-/170813851774?pt=LH_DefaultDomain_0&hash=item27c54c887e

Gruß Oliver

von USBASP (Gast)


Lesenswert?

Ich sag jetzt zu dem Thema nichts mehr. Bin halt kein Kiddy mehr!

von Oliver J. (skriptkiddy)


Lesenswert?

USBASP schrieb:
> Ich sag jetzt zu dem Thema nichts mehr. Bin halt kein Kiddy mehr!

Kannst es wohl nicht ertragen, das es trotzdem tausendfach funktioniert? 
Achja  guck mal ins Datenblatt des Atmega8L. Der wird durch den 
12MHz-Quarz schon außerhalb seiner Spezifikation betrieben.


PS. Beruflich ziehe ich Projekte immer innerhalb der gegebenen 
Spezifikationen auf. Bei privaten Einzelstücken kann man da denke ich ab 
und an mal eine Ausnahme machen.

Gruß Oliver

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.