Forum: Mikrocontroller und Digitale Elektronik USBasp von Fischl unter Ubuntu installieren


von Quias (Gast)


Lesenswert?

Hallo allerseits :)

Ich möchte mich einbisschen mit der µC-Programmierung beschäftigen und 
habe mir daher ein
RN MiniControl (erstmal unwichtig)
und ein
USBasp von Fischl gekauft.
Alles soweit gelötet.
Die grüne LED des Programmers leuchtet auch. Wunderbar.

Nun habe ich avrdude installiert (sudo apt-get install avrdude),
scheiter aber daran, den Programmer mit meinem Ubunu 11.10 System 
bekannt zu machen.

Ich bin nach dieser Anleitung vorgegangen
http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avrdude_tutorial

lsusb zeigt auch den Programmer an:
1
Bus 007 Device 003: ID 16c0:05dc VOTI shared ID for use with libusb

Die Datei
sudo gedit /etc/udev/rules.d/80-usbprog.rules
ist auch erstellt und hat den Inhalt:
1
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", GROUP="plugdev", MODE="0660" # AVRISP mkII
2
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", GROUP="plugdev", MODE="0660" # AVR-Dragon
3
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", GROUP="plugdev", MODE="0660" # JTAG ICE mkII
4
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2106", GROUP="plugdev", MODE="0660" # STK600
5
ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", GROUP="plugdev", MODE="0660" # USBASP von www.fischl.de
6
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffa", GROUP="plugdev", MODE="0660" # AT90USB
7
ATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", GROUP="plugdev", MODE="0660" # AVR910
8
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2105", GROUP="plugdev", MODE="0660" # AVR ONE
9
ATTR{idVendor}=="03eb", ATTR{idProduct}=="210d", GROUP="plugdev", MODE="0660" # Atmel XPLAIN CDC Gateway 
10
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffb", GROUP="plugdev", MODE="0660" #  AT90USB AVR DFU bootloader
11
ATTR{idVendor}=="1781", ATTR{idProduct}=="0c9f", GROUP="plugdev", MODE="0660" # adafruit usbtiny

Wenn ich nun aber versuche den USBasp mit avrdude anzusprechen,
scheitert das ganze:
1
werner@ubuntu:~$ sudo avrdude -p atmega8 -c usbasp -U flash:w:datei.hex
2
3
avrdude: error: programm enable: target doesn't answer. 1 
4
avrdude: initialization failed, rc=-1
5
         Double check connections and try again, or use -F to override
6
         this check.
7
8
9
avrdude done.  Thank you.

"target doesn't answer" hört sich nicht gut an :/

Kann mir jemand unter die Arme greifen?
Ich finde nirgends eine Lösung für das Problem.

liebe grüße, Quias

von udev (Gast)


Lesenswert?

udev-Service neu gestartet?

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Quias schrieb:
> ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", GROUP="plugdev",
> MODE="0660" # USBASP von www.fischl.de

Meiner (ein China-Billig-USBasp) meldet sich so:
Bus 003 Device 003: ID 16c0:05dc VOTI USBasp AVR Programmer

Die IDs sind also anscheinend in Ordnung. Das heißt, der Programmer 
sollte von avrdude gefunden und verwendet werden.

"Target doesn't answer" klingt eher nach einem Problem mit dem zu 
programmierenden uC. Vielleicht stimmt die Programmiergeschwindigkeit 
nicht?

Versuch es bei avrdude mal mit der Option "-B", z.B. "-B 500".

von udev (Gast)


Lesenswert?

Markus W. schrieb:
> "Target doesn't answer" klingt eher nach einem Problem mit dem zu
> programmierenden uC. Vielleicht stimmt die Programmiergeschwindigkeit
> nicht?

Stimmt, avrdude sollte sonst eher melden:
1
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc

Quias schrieb:
> werner@ubuntu:~$ sudo avrdude -p atmega8 -c usbasp -U flash:w:datei.hex

Das sudo kannst du dir nach dem Eintrag in udev übrigens sparen.

von Quias (Gast)


Lesenswert?

Danke für eure schnellen Antworten :)

> udev-Service neu gestartet?

Jawohl!

> Bus 003 Device 003: ID 16c0:05dc VOTI USBasp AVR Programmer

Merkwürdig. Vielleicht ist meiner kaputt? :/

> Versuch es bei avrdude mal mit der Option "-B", z.B. "-B 500".

Gesagt, getan:
1
ubuntu:~$ sudo avrdude -p atmega8 -c usbasp -U flash:w:datei.hex -B 500
2
3
avrdude: set SCK frequency to 2000 Hz
4
avrdude: error: programm enable: target doesn't answer. 1 
5
avrdude: initialization failed, rc=-1
6
         Double check connections and try again, or use -F to override
7
         this check.
8
9
10
avrdude done.  Thank you.

:/

> Das sudo kannst du dir nach dem Eintrag in udev übrigens sparen.

jap, mach ich, sobald es klappt :)

PS: flash:w:datei.hex muss mir nichts sagen, oder? Ich hab nämlich keine 
Datei namens datei.hex angelegt. Aber das soll ja eh nur ein Test sein 
und die Fehlermeldungen beziehen sich auch garnicht darauf.

Liebe Grüße, Werner.

von Quias (Gast)


Lesenswert?

Sprechen tut er doch schon oder wird die Ausgabe von meinem 
Betriessystem erzeugt?
1
avrdude -p m8 -c usbasp -P USB:xx -v
2
3
avrdude: Version 5.10, compiled on Jun 29 2010 at 21:09:48
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2009 Joerg Wunsch
6
7
         System wide configuration file is "/etc/avrdude.conf"
8
         User configuration file is "/home/werner/.avrduderc"
9
         User configuration file does not exist or is not a regular file, skipping
10
11
         Using Port                    : USB:xx
12
         Using Programmer              : usbasp
13
         AVR Part                      : ATMEGA8
14
         Chip Erase delay              : 10000 us
15
         PAGEL                         : PD7
16
         BS2                           : PC2
17
         RESET disposition             : dedicated
18
         RETRY pulse                   : SCK
19
         serial program mode           : yes
20
         parallel program mode         : yes
21
         Timeout                       : 200
22
         StabDelay                     : 100
23
         CmdexeDelay                   : 25
24
         SyncLoops                     : 32
25
         ByteDelay                     : 0
26
         PollIndex                     : 3
27
         PollValue                     : 0x53
28
         Memory Detail                 :
29
30
                                  Block Poll               Page                       Polled
31
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
32
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
33
           eeprom         4    20   128    0 no        512    4      0  9000  9000 0xff 0xff
34
           flash         33    10    64    0 yes      8192   64    128  4500  4500 0xff 0x00
35
           lfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
36
           hfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
37
           lock           0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
38
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
39
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
40
41
         Programmer Type : usbasp
42
         Description     : USBasp, http://www.fischl.de/usbasp/
43
44
avrdude: auto set sck period (because given equals null)
45
avrdude: error: programm enable: target doesn't answer. 1 
46
avrdude: initialization failed, rc=-1
47
         Double check connections and try again, or use -F to override
48
         this check.
49
50
51
avrdude done.  Thank you.
Trotzdem das avrdude: error: programm enable: target doesn't answer. 1

von udev (Gast)


Lesenswert?

Quias schrieb:
> Sprechen tut er doch schon oder wird die Ausgabe von meinem
> Betriessystem erzeugt?

avrdude spricht schon mit dem usbasp, usbasp noch nicht mit dem target.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Quias schrieb:
> PS: flash:w:datei.hex muss mir nichts sagen, oder? Ich hab nämlich keine
> Datei namens datei.hex angelegt. Aber das soll ja eh nur ein Test sein
> und die Fehlermeldungen beziehen sich auch garnicht darauf.

Öhm, wenn die Datei, die avrdude zum uC senden soll, gar nicht 
existiert, kann das auch eine Fehlerursache sein. Allerdings weiß ich 
nicht, welchen Fehler avrdude dann meldet.

Warum nimmst du nicht einen Read-Befehl? Dann kannst du nicht viel 
falsch machen:

flash:r:datei.hex:i

von Quias (Gast)


Lesenswert?

> Warum nimmst du nicht einen Read-Befehl? Dann kannst du nicht viel
falsch machen:

Kannte ich garnicht :)
Ok, daran liegt es schonmal nicht.
1
sudo avrdude -p atmega8 -c usbasp -U flash:r:datei.hex:i -B 500
2
[sudo] password for werner: 
3
4
avrdude: set SCK frequency to 2000 Hz
5
avrdude: error: programm enable: target doesn't answer. 1 
6
avrdude: initialization failed, rc=-1
7
         Double check connections and try again, or use -F to override
8
         this check.
9
10
11
avrdude done.  Thank you.


Schade nur, dass das das meine einzigen mµ Geräte sind. Ich kann keinen 
anderen Programmer oder ne andere Zielschaltung ausprobieren.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Quias schrieb:
> Schade nur, dass das das meine einzigen mµ Geräte sind. Ich kann keinen
> anderen Programmer oder ne andere Zielschaltung ausprobieren.

Stimmt, sonst wär der Test einfacher.

Vielleicht ist auch nur eine Leitung zum Ziel-uC nicht richtig 
angeschlossen? Oder am falschen Pin? Hatte ich alles schon. :-)

von udev (Gast)


Lesenswert?

Geh doch mal die Punkte in der FAQ durch:

