Forum: PC Hard- und Software Mac: Wemos D1 Mini wird nicht mehr erkannt und crasht Macbook


von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich werkele seit einigen Tagen mehrere Stunden täglich an einem Projekt 
mit dem Wemos D1 Mini mittels Arduino-IDE auf meinem Macbook Pro unter 
High Sierra.

Plötzlich und unerwartet (nach mehreren Tagen klagloser Funktion) wird 
der D1 Mini nicht mehr erkannt und ein versuchsweise mehrfaches Drücken 
seiner Reset-Taste (wenn er noch per USB angeschlossen ist) schickt mein 
Macbook in eine Kernel Panic. Allerdings läuft das zuletzt geflashte 
Programm auf dem D1 Ubis auf die Tatsache, dass es nicht fertig ist), 
einwandfrei.

Ich habe auch nochmal nachgesehen, dass ich wirklich die letzte und 
signierte CH340/41-Treiber-Version f. Mac installiert habe. Dem ist 
natürlich so, sonst hätte ich ja auch vorher nix machen können. Ein 
Löschen und neu Installieren der kext-Files hat aber auch keine Änderung 
gebracht.

Nun bringt mich der Ersatz des einen D1 Mini nicht um (habe noch 
weitere, die zumindest erkannt werden), aber wundern tut mich der 
Vorgang schon. Wie kann es sein, dass ein - wie auch immer - nicht 
richtig funktionierendes USB-Gerät den ganzen Rechner zum Absturz 
bringt?

Kann man die Firmware irgendwie "re-flashen"? Aber wie, wenn er nicht 
erkannt wird? Über einen externen USB-Seriell-Wandler?

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Frank E. schrieb:
> Wie kann es sein, dass ein - wie auch immer - nicht
> richtig funktionierendes USB-Gerät den ganzen Rechner zum Absturz
> bringt?

Mir fallen spontan 2 Fälle ein:

- Die Software ist Murks (da ändert ein Zertifikat genau nix dran)
- Die Hardware ist Murks (Kurzschluss auf +5V, Spannung im Mac bricht 
mit ein).


Der Reset Button hätte IMHO eigentlich keine Auswirkung auf dem CH340 
haben sollen. Hier würde ich mal die 3,3V nachmessen (eventuell mit 
Oszilloskop), denn wenn die beim Reset einbrechen könnte das Dein 
Problem erklären.

von Michael U. (amiga)


Lesenswert?

Hallo,

ich hatte mal aus eine Lieferung 2x D1 mini, da war der Spannungsabfall 
der Diode vom USB +5V zu hoch, entweder keine Schottkydiode oder 
zumindest seltsame Exemplare. Die Module waren am USB von Anfang an 
etwas unzuverlässig, haben sich abgemeldet usw.
Ich habe die Diode kurzerhanhh überbrückt, da ich da keine externe 
Spannung nutze und seitdem gab es keinerlei Probleme mit dem USB mehr.
Vielleicht ist bes bei Dir ein ähnliches Problem?

Der Crash bei Reset könnte durch die hohe Stromaufnahme beim 
WLAN-connect passieren, der CH340 hängt hinter der Diode an den "5V".

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Michael U. schrieb:
> Hallo,
>
> ich hatte mal aus eine Lieferung 2x D1 mini, da war der Spannungsabfall
> der Diode vom USB +5V zu hoch, entweder keine Schottkydiode oder
> zumindest seltsame Exemplare. Die Module waren am USB von Anfang an
> etwas unzuverlässig, haben sich abgemeldet usw.
> Ich habe die Diode kurzerhanhh überbrückt, da ich da keine externe
> Spannung nutze und seitdem gab es keinerlei Probleme mit dem USB mehr.
> Vielleicht ist bes bei Dir ein ähnliches Problem?
>
> Der Crash bei Reset könnte durch die hohe Stromaufnahme beim
> WLAN-connect passieren, der CH340 hängt hinter der Diode an den "5V".
>
> Gruß aus Berlin
> Michael

Danke, die Diode werde ich mir ansehen.

Mit dem WLAN kann es in meinem Falle eigentlich nichts zu tun haben, ich 
habe das in dem Projekt noch nicht aktiviert, arbeite noch an anderen 
Bereichen der Programmlogik.

von Michael U. (amiga)


Lesenswert?

Hallo,

Frank E. schrieb:
> Mit dem WLAN kann es in meinem Falle eigentlich nichts zu tun haben, ich
> habe das in dem Projekt noch nicht aktiviert, arbeite noch an anderen
> Bereichen der Programmlogik.

WLAN ist beim ESp8266 immer aktiv, der ESP versucht beim Start sich mit 
dem zuletzt genutzten AP zu verbinden.
Ausnahme wäre nur, daß man WLAN per Sleep in einem Mode komplett ohne 
WLAN neustartet. Auch das Abschalten des auto-reconnects verhindert 
nicht das Initialisieren des WLAN incl. der Stromspitzen die dabei 
auftreten.

Gruß aus Berlin
Michael

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Michael U. schrieb:


> WLAN ist beim ESp8266 immer aktiv ...

Oh, das wusste ich nicht. Eigentlich wäre der Controller hinsichtlich 
des Preises und dem Formfaktor auch für Projekte ohne WLAN interessant. 
Hmmm ...

Mal was Anderes:

