Fehler beim Bootloader installieren: Yikes! Invalid device signature.

Nabend,
wollte mir ein nano Quadrocopter bauen und zur Steuerung/Regelung ein ATMEGA328P-AU (3,3V/8MHz) benutzen. Bei der Platine hab ich mich an den aufbau des Pro Mini gehalten. Hat auch alles so weit ganz gut geklappt :), bis zum installieren des Bootloaders :(. Als Programmer habe ich einen Duemilanove genommen und alles nach Arduino-ISP-Tutorial verdrahtet, hab aber die 3,3V des Arduinos an meine Schaltung gelegt. Habs auch schon mit ner externen Spannungsquelle versucht, glaube mich daran zu erinnern dass die 3,3V vom Arduiono vom FTDI-chip kommen und der wahrscheinlich nicht so viel verträgt.
Bekomm beim Installieren des Bootloaders nun immer diese Fehlermeldung:

avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Woran könnte das liegen? Hab alles durchgecheckt, weiss echt nicht weiter.

Kann man irgendwie feststellen obs der ATMEGA überhaupt tut, ohne Bootloader?

hier ein Video wer son ding noch net gesehn hat:

greetz
akrlfix

Welches Board hast Du ausgewählt? Hast Du die erweiterte Ausgabe beim Upload in den Voreinstellungen aktiviert? Damit kriegst Du die Angabe, welcher Wert erwartet wurde und welcher gefunden wurde.

Hab unter Tools -> Board -> Arduino Pro or Pro Mini (3,3V, 8 MHz) w/ ATmega328 ausgewählt, Arduino als ISP und dann auf Bootloader installieren. Das mit der erweiterten Anzeige werd ich ma ausprobieren, kannte ich noch net, thx

Du bist sicher, dass Du einen ATmega328P verwendest und nicht einen ATmega328? Die beiden unterscheiden sich nicht gross, aber sie haben eine andere Identifikation und das könnte der Grund für die Fehlermeldung sein.

Auch möglich könnte sein, dass die 3V3 vom Duemillanove (50mA) nicht ausreichen für die Programmierung des Chips. Ich würde es mal mit einigen grösseren Kondensatoren versuchen, die hier etwas puffern könnten.

moin,
Ist auf jeden fall ein MEGA328P: aufm chip steht MEGA328P AU 1109

hab jetzt mal mit erweiterter Ausgabe versucht den bootloader zu installieren:

avrdude: Device signature = 0x000000

da hab ich wohl was verbockt, evtl den MCU zerschossen :roll_eyes:
Kontakte sind soweit alle in ordnung, finde jedenfalls keine Fehler

ma versuchen ob ich den wieder los bekomm :~

Ich würde es vorher mit einer externen Stromversorgung versuchen (nicht über den Duemillanove).

hatte ich schon versucht, siehe ersten post

so, hab nun den MCU ausgetauscht, hab dabei bemerkt das ein Kontakt vom Resonator nicht richtig auflag und wahrscheinlich n kleiner Spalt vorhanden war. Device signatur passt nu, zumindest kommt die Meldung mit dem Yikes nicht mehr :smiley:

Jetzt kommt da aber ne andere Fehler-Meldung:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x00
avrdude: verification error; content mismatch
avrdude: Send: Q [51] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]

avrdude done. Thank you.

:~

kann man dabei was zerschießen, wenn er nicht alles geladen hat? oder kann man das öfters wiederholen?

kann man dabei was zerschießen, wenn er nicht alles geladen hat? oder kann man das öfters wiederholen?

Eigentlich nicht, aber wenn Du die Fuses falsch setzt, kann es sein, dass Du eine solche Konfiguration (also z.B. ein mit anstatt ohne Quartz) wirklich bauen musst, um das wieder umprogrammiert zu bekommen.

Ich hatte ähnliche Probleme bis ich einen grösseren Kondensator in die Stromversorgung eingeschleust hatte. Hast Du das auch schon versucht?

Hallo nochmal , dachte schon ich habe geschafft , klappt auf dem Arduino Uno auch wie gewollt , aber wenn ich das ganze auf den Attiny brennen will kommt immer

pleace define PAGEL... was ja ignorieren kann
undYikes! Invalid device signature.Double check connections and try again, or use -F to override this check .
Da der Timer in Servo .h schwirigkeiten machen soll habe ich auch mal auf Servo8Bit.h umgeschrieben was eigendlich gehen soll . Aber macht es nicht . Verwende einen Attiny 85 mit 20 Hz.
Was mache ich falsch ?

#include <Servo8Bit.h>

Servo8Bit myServo;

int pos=0;
int Speed = 40;
int tastUp = 2;
int tastDown =3;

void setup()
{
myServo.attach(1);
pinMode(tastUp,INPUT_PULLUP);
pinMode(tastDown,INPUT_PULLUP);
}

void loop()
{
if (digitalRead(tastUp)==LOW) pos++;
if (pos>100) pos=100;
if (digitalRead(tastDown)==LOW) pos--;
if (pos<0) pos=0;
myServo.write(pos);
delay(Speed);
}

Sorry bin im falschen Thred gelandet :kissing: