Forum: Mikrocontroller und Digitale Elektronik ESP8266 mit A4988 macht Probleme


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jan (jansy)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

den Verdrahtungsplan des Schrittmotoren-Controllers habe ich zum 
besseren Verständnis angehangen.

Es geht um folgendes, ich möchte zwei Schrittmotoren (NEMA Flat01) mit 
einem ESP8266 und jeweils einen Driver A4988 von Pololu steuern.

Ich habe nun alles mal auf dem Breadboard zusammengesteckt und wenn der 
ESP8266 dann mal anspringt, läuft das ganz einwandfrei. Aber hier ist 
das Problem, anscheinend kriegt der ESP beim einstecken des 12V Netzteil 
zu wenig Strom oder was auch immer das Problem ist. Denn sobald ich 
danach das Kabel von Vin kurz rausnehme und direkt wieder reinstecke 
läuft er.

Das 12V Netzteil liefert max 60W, der Pull-Down converter liefert max. 
800ma.

Nun ist die Frage was das Problem macht, könnten es vielleicht an den 
zwei Kondensatoren am A4988 liegen, die zu einem Einbruch der Spannung 
führen?
Um den Pull-Down Konverter zu überprüfen habe ich mir einen eigenen aus 
LM7805 plus zwei entsprechenden Kondensatoren (330nF und 100nF) gebaut, 
der 3A ermöglicht. Aber auch dann hat es nicht funktioniert.
Komischerweise funktioniert es, wenn ich Vin trenne, GND dran lasse und 
über den Micro USB (via Powerbank) den ESP8266 versorge.

Eine Überlegung die ich hatte, habe ich durch die Motoren eine 
Störquelle und sollte noch Dioden einbauen?

Ich habe schon mehrfach in Foren nachgeschaut, die VDD und GND von den 
Treibern entfernt (werden übrigens auch mit 5V betrieben), andere 
Verbindungen gelöst aber nie das Problem gefunden.

Ich möchte im besten Fall nur eine Netzteil benutzen und ich kann mir 
nicht vorstellen, dass das nicht gehen wird.

Vielleicht hat jemand eine Idee oder ein ähnliches Problem gehabt?
Danke schonmal für eure Hilfe!

von Rainer W. (rawi)


Lesenswert?

Jan schrieb:
> Eine Überlegung die ich hatte, habe ich durch die Motoren eine
> Störquelle und sollte noch Dioden einbauen?

Nicht raten, sondern systematisch messen.

Der ESP hat beim Start eine Reset-Zeit. Die Spannung muss ausreichend 
stabil sein, bevor diese Zeit abgelaufen ist und damit der Prozessor 
frei gegeben wird. Guck dir die Spannungsverläufe während des 
Einschaltvorgangs mit dem Oszi an.

Die Motoren bekommen erst Strom, wenn du den Strom über dein Programm 
frei schaltest, jedenfalls wenn 'Enable' verdrahtet wäre. Warum hast du 
die En-Pins in der Luft hängen. Ist das für deine Treibermodule in 
Ordnung?

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Der LM7805 schafft keine 3A. Das ESP8266 Modul braucht schon etwa 450mA 
(peak).

von Rainer W. (rawi)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:
> Der LM7805 schafft keine 3A.

Wozu auch?
Wer an der rosa Leitung sollte so viel benötigen?

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Rainer W. schrieb:
> Wozu auch?
> Wer an der rosa Leitung sollte so viel benötigen?

Ja stimmt, der Start des ESP wird wohl nicht daran scheitern. Die von 
dir empfohlene Messung wird Klarheit schaffen.

von Andreas S. (bastelmax)


Angehängte Dateien:

Lesenswert?

Leg mal ENABLE auf GND bzw. schau Dir im Web die Beispiele mit der ESP 
32 an.
Nach drei Sekunden suchen schon was gefunden :
https://www.youtube.com/watch?v=JQGnLW6SB8M
Aber vorsicht,die komplette Stromversorgung incl. Kondensatoren usw.
ist nur ansatzweise in der o.g. Schaltung enthalten.

