Forum: Mikrocontroller und Digitale Elektronik Schrittmotor - Schrittmotortreiber A4988 dauernd zerstört


von Nico S. (derholzfraeser)


Lesenswert?

Sehr geehrtes Forum, liebe Mitleser,

da ich neu im Forum bin bitte ich um nicht nur technische Ratschläge.

bei meinem Projekt handelt es sich um einen Aufbau zum Fräsen. Es gibt 
insgesamt 3 Achsen, von denen 2 über einen einen Nema17 und eine 
(Z-Achse) über einen Nema23 von Trapezgewindespindeln angetrieben 
werden.

Wenn der Aufbau funktioniert, läuft alles so wie es das soll. Beim 
Defekt eines Treibers ist ein deutlicher Widerstand an der Motorwelle 
festzustellen.

Nun zu meinem Problem: nach mehrfacher Benutzung gehen die Treiber 
(A4988) kaputt.
Ein paar Fakten zum Aufbau:
-Als Steuerung dient ein Arduino Mega
-Stromquelle: altes Laptopnetzteil (19V, 3,4A), 19V-Seite ist 
abgesichert
 durch eine 2,5A mittelträge Sicherung. Als Kondensator ist ein 220µF
 angeschlossen. Diese Seite dient als Versorgungsspannung der Treiber.
-Der Arduino wird auf der 19V Seite (gleiches Massepotential) von einem
 L7809 versorgt (100nF ist, wie im Datenblatt angegeben, angelötet)
