Hallo liebe Community! Ich weiß, dass es schon etliche Threads zu diesem Thema gibt, aber ich bin langsam am verzweifeln. Ich möchte diesen(http://www.fischl.de/usbasp/) USBasp benutzen, um einen ATMega8 zu flashen. Ich habe alle Verkabelungen bestimmt 20+ mal überprüft, mehrere Controller (teilweise neu) ausprobiert genauso wie zwei verschiedene (frisch ausgepackte) USBasps. Ich bekomme permanent die Fehlermeldung: avrdude: error: programm enable: target doesn't answer. 1 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. Habe sowohl den SLOW-Jumper, als auch das -B(etliche Zahlen) Statement benutzt, um eine zu hohe Taktrate auszuschließen. MOSI und SCK Leitung "wackeln" auch kurz, kann es nur mit meinem Oszi nicht so genau messen. Nur MISO regt sich gar nicht, sofern ich das beurteilen kann. FUSES sind noch keine gesetzt worden - wie auch. Die Controller sind wie oben beschrieben neu, FUSE-Konfiguration sollte also der Standard sein. Veraltete Firmware kann ich eigentlich ausschließen, weil das Taktrate-Verstellen ja problemlos klappt. Gibt es irgendwas, was ich übersehen haben könnte? LG Nils
Hello, Please check again all connections (shorts or even unconnected wires). Also, check to have 5V on the board to be programmed and 10k resistor from RST pin to VCC. Finnaly, load 2009 firmware in programmer. What program you use to burn AVR? You can post foto(s) with your setup? Best regards
Moin, wie ist dein ATmega8 angeschlossen? Liegt er lose auf dem Tisch? Oder ist er in einer Schaltung verbaut und du willst ihn über ISP programmieren? Wenn lose auf dem Tisch: Guck mal unter http://www.learningaboutelectronics.com/Articles/Program-AVR-chip-using-a-USBASP-with-10-pin-cable.php dort ist prinzipiell der Anschluss beschrieben. ACHTUNG: laut deinem Link sind die Pins 4+6 mit dem UART vom USBASP verbunden. Also Dort ist KEINE Masse. Prinzip für den ATmega8 (PDIP / DIL-Package) ISP Signal ATmega 1 --> MoSi --> 17 2 --> 5V --> 7 (Jumper 3 gesetzt) 5 --> Reset --> 1 7 --> SCK --> 19 8 oder 10 --> GND --> 8 (oder 22) 9 --> MiSo --> 18 Wenn du ihn in einer Schaltung verbaut hast, schließe die Pins 1,5,7,8,9) wie oben beschrieben an. Nur die Versorgung (5V) von extern (=Jumper 3 nicht setzen, oder Pin2 nicht anschließen) anschließen. Wenn du ihn über den USBasp versorgen willst, achte darauf, dass der benötigte Strom vom USB Port bereit gestellt werden muss. Deine Schaltung sollte dann ungefähr so aussehen: http://www.fischl.de/usbasp/bilder/usbasp_circuit.png Achte auf den 10K am Reset Pin. Aber das hat nico ja schon geschrieben. Poste ggf. mal ein Bild von deinem Aufbau. Jumper 1 muss ebenfalls gesteckt sein, denn soweit ich weiß, kommt der Atmega8 im Auslieferungszustand mit den hohen Clock-Raten nicht klar. Ansonsten sollte es eigentlich laufen. Ich hoffe ich habe auf die schnelle dort keinen Schitzer eingebaut.. Der USBasp wird vom PC erkannt??? Denke, ja. Sonst hättest du eine andere Fehlermeldung. Grüße Edit: Bei Versorgung über den USBasp und eingebautem µC muss JP3 natürlich gesteckt sein ;-) Und JP2 ist hoffentlich offen
:
Bearbeitet durch User
Vielen Dank erstmal für die schnellen Antworten! Im Anhang ist jetzt ein Bild von meiner Schaltung. Auf den Schwingquarz kann ich ja verzichten, weil der uC standardmäßig den internen Takt nutzen sollte?(mit Quarz hat sich das Problem auch nicht gelöst). Das Board wird (rechter Jumper) über den USBasp versorgt. Mittlerer Jumper ist wie oben beschrieben Slow. Der Treiber funktioniert, da wie Jan schon sagte die Fehlermeldung sonst anders wäre. Wie wichtig sind die Widerstände bei Mosi und Sck? Habe etliche Schaltungen im Internet gefunden, bei denen sie einfach weggelassen wurden, die aber (im Video) einwandfrei funktioniert haben. Würde mir an sich nicht die Arbeit machen und einfach ein Arduino Board nehmen, aber es ist für die Arbeit und daher muss ich eine platzsparende Lösung finden. Habe vieles an Software durch. Darunter Atmel Studio 7, Arduino IDE 1.6.6, WinAVR und direkt in der MS-Shell. Aber da ja eh alles genannte nur auf AVRDUDE aufsetzt, ist das praktisch egal.
:
Bearbeitet durch User
Ich vermute folgendes: Deine Versorgungsleisten auf dem Steckbrett sind nicht miteinander verbunden. Du hast an Pin20 5V aber nicht an Pin7 --> ggf. mit Voltmeter übertrüfen. Falls ja, steck das rote Kabel auf die linke Versorgungsleiste oder schalte alle Versorgungsleisten mit zusätzlichen Kabeln parallel. Den Widerstand für den Reset kannst du dir in diesem Aufbau sparen. Den brauchst du nur, wenn der Controller auch ohne angesteckten Programmer laufen soll. Es schadet aber auch nicht, wenn du ihn drin lässt. Auf dem Bild kann man es nicht genau erkennen. Aber Pin3 an dem USBasp ist frei? Ich sehe zwar, dass an der oberen Reihe nur 4 Kabel angeschlossen sind, aber welcher Pin frei ist, ist schwer zu erkennen. Außerdem vermute ich mal, dass der Wannenstecker richtig belegt ist. Auf dem USBasp erkenne ich leider keine Markierung aber der Anschluss sollte so sein: https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Stiftwanne2x13v2.jpg/155px-Stiftwanne2x13v2.jpg Auch hier ggf mal nachmessen, ob du an Pin2 zu Pin8/10 5V misst. Bzw. auf deinem Steckbrett. Ansonsten sieht es erstmal gut aus. Probiere das erstmal aus.
Was man (weil alles andere sonst noch ungenauer wäre) nicht erkennen kann ist, dass ich die Leisten parallel geschaltet habe. Habe Vcc gegen GND gemessen und es liegen 5V, genau wie bei AVcc und AGND. Im Anhang nochmal ein genaueres Bild von den Anschlüssen. Über der gelben Leitung (MOSI) ist der Pfeil, leider schwarz auf schwarz.
Guten Morgen, mir fehlen an den beiden Versorgungsanschlüssen Vcc/ Gnd und AVcc/ AGnd jeweils ein 100nF (abblock) Kondensator. Dann hat Atmel einige Application Notes dazu geschrieben, hier ist eine Auswahl: # http://www.atmel.com/images/doc0943.pdf # http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf
Kondensatoren sind dran - leider auch keine Änderung.. Danke trotzdem, würde einem bestimmt an einer anderen Stelle auf die Füße fallen.
Nils P. schrieb: > Ich möchte > diesen(http://www.fischl.de/usbasp/) USBasp benutzen, um einen ATMega8 > zu flashen. Funktioniert der Usbasp denn mit anderen AVR-Controllern (also hast du schon erfolgreich andere AVRs damit beschrieben?), oder ist es sein Stapellauf?
Es ist sowohl mein erster Versuch, als auch der erste Controller, der von dem USBasp beschrieben wird, als auch der erste USBasp, der versucht den Controller zu beschreiben. (zumindest, seit beides aus der Verpackung ist)
Auf die schnelle fällt mir nichts mehr ein. Du könntest noch einmal die 5V an allen µC Pins messen, (gegen Masse vom USBasp) und auch die Masseverbindung prüfen (0,0V gegen GND_USBasp). Außerdem die Signale an Reset, SCK und MOSI und MISO). Sowohl am µC als auch direkt am USBasp. Ich gehe davon aus, das du das aber schon mehrmals gemacht hast. Ansonsten könntest du nochmal versuchen, die Leitungen direkt an den µC zu stecken. Minimalbelegung wie oben geschrieben. Oder wenn du es gerade zu Hand hast: Eine kurze Flachbandleitung direkt an den µC bzw. an ein IC-Sockel löten. Die Steckbretter sollen ja manchmal nicht so doll sein. Für die langsame Programmierung sollte es aber (eigentlich) allemal reichen. Bei mir lief der µC auch schon mit 8MHz Quarz am selben Steckbrett.
Hallo Nils, mit was programmierst Du eigentlich? Ich meine welches Betriebssystem? Solltest Du unter Linux versuchen den Atmega zu brennen, solltest Du sudo avrdude... benutzen. Wenn Du nämlich als normaler Nutzer versuchst zu flashen sieht Deine Fehlermeldung genau so aus. Solltest Du ein Makefile verwenden musst du ggf. den AVRDUDE_Programmer & AVRDUDE_PORT eintragen. Mfg.
Und einen anderen AVR zum Testen hast du nicht zur Hand? Wenn dein Rechner einen Parallelport hat, kannst du einen superprimitiven Parallelport-AVR-Progger aufbauen und damit den Atmega8 testen/beschreiben. Hier wirds erklärt: Beitrag "Re: Microkontroller Starterkit" http://www.rowalt.de/mc/avr/progd.htm
...ich würd's zum Warmwerden dann vielleicht erstmal mit einem "Arduino als ISP" probieren (scheint ja vorhanden zu sein?): https://www.arduino.cc/en/Tutorial/ArduinoISP
Ich progge unter Windows 7 64-bit (habe ich nur ungenau durch MS-Shell erwähnt - mein Fehler). Gibt es da ähnliche Probleme (a la sudo)? Habe sowohl 2 USBasp's als auch 2 ATMega8 uCs und alle mit allen getestet. Der Programmer wird immer erkannt Bin langsam am Ende meines Lateins. Habe schon zig Foren durch, aber alle haben höchstens ähnliche Fehler. Ich beschaffe mir nochmal ein Linux-System und versuche es von diesem aus - die Kompatibilität ist mit SIcherheit höher. Einen Rechner mit Parallelport gibt's hier leider nicht..
@Jan L. den Arduino würde ich bestellen und das wäre meine Ausweichmöglichkeit, sofern ich hier nichts auf die Beine stelle. Mich frustriert nur langsam, dass es keinen für mich ersichtlichen Grund für dieses Verhalten gibt. Einen Grund gibt es mit Sicherheit, nur fehlt mir ein zweites Augenpaar von jemandem, der sich damit auskennt, um das unabhängig zu kontrollieren ;(. Danke trotzdem für den Link, falls ich heute keinen Erfolg mehr habe, wird das ausprobiert. Der Programmer und diese wackelige Konstruktion ist mir sowieso nichts.. Aber bevor ich hier rumlöte, wollte ich es "roh" zum laufen bringen.
@Philipp. Wie soll ich das, ohne die FUSES zu verstellen, für die ich den CHIP ansteuern muss?
Nils P. schrieb: > @Philipp. Wie soll ich das, ohne die FUSES zu verstellen, für die ich > den CHIP ansteuern muss? Wirklich 100%ig sicher sein kann man nie, was mit den Fuses ist. Ich würde dem Atmega einfach einen 4MHz-Quarz oder so (also was langsames) gönnen. Schaden tut es in keinem Fall, aber man ist auf der sicheren Seite. Mit dem http://www.fischl.de/usbasp/ hatte ich seinerzeit Dauerprobleme, es funktionierte zwar grundsätzlich, aber nur sehr wacklig. Tagelange Fehlersuche mit Forenhilfe hatte nix gebracht. Habe dann auf mehrere Empfehlungen hin den AVRISP MKII geholt - und der proggt seit Jahren völlig sauber und zuverlässig.
Danke erstmal für all' eure Hilfe. Habe hier eine Weile gemessen und sehe, dass dieses Bread-Board nicht wirklich zuverlässig ist. Beim MOSI pin messe ich ca. 1/3 der Spannung, die durch das MOSI-Kabel fließt, wenn ich sie direkt verbinde die volle Spannung. Werde also noch einmal einen neuen Aufbau starten müssen, vielleicht wie oben vorgeschlagen direkt an die Pins.
...weitere "Bestelloptionen" - die bei mir prima funktionieren - wären http://www.ebay.de/itm/1Stk-ATmega8-ATmega48-ATMEGA88-Development-Board-AVR-NO-Chip-DIY-Kit-Neu-/201223232054?hash=item2ed9d6da36:g:8BkAAOSwVFlUCDDa oder auch die Chinaversion deines Fischls: http://www.ebay.de/itm/AVR-51-Programmer-Adapter-mit-10-Pin-Kabel-ATMega-ATTiny-USBASP-USBISP-/301687762189?hash=item463dfded0d:g:zrsAAOSw-vlVpJn8 klappten beide unter Win7-64 auf Anhieb (avrdude, bzw. auch "KKMultikopter" - mit absolut abenteuerlichem Fädeldraht-Miso/Mosi-TQFP32-Anschluss...)
Bist du dir sicher das die Jumper auf dem Fischel richtig gesetzt sind ? In der Readme sowie in dem Schaltplan ist Jumper 2 für das Firmwareupdate zuständig, bei dir sind die Jumper 1 + 2 oder 2 + 3 ? gesetzt. Es kommt mir nur ein wenig Spanisch vor das der Jumper 2 nicht in der Mitte liegt. Setting jumpers: J1 Power target Supply target with 5V (USB voltage). Be careful with this option, the circuit isn't protected against short circuit! J2 Jumper for firmware upgrade (not self-upgradable) Set this jumper for flashing the ATMega(4)8 of USBasp with another working programmer. J3 SCK option If the target clock is lower than 1,5 MHz, you have to set this jumper. Then SCK is scaled down from 375 kHz to about 8 kHz.
JSet schrieb: > Es kommt mir nur ein wenig Spanisch vor das der Jumper 2 nicht in der > Mitte liegt Ist korrekt. habe mit die Jumper vorhin auch schon auf dem PCB (bei Ebay) angesehen. die Leiterbahnen führen zu den richtigen Jumpern. Soll heißen: Die Jumper sind nicht in der Reihenfolge von 1-3 angeordnet.
Moin Damian, die Konfiguration scheint korrekt zu sein. Eines der Bilder zeigt die Vorder- eines die Rückseite. http://www.ebay.de/itm/-/221937522256 Eine dicke Leiterbahn auf der Rückseite geht von dem J1 nach Pin2 (5V). Außerdem sieht man auf der Oberseite die Beschriftung Service/Slow/Power. Gibt es schon was neues?
Hallo, ich benutze einen China USBasp, hat einen Jumper für 5V/3.3V. Den Zweiten Jumper musst ich nur setzen, als ich die neue Firmware auf den USBasp geschrieben wurde. Wenn ich mich richtig erinnere hatte ich die Meldung auch beim Atmel Studio 7 mit AVRdude. Probier mal meine Einstellungen für den USBasp mit Atmel Studio 7 (Tools->External Tools): Command: C:\AVRdude-6.1\avrdude.exe Arguments: -e -P usb -c USBasp -B 4 -p m8 -e -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":a PS: Bin mir ziemlich sicher, dass du entweder die Jumper am USBasp falsch gesetzt hast oder die alte Firmware drauf hast.
Nils P. schrieb: > @Philipp. Wie soll ich das, ohne die FUSES zu verstellen, für die ich > den CHIP ansteuern muss? Wer es nicht mit Quarz ausprobiert hat, der hat noch nicht alles probiert. Es gibt auch fertige Deutsche ISP Progger unter 5€.
@Phillip Habe schon mehrfach einen 12Mhz Quarz dran gehabt (mit 22pF Kondensatoren). Wenn ich die Jumper falsch gesetzt habe, wäre schlichtweg die Beschriftung auf dem USBasp falsch. Da steht leider nicht 1,2,3 sondern "Service(links, nehme ich als firmware-upgrade Jumper an), Slow (mitte, nehme ich als Taktdrossler an), Power(rechts, für Stromversorgung, funktioniert auch offensichtlich)". Und unabhängig vom Slow jumper funktioniert auch das -B-Statement. Messe mit dem Oszi und die genannte Frequenz wird auch auf der SCK-Leitung erzeugt. Ich werde heute noch einige Tests durchführen, da die Widerstandsmessung mit dem Multimeter gestern sehr unterschiedlich ausgefallen ist und ich dem Board nicht so richtig traue. Ansonsten lade ich mir noch die aktuellste Firmware runter und spiele die rauf, obwohl ich eigentlich davon ausgehe, dass sie drauf ist. Aber offensichtlich sollte man auf nichts vertrauen.. @fry ich werde deine Einstellungen mal testen, danke.
Hello Nils Now I have seen your fotos. My question is: where is the jumper between positive voltage on breadboard (i.e. I don't see any connection between the two red strips on breadboard). This means that 10k resistor (on RST pin) and +Vcc of AVR are not connected to USBAsp. Check tis please. Best regards from Romania
... and also check GND connections (between blue strips, and between blue strips and USBAsp)
@nico i think i mentioned that I installed a jumper between both lines. If I didn't mention it I'm sry. I also checked all of my Vcc connections against all GND connections.
Ok, sorry if i didn't understood (work with Google translate). Usually this message is received when uC don't work (lack of power supply or misconnection). It is also possible that your breadboard is a bit noisy. The last resort is to rewrite the firmware with 28-09-2009 firmware. If every connection is OK and the whole setup is correct I suspect that new firmware is buggy. I used to use USBasp until I made my AVR ISP MkII clone with AT90USB162, so othe sollutions I don't have. Best regards
Ok Leute vielen Dank für eure Hilfe. Vielen Leuten, die diesen Thread lesen werden eure Vorschläge mit Sicherheit helfen. Ich habe endlich eine Lösung gefunden!! (Die Erleichterung ist nicht in Worte zu fassen) Was ich jedem empfehlen kann, der auch mit einem USBasp in Verbindung mit einem Chip + Breadboard zu kämpfen hat: 1. Checkt ob die Firmware aktuell ist (war sie wohl bei mir) 2. Checkt alle Verbindungen 100 mal, mindestens. 2a. Holt euch ein Multimeter zur Hand und messt alle Vcc Leitungen gegen alle GND Leitungen. 2b. Schließt ein Oszi an und prüft, ob alle Signale ankommen(und richtig ankommen). Da lag bei mir wohl der Fehler - traut nichts, was ihr nicht selbst gebaut habt. Meine Verbindung zum Breadboard bei MOSI, MISO und SCK waren offensichtlich nicht 100% sicher. Darauf kam ich, als ich gesehen habe (wie oben erwähnt), dass nicht annähernd die Spannung am Füßchens des uC ankam, die anliegen sollte, der Ausschlag des Oszi war extrem gedämpft, irgendein Widerstand im Board anscheinend oder eben eine lose Verbindung... Man kann offensichtlich nicht genug messen. Habe es gelöst, indem ich den uC zusätzlich auf einen IC-Sockel gesteckt habe. Danke für eure Mühen und eure Tipps zur Schaltung - erspart mir sicher einige andere Probleme für später. LG Nils
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.