Kann nichts mehr hochladen und das Board reagiert nicht mehr

Foren Adventskalender Kann nichts mehr hochladen und das Board reagiert nicht mehr

Schlagwörter: ,

Ansicht von 13 Beiträgen - 1 bis 13 (von insgesamt 13)
  • Autor
    Beiträge
  • #987
    matten
    Mitglied

    Guten Morgen,

    gestern beim herumexperimentieren mit einem Sketch konnte ich plötzlich nichts mehr hochladen. Außerdem scheint das zuletzt benutze Programm nicht ausgeführt zu werden (das Board sollte sich um WLAN anmelden, das hatte es bis 1 Min zuvor auch getan).

    Meldung:

    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
    ..

    Auf dem Board ist nur noch D2 und die rote LED eingeschaltet.

    Reset-Versuche scheitern..

    Was tun? Hat jemand eine Idee?

    Gruß,
    Matthias

    #990
    generalovernight
    Teilnehmer

    Wenn die AEG-Methode auch nicht mehr funktioniert (alles Ausschalten, Einschalten, Geht), dann hatte ich mit folgender Vorgehensweise Erfolg:

    1. Einen Factory Reset über die SerialConsole mit AT+RESUME
    2. mit einem kleinen Sketch die Baud-Rate wieder richtig (für den nanoESP) eingestellt.

    Dazu brauchst du nur ein paar Code-Zeilen aus Fabians Initialisierungsprogramm,die ich in einem anderen Kommentar bereits beschrieben habe. Wenn du das ganze in eine ansonsten leere setup Routine packst, ist die erste Zeile überflüssig. Die setup-Routine sieht dann so aus:

    void setup() {
    	Serial.begin(19200);
    
    	// Das ESP-Modul ist nach dem Factory-Reset auf 115200 Baud eingestellt,
    	// also tun wir ihm den Gefallen und stellen das auch so ein ;-)
    	esp8266.begin(115200);
    
    	// ... danach sagen wir ihm aber, stell jetzt auf 19200 Baud um (und 8 bit,
    	// 1 Stopbit, keine Parity und keinen Hardwarehandshake ein) 
    	Serial.println(esp8266.println("AT+UART_DEF=19200,8,1,0,0"));
    
    	// und hier verabschieden wir uns vom ESP-Modul
    	esp8266.end();
    
    	// Damit wir auch sehen, dass alles funktioniert hat, verbinden wir uns erneut 
    	// mit dem ESP, diesmal mit der "richtigen" Baud-Rate ...
    	esp8266.begin(19200);
    	esp8266.setTimeout(6000);
    	// ... führen einen Reset durch ...
    	esp8266.println("AT+RST");
    	if (!esp8266.findUntil("ready", "Error")) {
    		Serial.println("Error sending reset command");
    	}
    	// ... und lassen die LED D3 leuchten
    	digitalWrite(LED_BUILTIN, HIGH);
    }
    

    Nachtrag:

    etwas komfortabler wird das ganze noch mit folgender loop-Routine. Sie lässt die D3 LED blinken und erlaubt die Eingabe von AT-Kommandos in der SerialConsole.

    
    void loop() {
    	// Als "static" deklariert bleibt der Wert erhalten, auch wenn die
    	// Funktion verlassen wir. Sie hat daher beim nächsten Aufruf denselben
    	// Wert wie am Ende dieser Routine. Außerdem wird die Initialisierung (der
    	//  Code rechts vom "=") nur beim ersten Aufruf der Funktion ausgeführt.
    	// Eine globale Variable ist so überflüssig.
    	static unsigned int i = 0;
    
    	// Für die D3 LED ist standardmäßig das Makro LED_BUILTIN definiert
    	// Das % ist der Modulo Operator in C. "i++ % 2" leifert daher immer
    	//  abwechselnd 1 und 0; HIGH und LOW sind standarmäßig definierte Makros
    	// für die entsprechenden Zustände der Ausgänge.
    	// Der Code "x ? a : b" gibt a zurück, wenn x wahr ist (ungleich 0) und sonst b 
    	digitalWrite(LED_BUILTIN, i++ % 2 ? HIGH : LOW);
    
    	if (esp8266.available()) {
    		Serial.write(esp8266.read());
       	} else if (Serial.available()) {
    		esp8266.write(Serial.read());
    	} else {
    		delay(300);
    	}
    }
    

    HTH

    #992
    matten
    Mitglied

    Aber ich sehe das richtig – nach dem AT+RESTORE müsste das hochladen ohne Fehler ablaufen?

    Ich bekomme aber noch immer:

    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

    Somit kann ich keinen Sketch hochladen.

    #1004
    Klaus
    Teilnehmer

    Das ist klar. Bei Dir ist der Mikrocontroller nicht mehr erreichbar, das was generalovernight gepostet hat, ist wenn Du das WLAN-Modul nicht mehr erreichen kannst.
    Probier mal das hier:

    Kein Sketch-Upload mehr möglich: avrdude: stk500_recv()

    Ich vermute mal das hilft Die eher weiter

    #1009
    matten
    Mitglied

    Und falls das nicht klappt? Was kann man dann noch tun?

    #1010
    Klaus
    Teilnehmer

    Hat das auch nicht funktioniert? Dann bleibt Dir wohl nur noch übrig, den ISP-Stecker aufzulöten und mit einem Programmer direkt an den Mikrocontroller zu gehen, damit Du den Bootloader neu schreiben kannst. Sollte der Programmer den Chip nicht erreichen können, ist er wohl futsch.

    #1019
    matten
    Mitglied

    Ich habe versucht, mit einem anderen Arduino den Bootloader zu schreiben. Auch das klappt nicht.. Heißt das, dass das Board nun defekt ist? :-(

    #1020
    Klaus
    Teilnehmer

    Wenn Du den Arduino richtig angeschlossen hattest, vermute ich mal fast, ja. Ich habe zwar mal eine Anleitung gesehen, wie man einen Arduino als Programmer verwenden kann, habe es aber nicht probiert. Ich habe einen richtigen Programmer.
    Als letzten Versuch könntest Du höchstens versuchen, einen richtigen Programmer zu verwenden.

    Was mir auch schon mal als letzter Versuch gelungen war, ist das Flashen per HV-Programming. Zum Einen brauchst Du dafür aber einen passenden Programmer (ich habe einen AVRdragon) zum anderen weiß ich nicht, ob das auf der Platine überhaupt geht. Du könntest es höchstens versuchen. Derzeit funktioniert er ja auch nicht.
    Aber als Warnung sei gesagt: Es könnte eventuell sein, dass Du damit was auf der Platine zerschießt! HV steht für (High Voltage), da wird also für einen ganz kurzen Moment eine zu hohe Spannung angelegt. Der Atmel verträgt das, wie das mit anderen Komponenten aussieht, weiß ich nicht. Wäre also auf eigene Gefahr.

    #1021
    matten
    Mitglied

    Habe niemanden, der einen Programmer hat. Werde also mal gucken ob Conrad mir den auf Garantie tauscht..

    Danke für die Hilfe.

    #1100
    riegler93
    Teilnehmer

    Schon gefragt bei Conrad?
    Gibt es eine Möglichkeit, dass das Gerät getauscht wird?

    #1113
    matten
    Mitglied

    Wurde ohne Probleme getauscht!

    #1114
    Klaus
    Teilnehmer

    Das ist doch schön zu hören.
    Hatte ich beim Adventskalender 2014 auch keine Probleme. Da war der Chip schon von vornherein defekt und der wurde auch im Nachhinein getauscht.

    #1115
    riegler93
    Teilnehmer

    Rechnung ausgegraben, mit dem µC zum nächstgelegenen Megastore gefahren -> problemloser Umtausch :)
    Danke Euch und danke Conrad!!!

Ansicht von 13 Beiträgen - 1 bis 13 (von insgesamt 13)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.