I'm running avrdude and I get "Initialization failed, rc=-1"
http://www.ladyada.net/make/usbtinyisp/help.html

von Quias (Gast)


Lesenswert?

Ich hab mir mal den Spaß gemacht und einfach mal die Zielschaltung
abgeklemmt. Die Fehlermeldung ist die gleiche.
1
sudo avrdude -p atmega8 -c usbasp -U flash:r:datei.hex:i -B 500
2
3
avrdude: set SCK frequency to 2000 Hz
4
avrdude: error: programm enable: target doesn't answer. 1 
5
avrdude: initialization failed, rc=-1
6
         Double check connections and try again, or use -F to override
7
         this check.
8
9
10
avrdude done.  Thank you.
Vielleicht liegt es tatsächlich an meinem RN-MiniControl.

Am Spassungsteiler kommen jedenfalls die 8,x Volt an.
Wenn ich mein Multimeter in Reihe an der Batterie anschließe, zeigt er 
trotzdem 0.00 an (sowohl bei 20µA, 200µA ... einfach bei jeder 
einstellung).
Wobei ich denke, dass ich da einfach nur unfähig bin.

von udev (Gast)


Lesenswert?

Quias schrieb:
> RN-MiniControl

Der ist aber auch mit dem ATMega8 bestückt, nicht mit dem Mega168? Hmm, 
aber auch dann sollte die Fehlermeldung eine andere sein...

von Quias (Gast)


Lesenswert?

Auf dem MiniControl ist der Atmega168-20PU drauf.

> Are your 10 and 6 pin cables correct?

Am Kabel wird es nicht liegen. Der war vor einigen Tagen noch in meinem 
PC verbaut.

> Are you either providing power to the chip (have the jumper in place) or are 
providing power to the programmer through the VCC header pin? If the jumper is not 
in place, the buffer chip (74ahc125) will require at least 2.5V from the target.

Ich habe den Jumper nicht gesetzt, da ich mein Target schon mit einer 
9V-Blockbatterie versorge (hab keine andere Stromquelle bei der ich mir 
sicher wäre richtige zu polen :D)

> If you programmed your chip to have a very slow clockspeed use the -B flag, as 
shown here to slow down the chip. "-B 32" should do the job most of the time, but 
you can go as slowly as "-B 250"

Dürfte für ein Read nicht relevant sein, ich hab aber trotzdem mal 
beides probiert.

> Is the chip powered? AVCC, VCC, and all GND pins must be connected.

Dürfte so sein. Wie kann man das ausprobieren?

> Does it have a clock or crystal (if necessary?)

Quarz ja, brauch man aber eigt auch garnicht (interner Quarz :))

> Is anything keeping the MISO/MOSI/SCK/Reset pins from switching? (ie are the 
loaded down)

Check ich nicht :/

von udev (Gast)


Lesenswert?

Quias schrieb:
>> Does it have a clock or crystal (if necessary?)
>
> Quarz ja, brauch man aber eigt auch garnicht (interner Quarz :))

"verfused", also falsche externe clock angegeben?

Quias schrieb:
>> Is anything keeping the MISO/MOSI/SCK/Reset pins from switching? (ie are the
> loaded down)
>
> Check ich nicht :/

Hängt irgendwas an den Pins, das die Pins beim Programmieren nach GND 
zieht?

von Quias (Gast)


Lesenswert?

Oar, also :

Beim µC liegen zwischen GND und VCC 4,8V an.

> "verfused", also falsche externe clock angegeben?

Wo gebe ich das den an?

> Hängt irgendwas an den Pins, das die Pins beim Programmieren nach GND
> zieht?

Bislang habe ich noch garnichts angeschlossen und Lötfehler sehe ich 
auch nicht. Ich denke also: Nein :)

von udev (Gast)


Lesenswert?

Quias schrieb:
>> "verfused", also falsche externe clock angegeben?
>
> Wo gebe ich das den an?

Achso, sorry, gerade nochmal gelesen. Der ist also neu, wir können also 
"verfused" erstmal ausschließen.

Quias schrieb:
> Bislang habe ich noch garnichts angeschlossen und Lötfehler sehe ich
> auch nicht. Ich denke also: Nein :)

Und das auch ausgeschlossen...

Ist das Kabel richtig gepolt drauf gesteckt?

von Quias (Gast)


Lesenswert?

Jawohl!

Soll ich einfach mal folgende Schaltung nachbauen?

http://www.rn-wissen.de/images/thumb/f/f8/Avrtutorial_grundschaltung_mitled.gif/800px-Avrtutorial_grundschaltung_mitled.gif

Die meisten Teile habe ich davon rumfliegen (sind ja nicht besonders 
viele :)).
Würde das was nützen?

von udev (Gast)


