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?
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
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
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
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.
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.
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
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
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!
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)
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
@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.
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
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