PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Programmer defekt?



tbasnoopy
25.12.2011, 23:33
Hallo Leute,

ich bin gerade dabei meinen Mega16 (http://www.reichelt.de/Atmel-ATMega-AVRs/ATMEGA-16-16-DIP/index.html?ACTION=3&GROUPID=2959&ARTICLE=45028&SHOW=1&START=0&OFFSET=500&) zu Programmieren. Dies versuche ich mit dem Diamex Programmer (http://www.reichelt.de/Programmer-Entwicklungstools/DIAMEX-ALL-AVR/index.html?ACTION=3&GROUPID=5100&ARTICLE=110345&SHOW=1&START=0&OFFSET=500& ).

Nachdem ich den ISP in meiner komplexen Schaltung verwendet habe und nichts ging habe ich schnell einen Testaufbau zum Programmieren (siehe Anhang) gebaut. Das Ergebniss war das gleiche => nichts...


avrdude -P usb -p m16 -c avrispmkII -vvvv

avrdude: Version 5.5, compiled on Oct 24 2009 at 12:36:57
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

System wide configuration file is "/opt/cross/etc/avrdude.conf"
User configuration file is "/root/.avrduderc"
User configuration file does not exist or is not a regular file, skippi ng

Using Port : usb
Using Programmer : avrispmkII
avrdude: usbdev_open(): Found ERFOS AVRISP MkII Clone, serno: 0000A00128255
avrdude: Sent: . [01]
avrdude: Recv: . [01] . [00] . [0a] A [41] V [56] R [52] I [49] S [53] P [50] _ [5f] M [4d] K [4b] 2 [32]
avrdude: stk500v2_getsync(): found AVRISP mkII programmer
AVR Part : ATMEGA16
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- ---------
eeprom 4 10 128 0 no 512 4 0 9000 90 00 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- ---------
flash 33 6 128 0 yes 16384 128 128 4500 45 00 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- ---------
lock 0 0 0 0 no 1 0 0 9000 90 00 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- ---------
lfuse 0 0 0 0 no 1 0 0 9000 90 00 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- ---------
hfuse 0 0 0 0 no 1 0 0 9000 90 00 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- ---------
calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00

Programmer Type : STK500V2
Description : Atmel AVR ISP mkII
Programmer Model: AVRISP mkII
avrdude: Sent: . [03] . [90]
avrdude: Recv: . [03] . [00] . [00]
avrdude: Sent: . [03] . [91]
avrdude: Recv: . [03] . [00] . [01]
avrdude: Sent: . [03] . [92]
avrdude: Recv: . [03] . [00] . [0d]
Hardware Version: 0
Firmware Version: 1.13
avrdude: Sent: . [03] . [94]
avrdude: Recv: . [03] . [00] 0 [30]
Vtarget : 4.8 V
avrdude: Sent: . [03] . [98]
avrdude: Recv: . [03] . [00] . [06]
SCK period : 8.00 us

avrdude: Sent: . [10] . [c8] d [64] . [19] [20] . [00] S [53] . [03] . [ac] S [53] . [06] . [08]
avrdude: Recv: . [10] . [c0]
avrdude: stk500v2_command(): command failed
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: Sent: . [11] . [01] . [01]
avrdude: Recv: . [11] . [00]

avrdude done. Thank you.


Koenntet Ihr meinen Schltplan (siehe Anhang) kontrollieren?
Die Verbindungen habe ich alle auf Durchgang geprueft.
Habt ihr noch Ideen woran es liegen koennte?

P.S. ich habe es unter windows und linux versucht. Jeweils die selbe Ausgabe.

Hubert.G
26.12.2011, 10:28
Was für ein Windows verwendest du, wird in der Systemsteuerung der Programmer erkannt?

021aet04
26.12.2011, 10:37
Wie versorgst du deine Schaltung? Es gibt bei Programmern 2 Arten wie man die Schaltung versorgt. Erste Variante ist die Schaltung über eine eigene Versorgung verbinden. Z.B. einem handelsüblichen Netzteil mit 7805. Man muss dann darauf achten das die Versorgung nich auch noch über den Programmer läuft. Dadurch kann der Programmer zerstört werden. Ich habe einen alten Programmer (für den LPT Port) der musste von der Schaltung versorgt werden.
Die 2te Variante ist die Versorgung über den Programmer. Der Programmer den ich aktuell habe (USB AVR Lab von www.ullihome.de) kann beides. Man muss aber darauf achten das der Jumper, bei Versorgung über die Schaltung, nicht gesteckt ist. Ansonsten ist der Programmer defekt.
Das musst du kontrollieren.

Ein (offensichtlicher) Fehler ist der fehlende Widerstand zwischen +5V und Reset. Man sollte auch noch einen Kondensator (100nF Keramik) zwischen Reset und GND schalten.

Wenn du AREF auf +5V schließt musst du darauf achten das du nicht die interne Referenz (2,56V => REFS0 und REFS1 ==1) verwendest. Du zerstörst somit die interne Referenz. Besser wäre einen Jumper zu nehmen damit du, wenn du die interne Referenz nimmst, die 5V "wegschalten" kannst.

MfG Hannes

tbasnoopy
26.12.2011, 10:53
Win7 und Suse 10.2.

Ich nehme stark an, dass er ihn richtig erkannt hat weil avrdude ihn ja erkennt

avrdude: usbdev_open(): Found ERFOS AVRISP MkII Clone, serno: 0000A00128255

In der Systemsteuerung (Win7) wurde er von Anfang an richtig erkannt (also Name) aber funktionierte nicht. Deswegen hab ich die libusb Treiber installiert. Damit hat dann avrdude auch oben gezeigte Ausgabe gehabt.

Interessanter weise werden die Atmegas nach ca 5min Eierkochen heis. Habe jetzt schon 2 Stueck ausprobiert.

Edit:
Der Diamex Controller kann auch selber mit Spannung versorgen. Habe es mit 3,3V und mit 5V versucht. beides ohne Erfolg.

Der fehlende Widerstand ist mir grad auch aufgefallen - werde ich einbauen. Kann es sein das dadurch die Megas so heis wurden? Sind sie nun hinueber?
Auf den Kondensator muss ich in der "Testschaltung" verzichten. Hab keinen mehr da. Aber das ist ja nicht weltbewegend...

Hubert.G
26.12.2011, 10:59
Wenn die Mega heiß werden ist das nicht gut. In deiner komplexen Schaltung wird der auch heiß?
Man sollte auch in Minimalaufbauten AREF nicht mit VCC verbinden, zwischen VCC und GND 100n geben, es kann sonst die Versorgungsspannung zu schwinden anfangen.
Vor Programmierbeginn die Spannung messen.

021aet04
26.12.2011, 11:02
Die Atmegas dürfen auf keinen Fall heiß werden. Entweder sind die Atmegas defekt oder du hast die Schaltung nicht so aufgebaut. Kann es sein das du einen Kurzschluss o.Ä. in der Schaltung hast? Versuche einmal nur den Atmega am an 5V anzuschließen (mit Widerstand zum Reset Pin). Den Programmer entfernst du. Wenn der Atmega heiß wird hast ist der Atmega defekt. Anschließend verbindest du immer einen Anschluss mit der Schaltung (z.B. Reset dann Mosi dann Miso). Dazwischen aber immer testen ob er heiß wird. Du solltest die Schaltung aber immer abschalten wenn du etwas anschließt.

MfG Hannes

tbasnoopy
26.12.2011, 21:18
Okay...

Widerstand eingeloetet, alles dreimal durchgetestet, keinen Kondensator (wie gesagt: grad keinen zur Hand), Programmer auf 3,3v ExtVCC gestellt und VCC nicht mit angeloetet: nichts geht -.-
Dann Kontakte nochmals durchgezaehlt und festgestellt das ich den ml-10 um 1 pin zu hoch angeloetet hatte und deswegen alle Kontakte 1 Pin zu hoch gerutscht sind. Doof gell ;-)