Lesenswert?

Quias schrieb:
> Würde das was nützen?

Ich befürchte nicht. Angeschlossen ist das USBasp auch an ISP? Ich kenne 
das Board nicht, aber da sind so viele Jumper drauf. Davon einer falsch 
gesetzt?

von Quias (Gast)


Lesenswert?

Ja, die Jumper sind richtig gesetzt und auch das Programmer-Kabel geht 
in die ISP Buchse. Ich habe gerade die ganze Zeit dafür investiert die 
Schaltung nachzubauen.

Es klappte immernoch nicht. Vielleicht lag es auch an der Schaltung.
Aufm Breadboard ist alles so unübersichtlich.

Wie soll ich nur weiter vorgehen? :/

von udev (Gast)


Lesenswert?

Quias schrieb:
> habe mir daher ein
> RN MiniControl (erstmal unwichtig)
> und ein
> USBasp von Fischl gekauft.

Waren beides Bausätze? Schwer zu sagen, ob es jetzt am USBasp oder Board 
liegt.

Quias schrieb:
> Vielleicht lag es auch an der Schaltung.

Ziel sollte erstmal sein: ohne Schaltung das Board mit dem USBasp zu 
programmieren.

Jemand der hier mitliest noch eine Idee?

von Gelöscht (kami89)


Lesenswert?

Du könntest vielleicht mal eine LED an den RESET-Pin vom ATMega 
anschliessen. Wenn du dann per avrdude lesen oder schreiben willst, 
müsste die LED kurz toggeln.

Ich kann aber nicht sagen, ob bei deinem Programmiergerät das Signal auf 
RESET auch genug lange ist dass man es von Auge erkennen kann. Bei 
meinem mySmartUSB Programmer ist es genügend lange, da sieht man gut 
dass da was geht auf der RESET-Leitung.

Besser wäre natürlich ein Oszilloskop, aber ich denke mal sowas hast du 
nicht zur Verfügung?

von Quias (Gast)


Angehängte Dateien:

Lesenswert?

Upps ... mit "Schaltung" meinte ich eigentlich das Board.
Eine Schaltung war nie vorhanden. Es war immer nur die Schaltung des 
Boards gemeint.

Auf der Seite von Fischl habe ich eine "minimalschaltung" entdecken 
können:
http://www.fundf.net/usbasp/pic/simple_mega8.png

Diese habe ich versucht nachzubauen: Anhang

Beim µC kommen auch 5V an.

