Wemos D1 R2 defekt?

  • Loisl_der_Imker
  • Autor
  • Offline
  • Junior Member
  • Junior Member
Mehr
21 Okt 2018 15:45 #493 von Loisl_der_Imker
Loisl_der_Imker erstellte das Thema Wemos D1 R2 defekt?
Hallo

Ich kann keinen Sketch auf mein Wemos D1 R2 Bord hoch laden. Am Seriellen Monitor zeigt es auch nichts mehr an und das Drücken der Reset Taste bewirkt gar nichts. Hatte auch schon versucht mit gedrückter Reset Taste das Bord an den PC anzustecken und nach dem Loslassen gleich das Beispielprogramm blink hochzuladen aber es kommt immer die Fehlermeldung:
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
Da ich zwei gleiche Wemos D1 Bords habe habe ich das Programm das den absturz ausgelöst hat auch auf das 2. auch hochgeladen und jetzt reagieren beide Bords nicht mehr!
gibt es eine Möglichkeit das wieder runter zu löschen?

Danke für die Hilfe
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Loisl_der_Imker
  • Autor
  • Offline
  • Junior Member
  • Junior Member
Mehr
21 Okt 2018 17:16 #494 von Loisl_der_Imker
Wemos D1 R2 defekt?
das ist der Code der zum Absturz geführt hat - hab nur eine kleine Änderung gemacht - vorher lief das Programm der Ausgang D2 hat aber immer aus und ein geschaltet bei ungünstigen Bedingungen daher hab ich die Verriegelung eingebaut.


/*************************************************************
* Hat mit WIFI DG und mit LTE-Stick geklappt
* Test mit Poti und Relaiskarte auch i.O.
*
* gleicher code wie bei "Blynk_Abst_Kane_pool_2 aber der läuft nicht?!
* am 12.10.2018 gestartet
* am 20.10.2018 geändert auf Ausgang D5 für Licht (2 Relais) ==> wenn Diele auf Trafo umschaltet und spg wieder ansteigt klakkert die Last!
* am 21.10.2018 verriegelung Trafo ein - keine Lasteinschaltung
*/
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxxxxxxxxxxxxxxxxxxxxxxxxx";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Haihappen DG - 2.4G";
char pass[] = "Gummistiefel";
// char ssid[] = "Kane der verfluchte lte";
// char pass[] = "redetanik";

int sensorPin = A0; // 3,3 Volt = 1024 ==> Wert muss auf echten Spannungswert umgerechnet werden
// int RelaiD9 = 2; // Es läuchtet die LED auf der CPU und der Ausgang 9 gemeinsam ==> beim Übertragen von neuen Programmen flimmert der Ausgang!
// int RelaiD10 = 15; // Achtung - Pull-down Wiederstand daher beim Einschalten geht das Low-Aktive Ralai an!
int RelaiD5 = 14; // Ausgang D5 schaltet und die on Bord LED SCK läuchtet ==> Licht Diele ein, Trafo netz ein
// int D7 = 13; // schon als 13 gesetzt ==> Abfrage Licht ein
int RelaiD6 = 12; // Reserve
int RelaiD2 = 16; // Zusätzliche Last (Gefriehrschrank) schaltet auf PV-Anlage wenn Schwelle+50 überschritten (2 Relais)
int sensorValue = 0; // variable to store the value coming from the sensor
float Volt = 1200 ; // 1200 entsprechen 12,00 Volt
float Faktor =1.64; // zur Umrechnung von Volt
int Licht = 0; // verknüpft mit Eingang D7 zum Abfragen ob Licht in der Diele an ist =1
int LichtF = 120; // durch die etwa 50 W Leistungsabnahme LED-Licht Diele weicht die Spannung von der Batteriespg. ab
unsigned long previousMillis = 0; // speichert wie viele Sekunden seit derletzten Änderung vergangen sind
unsigned long interval = 60000; // Interval zwischen zwei Änderungen 10 Sekunden = 10000 ==> auf eine Minute gesetzt (60000)
int Spg [5]={0}; // Array für SerielPrint und Hysterrese ==> minimale Spannungswerte werden alle "interval" abgespeichert
int Verriegelung=0; // verriegelung für Last 0= erlaubt 1= verriegelt/keine Last dazuschalten
int Schwelle = 1250; // ab welchen Wert soll die Last anschalten?
int unterspg = 1100; // ab diesen Wert soll das Licht in der Diele über Netz laufen (2 Relay für Umschaltung und Netz für Trafo)

BlynkTimer timer;

// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void myTimerEvent()
{
// You can send any value at any time.
// Please don't send more that 10 values per second.
sensorValue = analogRead(sensorPin);
Volt = (sensorValue * Faktor)+LichtF;
Blynk.virtualWrite(V5, Volt);
}

void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

// Setup a function to be called every second
timer.setInterval(1000L, myTimerEvent);

pinMode(RelaiD2, OUTPUT); // Zusätzliche Last (Gefriehrschrank) schaltet auf PV-Anlage wenn Schwelle+50 überschritten
pinMode(RelaiD6, OUTPUT); // Reserve
pinMode(D7, INPUT); // Abfrage Licht ein?
pinMode(RelaiD5, OUTPUT); // Umschalten auf Trafo für Licht in der Diele wegen Unterspg. 2 Relays paralell am Ausgang
// alle Ausgänge auf Aus stellen = High (Relaikarte ist Low-aktiv)
digitalWrite(RelaiD2, HIGH);
digitalWrite(RelaiD5, HIGH); // Unterspannung Trafo an
digitalWrite(RelaiD6, HIGH);
}