von Rainer W. (rawi)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:
> Das ESP8266 Modul braucht schon etwa 450mA
> (peak).

... beim Senden ins WLAN.

p.s.
Du solltest deinen Stromsensor einmal neu kalibrieren. Ganz so viel 
fließt da nun auch wieder nicht.

: Bearbeitet durch User
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Rainer W. schrieb:
> Du solltest deinen Stromsensor einmal neu kalibrieren. Ganz so viel
> fließt da nun auch wieder nicht.

Ich habe das von dort:
https://www.ondrovo.com/a/20170207-esp-consumption/

Im Hardware Design Guide sagt der Hersteller, dass man 500mA für den ESP 
bereitstellen soll.

: Bearbeitet durch User
von Michael H. (mha1)


Lesenswert?

Es hat vermutlich nichts mit dem eigentlichen Problem zu tun, aber die 
Versorgungsspannungen von ESP8266 und A4988 passen nicht zusammen. 
Leider ist der Fehler in vielen Beispielen im Internet immer wieder 
vorhanden.

Der NodeMCU erzeugt aus den 5V die Versorgung von 3,3V für den ESP8266. 
Ein ESP8266 läuft typisch mit 3,3V (max. 3,6V). Das gilt auch für den 
ESP32. Ich würde daher auch die A4988 Module mit 3,3V versorgen, damit 
die Logikpegel passen. Der A4988 benötigt für ein High Signal 0,7*Vcc an 
seinen Eingängen um den Pegel sicher zu erkennen. 0,7*5V = 3,5V und das 
ist größer als die 3,3V die der ESP nur im Idealfall liefert (garantiert 
sind nur 0,8*Vcc = 2,64V). Das kann funktionieren, es muss aber nicht.

Für die Versorgung könnten die 3V (3,3V) Leitungen des NodeMCU 
ausreichen, wenn die A4988 Module nicht zu viel Strom benötigen. 
Ansonsten einen 3,3V Spannungsregler anstelle des 5V Reglers benutzen. 
Den NodeMCU dann über einen der 3V (3,3V) Anschlüsse anstelle über VIN 
mit Strom versorgen.

von Rainer W. (rawi)


Lesenswert?

Michael H. schrieb:
> ... die 3,3V die der ESP nur im Idealfall liefert (garantiert sind nur
> 0,8*Vcc = 2,64V).

... bei 12mA. Da gilt es auch, die Randbedingungen im Blick zu behalten.

Wieviel Strom fließt denn wohl in den CMOS-Eingang eines A4988?

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Rainer W. schrieb:
> Wieviel Strom fließt denn wohl in den CMOS-Eingang eines A4988?

Ist doch egal, die Spannung auf jeden Fall zu niedrig.

von Jan (jansy)


Lesenswert?

Michael H. schrieb:
> Den NodeMCU dann über einen der 3V (3,3V) Anschlüsse anstelle über VIN
> mit Strom versorgen.

Rainer W. schrieb:
> Die Motoren bekommen erst Strom, wenn du den Strom über dein Programm
> frei schaltest, jedenfalls wenn 'Enable' verdrahtet wäre. Warum hast du
> die En-Pins in der Luft hängen. Ist das für deine Treibermodule in
> Ordnung?

Habe nun beide Sachen geändert und nun funktioniert es einwandfrei, 
vielen Dank für eure Hilfe. Die Verbindung von'Enable' muss laut Pololu 
nicht sein, ist aber eindeutig von Vorteil. Mich wundert es nur, dass es 
diesmal nicht über Vin funktioniert, meine anderen Projekte haben bis 
jetzt einwandfrei funktioniert.

Auch an alle die was geschrieben haben, vielen Dank!

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.