Seid gegrüßt. Ich habe folgendes Problem und verzweifle daran: Ich habe einen DRV8825 Schrittmotortreiber. Den habe ich mit der Minimalkonfiguration (also Motorspannung, STP, DIR, ENABLE und RESET auf +5V, den Schrittmotor sowie GND des Arduino Uno) angeschlossen. Als Netzteil verwende ich ein 18.5V, 4.9A Netzteil. Nun habe ich damit einen NEMA 17 (1,5A pro Phase) betrieben. Das funktionierte auch ganz gut. Ich habe die Referenzspannung am Poti nicht mit dem Multimeter eingestellt, sondern einfach zur Mitte. Der Treiber wurde heiß, aber der Motor drehte sich ohne zu zicken und ich habe es auch nur kurz getestet. Neulich habe ich das Ganze nochmal getestet. Der Motor hatte dabei viel Last zu tragen (macht das bei einem Schrittmotor überhaupt etwas aus?). Und dann auf einmal rauchte es etwas. Nochmal getestet - und nix mehr drehte sich. Es war allerdings nichts sichtbar verkokelt. Kabel habe ich überprüft und durchgemessen, den Arduino überprüft. Alles in Ordnung. Gut, von dem Treiber kann ich mich wohl verabschieden. Jetzt habe ich allerdings noch 4 weitere DRV8825. Die habe ich dann auch überprüft. Aber höchst eigenartigerweise funktioniert keiner von denen. Und einer ist sogar brandneu aus der Packung (mit Heatsink). Ich habe es bei zwei von denen nur mit einem 12V 2A Netzteil versucht und die Referenzspannung mit dem Multimeter eingestellt. Aber nichts passiert. Bei einigen ist spürbar Spannung auf den Spulen (Motor lässt sich nur sehr schwer drehen, hält also), aber eine Drehbewegung (also Pulse auf STP) kommt bei keinem Treiber mehr. Die Motoren und die Motorkabel habe ich gewechselt. Nichts passiert. Ich habe als Test einen Easydriver angeschlossen und der funktioniert auf Anhieb mit dem Netzteil, dem Motor, dem Kabel und dem Arduino. Also der Wurm ist dann wohl irgendwo in den Treibern. Als kleine Ergänzung: Zwei Fehler habe ich natürlich gemacht: Keinen Kondensator an der Motorspannung und den Poti nicht mit dem Multimeter eingestellt. Daher meine Frage: Was läuft falsch? Hab ich mir alle Treiber durch den fehlenden Kondensator und Spannungsspitzen gegrillt? Kann ich mir aber irgendwie auch nicht so recht vorstellen, denn zwei von denen haben ja ne Zeit lang auch ohne ihn funktioniert. Und hat man beim 12V Netzteil Spannungsspitzen über 30V? Btw, die Verkabelung und den Code habe ich geprüft, neu verkabelt und programmiert und geändert und den Treiber natürlich nicht ohne Motor laufen lassen. Naja jedenfalls: Ich habe echt keine Ahnung, warum jetzt plötzlich 5 Treiber nicht mehr funktionieren, obwohl einer sogar jungfräulich war. Von jetzt auf gleich funktioniert etwas nicht. Und falls es ausweglos ist: Habe mir neue Treiber geholt. Wie kann ich dem Frittieren vorbeugen? Kondensator dran, Vref vernünftig einstellen? Gibt es noch mehr zu beachten?
Hallo, tl;dr: Back-EMF->Clamping-Dioden Weiß nicht ob du dasselbe Problem hast, aber einen Versuch ist es wert: habe vor einiger Zeit einen ganz ähnlichen Aufbau gemacht, zur Ansteuerung einer Dachluke (3D-gedrucktes Getriebe, das am Ende eine Spindel/Schraube auf und zu fährt). Ergebnis: Erstmal dasselbe, es hat mich ein Paar DRV8825 gekostet um den Fehler zu finden. Das Problem trat bei mir auf, nachdem der Schrittmotortreiber eine Strecke gefahren war und ich den ENABLE-Pin "losgelassen" hab. Was in dem Moment passiert ist, dass die Ausgänge des Treibers hochohmig werden, allerdings noch eine bestromte Spule dran hängt. Es wird also eine hohe Spannung in die Ausgänge induziert, welche den Chip zerschießt. Beholfen habe ich mir, indem ich an jeden Ausgangspin ein Paar BAT54S gepackt habe und damit die Spannung zwischen GND und Treiber-Spannungsversorgung geclampt. Evtl. sind fettere Dioden besser geeignet, für mich hatte es damals gereicht, und ich hatte grad keine anderen da.
:
Bearbeitet durch User
Sinnvoller wäre es vielleicht, erst den Motor auf Null abzubremsen und dann das Enable-Signal abzuschalten. Außerdem braucht man große Elkos, deutlich größer als das was auf den üblichen Shields verbaut ist. Gruß Tom
Bernhard R. schrieb: > Der Motor hatte dabei viel Last zu tragen > (macht das bei einem Schrittmotor überhaupt etwas aus?). Ja, schließ mal einfahc nur eine LED an die nackten Motoranschlüsse an und dreh die Motorwelle. Hoppla, die LED leuchtet. Und genau das passiert auch mit Last: wenn du abbremst, dann speist du Energie zurück in die Versorgung, die Versorgungsspannung steigt an, weil sonst keiner Strom entnimmt oder aufnimmt. > Der Treiber wurde heiß Wie heiß? Darf er das? > denn zwei von denen haben ja ne Zeit lang auch ohne ihn funktioniert. Und wenn du 100x mit verbundenen Augen über eine befahrene Straße gekommen bist und dich nur hin- und wieder über das Quitschen ("wird heiß") gewundert hast, dann wirst du halt erst beim 101. Mal überfahren. Da hilft dann auch nichts, dass es die ersten 100x gut "funktioniert" hat. > warum jetzt plötzlich 5 Treiber nicht mehr funktionieren Von "plötzlich" kann da eigentlich keine Rede sein, aber an Durchhaltevermögen mangelt es ja schon mal nicht... ;-)
Vielen Dank für die Antwort. Das Enable-Signal habe ich dauerhaft auf +5V, damit dürfte ich dann keine Probleme haben, oder?
Tom schrieb: > Sinnvoller wäre es vielleicht, erst den Motor auf Null abzubremsen und > dann das Enable-Signal abzuschalten. Außerdem braucht man große Elkos, > deutlich größer als das was auf den üblichen Shields verbaut ist. Naja, irgend eine Spule ist immer bestromt, solange ENABLE an ist, auch wenn der Motor steht. Das ist ja der Witz. Und wenn ENABLE an +5V liegt, ist der Abschaltzeitpunkt eben das Problem (also wenn das Gerät vom Strom getrennt wird) Aber Elkos schaden in der Tat aber auch nicht
Die bestromte Spule bei stehendem Motor ist an sich unkritisch, wenn die Schaltung vernünftig designt ist und der Treiber oder die Schaltung normal abgeschaltet werden. "Shields" enthalten aber in der Regel nicht mehr als die Minimalbeschaltung nach Datenblatt, und das ist eben keine vollständige Applikation. Wenn man dann ein solches Shield unter Spannung aus dem Sockel zieht oder an einem der Jumpwires einen Wackelkontakt hat, darf man sich über Hardwareausfälle nicht wundern. Was aber viel kritischer ist als eine bestromte Spule im Stillstand, ist die kinetische Energie, die in größeren Massenträgheiten steckt. Diese Energie wird nämlich im Fehlerfall (Treiber abgeschaltet, Schrittverlust am Motor,...) über den Motor (der dann als Generator arbeitet) in elektrische Energie umgewandelt und lädt die Elkos am Zwischenkreis auf. Wenn man dann nur einige µF auf dem Shield hat um die Ladung zu speichern, steigt die Spannung kurzzeitig deutlich über die eigentliche Versorgungsspannung an und der Treiber segnet das Zeitliche. Mit freundlichen Grüßen Thorsten Ostermann
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.