Zwar bin ich mir wiederrum nicht sicher, ob diese Breadboard-Schaltung 
wirklich richtig ist, doch soll wirklich RN-MiniControl, meine ATMega32 
und meine ATMega8 Schaltung falsch sein? :( (Damit will ich nicht sagen, 
dass es nicht sein kann :D).

Ich hab einfach keine Ahnung was ich machen soll.

Der Fehler kann echt überall sein.
Hat da niemand ein Tipp? Soll ich mir ein anderen Programmer zulegen?

Bei RN gibt es ja den ISP-Com-bla Programmer - dann bräuchte ich aber 
wiederum ein COM-USB-Adapter (hab nur USB). Das ist doch aber quatsch?

von Quias (Gast)


Lesenswert?

Jaaaa! Man kann ein schwaches, rotes Schimmern erkennen. Für weniger als 
eine Sekunde!!

Aber was heißt das nun? :/

von Gelöscht (kami89)


Lesenswert?

Jetzt hab ich den Durchblick nicht mehr.
Du hast also schon 3 verschiedene Zielplattformen ausprobiert?
Alle AVRs sind fabrikneu und wurden noch nie programmiert?

OK immerhin toggelt also die Reset-Leitung, das ist doch schonmal ein 
Lebenszeichen vom Programmer.
Den gleichen Versuch könntest du jetzt noch mit MISO, MOSI und SCK 
probieren. Allerdings herrschen dort etwas höhere Frequenzen, kann nicht 
mit Sicherheit sagen ob man das noch von Auge erkennen kann.

von Quias (Gast)


Lesenswert?

> Jetzt hab ich den Durchblick nicht mehr.
> Du hast also schon 3 verschiedene Zielplattformen ausprobiert?
> Alle AVRs sind fabrikneu und wurden noch nie programmiert?

Eins davon war ein Bausatz (RN MiniControl).
Die anderen beiden waren selbstbauten (5minuten Schaltungen aufm 
Breadboard). Und da ich absoluter Anfänger bin, war zu erwarten, dass 
sie nicht funktionieren (ich konnte nur nicht "nichts" machen).

> OK immerhin toggelt also die Reset-Leitung, das ist doch schonmal ein
> Lebenszeichen vom Programmer.
> Den gleichen Versuch könntest du jetzt noch mit MISO, MOSI und SCK
> probieren. Allerdings herrschen dort etwas höhere Frequenzen, kann nicht
> mit Sicherheit sagen ob man das noch von Auge erkennen kann.

Mach ich!

von udev (Gast)


Lesenswert?

War der USBasp auch ein Bausatz?

von Gelöscht (kami89)


Lesenswert?

Okay, da du Anfänger bist, hier noch ein Tipp:
Die LED inklusive Vorwiderstand in Serie machst du am besten in der 
Richtung VCC (5V) --> PIN rein, ich glaube die Programmiergeräte können 
nur gegen GND schalten.

Also so:
+5V  ---|===|----->|----- zu testender PIN
(+5V --- Widerstand --- LED --- zu testender PIN)

Falls du dich mit dem ausrechnen des Vorwiderstandes noch nicht 
auskennst, nimm einfach mal etwas um die 300 bis 600 Ohm.

von Quias (Gast)


Lesenswert?

> Falls du dich mit dem ausrechnen des Vorwiderstandes noch nicht
> auskennst, nimm einfach mal etwas um die 300 bis 600 Ohm.

Upps ... da hat wohl jemand die Vorwiderstände vergessen wegschäm

Jedenfalls leutet bei den 3 Pins nichts. Egal wierum die LED gepolt 
wurde (Hardcore-Debug). Das kann aber wirklich daran liegen, dass die 
Ströme zu schwach sind.

Ich weiß nicht, ob das schon vorher so war und ich es wegen meinen 70W 
Lampen nicht gesehen habe, aber sobald ich Enter drücke (den Befehl 
absende)
fängt nicht nur die RESET-Lampe an zu leuchten, sondern auch die rote 
des Programmers.
Wenn die Fehlermeldung erscheint (wenige augenblicke) erlischen beide 
wieder.

Der Programmer war ein Bauset. Musste nur löten.

von udev (Gast)


Lesenswert?

Quias schrieb:
> Der Programmer war ein Bauset. Musste nur löten.

Elko und Dioden scheinen auf dem Bild richtig gepolt. Würde 
wahrscheinlich auch noch weniger gehen, wenn das etwas falsch wäre. 
Komisch! :/

Ich würde noch einmal eine Schaltung mit dem ATMega8 aufbauen. Am besten 
nur auf einem Steckbrett. Nur die Kabel am Stecker einstöpseln die 
wirklich benötigt werden. Bis auf VCC und GND alle möglichst direkt auf 
die Pins geben. VCC und GND auf die Seitenbahnen und erst zum Schluss 
den Kondensator und den Widerstand. Also alles mit möglichst wenig 
Brücken.

von Quias (Gast)


Lesenswert?

Hab ich ja :)

Beitrag "Re: USBasp von Fischl unter Ubuntu installieren"

Sieht da ein geübtes BreadBoard-Auge ein Fehler?

von udev (Gast)


Lesenswert?

Mein Auge ist leider auch noch nicht geübt... ;)

Da sind aber noch so viele Brücken. Ich würde den Aufbau vereinfachen. 
Jede Brücke von Board zu Board ist schon wieder eine Fehlerquelle.

von Gelöscht (kami89)


Lesenswert?

Ja, mach einen einfacheren Aufbau, so dass man hier dann auf einem Foto 
auch wirklich jede einzelne Verbindung erkennen kann.

Wird der ATMega über den Programmer mit 5V versorgt, oder extern?
GNDs miteinander verbunden?

Hast du ein Windows zur Verfügung, um avrdude mal damit zu versuchen?
Wobei ich eher auf einen Hardwarefehler tippe als auf Software, aber 
meistens liegt der Fehler bekanntlich ja nicht da wo man sucht ;-)

Mir kommt sonst auch grad nichts mehr in den Sinn...

von Quias (Gast)


Angehängte Dateien:

Lesenswert?

Sieht da jemand etwas, was entfernt werden kann, da es unnötig ist?
WObei am AVR nur 8 Kabel angeschlossen sind.
Ich denke nicht, dass man da noch was simpler gestalten kann.

Wozu ist eigentlich +5V und GND mit dem Programmer verbunden?
Der bekommt doch sein Strom vom USB?

Wie soll ich da nun weiter vorgehen?
Scheinbar liegt es ja nicht an der AVR-Schaltung, oder?

von Quias (Gast)


Lesenswert?

> Ja, mach einen einfacheren Aufbau, so dass man hier dann auf einem Foto
> auch wirklich jede einzelne Verbindung erkennen kann.

Ein Post weiter oben :)

> Wird der ATMega über den Programmer mit 5V versorgt, oder extern?
> GNDs miteinander verbunden?

Mit einer 9V Blockbatterie. Den Spannungsregler hab ich mal nicht 
abgelichtet (zu unübersichtlich - liefert aber 5V).