Wenn man den D1 per USB versorgt, wieviel Strom kann man dann an dem 
5V-Pin auf der Platine gegen Masse entnehmen und welche Bauelemente 
nehmen da evtl. Schaden? Diese Schottky-Diode?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Hab inzwischen herausgefunden, dass die Diode (links neben dem 
USB-Anschluss) allgemin als Schwachpunkt gilt. Zumindest einen der 
gebrickten Minis konnte ich durch Überbrücken der Diode erstmal 
re-animieren.

Halte mich derzeit auf dem Landsitz auf und wollte hier mein Projekt 
voranbringen ... bekomme aber hier "in der Pampa" keinen Ersatz in 
brauchbarer Zeit geliefert. Werde später natürlich einen neuen 
verwenden, kann aber nun erstmal weitemachen ...

von Michael U. (amiga)


Lesenswert?

Hallo,

wenn Du sicherstellen kannst, daß nie gleichzeitig USB und externe 5V 
angeschlossen werden, kannst Du auch die Brücke drinlassen...

Deine Frage zum Strom klärt sichdamit eigentlich auch, die in einem 
Schaltplan angegebene 0,5A PTC-Sicherung gibt es auf meinen D1 mini 
nicht, begrenzt also höchstens die Leiterbahn und die USB-Buchse eine 
mögliche Last an +5V.

Frank E. schrieb:
> Oh, das wusste ich nicht. Eigentlich wäre der Controller hinsichtlich
> des Preises und dem Formfaktor auch für Projekte ohne WLAN interessant.
> Hmmm ...

Man kann WLAN über den Sleepmode komplett abschalten, Stromaufnahme ist 
dann noch ca. 15-20mA für den ESP selbst.
1
  ESP.deepSleep(sleepTime, WAKE_RF_DISABLED);        // schlafen gehen
2
  delay(100);

schickt den ESP schlafen und beim Neustart wird komplett ohne WLAN 
gestartet. Der Zustand bleibt so auch über Reset oder PowerUp (außer neu 
programmieren, da hängt es davon ab, ob diedefault-Werte mit 
programmiert werden.
1
  ESP.deepSleep(sleepTime, RF_CAL);        // schlafen gehen
2
  delay(100);

startet er wieder mit WLAN.
Wegen des Bugs in der Sleep-Geschichte beim ESP8266 muß man schauen, ob 
man es nutzt, er läßt sich nur mit Reset direkt oder vom Sleeptimer über 
GPIO16 oder PowerOn wieder wecken.
Im Programm mußt Du Dir natürlich selber merken, in welchem Zustand er 
ist (EEPROM oder RTC-Ram usw.). Mit sleeptime 1 startet er nach 1ms 
sofort neu.
Eigentlich ist das MODEM_SLEEP wie es geplant war, der Bug ist, daß das 
Wecken vom Sleeptimer nicht funktioniert, dann würde er auch wie z.b. 
ein AVR ander Programmstelle weitermachen...

Beim ESP32 sollte das alles gehen, dort sollte auch WIFI_OFF da 
WLAN-Modul abschalten. Habe ich aber noch nicht selbst getestet.

Gruß aus Berlin
Michael

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Michael U. schrieb:
> Hallo,
>
> wenn Du sicherstellen kannst, daß nie gleichzeitig USB und externe 5V
> angeschlossen werden, kannst Du auch die Brücke drinlassen...
> ...


Danke für die Infos. Habe heute gegen Abend es doch noch geschafft, den 
temporär re-animierten Mini in die ewigen Jagdgründe zu schicken ... 
habe aber schon eine Mail, dass die neu bestellten Minis zuhause in 
Berlin im Briefkasten stecken; fahre morgen früh zurück.

Ich habe ein Projekt mit dem Ding hier:

http://www.dx.com/de/p/uart-control-serial-mp3-music-player-module-for-arduino-avr-arm-pic-blue-silver-342439

Das Teil kann 3,3V bis 5V. Da ich aber neben den Steuerkommandos vom 
Mini zum Player für Play, Stop, Titelwahl usw. auch noch den Rückweg 
brauche für "is_playing?", habe ich den zunächst an den 3,3V-Anschluss 
vom Mini angeschlossen. Die 200mA lt. Datenblatt waren dann für den 
Spannungsregler des Mini wohl doch zu viel. Wird nun nur noch heiss und 
nix geht mehr.

Das ist blöd, denn nun brauch ich noch 'n extra 3,3V-Spannungsregler 
ausserhalb des Mini. Oder ich versuche es mit 5V am Player und einem 
Vorwiderstand für die TX-Leitung zum Mini hin ...

von Michael U. (amiga)


Lesenswert?

Hallo,

Frank E. schrieb:
> Die 200mA lt. Datenblatt waren dann für den
> Spannungsregler des Mini wohl doch zu viel. Wird nun nur noch heiss und
> nix geht mehr.

die haben thermisch wenig Reserve und auch meist keinen sinnvollen 
thermischen Schutz.
Ein AMS1117 auf Cina-Schnipsel brauchte bei mir rund 1s bei Kurzschluß 
am Ausgang um den magischen Rauch entweichen zu lassen...

Frank E. schrieb:
> Das ist blöd, denn nun brauch ich noch 'n extra 3,3V-Spannungsregler
> ausserhalb des Mini. Oder ich versuche es mit 5V am Player und einem
> Vorwiderstand für die TX-Leitung zum Mini hin ...

Spannungsteiler 1,2k/2,2k in die TX-Leitung oder 2,2k PullUp am Mini und 
Schottky-Diode mit Anode am Mini zum Player.

Gruß aus Berlin
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.