Kann nichts mehr hochladen und das Board reagiert nicht mehr

Forums (Deutsch) Adventskalender Kann nichts mehr hochladen und das Board reagiert nicht mehr

This topic contains 12 replies, has 4 voices, and was last updated by  riegler93 3 years, 7 months ago.

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #987

    matten
    Member

    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
    Participant

    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
    Member

    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
    Participant

    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
    Member

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

    #1010

    Klaus
    Participant

    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
    Member

    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
    Participant

    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
    Member

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

    Danke für die Hilfe.

    #1100

    riegler93
    Participant

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

    #1113

    matten
    Member

    Wurde ohne Probleme getauscht!

    #1114

    Klaus
    Participant

    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
    Participant

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

Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.