> Hast du ein Windows zur Verfügung, um avrdude mal damit zu versuchen?
> Wobei ich eher auf einen Hardwarefehler tippe als auf Software, aber
> meistens liegt der Fehler bekanntlich ja nicht da wo man sucht ;-)


Ich hab beim Programmer kein Jumper gesetzt. Wenn ich ein bei JP3 setze 
(der ist doch für ein externes +5V?), kommt der Fehler:
1
sudo avrdude -p atmega8 -c usbasp -U flash:r:datei.hex:i -B 500
2
avrdude: Warning: cannot query manufacturer for device: error sending control message: Protocol error
3
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc

von Oliver J. (skriptkiddy)


Lesenswert?

Quias schrieb:
> Wenn ich ein bei JP3 setze
> (der ist doch für ein externes +5V?), kommt der Fehler:
Meinst du zufällig JP1?
Nimm doch mal die Batterie vom Board ab und setzte mal den Jumper JP1 
auf dem usbasp und versuche es doch mal damit.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Quias schrieb:
> Wozu ist eigentlich +5V und GND mit dem Programmer verbunden?
> Der bekommt doch sein Strom vom USB?

Falls der Ziel-Mega keine eigene Versorgung hat, müssen VCC und GND von 
USB geholt werden. Falls er eigene Stromversorgung hat, sollte VCC nicht 
verbunden werden, wohl aber GND.

> Scheinbar liegt es ja nicht an der AVR-Schaltung, oder?

Ist auf das auf dem Bild ein ATmega8 oder ein ATmega168? Ist eigentlich 
egal, beide haben meines Wissens die gleiche Pin-Belegung.
Irgendwas stimmt da aber nicht. Pin 1 des uC z.B. sollte direkt mit dem 
Reset-Anschluss des 10-poligen Steckers verbunden sein (dort Pin 5).

Vielleicht sind auch andere Pins nicht richtig angeschlossen?

von udev (Gast)


Lesenswert?

Quias schrieb:
> Sieht da jemand etwas, was entfernt werden kann, da es unnötig ist?
> WObei am AVR nur 8 Kabel angeschlossen sind.
> Ich denke nicht, dass man da noch was simpler gestalten kann.

Soweit meine müden Augen das erkennen, sieht das gut aus so!

Quias schrieb:
> Wozu ist eigentlich +5V und GND mit dem Programmer verbunden?
> Der bekommt doch sein Strom vom USB?

Der +5V Pin am 10Pin-ISP-Stecker liefert die +5V vom USB.

Quias schrieb:
> Mit einer 9V Blockbatterie. Den Spannungsregler hab ich mal nicht
> abgelichtet (zu unübersichtlich - liefert aber 5V).

Lass die 9V mit dem Regler einfach weg und nehm die +5V und GND vom 
Programmer.

Quias schrieb:
> Ich hab beim Programmer kein Jumper gesetzt. Wenn ich ein bei JP3 setze
> (der ist doch für ein externes +5V?), kommt der Fehler:

Ohne den 9V Block muss der Jumper gesetzt sein.

von Jan S. (simpson1991)


Lesenswert?

Hey,
hatte den Programmer Bausatz von Fischl zu Nikolaus bekommen:)
Ich kann dir sagen das die grüne LED auch leuchtet selbst wenn der 
Programmer nicht korrekt zusammen gelötet wurde.
Ich habe wohl irgendwo einen fehler gemacht oder ein Bauteil war kaputt, 
keine Ahnung woran es lag auf jeden fall funktionierte es nicht und er 
war defekt.

Kann mir gut vorstellen das auch deiner kaputt ist.
Habe mir dannach den hier gekauft:
http://www.ebay.de/itm/Programmer-AVR-USB-USBasp-Socket-Programmierung-Adapter-6-10PIN-/250988929002?_trksid=p4340.m185&_trkparms=algo%3DDLSL%252BSIC.NPJS%26its%3DI%26itu%3DUCI%252BUA%26otn%3D10%26pmod%3D250974763955%252B250974763955%26po%3D%26ps%3D63%26clkid%3D6191013799680602046
ist die gleiche Technik (auch USBasp), mit kleinen entwicklerboard für 
wenig Geld :), nun funktioniert alles bestens und ich kann meinen Atmega 
sauber programmieren :)
Achja die Treiber die du hier für brauchst sind die von Fischl ;)

von Quias (Gast)


Lesenswert?

> Meinst du zufällig JP1?

Ich habe gelesen, dass es da 100%ige Verwechselungsgefahr gibt.
Bei einer Version ist JP1 VTarget, bei einer anderen JP3.
Der andere Jumper ist dann dafür da, den Programmer-AVR zu löschen (oder 
so), weshalb ich mich nicht traue es einfach auszuprobieren.

Also, ich habe sowohl Vcc wie auch GND mit dem Programmer angeschlossen, 
wie auch eine eigenes Spannungsquelle für das Board :/

von Quias (Gast)


Lesenswert?


von udev (Gast)


Lesenswert?

Quias schrieb:
> Bei einer Version ist JP1 VTarget, bei einer anderen JP3.
> Der andere Jumper ist dann dafür da, den Programmer-AVR zu löschen (oder
> so), weshalb ich mich nicht traue es einfach auszuprobieren.

Großartig: 100% Verwechslungsgefahr. Der eine Jumper ist für 
"self-programming", damit kann dann Programmer mit einem anderen 
Programmer programmiert werden. So wie ich das verstehe müsste dafür 
aber ein Programmer in den ISP-Stecker gesteckt werden, anstelle deines 
jetzigen Kabels. Außerdem sollte dem Programmer nichts passieren, 
solange du mit avrdude nur einen "READ" ausführst.

Quias schrieb:
> Also, ich habe sowohl Vcc wie auch GND mit dem Programmer angeschlossen,
> wie auch eine eigenes Spannungsquelle für das Board :/

Du solltest nicht Vcc und GND von USB und einer zweiten Spannungsquelle 
gleichzeitig anschließen. Ich würde den 9V Block ganz weglassen und nur 
USB benutzen.

von Gelöscht (kami89)


Lesenswert?

aaah sowas hatten wir schonmal, da gab es Missverständnisse mit den 
Jumper.

Also hier das Ganze im Klartext:
- 9V Block und Spannungsregler erstmal weglassen für den Test
- VCC und GND vom AVR mit dem Programmer verbinden (hast du ja schon)
- Jumper "Supply Target" muss geschlossen sein
- Jumper "Self Programming" muss offen sein
- Jumper "Slow SCK" besser auch mal schliessen

Hast du das wo?

EDIT:
Auf deinem letzten Foto ist aber der RESET-Pin vom AVR nicht 
angeschlossen?!? Das mit der LED war natürlich nur um zu schauen, ob der 
Programmer überhaupt irgendwas macht. Der Mikrocontroller muss natürlich 
angeschlossen bleiben, die LED kannst ja jetzt wieder rausnehmen.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Urban B. schrieb:
> EDIT:
> Auf deinem letzten Foto ist aber der RESET-Pin vom AVR nicht
> angeschlossen?!? Das mit der LED war natürlich nur um zu schauen, ob der
> Programmer überhaupt irgendwas macht. Der Mikrocontroller muss natürlich
> angeschlossen bleiben, die LED kannst ja jetzt wieder rausnehmen.

Nicht nur das. Wie ich oben schon schrieb, bitte auch die anderen Pins 
prüfen!

Es ist zwar auf dem Foto nur schlecht zu sehen, aber anscheinend wurde 
AREF an VCC angeschlossen, nicht aber AVCC. Falls dem wirklich so ist, 
kann es schon alleine deswegen nicht gehen...

von udev (Gast)


Lesenswert?

Markus W. schrieb:
> anscheinend wurde
> AREF an VCC angeschlossen, nicht aber AVCC.

Das sieht wohl nur so aus, weil die Kabel für AVCC und AGND da über 
Kreuz gehen. Ich vermute Quias wird die Kabel schon 20mal geprüft haben. 
Ich hoffe ja noch auf die Jumper... ;)

von Gelöscht (kami89)


Lesenswert?

Urban B. schrieb:
> Hast du das wo?
hoppla, klingt ja saublöd ;-) sollte "hast du das so?" heissen xD

@udev
Ich glaube fast, Markus hat recht. Sieht für mich auch so aus als wäre 
Pin 20 gar nicht angeschlossen (man sieht einen Teil vom Loch des 
Steckbrettes ganz rechts)

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

udev schrieb:
> Das sieht wohl nur so aus, weil die Kabel für AVCC und AGND da über
> Kreuz gehen. Ich vermute Quias wird die Kabel schon 20mal geprüft haben.
> Ich hoffe ja noch auf die Jumper... ;)

Ich weiß nicht... Pin 20 (AVCC) scheint eindeutig unbeschaltet zu sein. 
Jedenfalls sind alle zugehörigen 4 Löcher der Steckplatine als "leer" zu 
erkennen.

von Quias (Gast)


Lesenswert?

Das liegt da wirklich nur am Winkel.
20 ist Vcc 22 Gnd. 21 ist garnicht belegt (Aref muss auch nicht belegt 
sein?).

Jumper 1 und 3 sind gesetzt.
Der Fehler ist der Selbige.

Am µC liegen aber 5V an und die LED leutet wieder auf (hab die mal kurz 
zwischengeschlossen :)). Die Versorgung per USB funktioniert also.

