Forum: Mikrocontroller und Digitale Elektronik ATMega328P/Ardunino-Probleme


von Sporgon (Gast)


Lesenswert?

Hi,

ich habe hier eine Schaltung, die auf der des Arduino Nano basiert. 
Leider funktioniert sie nicht wie gewünscht, sprich der ATMega lässt 
sich nicht Flashen, avrdude meldet ständig eine "Device-Signature 
0x000000" und stk500v2_ReceiveMessage(): timeout.

Ich habe die sechs Leitungen MISO, SCK, MOSI, GND und 5V überprüft, sie 
gehen an exakt die richtigen Pins des ATMega und haben untereinander 
auch keinen Kurzschluss. Gibt es an der restlichen Beschaltung des 
ATMega möglicherweise irgendwas, was das Flashen dennoch verhindern 
könnte?

Mit einem regulären Arduino Nano funktioniert mein Programmieradapter, 
daran liegt es also nicht.

Bei meinem eigenen Board sind die Leitungen zum Programmer mit 40 cm 
etwas länger (als die 20 cm zum Nano). Könnte das ein Problem sein?

Jeder Tipp ist willkommen! Danke!

von Micha W. (blackxiiv)


Lesenswert?

Hi,

ja, die langen Leitungen sind gerne mal problematisch - Gerade 40cm!

Ist der ATmega neu? Dann ist der interne Takt auf 1MHz gestellt - 
Stichwort Programmiergeschwindigkeit.
MISO-MOSI mal getauscht?
Block-Kondensatoren an der Betriebsspannung?
Hast du den Code einfach aus der Arduino-IDE kopiert? Dann fehlt dem 
Compiler eventuell der Pre-Prozessor, damit er weiß was er da flashen 
soll, wie die Fuses aussehen usw.
Du sagst 6 Leitungen und zählst 5 auf... RST ist dran? ;)

Mach mal ein Foto von der Schaltung.

Gruß,
Michi (:

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Ich verstehe nur Bahnhof!

von Sporgon (Gast)


Lesenswert?

MISO und MOSI tauschen bringt keine Veränderung. Der avrdude-Aufruf ist

avrdude -c stk500v2 -P /dev/ttyUSB0 -p M328P -B 10 -U 
flash:w:backup_flash.bin

-> das sollte auch mit jungfräulichen, auf 1 MHz laufenden ATMegas 
funktionieren?

von S. Landolt (Gast)


Lesenswert?

> sechs Leitungen MISO, SCK, MOSI, GND und 5V überprüft

Also wohl auch die sechste, RESET!?

von Sporgon (Gast)


Angehängte Dateien:

Lesenswert?

S. Landolt schrieb:
> Also wohl auch die sechste, RESET!?

Ja, hab' nur vergessen, die hinzuschreiben :-)

Anbei mal der Schaltplan. Alles, was dort "BBB_" heißt, ist zum Flashen 
nicht angeschlossen.

von Micha W. (blackxiiv)


Lesenswert?

Sporgon schrieb:

> -> das sollte auch mit jungfräulichen, auf 1 MHz laufenden ATMegas
> funktionieren?

Naja, grobe Faustregel ist Programmiertakt = 1/4 µC Takt. Bei Jungfrau = 
250kHz.

Sicher, das der nicht verfused ist? Auf dem Arduino ist ja ein Quarz 
drauf -> der läuft halt wenn du dort 'nen ext. Takt nutzt.
Hast du nur den Programmer dran? Kann der das Target versorgen?

von Einer K. (Gast)


Lesenswert?

Sporgon schrieb:
> Alles, was dort "BBB_" heißt, ist zum Flashen
> nicht angeschlossen.

Also verhindern deine Endschalter LIMITZ und Y den Upload.

von Micha W. (blackxiiv)


Lesenswert?

Au... Pin 6 vom IC4 mal vom Reset abgemacht? der Buffer wird sicher mehr 
treiben als dein Programmer und er wird es nicht mögen wenn du ihn von 
Außen befeuerst :/

: Bearbeitet durch User
von Sporgon (Gast)


Lesenswert?

Ja, das ist es...Danke!!!

von Micha W. (blackxiiv)


Lesenswert?

Arduino F. schrieb:
> Sporgon schrieb:
>> Alles, was dort "BBB_" heißt, ist zum Flashen
>> nicht angeschlossen.
>
> Also verhindern deine Endschalter LIMITZ und Y den Upload.

LimitZ und LimitY sind einfach Ausgänge des ATmega, die ohne Beschaltung 
auf die Steckerleiste gehen. Die wird zum Programmieren wohl hoffentlich 
nur am Programmer hängen...

von Micha W. (blackxiiv)


Lesenswert?

Sporgon schrieb:
> Ja, das ist es...Danke!!!

Bitte ;)

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.