Für ein Projekt, an dem ich gearbeitet habe, habe ich ein funktionierendes PCB-Schaltbild so umgestaltet, dass es alle SMD-Komponenten verwendet und jetzt über einen ICSP-Header verfügt. Das Board ist im Wesentlichen ein LED-Treiber, der von einem ATMEGA168 gesteuert wird. Es ist Arduino-kompatibel und die PTH-Version funktioniert einwandfrei.
Ich habe das neue Board zusammengebaut, aber ich kann es anscheinend nicht mit meinem AVRISPMkII programmieren. Da dies das erste Mal ist, dass ich so etwas mache, habe ich Schwierigkeiten herauszufinden, wo ich anfangen soll, wenn es darum geht, das Board zu debuggen. Wenn ich versuche, mit dem Board zu kommunizieren, erhalte ich eine von zwei Fehlermeldungen. Diese sind:
avrdude: stk500_getsync(): not in sync: resp=0x00
Und
avrdude: stk500_getsync(): not in sync: resp=0x66
Soweit mir bekannt ist, liegt dieser Fehler daran, dass keine Kommunikation mit dem Board möglich ist. Ich habe mich gefragt, ob dies daran liegen könnte, dass ich den ATMEGA beim Löten beschädigt, das Schaltungsdesign durcheinander gebracht habe oder etwas anderes? Wie kann ich so etwas debuggen?
[Bearbeiten - Link zu meinem Schaltplan aus Datenschutzgründen entfernt, jetzt ist das Problem gelöst]
Ja, dieser Fehler liegt daran, dass keine Kommunikation zwischen dem Board und Ihrem Computer besteht. Leider ist dies schwierig zu debuggen, da es fast unendlich viele Probleme gibt, die dies verursachen können. Ich kann nur folgendes empfehlen:
Sie müssen beide Enden beheben:
Auf der Tafel:
1) Überprüfen Sie Ihre Spannungen. Sind sie korrekt? Möglichst mit einem Oszilloskop. Nicht alle Programmierer liefern eine Spannung, Ihr Board muss dies möglicherweise tun. Normalerweise liefert der STK500 5V. Spannung sollte nur aus einer Quelle bereitgestellt werden; der Programmierer oder das Board - NICHT BEIDES.
2) Überprüfen Sie, ob Ihr ICSP-Header korrekt mit Pin 1 auf dem Header zu Pin 1 auf dem Programmiergerät passt. In der Vergangenheit habe ich Fehler gemacht, indem ich ein Teil umgedreht oder während des Layouts so gedreht habe, dass die Pinbelegung gespiegelt wurde und nicht mehr richtig passte.
3) Wohin geht Ihr Reset-Netz? Ich finde keinen Knopf oder ähnliches. Wenn es an GND gebunden ist, halten Sie den MEGA im Reset.
4) Haben Sie den Bootloader auf den ATMEGA geladen? Arduino IDE wird ohne sie nicht funktionieren.
5) Der ICSP kann auf der Platine deaktiviert werden. Möglicherweise haben Sie dies versehentlich getan, oder es wurde ab Werk mit deaktiviertem ICSP geliefert. Wenn Sie Software auf andere Weise hochladen können, ist es immer noch möglich, dass ICSP deaktiviert ist. Was können Sie also tun, wenn ICSP deaktiviert ist? Wir müssen den Chip zurücksetzen. Lesen Sie hier mehr
Auf dem Computer:
1) Ist die richtige serielle Schnittstelle ausgewählt?
2) Ist der richtige Treiber installiert?
3) Kann man mit dieser Methode einen normalen Arduino programmieren? Wenn Sie können, stimmt etwas mit Ihrem Board nicht.
edcs
x4mer
edcs
avrdude: stk500_recv(): programmer is not responding
Wenn ich versuche, mein Arduino Mega 2560-Board zu programmieren (von dem ich weiß, dass es funktioniert).BrianK
edcs
avrdude: AVR device initialized and ready to accept instructions
- danke für die Hilfe!