von Quias (Gast)


Lesenswert?

> Ich weiß nicht... Pin 20 (AVCC) scheint eindeutig unbeschaltet zu sein.
> Jedenfalls sind alle zugehörigen 4 Löcher der Steckplatine als "leer" zu
> erkennen.

Vielleicht hab ich mich beim Foto machen aus vertan, da ich zu dem 
Zeitpunkt den SPannungsregler rausgenommen habe (Übersichtlichkeit).

Folgende Pins sind aber belegt:
AVR        > Programmer
1  - RESET > Pin5
7  - VCC
8  - GND
17 - MOSI  > Pin1
18 - MIOS  > Pin9
19 - SCK   > Pin7
20 - VCC
22 - GND

von Gelöscht (kami89)


Lesenswert?

Quias schrieb:
> Folgende Pins sind aber belegt:
> AVR        > Programmer
> 1  - RESET > Pin5

Und der PullUp Widerstand (um die 10kOhm) ist an Reset dran?

Momentan fällt mir sonst grad nichts mehr ein...besteht keinerlei 
Möglichkeit an ein Oszilloskop zu kommen (Kollegen, Schule,...)? Dann 
könnte man mit Sicherheit sagen ob sich auf den MISO,MOSI,SCK Leitungen 
was tut.

von Quias (Gast)


Lesenswert?

RESET ist einmal mit Pin5 des Programmers verbunden und außerdem über 
ein 10kOhm R (Braun - Schwarz - Orange) mit VCC.

Was soll ich dann mit dem Oszi machen? Ich hätte ein alten Hameg 203-7 
(wobei ein Kanal kaputt ist). Ich weiß aber garnicht so genau, wie man 
den benutzt. Oszis dürfen nur parallel geschaltet werden, oder?
Wo lege ich die Tastköpfe an? :/

von Gelöscht (kami89)


Lesenswert?

Quias schrieb:
> RESET ist einmal mit Pin5 des Programmers verbunden und außerdem über
> ein 10kOhm R (Braun - Schwarz - Orange) mit VCC.
OK das passt.

> Was soll ich dann mit dem Oszi machen? Ich hätte ein alten Hameg 203-7
> (wobei ein Kanal kaputt ist). Ich weiß aber garnicht so genau, wie man
> den benutzt. Oszis dürfen nur parallel geschaltet werden, oder?
> Wo lege ich die Tastköpfe an? :/
Hmm mit dem analogen Oszi wird das kaum was werden. Sollte schon ein DSO 
sein. Damit kannst du nämlich feststellen, was mit den Signalen MISO, 
MOSI, SCK, RESET genau passiert in dem Moment wo du den avrdude Befehl 
ausführst.

Ansonsten bau halt mal einen LPT-Programmer wenn du einen LPT-Port zur 
Verfügung hast. Dann könntest du vielleicht wenigstens herausfinden ob 
die Schaltung auf dem Steckbrett funktioniert...
Eine bessere Idee hab ich nicht ;-)

von Quias (Gast)


Lesenswert?

http://blog.gut-man.de/2009/05/19/lpd-zu-isp-porgrammieradapter/

Würde das langen?

Nur 2x 220R - dürfte sich auftreiben lassen ;)
Die Frage ist nur, ob AVRdude mit Ubuntu damit zurecht kommt?
(Außerdem muss ich mal ein PC mit LPT suchen).

von Quias (Gast)


Lesenswert?

LPT-Port vorhanden.

Pin 1   SCK
Pin 2   MOSI
Pin 11   MISO
Pin 16   RESET
Pin 21   GND

An Pin1 und Pin2 kommt noch ein 1k zwischen. Das müsste reichen.
Darf mich nur nich vertuen.

Ich kanns leider erst morgen probieren.

von Gelöscht (kami89)


Lesenswert?

Jo, kannst es mal damit probieren, aber musst halt eben aufpassen dass 
du nichts schrottest.

Hier noch evtl. nützliche Infos zu avrdude + LPT Programmer:
http://www.mikrocontroller.net/articles/AVRDUDE#Parallelport-Programmer_an_aktuellen_PCs

Viel Glück! :=)

von Quias (Gast)


Lesenswert?

Oder ich kaufe mir ein neuen Programmer.

An ein Male 25Port ISP Stecker komm ich nicht - müsste es erst bestellen 
:/

Daher habe ich mir mal ein AVRISP mkII Programmer bestellt.
Ich danke euch für eure Hilfe!

von udev (Gast)


Lesenswert?

Nur nicht aufgeben! :)

von Gelöscht (kami89)


Lesenswert?

Auch eine Möglichkeit :-)

Dann hoff ich mal, dass es mit dem neuen Programmer klappt!

mfg

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.