Wenn man den AVR jetzt dementsprechend 1 hoeher einsetzt und somit die gewollten Pins trifft scheint es zu gehen. Zumindest kommen jetzt anscheinend Daten vom AVR zurueck.

Hab mal den aktualisierten Schlatplan mit angehaengt (falls mal jemand dannach sucht ^^ )


Danke fuer eure schnelle Hilfe. Ich hoffe den Rest alleine hinzubekommen - werde mich allerdings bei Problemen bei euch melden.

P.S. Ja das sind meine ersten Platinen-Loetversuche. Bin Informatiker und kein Techniker XD

021aet04
26.12.2011, 21:59
Wie hast du die einzelnen Jumper gesteckt? Poste einmal Jumper 1 bis 3. Ich vermute das du die Jumper falsch gesteckt hast. Wie wird die Schaltung versorgt? Eigene Versorgung oder Versorgung über Programmer.

PS: Leuchtet eine Led?

MfG Hannes

tbasnoopy
26.12.2011, 22:20
Wie gesagt: jetzt gehts ^^

gelbe LED leuchtet

JP2: 1
JP1: 1+3

021aet04
26.12.2011, 22:29
Schön wenn es jetzt funktioniert. Ich suche bei meiner Schaltung noch nach einer Lösung. Gar nicht so leicht eine Spannung ab ca. 0,1-0,2V in 5V zu verwandeln.

MfG Hannes