Es muss was grundlegendes sein, was ich falsch mache oder nicht verstanden habe…
Mit meinem DRV8825 am Nano ging der Beispielcode nicht.
Nachdem ich die verkabelung mehrmals geprüft habe, ob die hiermit übereinstimmt:
habe ich mir gedacht, es reicht!
Ich bin zu meinem 3D Drucker und habe das Kabel vom Extruder genommen und habe den da angeschlossen. dann hat der Drucker erst den Motor etwas zittern lassen, wie mein Code auch und dann hat sich das ding abgeschaltet und das wars.
habe dann einen zweiten nagelneuen Schrittmotor ausgepackt und auch nichts…
Wenn ich die Stromzufuhr erhöhe, dreht er sich wenigstens, aber man kann den treiber nicht mehr anfassen, auch wenn er ganz ohne last läuft, wie viel Strom braucht der? 40A?
Der DRV8825 ist ein stromregelnder Treiber, da Ist die Nennspannung des Motors weitgehend irrelevant. Die Versorgungsspannung des Treibers muss nur deutlich höher sein - mindestens etwa das 3-fache.
Du MUSST den Strom auf dem Treiber einstellen. Denn der Treiber bestimmt den Strom durch den Motor. Wobei 2,5A für den DRV8825 schon sehr sportlich ist. Da bist Du im Grenzbereich und brauchst zumindest einen ordentlichen Kühlkörper. Zum Testen solltest Du den Strom am Treiber deutlich kleiner einstellen.
Wo? am Netzteil? Das macht keinen Sinn. Der Strom vom Netzteil ist bei einem Stromtreiber deutlich geringer als der Motorstrom. Wie gesagt, der Treiber bestimmt den Strom (zumindest solange das Netzteil die benötigte Leistung bereitstellen kann).
Warum schreibst Du dann, dass Du es nicht am Treiber eingestellt hast? Wenn wir dir helfen sollen, müssen wir schon genau wissen, was Du gemacht hast. Wobei 500mA für einen 2,5A Motor schon sehr wenig ist. Allerdings sollte der Treiber bei 500mA nicht heiß werden - da muss noch was anderes falsch sein.
Hast Du den Motor mal ab/angeklemmt während der Treiber am Netzteil hing? Damit kann man ihn mit hoher Wahrscheinlichkeit killen.
Zeig mal deinen Code und mach ein Bild vom Aufbau, auf dem alle Kabelvebindungen zu sehen sind.
P.S. Nicht alles, was in dem Link steht ist korrekt. Vor allem die Bemerkung zu dem 100µF Kondensator ist Unsinn. Der ist nicht zu irgendeinem Schutz da, sondern wird für die Funktion des DRV8825 gebraucht und sollte so nah wie möglich am DRV8825 platziert sein.
ok, ich habe den strom jetzt auf 1,7A einstestellt, jetzt arbeitet er “normal” noch sehr abgehackt, aber immerhin
nutze jetzt diesen Code:
//
// FILE: DRV8825_test.ino
// AUTHOR: Rob Tillaart
// PURPOSE: demo
// URL: https://github.com/RobTillaart/DRV8825
#include "DRV8825.h"
DRV8825 stepper;
void setup()
{
Serial.begin(115200);
Serial.println();
Serial.println(__FILE__);
Serial.print("DRV8825_LIB_VERSION: ");
Serial.println(DRV8825_LIB_VERSION);
Serial.println();
stepper.begin(4, 5); // set direction pin + step pin.
}
void loop()
{
// slow in one direction
stepper.setDirection(DRV8825_CLOCK_WISE);
for (int i = 0; i < 100; i++)
{
stepper.step();
delay(100);
}
// fast go back to start position.
stepper.setDirection(DRV8825_COUNTERCLOCK_WISE);
for (int i = 0; i < 100; i++)
{
stepper.step();
delay(10);
}
}
// -- END OF FILE --
Ok, habe jetzt verstanden, dass er wirklich den Strom braucht um arbeiten zu können…
Aber warum kommt mein 3D Drucker damit nicht zurecht? der muss doch ganz entspannt den strom liefern können, vor allem ohne Last
Hallo
Die Stromaufnahme bei einem Stepper ist nicht abhängig von der Last. Der Stepper hat ein Haltemoment dafür benötigt er den selben Strom wie beim Laufen. Das macht die Stromregelung des Treibers. Die wiederum wird benötigt damit der Motor auch bei höheren Drehzahlen noch das Nennmoment abheben kann. Ansonsten ginge mit steigender Drehzahl das Moment stark herunter weil der Strom nicht mehr zum fließen käme. Ursache dafür Induktivität der Spulen.
Ein Stepper im 'fullStep' mode ist nicht unbedingt ein leiser und 'geschmeidig' laufender Motor - vor allem bei niedrigen Geschwindigkeiten. Da sieht und hört man jeden Schritt. Microstepping macht das besser ( hat aber dafür andere Nachteile).
Bei 1,7A solltest Du aber beim DRV8825 schon über einen (zumindest kleinen) Kühlkörper nachdenken. Meist liegen die auch bei.
Was das Ganze jetzt mit deinem 3D-Drucker zu tun hat, erschließt sich mir nicht.
Ja, das Prinzip des stellmotors war doch anders als ich das verstanden habe… aber gut, jetzt hat es klick gemacht…
Der 3D Drucker hat Schrittmotoren…
Also dachte ich, ich kann den anderen mal testen, indem ich den an dem Schrittmotor Ausgang vom 3D Drucker Extruder anklemme…
Aber da ging es auch nicht… warum habe ich noch nicht verstanden… der Treiber sollte den doch in Leerlauf easy treiben können… oder gibt es da ein Problem mit den Microsteps, dass der Drucker 1/128 machen will, der Motor aber nicht genügend Polpaare dafür hat?
Schrittmotore funktionieren nicht wie DC-Motore. Beim Schrittmotor bilden Treiber und Motor eine Einheit, die zusammenpassen muss. Du kannst also nicht einfach einen beliebigen Schrittmotor an deinen 3D-Drucker anklemmen, und davon ausgehen, dass das dann funktioiert. Zumindest muss der Treiber für den Motor passend eingestellt werden (solange er grundsätzlich zum Treiber passt - ansonsten geht es gar nicht)
@Rentner hat dir im Post #10 doch schon geschrieben, dass das mit 'Leerlauf' nichts zu tun hat. 'Leerlauf' im Sinne von DC-Motoren gibt's bei einem Stepper nicht. Vergiss alles, was Du über DC-Motore weist, wenn Du mit einem Stepper hantierst.