void loop()
{
Blynk.run();
timer.run(); // Initiates BlynkTimer
// über Analog Input Batteriespannung einlesen und alle "interval" einen Messwert in das Arrey speichern
Licht = digitalRead(D7);
if (Licht == 1) {
LichtF = 120; // Korrektur echte Batteriespannung wenn 50W LED-Licht Leitung belastet
} else {
LichtF = 0;
}
/* es wird kontrolliert, ob die Zeit für das Mess-Intervall schon abgelaufen ist
* Wenn die Zeitdifferenz zwischen dem Letzten Abspeichern und der aktuellen Zeit größer
* als das Intervall ist, so wird die nachfolgende Funktion ausgeführt.
*/
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > interval) // jeden Intervall Min Spannungswerte im Array speichern
{
// Serial.print(" Systemzeit: ");
// Serial.println(currentMillis);
previousMillis = currentMillis; // aktuelle Zeit abspeichern
Spg[5] = Spg[4];
Spg[4] = Spg[3];
Spg[3] = Spg[2];
Spg[2] = Spg[1];
Spg[1] = Spg[0];

Spg[0]=(sensorValue*Faktor)+LichtF; // Spg ist umgerechnet mit Korrekturfaktor +1,2V falls Licht in der Diele brennt
}
if (Spg[0] < Schwelle ) {
Verriegelung = 1;
if (Spg[1] < Schwelle)
{ Verriegelung = 1;
}
} else {
Verriegelung = 0;
}

if (Volt > (Schwelle+50)){ // durch den Faktor 50 Hysterrese
if ( Verriegelung == 0){
if (RelaiD5 == HIGH){ // nur wenn der Trafo aus ist!
digitalWrite(RelaiD2, LOW); // Relay ist Low aktiv!
}}
}
else {
if ( Volt < (Schwelle-100)){
digitalWrite(RelaiD2, HIGH);}
}
if (Volt < Spg[0]) {
Spg[0] = Volt;
}
// Unterspannung umschalten auf Netztrafo
if (Licht == 1) {
if (Volt < unterspg) {
digitalWrite(RelaiD5, LOW); // Relay ist Low aktiv! D5 Schaltet zwei Relai
}
} else {
digitalWrite(RelaiD5, HIGH);
}
}

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Loisl_der_Imker
  • Autor
  • Offline
  • Junior Member
  • Junior Member
Mehr
21 Okt 2018 17:25 #495 von Loisl_der_Imker
Wemos D1 R2 defekt?
...
if ( Verriegelung == 0){
if (RelaiD5 == HIGH){ // nur wenn der Trafo
....}
....

das war die Änderung

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Loisl_der_Imker
  • Autor
  • Offline
  • Junior Member
  • Junior Member
Mehr
23 Okt 2018 16:55 - 23 Okt 2018 17:01 #496 von Loisl_der_Imker
Wemos D1 R2 defekt?
Hallo

Ich habe jetzt etwas im Internet gestöbert und denke ich muss nur die Original Firmware oder NodeMCU Firmware drauf flashen aber das klappt nicht!

Der Nodemcu Firmware Programmer zeigt zwar im Log an dass er den ESP8266 gefunden hat aber er schickt nichts rüber.
Hab auch schon versucht mit gedrückter Reset Taste einzustecken und zu halten über den ganzen Zeitraum aber ohne erfolg.
Auch eine Brücke von D3 auf Gnd vor den einstecken und dan versuchen zu flashen klappt nicht.
Hat keiner einen Tipp für mich?

Oder brauch ich dafür einen 3,3 auf 5 V USB to ttl wandler um direkt ohne die mini USB Buchse von WEMOS D1 R2 die Firmware zu flashen?
Letzte Änderung: 23 Okt 2018 17:01 von Loisl_der_Imker. Begründung: ergänzung

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
23 Okt 2018 19:14 #497 von supporter
Wemos D1 R2 defekt?
Hallo Loisl,

Vorsichtig geschätzt habe ich persönlich so um die 150 nodemcus mit der Arduino IDE beladen. Viele davon mehrfach. Vorsichtig geschätzt habe ich mindestens 500 Flashvorgänge gemacht.
Das von Dir beschriebene hatte immer 2 Ursachen:
1. USB Kabel zu lang, zu dünn oder Wackelkontakt
2. Boardsettings in der IDE falsch gesetzt.

2,5: ESP Firmwareversion falsch gesetzt in der Boardverwaltung

Meiner Meinung nach solltest Du Dich von fehlerhaftem Code als Ursache verabschieden...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Loisl_der_Imker
  • Autor
  • Offline
  • Junior Member
  • Junior Member
Mehr
24 Okt 2018 20:15 - 24 Okt 2018 20:15 #498 von Loisl_der_Imker
Wemos D1 R2 defekt?
Danke für Antwort - dachte schon das Forum hat keine Meinung dazu ;)

zu 1: ich hab 4 verschiedene USB Kabel getestet, mit allen klappt ein Bilder übertragen vom Handy zum PC

zu 2: ich hab den code auf das 2. Bord übertragen und danach hatte das den selben fehler!

was meinst du mit :"2,5: ESP Firmwareversion falsch gesetzt in der Boardverwaltung"

==> ich denke ich muss die Firmwareversion neu drauf spielen aber ich komm da nicht rein. Hab da alle möglichen Einstellungen beim NODEMCU Firmware Programmer gemacht (Baudrate, Flash size, Flash speed, SPI Mode) aber es bewegt sich nichts.

Hab jetzt auf einer anderen Seite den Tipp gefunden noch 2 weitere Pins mit Signal zu belegen:
GPIO0 -> LOW =D3
GPIO2 -> HIGH =D4
GPIO15 -> LOW =D8

hat auch nix gebracht (vgl. Bilder)
Anhänge:
Letzte Änderung: 24 Okt 2018 20:15 von Loisl_der_Imker.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum