Hallo @ all Ich habe eine Platiene entwickelt, welche ich nun mit dem USBASP programmieren will. Ich habe dafür extra 4 PINs auf meine Platiene gelötet da ja nur 4 zum schreiben benötigt werden und die anderen 6 auf Masse liegen. Jetzt habe ich aber doch noch ein paar Fragen dazu: 1. Ich will den AtMeage8L programmieren, welcher ja schon ab 2,7V funktioniert. Mein Board ist nur für 3V ausgelegt. Ich habe bis jetzt immer nur den normalen AtMega8 beschrieben und das mit 5V. Kann ich den AtMega8L auch schon mit 3V beschreiben? 2. Reicht es nur die 4 PINs an die Platine anzuschließen oder muss ich wirklich die anderen 6 auf Masse legen? 3. Der USBASP liefert mir 5V. Wenn ich jetzt den AVR programmiere, liegen diese 5V an auch an meinem Board an? Also werden an diese 4 PINs die 5V gelegt? Habe zwei sehr empfindliche Bauteile drauf die nur mit 3V betrieben werden dürfen. Ich möchte auf keinen Fall das diese kaputt gehen. Ich hoffe ihr könnt mir helfen. Viele Grüße Jack P.
Mit 5V wäre ich bei empfindlichen Bauteilen sehr vorsichtig. Der Mega8 lässt sich auch mit 2,7V beschreiben. Das AVR USB-Lab ist dem USBASP sehr ähnlich und arbeitet mit 3V. Schau dir das mal an.
Okay schonmal danke für deine Antowort. Leider steht mir der AVR USB-Lab gerade nicht zur verfügung und bauen kann ich ihn mir auf die schnelle auch nicht. SOnst noch Ideen oder so? Also mit dem USBASP besser nicht probieren? Die Bauteile sind SD Karte und VS1011 (Mp3 Decoder). Beide laufen halt nur mit 3V...
Du könntest versuchen, die Spannung des USBasp durch Zwischenschalten von 2 bis 3 Dioden vom USB-Anschluß auf die Spannung zu reduzieren. Der ATmega8 des USBasp läuft ja auch noch mit 3V.
4 pins reichen auf keinen Fall, zumindesens muss noch 1 massepin mit verbunden werden
Jack P. schrieb: > 2. Reicht es nur die 4 PINs an die Platine anzuschließen oder muss ich > wirklich die anderen 6 auf Masse legen? Mosi, Miso, SCK, Reset sind wohl deine 4. Natürlich sollte wenigstens GND mit GND verbunden werden. Die "anderen" Leitungen des ISP-Verbinders würde ich nicht an Masse legen. VCC sollte mit VCC verbunden werden, wenn nachher mal einer einen Porgrammer mit VCC-Sensing benutzt. Wenn du mit wenig ISP-Frequenz programmierst, kannst du in Serie zu MOSI(der Target-AVR ist ein Slave) und SCK je einen Widerstand einfügen, der zusammen mit den Internen Schutzdioden des Targets nach VCC die Spannung begrenzt. Ein Spannungsteiler ist auch nicht besser. Ein Levelshifter oder ein 5V-toleranter 3.3V-Bustreiber ist wohl der Königsweg, sowas gehört aber nicht auf die Target-Schaltung, sondern in den Programmer. Ich bin den Weg andersrum gegangen: In meinem USBASP steckt ein 3,3V-Spannungsregler. Das erspart einem das Z-Diodengefummel an D+ und D- oder diese Konstrukte mit LED oder Z-Diode in der VCC-Leitung des Controllers. Ein LM317 oder ein LP2950 sind nicht teuer. Ich musste lediglich die MISO-Leitung(von Target zu Programmer) mit einem Widerstand schützen, falls das Target mit 5V läuft. Nebenher kann ich einstellen, ob ich das Target mit 3.3V/5V/garnicht aus dem Programmer speise. mfg mf
Habe heute nochmal meinen Lehrer gefragt und mit diesem habe ich folgendes überlegt. Wir schalten einfach 3 Dioden in Reihe ( 3 * 0.6V = 1.8V ) und dann komme ich auf meine 3.2V am Ausgang des Programmers. Das ganze soll dann so aufgebaut werden: VCC => in Durlassrichtung GND => durchverbunden MOSI => in Durlassrichtung MISO => in Sperrrichtung SCK => in Durlassrichtung Was haltet ihr davon? Wird das funktionieren? Und sind die Richtungen der Dioden dann so richtig? Im USBASP wird dann auch ein AtMega8L eingesetzt. Laut dem Datenblatt laufen die SD Karte und der VS1011 auch noch mit 3.6V - da sollte also nicht das Problem liegen.
>Was haltet ihr davon? Nichts. Kauf dir einen Original AVR ISP MKII und du bist alle Probleme los. Alleine das rumgehühner hier hat doch schon mehr als 39Euro gekostet. Dioden taugen als Spannungsregler nicht die Bohne. Wenn du deine Schaltung unbedingt umbringen willst dann versuchs halt.
Aber warum sollte es nicht funktionieren? Es fällt genau die Spannung ab die ich brauche und der Strom sollte sich doch auch nicht viel dadurch verändern (Reihenschaltung => Strom überall gleich). Der USB Port liefert auch nur 500mA das sollte die Dioden auch nicht zerstören oder? Nur mal so aus reiner Interesse - wäre die Schaltung (Durchlass- und Sperrrichtung) der Dioden denn so richtig??
Bin nicht sicher das bei den Datenleitung das mit den Dioden funktioniert. Wenn du in die VCC zum Target und von dort zum Programmer (MISO) jeweils Dioden hinein gibst, hast du 2x Spannungsabfall. Reduziere die Spannung des USBASP auf 3V wie beim USB-Lab und gut ists.
Du meinst also ich soll die Spannung reduzieren bevor sie in den USBASP geht? Welche Spannungen liege denn beim programmieren an den Datenleitungen an? Wenn ich mir eine Adapter Platine machen würde, welche den VCC vom USB Port auf 3V beschränkt und dann erst zum USBASP geht, müssen dann auch die anderen 3 Leitungen des USB Ports abgeschwächt werden oder liegen die Datensignale dann automatisch zwischen 0-3V? Die Datensignale werden ja wohl abhängig vom VCC generiert also müssten sie ja zwischen 0-3V liegen - sehe ich das richtig so?
Die Datenleitung vom USB sollten ohnehin auf 3,3V sein. Daher auch die beiden Widerstände und Z-Dioden. Die beiden anderen Leitungen sind 5V und GND. Wenn du also einen Spannungsregler auf den Adapter baust und die 5V auf 3,3V reduzierst, ist alles OK.
Habe gerade mal meinen USB Port durchgemessen. An VCC liegen 5V an Wie es sein sollte. Allerdings liegen an D- 3.9V an und an D+ 0V. Habe das ganze gemessen als der AtMega8 abgeschlossen war. Aber irgendwie kommt mir das komisch vor. Ändert sich das beim Programmieren noch?
Das ist OK so. Du brauchst nur einen Adapter in die USB einfügen in dem du die VCC von 5V auf 3,3V reduziertst. Die Datenleitung laufen durch.
Ah okay wunderbar vielen dank :) Habe gerade auch mal einen Brennvorgang am MISO, MOSI und SCK mit durchgemessen. Da waren eigentlich nie mehr als 1.9 - 2V im Spiel und der Reset wird ja eh auf GND gezogen. Ist das auch richtig so? Und ganz zur sicherheit nochmal - die anderen 3 Leitung bleiben unberührt nur VCC wird auf 3V runtergezogen!? Vielen Dank nochmal für deine Hilfe. Du hast mir wirklich sehr viel weitergeholfen :)
Jack P. schrieb: > Und ganz zur sicherheit nochmal - die anderen 3 Leitung bleiben > unberührt nur VCC wird auf 3V runtergezogen!? Genau, dann kann nichts mehr passieren.
Habs gestern versucht zu bauen aber das geht leider so nicht. Wenn der USBASP nur mit 3V versorgt wird, muss ja ein AtMega8L da rein. Dieser läuft aber nur mit 8MHz und die USBASP Software benötigt 12 MHz. Geht also ohne weiteres nicht so einfach :( Habe heute jetzt die Ausgänge des USBASP mit den Dioden beschaltet und diese liefern jetzt an meine Platine nur 3V. Allerdings mus ja über MISO 5V zurückkommen. Hatte mir überlegt da einen Pull Up Widerstand reinzubauen aber weiß nicht welchen? Was würdet ihr da für einen vorschlagen?
Ja genau deswegen brauche ich ja jetzt den Pull Up Widerstand. Habe im USBASP nun wieder den AtMega8 und dieser versorgt mein Board über die Dioden nur mit 3V. Allerdings muss über MISO ja wieder 5V ankommen - deswegen der Widerstand aber ich weiß nicht welchen ich nehmen soll...
In meinem USB-AVR-Lab ist ein Mega8 drinnen, der läuft mit 12MHz bei 3V einwandfrei. Wenn du den USBASP mit 3V versorgst und deine Zielplatine auch mit 3V läuft, wozu und wo brauchst du dann 5V?
Hab die Lösung gefunden - steht in einem anderen Thread hier: >bei den neuen Atmega8-16PU oder Atmega48-20PU liegt der LO-Pegel der >Pins um 0.3V höher als bei den alten. >Der USB Port kann somit das LO Signal nicht mehr eindeutig >identifizieren. > >Ich hab mit einer Universal Diode die Programmer Masse gegenüber der USB >Masse um 0.5V nach unten gezogen und der Programmer wird wieder >wunderbar erkannt. Aber woher soll ich jetzt die 0.3V bzw die 0.5V nehmen? Jemand ne Idee?? Bei dem zitierten Beitrag von oben war auch noch der Schaltplan bei der auch diesem Beitrag angefügt wurde. Aber irgendwie verstehe ich nicht so ganz wo ich jetzt die Diode einbauen müsste.
Wie wärs wenn du die Diode so einbaust wie sie in dem Schaltplan nachträglich eingezeichnet wurde?
Ich verstehe leider nicht so ganz was das bringen soll. PIN4 am USB Anschluss ist GND. Warum dann eine Diode in Sperrichtung zu GND?? Was bringt mir das? Außerdem kann ich die Diode an jedes GND in dem SChaltplan anschließen? GND sollte ja eigentlich überall gleich sein also sollte das jawohl gehen oder?
Ich habe so den Eindruck das du bevor du was probierst immer erst noch schaust ob es nicht einen Grund geben könnte warum es vielleicht nicht funktioniert. Hast du es mit einem Spannungsregler auf 3,3V schon probiert?
Ich habe doch probiert den USBASP mit 3V zu versorgen und dann darüber die Fuses von dem AtMega8L auf meiner Platine zu lesen. Da sagt mir Burn'o'Mat aber immer "Target does not answer". Also muss es ja irgendwo dran liegen.
Hubert G. schrieb: > Hast du es mit einem Spannungsregler auf 3,3V schon probiert? Das ist sowieso eine mehr brauchbare Methode. Probiers einfach mal mit LM317(musst du erst mit zwei Widerständen auf 3,3V einstellen) oder dem LP2950 für 3,3V(http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=lp2950-n®=en&fileType=pdf). In die MISO-Leitung muss dann ein Widerstand rein, der den Programmer dann auch 5V-Kompatibel macht. Mit dem Jumper/Schalter für "Target aus USBASP versorgen" kann ich bei meinem USBASP nun zwischen 5V oder 3,3V oder "aus" umschalten. Mein 3,3V-USBASP passt ohne Not in diese Schachtel:http://www.pollin.de/shop/dt/NzU5OTQ2OTk-/Stromversorgung/Ladegeraete/Spezielle_Lader/Ladeadapter_SEC_0500.html :) mfg mf
> Da sagt mir Burn'o'Mat aber immer "Target does not answer" @ Jack P. Bei einem Fabrik neuen AVR musst du deinen USBasp auf "SlowSCK" stellen, erst dann kann der USBasp mit dem AVR kommunizieren. An der Spannung liegt es nicht, der ATmega8L läuft bei der gleichen Frequenz mit einer niedrigeren Spannung.(ist halt besser als die nicht-L-Version, hab das bei einigen ATmega8 und 8L ausprobiert, die L-Version ist immer hochwertiger)
So habe nun nochmal alles überprüft und jetzt geht es manchmal. Das komische ist halt wirklich nur manchmal - ich sag mal bei 33% funktioniert es. Woran könnte das noch liegen? Wackelkontakt kann ich ausschließen alles überprüft. Sonst jemand ne Idee?
Jack P. schrieb: > Woran könnte das noch liegen? Es kann an so Vielem liegen. Am besten, du machst mal ein Foto von deinem Aufbau.
Ich glaube zwar nicht das euch dsa groß was helfen wird aber es sieht so wie im Bild aus. Farben: Rot => VCC Blau => GND GRÜN => SCK GELB => MOSI Schwarz => MISO Weiß => Reset Es sind 10k Widerstände, welche den Spannungseinbruch verhindern sollen. NIcht irritieren lassen von den anderen Bauteilen auf der Lochplatine - die sind unwichtig hierfür bzw auch gar nicht angeschlossen.
Jack P. schrieb: > Ich verstehe leider nicht so ganz was das bringen soll. PIN4 am USB > Anschluss ist GND. Warum dann eine Diode in Sperrichtung zu GND?? Was > bringt mir das? > > Außerdem kann ich die Diode an jedes GND in dem SChaltplan anschließen? > GND sollte ja eigentlich überall gleich sein also sollte das jawohl > gehen oder? Dadurch, dass du eine Diode zwischen die USB-Masse und deine Platinen-Masse hängst wird das Masse-Potential der Platine um die Durchlassspannung der Diode angehoben. Das bedeutet, dass zB die 5V vom USB nur noch 4,4 Volt sind. Und damit dein Low-Pegel auch sinkt und wieder richtig erkannt wird... Stichwort: Virtuelle Masse. Auf diese Art kannst du zB auch die Spannung von nem 78xx ändern.
1 | ____ |
2 | In --|78xx|-- Out |
3 | |____| |
4 | | |
5 | ----- |
6 | \|/ |
7 | --- |
8 | | |
9 | GND |
Ich könnte doch eigentlich auch einen Transistor nehmen, die MISO Leitung an die Basis legen, an den Kollektor 5V legen und den Emitter an den MISO PIN des programmers oder? Habe hier einen BC547. Welche Widerstände würdet ihr da an Basis und Kollektor vorschlagen? Reichen da jeweils 10k Ohm aus??
Wenn du deinen AVR auf dem mp3-Board (welches mit 3V läuft) beschreiben möchtest musst du nur die Betriebsspannung deines Programmers auf 3V setzen. Durch die langen Leitungen setzt du dein USBasp noch auf Slow und dann geht das.
Also ich habe es jetzt so einigermaßen hinbekommen. Die Fuses können manchmal ausgelesen werden allerdings nicht immer. Der USBASP legt jetzt 3.3V an mein Board. Wenn ich jetzt die Fuses auslesen und es erfolgreich war kommen über die MISO Leitung 3.3V zurück wenn es fehlgeschlagen ist kommen nur 2.8V zurück. Hat jemand eine Idee woran das liegen könnte? Die 3.3V am Eingang vom Board sind konstant. Wo könnte der Fehler liegen??
Ne ich Programmiere über Burn-o-mat. Wo kann ich da die Programmierfrequenz einstellen und welche wäre okay?
Ja der ist gesteckt und damit ist die Erfolgsrate auch höher als ohne. Trtozdem bricht es manchmal ab...
Du hast immer noch keine Schaltung gepostet von deiner Mega8 Platine. Wie sieht es hier mit Kondensatoren aus.
Sorry ich hatte jetzt lange Zeit kein Internet mehr :( Schaltplan sieht wie folgt aus ^^
Wenn C7 der einzige Kondensator in der Stromversorgung ist, dann solltest du rasch einiges nachholen. An alle VCC, AVCC, VDD, AVDD und DVDD Pin einen 100n Kondensator nach GND legen. So nahe wie möglich an die jeweiligen Pin.
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.