-Es ist immer nur eine Achse in Betrieb (danach wird der jeweilige 
Treiber
 über den SLEEP-Pin auf "0"gesetzt, sodass auch kein Ruhestrom fließen
 sollte.
-Der Strom der Treiber wurde auf ein Minimum reduziert, sodass sich alle
 Achsen ohne Schrittverluste auf einen Wert positionieren lassen.
 (Nema17 0,6V; Nema23 0,8V).
-Im Betrieb des Nema23 ist ein Spannungsabfall von nur 0,3V auf 19,2V
 messbar (Multimeter)
-Die maximale Betriebszeit einer Achse beträgt ca. 20sec, eine
 Wärmeentwicklung ist nicht spürbar (Finger auf IC Gehäuse).
-Die Signalseite der Treiber sitzt direkt auf dem Arduino.
-Im Sketch gibt es kein Soft-Start oder Soft-End, kann dies 
möglicherweise
 nachteilig sein (Selbstinduktion-->Spannungserhöhung-->defekt?)?
-gefühlt hat eine Erhöhung der Drehfrequenz (Verringerung der Step-
 Intervalle) zu mehr kaputten Treibern geführt.

 Ich hoffe alle wichtigen Informationen aufgelistet zu haben.
 Über Verbesserungsvorschläge würde ich mich sehr freuen, leider ist 
mein
 rudimentäres Grundwissen am Ende.

Vielen Dank fürs Lesen und mögliche Antworten

Viele Grüße
Nico

von Max D. (max_d)


Lesenswert?

Sind alle Kabel richtig fest dran ?
Solche Treiber sterben idR wenn unter Strom der Motor abgetrennt (durch 
Wackler oder Ausstecken) wird.
Die andere Schiene sind Schwankungen in der Versorgung. Aber der 220er 
Kondi klingt erstmal nicht danach, aber bei entsprechend langen und 
wackligen Kabeln geht das auch da.

Mach vlt. mal ein paar Bilder ?

von derholzfraeser (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Max,

vielen  Dank für deine schnelle Antwort.

Ich habe die mitgelieferten Kabel verlängert. Die Zwischenstücke sind 
verlötet. Die Lötstellen sollten eigentlich nicht fehlerhaft sein. Wie 
kann ich den Kontakt hier noch verbessern? Soll am besten alles gelötet 
werden? Komplett auf die Stecker verzichten?

Mittlerweile will ich keine Risiken mehr eingehen.


Viele Grüße Nico

von Uwe (Gast)


Lesenswert?

Hi,
< Als Kondensator ist ein 220µF angeschlossen.
in deinen Bildern sehe ich ihn nicht. Also entweder weit weg oder gut 
versteckt. Andere Hersteller von Treibermodulen verlangen ganz in der 
Nähe eine jeden Treibers 4700µF (bei ähnlichen Leistungen).
Dieser Kondensator hat die Aufgabe die rückgeführte Energie 
Spannungsspitzen... aufzunehmen damit die Ub nicht überschritten wird.
Ja, du verwendest nur 19V bis 35 ist da noch einiges an Luft aber ich 
sehe deine 220µ nicht in der Nähe deiner Treiber und jedes Stückchen 
Draht ist eine Induktivität. Ich würde als 1. an jedes Modul die 
angegebenen 100µ oder mehr, direkt drankleben.
Du solltest auch darauf achten Power-GND und Steuer-GND absolut getrennt 
zu halten.

Viel Erfolg, Uwe

von M. K. (sylaina)


Lesenswert?

Uwe schrieb:
> Hi,
> < Als Kondensator ist ein 220µF angeschlossen.
> in deinen Bildern sehe ich ihn nicht

Ich sehe ihn auch nicht.

von Nico S. (derholzfraeser)


Lesenswert?

Hallo Uwe,

vielen Dank für deine Antwort.

Der Kondensator befindet sich rechts in der Klemme (nur im Ansatz 
erkennbar), von hier gehen alle 19V Versorgungsspannungen ab. Größere 
Kondensatoren könnte ich auch einbauen, Hauptsache es hilft.

Meinst du, dass eine Erhöhung der Versorgungsspannung eventuell 
Spannungseinbrüchen bei höheren Drehzahlen entgegen wirkt? Oder verstehe 
ich dich hier falsch?

Wieso müssen Steuer- und Power-GND getrennt gehalten werden?

Würde ein ganzes Modul, wie der TB6600 Abhilfe schaffen?

In das Projekt sind schon einige 100€ geflossen, sodass ich wirklich 
Wert auf eine zuverlässige Steuerung lege.

Viele Grüße
Nico

von M. K. (sylaina)


Lesenswert?

Nico S. schrieb:
> Wieso müssen Steuer- und Power-GND getrennt gehalten werden?

Weil der Power-GND stark Lastabhängig ist. So etwas kann 
Steuerelektronik doof finden. Stell dir nur mal vor deine GND-Leitung 
hat 10 mOhm Bahnwiderstand und da schaltet jetzt mal eben eine 1A Last 
drauf. Kann Steuerelektronik schon empfindlich stören wenn plötzlich das 
Bezugspotential um 10 mV ansteigt ;)

von -- (Gast)


Lesenswert?

Nico S. schrieb:
> In das Projekt sind schon einige 100€ geflossen, sodass ich wirklich
> Wert auf eine zuverlässige Steuerung lege.

Sorry, aber dann solltest du deine fliegende Verkabelung zumindest auf 
eine Lochrasterplatine verlegen.
...und schau dir an, wie/wo z.B. bei einem RAMPS 1.4 od. 1.6 bzw. einem 
Arduino CNC Shield die Bufferkondensatoren sitzen.

p.s. mit einem Multimeter kannst du keine Motorströme messen

von Stefan A. (king-crash)


Lesenswert?

Die Allegromicro ICs scheinen generell eher empfindlich.
Vorschläge:
- Serienwiderstände (1k?) in den Signalleitungen
- ggf TVS-Dioden nach den Serienwiderständen
- Pufferkondensator in der Versorgung
- TVS-Diode in der Versorgung

von ich³ (Gast)


Lesenswert?

derholzfraeser schrieb:
> Soll am besten alles gelötet werden?

Niemals löten, wenn es sich bewegen kann und/oder Vibrationen 
einwirken! Jede gelötete Litze wird irgendwann bei Bewegung/Vibration 
am Übergang Zinn-kein_Zinn brechen.

Wahrscheinlich werden jetzt gleich wieder die "du-kannst-nicht-löten" 
und "ich-löte-auch-freifliegend-im-Auto" "Experten" ums Eck kommen - die 
kannst du getrost ignorieren.

von -- (Gast)


Lesenswert?

NEMA 23 klingt nach 4A -> das wird mit den kleinen Treibern nicht 
funktionieren...
was sagt das Datenblatt des Motors?

von Uwe (Gast)


Lesenswert?

Hi,
>Der Kondensator befindet sich rechts in der Klemme (nur im Ansatz
>erkennbar), von hier gehen alle 19V Versorgungsspannungen ab.
ganz schlecht, viel zu weit weg. Löte einfach 100 besser 1000µ direkt an 
jedes Modul(da wo die Steckerchen zu sehen sind)
>Meinst du, dass eine Erhöhung der Versorgungsspannung eventuell
>Spannungseinbrüchen bei höheren Drehzahlen entgegen wirkt?
Nein,ich meinte das bis zur maximalen UB noch einiges an Luft ist,
und ja, das ist Tatsache so aber die Grenzen für Ub werden eben enger.
>Wieso müssen Steuer- und Power-GND getrennt gehalten werden?
Weil Lastsprünge und Kabel schon mal zu Fehlimpulsen führen.
>Würde ein ganzes Modul, wie der TB6600 Abhilfe schaffen?
Das ist auf jeden Fall leistungsfähiger(sicherer) Das mit den Massen 
gilt aber weiterhin.

Viel Erfolg, Uwe

von m.n. (Gast)


Lesenswert?

Nico S. schrieb:
> Beim
> Defekt eines Treibers ist ein deutlicher Widerstand an der Motorwelle
> festzustellen.

Das bedeutet, daß mindestens eine Endstufe einen Kurzschluß hat, was 
wiederum ein Zeichen für Überspannung ist. Mag sein, daß ein dickerer 
Kondensator die Lösung bringt.

Egal, wie gut geschützt diese A49xx sein mögen, ich beschalte die 
Ausgänge immer mit 8 x Schutzdioden gegen V++ und GND. Vielleicht hilft 
Dir dies weiter, die paar Dioden kosten wenig und können viel bringen.

von Stefan A. (king-crash)


Lesenswert?

ich³ schrieb:
> derholzfraeser schrieb:
>> Soll am besten alles gelötet werden?
>
> Niemals löten, wenn es sich bewegen kann und/oder Vibrationen
> einwirken! Jede gelötete Litze wird irgendwann bei Bewegung/Vibration
> am Übergang Zinn-kein_Zinn brechen.
>
> Wahrscheinlich werden jetzt gleich wieder die "du-kannst-nicht-löten"
> und "ich-löte-auch-freifliegend-im-Auto" "Experten" ums Eck kommen - die
> kannst du getrost ignorieren.

Sry, aber was für ein Stuss. Es kommt schlichtweg auf die Stärke der 
Vibrationen an und gegen Bewegung helfen Zugentlastungen.
Und um es gleich deutlich zu machen: Ich bestreite nicht, dass gecrimpte 
Verbindungen mechanisch stabiler sind.

von Nico S. (derholzfraeser)


Angehängte Dateien:

Lesenswert?

Zunächst einmal vielen Dank für die umfangreichen Antworten.
Das freut mich sehr.

M. K. schrieb:
> Nico S. schrieb:
>> Wieso müssen Steuer- und Power-GND getrennt gehalten werden?
>
> Weil der Power-GND stark Lastabhängig ist. So etwas kann
> Steuerelektronik doof finden. Stell dir nur mal vor deine GND-Leitung
> hat 10 mOhm Bahnwiderstand und da schaltet jetzt mal eben eine 1A Last
> drauf. Kann Steuerelektronik schon empfindlich stören wenn plötzlich das
> Bezugspotential um 10 mV ansteigt ;)

