Arduino Nano reagiert nicht mit einer gelben LED, die schnell blinkt


8

Update : Ich habe angefangen, mit einem echten Deumilanove zu spielen, und genau das gleiche Problem ist damit passiert - d13 führte zum Blinken, aber avrdude sagtstk500_recv(): programmer is not responding

Ich habe eine große Skizze ~ 15kb auf Arduino Nano v3.0 (Klon) hochgeladen und das Board in einem unbrauchbaren Zustand belassen. Bei Anschluss an USB leuchtet sofort eine Betriebs-LED auf und 1-2 Sekunden später beginnt das gelbe "L" sehr schnell zu blinken. Hier ist das Board, das ich benutze , es ist ein billiger Klon, aber es hat vor heute wirklich gut funktioniert.

Wenn ich jetzt versuche, eine neue Skizze hochzuladen, wird folgende Fehlermeldung angezeigt:

avrdude: stk500_recv(): programmer is not responding

Ich habe versucht, einen ISP-Programmierer aus echtem Duemilanove zu machen, indem ich die ISP-Pins von nano verwendet habe, und habe versucht, die offiziellen Anweisungen zu befolgen (habe keine Kondensatoren / Widerstände verwendet). In beiden Fällen ist der gleiche Fehler, wenn ich auf "Bootloader brennen" klicke:

avrdude: stk500_getsync(): not in sync: resp=0x15

Ich habe "Debug" -Leads mit D7,8,9 verbunden und der Herzschlag wird im Leerlauf ein- und ausgeblendet, andere bleiben dunkel. Wenn ich auf "Bootloader brennen" klicke, werden alle LEDs dunkel, dann blinkt es bei 7 schnell, dann bei 8 ähnlich, und der Herzschlag wird fortgesetzt. Manchmal wird diese Sequenz zweimal wiederholt.

Ich habe auch versucht, die Datei settings.txt zu bearbeiten, um den Bootloader zu umgehen, aber das hat nicht geholfen.

Wie kann ich diese Karte wiederherstellen oder einen Low-Level-Reset durchführen? Es scheint sich in einem Fehlermodus zu befinden, in dem Pin 13 oszilliert, aber ich weiß nicht, was das bedeutet.


Ahh, ich erinnere mich irgendwie daran, dass das Zurückhalten der Reset-Taste während des Hochladens das Arduino möglicherweise so weit entfernt hat, dass es hochgeladen werden kann, aber ich kann mich nicht erinnern, wann ich die Taste loslassen soll (oder wenn ich mir das nur vorstelle) ... sind Sie sicher, dass Sie es haben? der richtige COM-Port eingestellt und alles in der IDE?
Anonymer Pinguin

Ja, ziemlich sicher, dass die Anschlüsse richtig sind, da die Programmierplatine die LEDs anders blinkt, wenn die Software versucht, mit Nano zu sprechen.
Paul

In den offiziellen Anweisungen werden keine Kondensatoren erwähnt (es sei denn, Sie verwenden einen bloßen Chip). Können Sie ein Bild davon zeigen, wie Sie es verkabelt haben?
Gerben

Bei Verwendung von Uno wird ein 10uF-Kondensator empfohlen. Wie auch immer, ich habe es geschafft, die Boards mit einem Reset-Button wiederherzustellen, siehe meine Antwort unten. Ich habe die Drähte danach zerlegt, also diesmal keine Bilder. Die Verkabelung war wirklich unkompliziert, ich könnte es erneut versuchen, sobald ich einen neueren Bootloader gefunden habe
Paul

Ich habe das gleiche Problem, chinesisches Arduino 3.0 mit CH340 USB-Controller, ich dachte, das Problem ist CH340-Fehler, in meiner Zeit ist dieses Arduino so billig, ich löse das durch Ersetzen der gesamten Karte, aber um zu wissen, was den Fehler verursacht Ich werde testen, wie man den CH340-Chip in diesem Board austauscht.
Pedro Alvarez

Antworten:


9

Ich habe beide Karten mit der Reset-Taste erfolgreich wiederhergestellt:

  1. Schalten Sie die Karte aus (ich habe das USB-Kabel vom Computer getrennt)
  2. Halten Sie die Reset-Taste gedrückt
  3. Schließen Sie das USB-Kabel an (halten Sie die Reset-Taste gedrückt).
  4. Klicken Sie auf "Skizze hochladen".
  5. Warten Sie ein oder zwei Sekunden, bis die Arduino-Software in der Statusleiste "Uploading ..." anzeigt
  6. Lassen Sie die Reset-Taste los

Verwenden Sie diese Schritte, um eine kleine Skizze hochzuladen. Das Beispiel Blink ist eine gute Wahl.


Ich bin seit 2 Tagen blockiert, du hast gerade mein Board gespeichert!
Julien L

1

Versuchen Sie, den Prozessortyp unter Extras-> Prozessor in ATmega328 (alter Bootloader) zu ändern. Mein Nano-Board blinzelte wie ein Bootloader, aber ich konnte keine Skizze hochladen, und das half.


1

Es gibt einen Fehler im Zusammenhang mit Watchdog im ursprünglichen alten Arduino-Bootloader. Sie können zu einem anderen Bootloader wechseln, z. B. "Optiboot".

Erläuterung des Problems aus dem Datenblatt ATmega48A / PA / 88A / PA / 168A / PA / 328 / P , Abschnitt 10.10.5 Watchdog-Timer , Seite 48:

Wenn der Watchdog versehentlich aktiviert wird, z. B. durch einen außer Kontrolle geratenen Zeiger oder eine Brownout-Bedingung, wird das Gerät zurückgesetzt und der Watchdog-Timer bleibt aktiviert. Wenn der Code nicht für den Watchdog eingerichtet ist, kann dies zu einer ewigen Schleife von Timeout-Resets führen. Um diese Situation zu vermeiden, sollte die Anwendungssoftware in der Initialisierungsroutine immer das Watchdog System Reset Flag (WDRF) und das WDE-Steuerbit löschen, auch wenn der Watchdog nicht verwendet wird.

Das Zurücksetzen von der Taste hilft nicht, nur das Zurücksetzen beim Ein- und Ausschalten gibt dem Gerät einen Wechsel zum Neustart (und das Flashen neuer Software). Erläuterung hierzu ab 11.9.1 MCUSR - MCU-Statusregister , Seite 54:

Bit 3 - WDRF: Watchdog System Reset Flag Dieses Bit wird gesetzt, wenn ein Watchdog System Reset auftritt. Das Bit wird durch einen Power-On-Reset oder durch Schreiben einer logischen Null in das Flag zurückgesetzt.


0

Verwenden Sie "upload.verbose = true" in der Einstellungen.txt der Arduino-IDE (Datei-> Einstellungen-> Klicken Sie auf die Datei). Dies hilft Ihnen, den richtigen Zeitpunkt zu finden, um die Reset-Taste loszulassen (Schritt 5 von Pauls Methode). .

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
.
.
         Using Port                    : COM19
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
release here ^^^^
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.