Wie müsste ich das verbessern? Die Masse vom Arduino abgreifen? Wobei 
diese ja das gleiche Potential haben sollten, da sie über den L7809 
miteinander verbunden sind. Also liegt hier genau das Problem, wenn ich 
dich richtig verstehe?

Sollen die Versorgungsspannung (19V) nach der Benutzung des Treibers 
abnehmen? War mal meine Überlegung, deshalb die Relais vor der 
Versorgungsspannung.

Kennt jemand eventuell ein (CNC-) Shield, bei dem ich noch die 
Möglichkeit hätte, das Keypad (8-Pins), Display ((I²C), SCL,SDA) und ca 
8 weitere Pins "normal" nutzen könnte? Möglicherweise ist dieser Schritt 
einfacher, als den Kabelsalat weiter auszuweiten. Welche Schutzdiode 
könnt ihr mir empfehlen?

Vielen Dank und Grüße
Nico

: Bearbeitet durch User
von m.n. (Gast)


Lesenswert?

Dioden gibt es wie Sand am Meer. Beispiel wäre 1N5818/19 oder SDxxx oder 
MBRxxx.
Selber nehme ich meist SS14L. Als Beispiel: 
Beitrag "Schrittmotoransteuerung mit A4982 und ATmega328"

von Stefan A. (king-crash)


Lesenswert?

Du kannst auch Signal- und Leistungsmasse so früh wie möglich trennen, 
dann gibt es auch weniger Probleme. Dazu die Massekabel der Treiber 
direkt in jeweils einem separaten Kabel zu Versorgung und Ansteuerung 
führen. Ohne Überspannungsschutz wäre ich mir aber nicht sicher ob es da 
nicht füher oder später wieder etwas grillt.

von ich³ (Gast)


Lesenswert?

Stefan A. schrieb:
> Sry, aber was für ein Stuss. Es kommt schlichtweg auf die Stärke der
> Vibrationen an und gegen Bewegung helfen Zugentlastungen.

Nö, kein Stuss, über vier Jahrzehnte Erfahrung. Da hilft auch das 
Weglassen von Buchstaben nichts. Ich empfehle hier aber ganz klar 
sinnentnehmendes Lesen, denn "wenn es sich bewegen kann und/oder 
Vibrationen einwirken" mit "gegen Bewegung helfen Zugentlastungen" zu 
kontern ist komplett am Thema vorbei.

Wobei die Diskussion bei dem Gesamtaufbau ohnehin müßig ist.

von Wolfgang (Gast)


Lesenswert?

Nico S. schrieb:
> Wie müsste ich das verbessern?

Die Kondensatoren gehören ganz an die Treiber, nicht irgendwo in die 
andere Ecke vom Drahtverhau. Die Energie, die in den Kondensatoren 
zwischengespeichert werden soll, kommt über den jeweiligen Treiber aus 
der Motorwicklung.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Halo Stefan,

Stefan A. schrieb:
> Die Allegromicro ICs scheinen generell eher empfindlich.
> Vorschläge:
> - Serienwiderstände (1k?) in den Signalleitungen
> - ggf TVS-Dioden nach den Serienwiderständen
> - Pufferkondensator in der Versorgung
> - TVS-Diode in der Versorgung

Nein, die Allegro-Treiber sind nicht empfindlicher als andere 
Schrittmotortreiber. Das Problem ist, dass es zu viele schlechte 
"Designs" gibt und diese aufgrund ihres spartanischen Aufbaus auch 
entsprechend billig verkauft werden.

Zu dem billigen Aufbau gehört z.B., dass die zwingend erforderlichen 
Elkos weggelassen werden und das nicht genügend Kupferfläche zum Kühlen 
vorhanden ist. Statt dessen kleben besondere Spezialisten dann 
Kühlkörper von oben auf das Plastikgehäuse, wo der Wärmeübergang am 
schlechtesten ist. Die niedrigen Preise machen diese Shields trotz allem 
bei Bastlern beliebt, führt aber zu dem Eindruck, die Treiber wären 
besonders empfindlich. L298 oder L6203 sind übrigens auch gerne 
lautstark explodiert, wenn die Schaltung schlecht war oder die 
Versorgungsspannung aufgrund von Rückspeisung zu stark angestiegen ist. 
Trotzdem war die Kombination L297/L298 lange Zeit der Standard bei 
Schrittmotorsteuerungen.

Ich setze die Treiber von Allegro seit über 10 Jahren in Serienprodukten 
ein (u.a. A3977, A3979, A5979, A3959) ganz ohne Probleme. Wenn man vom 
A3986 mal absieht, der einen Designfehler in der 
Mikroschritt-Statemachine hatte. Werder die Beschaltung der 
Steuerleitungen ist das Problem, noch fehlende externe Dioden an den 
Ausgängen, sondern schlicht die fehlenden Elkos und die in diesem 
Beispiel Verdrahtung jenseits aller guten Gepflogenheiten. Wobei 4.700µ 
an jeder Achse wie oben geschrieben deutlich übertrieben sind. 100-200µ 
direkt am Treiber sollten in den meisten Fällen ausreichen.

Mit freundlichen Grüßen
Thorsten Ostermann

: Bearbeitet durch User
von Stefan A. (king-crash)


Lesenswert?

Hallo Thorsten,

Ich habe den A4989 (braucht externe MOSFETs) auf einem eigenen Design 
(4-Layer vom Leiterplattenhersteller) in Kleinstserie. Das Bestücken 
erfolgt per Hand, löten passiert im Ofen (kein Chinaheimer). Wenn bei 
der Funktionsprüfung etwas nicht funktioniert war es bisher nahezu 
ausnahmslos eines dieser ICs. Im Feld haben wir damit auch keine 
Probleme.
Ich will auch nicht bestreiten, dass es diese Schwierigkeiten bei 
automatisierter Fertigung so nicht gibt, aber alle andere Bauteile sind 
unter gleichen Bedingungen eben unauffällig. Das bedeutet eben nicht, 
dass der Treiber schlecht ist (sonst hätte ich einen Anderen verwendet) 
sondern einfach empfindlich.

Ob natürlich mit so einer fliegenden Verkabelung nicht auch robustere 
Bauteile das Zeitliche segnen würden steht auf einem anderen Blatt...

Grüße

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.