Forum: Mikrocontroller und Digitale Elektronik Schrittmotor ruckelt


von Marvin (Gast)


Lesenswert?

Hallo,
bin das erste Mal dabei einen Schrittmotor anzusteuern, leider ruckelt 
der Motor.
Die Paare von den 4 Drähten vom Motor habe ich gefunden.
am Treiber habe ich die Stromgrenze auf 0,75V eingestellt.
Habe anstatt eines 100µF einen 220µF Kondensator verbaut, daran kann es 
aber nicht liegen oder?


Benutzte Teile:

DRV8825 Treiber

Stepper Motor Nennstrom (einphasig):1.5 A DC 
(https://www.ebay.de/itm/284026944636)

Arduino UNO

Labor-Netzteil (Ausgang 12V 3A)

Aufbau:
https://starthardware.org/stepper-motor-mit-dem-drv8825-steuern/

von MaWin (Gast)


Lesenswert?

Marvin schrieb:
> Aufbau

Na ja, Aufbau auf einem Steckbrett ist für 2x1.5A nicht zielführend.

Löte es zusammen, den Elko kurz an den Treiber.

Wenn der Motor nur vibriert und nie dreht: vertausche mal die beiden 
Leitungen zu einer Spule.

Ansonsten: je, Schrittmotore drehen oft nicht sauber sondern bleiben bei 
bestimmten Frequenzen hängen. Es hilft dann oft, die Welle etwas zu 
bremsen (Finger dranhalten).

Auch gehen Treiber kaputt, wenn man beim Motor mal an der Achse dreht, 
oder sie eine grössere Last bremsen müssen und der Elko zu klein ist.

Mit 42Ncm ist dein Motor aber eh lein Kraftprotz.

von und zu (Gast)


Lesenswert?

Mal versucht richtig langsam und nur im Vollschritt laufen zu lassen?

von Johannes S. (Gast)


Lesenswert?

erstmal hört sich alles richtig an, was heisst denn 'ruckelt'?

von Marvin (Gast)


Lesenswert?

versuche es meist in Vollschritten, auch langsames anfahren.
ruckelt= keine flüssige Bewegung als ob schritte übersprungen werden 
oder er sogar mal einen Schritt zurück macht

wenn ich einen neuen Sketch auf dem UNO lade sollte der Motor während 
des Hochladens doch stehen bleiben? Bei mir zuckt er dann vor und 
zurück.

Der Motor zieht auch nie mehr als 0,550A laut des Netzteils

von Georg (Gast)


Lesenswert?

Marvin schrieb:
> bin das erste Mal dabei einen Schrittmotor anzusteuern, leider ruckelt
> der Motor.

Schrittmotore starten nicht aus dem Stand, wenn die 
Schrittgeschwindigkeit grösser ist als die Anlauffrequenz. Das müsste 
man im Datenblatt pfüfen, hängt auch vom Strom und seiner Kurvenform ab.

Marvin schrieb:
> Die Paare von den 4 Drähten vom Motor habe ich gefunden.

Das klingt eher nicht nach Datenblatt. Mit weder Daten noch Erfahrung 
könnte es schwierig werden.

Georg

von Johannes S. (Gast)


Lesenswert?

Ist enable und dir richtig angeschlossen? GND mit dem Arduino verbunden? 
Also der Logik GND?
Oder das 12 V Netzteil taugt nicht dafür, ist noch etwas anderes 
vorhanden?

von Bedenkenträger (Gast)


Lesenswert?

MaWin schrieb:
> Na ja, Aufbau auf einem Steckbrett ist für 2x1.5A nicht zielführend.

Ja das geht sehr leicht schief. Vielleicht sogar.

Dann noch ein mickriger Elko für 1.5 Ampere Motorstrom. Das
reicht sicher nicht.

Dann noch die elektrische Verkopplung -> Massetröme die auf
den Arduino wirken. Da muss man sich gut überlegen wo was
angeschlossen werden muss. Stichwort: getrennte Netzteile
und Sternverbindung.

von Marvin (Gast)


Lesenswert?

Dir und Step sind richtig angeschlossen, Enable ist wie in der Anleitung 
nicht angeschlossen.
Anderes Netzteil ausprobiert gleicher verhalten.

Video des Motors:
https://files.fm/f/qwmf8neqs
Die ersten 2Sekunden wir der Sketch hochgeladen

von M. K. (sylaina)


Lesenswert?

Marvin schrieb:
> Dir und Step sind richtig angeschlossen, Enable ist wie in der Anleitung
> nicht angeschlossen.
> Anderes Netzteil ausprobiert gleicher verhalten.
>
> Video des Motors:
> https://files.fm/f/qwmf8neqs
> Die ersten 2Sekunden wir der Sketch hochgeladen

Sieht für mich nach falscher Ansteuerung aus. Nen Oszi könnte bei sowas 
recht praktisch sein ;)

von MaWin (Gast)


Lesenswert?

Marvin schrieb:
> Video des Motors

Der dreht doch.

Klar, er bleibt an manchen Stellen in Eigenresonanz stehen, er hat ja 
weder eine dämpfende Last noch eine Bremsresonatorplatte.

Das ist halt der Trick, damit umgehen zu können.

https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.10

von Max M. (Gast)


Lesenswert?

Foto vom Aufbau (Anschluss Motor / Treiber erkennbar), Foto vom 
Typenschild des Motors.

Dreht der Sketch absichtlich links / rechts, oder passiert das zufällig?

von Johannes S. (Gast)


Lesenswert?

Bild vom Aufbau?
Das Zittern beim Download sieht für mich nicht normal aus, keine aber 
das Verhalten vom Uno da nicht. Wenn der Pegel da ruhig ist, dann wäre 
es eine fehlende/schlechte Verbindung zum Logik GND.

Den Step kann man ja auch mit einem Taster auslösen. Das kann zwar durch 
Prellen auch unregelmässig sein, darf aber nur in eine Richtung drehen.

von Flip B. (frickelfreak)


Lesenswert?

Da streuen in die steuersignale einige sachen ein. Wie ist die 
stromversorgung des Prozessors und die Masseverbindung gelöst? Kann es 
sein, dass eine masseverbindung für die steuersignale fehlt?

von Max M. (Gast)


Lesenswert?

Poste mal das Sketch.
Könnte auch eine viel zu hohe step frequenz sein.

von Schlaumaier (Gast)


Lesenswert?

Woher bezieht der Schrittmotor den Strom. ?

Ich hatte das Problem auch mal. Habe vergessen GROUND (Masse) richtig 
anzuschließen, passiert wenn der Motor mit Externen Strom versorgt wird. 
Und der Controller (Arduino) mit USB-Strom arbeitet. ;)

von Andreas M. (andreas_m62)


Angehängte Dateien:

Lesenswert?

Wenn der Steppermotor richtig rund laufen soll, dann nimm das:

https://b-kainka.de/bastel10.htm

von Marvin (Gast)


Lesenswert?

1
#include <AccelStepper.h>
2
#define dirPin 2
3
#define stepPin 3
4
#define motorInterfaceType 1
5
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);
6
void setup() {  
7
  stepper.setMaxSpeed(200);
8
  stepper.setAcceleration(100);
9
  stepper.moveTo(800);
10
}
11
void loop() {
12
    if (stepper.distanceToGo() == 0)
13
      stepper.moveTo(-stepper.currentPosition());
14
    stepper.run();
15
}


Der uno bekommt Strom von Pc über usb
gemeinsamer GND UNO und Motor vorhanden

von Marvin (Gast)


Lesenswert?

habe es noch mit einer Node MCU probiert und auch ohne SteckBrett alles 
über JumperKabel aber immer noch das selbe verhalten des Motors.

gemeinsame Masse ist auch vorhanden habe sie mal abgezogen und das 
ruckeln wird schlimmer.

von Wolfgang (Gast)


Lesenswert?

Marvin schrieb:
> am Treiber habe ich die Stromgrenze auf 0,75V eingestellt.

Eine Stromgrenze in Volt, was soll das sein?

von Johannes S. (Gast)


Lesenswert?

es gibt zwei GND, es ist hoffentlich wie hier verdrahtet:
https://www.pololu.com/product/2133

von Stefan F. (Gast)


Lesenswert?

Marvin schrieb:
> ohne SteckBrett alles über JumperKabel

Die allermeisten Jumperkabel eignen sich nicht für Stromstärken > 50mA 
weil sie aus Eisen und/oder Aluminium bestehen. Außerdem sind die 
Kontakte oft labberig.

> gemeinsame Masse ist auch vorhanden habe sie mal abgezogen

Ganz großes Fail. GND muss immer fest verbunden sein. Kann gut sein, 
dass jede weitere Arbeit mit diesen Modulen nun reine Zeitverschwendung 
ist, weil sie nun teilweise kaputt sind.

Nur wer wirklich weiß was er da tut, darf GND unter ganz bestimmten 
Voraussetzungen unterbrechen.

von Marvin (Gast)


Lesenswert?

Ja exakt so wie in der Beschreibung Verdrahtet

anderen Treiber ausprobiert und Vmot + GND mit dickeren Kabel betrieben 
Problem bleibt weiterhin bestehen. (wenn die JumperKabel zu dünn wären 
müssten die sich dann nicht erwärmen? was sie nicht tuen)

von Stefan F. (Gast)


Lesenswert?

Marvin schrieb:
> wenn die JumperKabel zu dünn wären
> müssten die sich dann nicht erwärmen?

Nicht raten, messen. Der Widerstand ist leicht messbar, der 
Spannungsabfall ist U = R · I

von Johannes S. (Gast)


Lesenswert?

wird das Treiber IC heiß? Ein Strom >1 A ist schon viel und die kleinen 
Dinger brauchen einen Kühlkörper. Wenn die zu heiß werden, dann schalten 
die ab. Und Motorstrom fließt auch wenn der Motor nicht dreht.

von Joachim B. (jar)


Lesenswert?

Marvin schrieb:
> JumperKabel

mal einen Magneten ranhalten, meine sind aus Eisen nicht aus Kupfer, 
schlechtere Leiter sind nur Glasfaser!

von Stefan F. (Gast)


Lesenswert?

Wenn du auf einer Masseleitung 1V Spannungsabfall hast (und sei es nur 
ganz kurz), fällt die Kommunikation aus. Außerdem werden damit unter 
Umständen die ESD Schutzdioden in den IC's überlastet, so dass ihr 
Schutz dauerhaft weg fällt. Das IC kann danach durch eine simple 
Berührung mit dem Finger schon zerstört werden.

von Johannes S. (Gast)


Lesenswert?

oha, jetzt wird es esotherisch.

von Max M. (Gast)


Lesenswert?

Marvin schrieb:
> stepper.setMaxSpeed(200)
> stepper.setAcceleration(100);
Ist eigentlich recht human.
Aber der Stepper verliert Schritte und wenn der erst of sync ist, fängt 
er sich ggf nicht mehr.

Auf was steht M0, M1, M2 am DRV8825?
Sleep und reset liegen auf High?

Wolfgang schrieb:
> Eine Stromgrenze in Volt, was soll das sein?
V * 2 = A, laut dem Link den Marvin geteilt hat.
Also 1,5A

@Marvin
Wo bleiben die Bilder vom Aufbau?

von Marvin (Gast)


Angehängte Dateien:

Lesenswert?

Hier das Bild und eine Zeichnung

von Hermann Kokoschka (Gast)


Lesenswert?

FAULT ist schonmal ein AUSGANG, der gehört nicht an +5V!
RESET + SLEEP gehören für Normalbetrieb an Logic-H.

von Marvin (Gast)


Lesenswert?

Es gibt zwei  Anschlussmöglichkeiten

https://a.pololu-files.com/picture/0J4233.600.png?665d623ba84232de64511d8aa6644836
https://a.pololu-files.com/picture/0J4232.600.png?f2f6269e0a80c41f0a5147915106aa55

Wie von Johannes S. (jojos) in dieser Anleitung
https://www.pololu.com/product/2133

habe aber auch beide versucht immer das gleiche ergebiss

von Johannes S. (Gast)


Lesenswert?

die zweite Variante ist nur zur Kompatibilität mit den A4988 Modulen, 
ist nicht besser, sollte aber auch funktionieren.
schon merkwürdig, die Dinger sind eigentlich sehr robust und einfach in 
der Anwendung und schließlich in Millionen 3D Druckern verbaut.
Der Autor in dem ersten Dokument schreibt noch von 'min. 
Halbschrittbetrieb', was bei 200 Hz Fmax aber auch nicht jucken sollte.
Und die Temperatur ist auch  noch so das man den DRV anfassen kann?

D.h. an einem STM32F407 habe ich die auch zum zittern bekommen, da war 
der Step Puls zu kurz. Die wollen knapp 2 µs haben, das kann man evtl. 
in der Axelstepper einstellen.

Nochn edit:
kann man: 
https://www.airspayce.com/mikem/arduino/AccelStepper/classAccelStepper.html#af4d3818e691dad5dc518308796ccf154

wobei die Doku sagt, min ist 20 µs, aber vielleicht lügt die Doku ja...

von Christian B. (luckyfu)


Lesenswert?

Wenn du den im Vollschiittbetrieb betreibst ist klar, dass der ruckelt. 
Veruchs mal mit kleineren Schritten, 1/8tel oder noch kleiner. Je 
kleiner die Schritte, desto flüssiger die Bewegung - aber! desto weniger 
Kraft hat der Motor auch, d.h. du musst mit dem Strom hoch gehen. Ob die 
12V reichen, wirst du sehen. Wenn der Motor ab einer bestimmten 
Ansteuerfreuqenz (Drehzahl) nicht mehr mit kommt ist die Spannung zu 
gering um die BEMF zu überwinden.

: Bearbeitet durch User
von Axel R. (axlr)


Lesenswert?

Ich lese auch das im verlinkten TExt:
1
The DRV8825 also features a FAULT output that drives low whenever the H-bridge FETs are disabled as the result of over-current protection or thermal shutdown. The carrier board connects this pin to the SLEEP pin through a 10k resistor that acts as a FAULT pull-up whenever SLEEP is externally held high, so no external pull-up is necessary on the FAULT pin. Note that the carrier includes a 1.5k protection resistor in series with the FAULT pin that makes it is safe to connect this pin directly to a logic voltage supply, as might happen if you use this board in a system designed for the pin-compatible A4988 carrier. In such a system, the 10k resistor between SLEEP and FAULT would then act as a pull-up for SLEEP, making the DRV8825 carrier more of a direct replacement for the A4988 in such systems (the A4988 has an internal pull-up on its SLEEP pin). To keep faults from pulling down the SLEEP pin, any external pull-up resistor you add to the SLEEP pin input should not exceed 4.7k.
Kannst ja mal über 4K7 ne kleine LED gegen Plus schalten, ob die 
"Aufblitzt".
/ENBL würde ich nicht offen hängen lassen. Der gehört auf GND, wenn man 
ihn nicht braucht. Wo ist denn der Elko zwischen VMM und GND?!? Ich 
mein, ich seh' ihn ja, kann aber nicht glauben, dass der dort mit den 
Krokoklemmen nen halben Meter Abstand zum Treiberplatinchen angeklipst 
ist. Hast Du keinen kleinen Lötkolben ...? Der MUSS direkt auf die 
Platine von unten an die Stiftleiste

von Max M. (Gast)


Lesenswert?

Bei der Drehzahl und 1,5A ohne Belastung dreht der Motor ohne Probleme 
ganz sauber, WENN der TO denn mal die Verdrahtungsfehler beheben würde.

Hermann Kokoschka schrieb:
> FAULT ist schonmal ein AUSGANG, der gehört nicht an +5V!
> RESET + SLEEP gehören für Normalbetrieb an Logic-H.

von Johannes S. (Gast)


Lesenswert?

Max M. schrieb:
> WENN der TO denn mal die Verdrahtungsfehler beheben würde.

es ist erstens kein Verdrahtungsfehler (siehe jetzt schon mehrfach 
verlinkte und gepostete Modulbeschreibung) und zweitens hat der TO auch 
zuerst die Variante mit offenem Fault und Sleep/Reset an VDD probiert.

Ich hätte ja immer noch die Verbindung Arduino GND - Logik GND in 
Verdacht, mit der schlechten Qualität einiger Dupont Kabel hat Stefan 
Recht und ich hatte auch schon welche mit Kabelbruch. Aber vermutlich 
hat der TO das auch schon getauscht beim Umbau von Breadboard auf 
direkten Anschluss an den Treiber.

Man kann noch den Axelstepper durch ein einfaches Toggeln des Step 
Signals ersetzen, aber diese Lib ist eigentlich auch millionenfach 
bewährt.

Für einen schöneren Aufbau gibt es fertige Shields für 3-4 Steppermodule 
oder Lochrasterplatinen im Arduinoformat. Oder gleich ein Mega2560 Board 
mit Shield für 3D Drucker. Die gab es schon immer billig, und jetzt 
haben noch viele auf 32 Bit Steuerungen umgerüstet und es liegen 
wahrscheinlich viele der Mega Boards in den Schubladen rum.

von Max M. (Gast)


Lesenswert?

Johannes S. schrieb:
> kein Verdrahtungsfehler

Also das wenige was auf dem Foto zu erkennen ist, läßt mich stark 
vermuten das der Motor falsch angeschlossen ist.

@TO
Wenn hier jemand nach Fotos fragt um DEIN Problem zu lösen, ist es nicht 
zuviel verlangt mehr zu fotografieren als ein Knäuel Kabel.
Motor Typenschild und der Verlauf der Kabel sollten schon auch ohne 
Ratespiel erkennbar sein.

von Stefan F. (Gast)


Lesenswert?

Marvin schrieb:
> Hier das Bild und eine Zeichnung

Wie gesagt: Dupont kabel sind zur Stromversorgung ungeeignet

von Flip B. (frickelfreak)


Lesenswert?

der treiber wird gelegentlich wegen unterspannung abschalten, da nach 
den dünnen leitungen keine 5v mehr ankommen werden.

von Max M. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Wie gesagt: Dupont kabel sind zur Stromversorgung ungeeignet

Funktioniert bei tausenden Leuten ganz passabel.
Bei mir, bei sehr vielen anderen und der Motor selbst hat Dupont Kabel, 
wie so ziemlich alle in seiner Leistungsklasse.
Der Motor hat Null Last, bei sehr gutmütiger Drehzahl.
Selbst WENN der Treiber nicht auf seinen Strom kommen würde, würde sich 
das hier nicht weiter äussern.

Aber hier werden die blumigsten Erklärungen an den Haaren herbeigezogen 
und ganz offensichtlich hat noch niemand das Moter DB gesehen oder die 
Motorleitungen mal wirklich bis zum Treiber nachverfolgt.
Lieber an Mondphasen und Stecker aus Unobtanium glauben die das Problem 
sind, statt einfach mal professionell die Schaltung zu kontrollieren, in 
der in 9 von 10 Fällen das Problem liegt.

von Teo D. (teoderix)


Lesenswert?

Max M. schrieb:
> Stefan ⛄ F. schrieb:
>> Wie gesagt: Dupont kabel sind zur Stromversorgung ungeeignet
>
> Funktioniert bei tausenden Leuten ganz passabel.

Aber nicht desto trotz, ist ihnen nicht zu trauen.
Wenn also merkwürdige, unerklärliche Phänomene auftreten, sollte man sie 
grundsätzlich verdächtigen und dementsprechend kontrollieren!
Da sind Kandidaten drunter, wo auch schon mal mittendrin 1-2cm Kupfer 
fehlt oder oft ist nur das Kabel an die Stecker gedröselt und umspritzt. 
Letzteres klappt halt nicht immer zufriedenstellend. Das kann sich auch 
schon mal darin äußern, dass das betreffende Kabel zwischen ein- bis 
zweistelligen Ohmwerten schwankt. ....

von M. K. (sylaina)


Lesenswert?

Max M. schrieb:
> in
> der in 9 von 10 Fällen das Problem liegt.

Ich würde sogar sagen in 99 von 100 Fällen ;)

von Wolfgang (Gast)


Lesenswert?

Christian B. schrieb:
> Je kleiner die Schritte, desto flüssiger die Bewegung - aber! desto weniger
> Kraft hat der Motor auch, d.h. du musst mit dem Strom hoch gehen.

Zwischen 1/8 und 1/256 Schrittbetrieb ändert sich herzlich wenig am 
Drehmoment. Warum soll da irgendeine Kraft runter gehen?

von Max M. (Gast)


Lesenswert?

Teo D. schrieb:
> merkwürdige, unerklärliche Phänomene

Merkwürdig und unerklärlich wird es wenn man die Schaltung geprüft hat 
und das ist dem TO mangels Kenntniss und uns mangels aussagekräftiger 
Bilder nicht möglich.

Hat der TO erst lange genug darin herumgestochert und den Treiber mal so 
und mal so angeschlossen ist es auch nicht mehr merkwürdig und 
unerklärlich, sondern einfach nur kaputtgespielt.

Statt also den TO mit eher esotherischen Vermutungen vollens zu 
verwirren und in die Irre zu führen, sollte man dem mal endlich 
aussagekraftige Bilder abverlangen und sich wie ein Profi verhalten bei 
der Fehlersuche.

von Stefan F. (Gast)


Lesenswert?

Max M. schrieb:
>> Wie gesagt: Dupont kabel sind zur Stromversorgung ungeeignet

> Bei mir, bei sehr vielen anderen und der Motor selbst hat Dupont Kabel

Es ging mir um die Stromversorgung der Boards, nicht um die Zuleitung 
des Motors. Dem Motor wird Spannungsabfall ohne Last ziemlich wurscht 
sein, der Elektronik aber nicht.

Die Chancen stehen zudem recht hoch, dass die Anschlusskabel vom Motor 
hochwertiger sind, als meine schäbigen Dupont Kabel. Wie gut deine sind, 
weiß ich nicht.

von Teo D. (teoderix)


Lesenswert?

Max M. schrieb:
> Teo D. schrieb:
>> merkwürdige, unerklärliche Phänomene
>
> Merkwürdig und unerklärlich wird es wenn man die Schaltung geprüft hat
> und das ist dem TO mangels Kenntniss und uns mangels aussagekräftiger
> Bilder nicht möglich.

Was hat die scheinbare Unfähigkeit des TOs, mit meinem Beitrag zu tun?!

von Christian M. (christian_m280)


Lesenswert?

Johannes S. schrieb:
> Max M. schrieb:
>
>> WENN der TO denn mal die Verdrahtungsfehler beheben würde.
>
> es ist [..] kein Verdrahtungsfehler

Doch genau das ist es!

Gruss Chregu

von Johannes S. (Gast)


Lesenswert?

wenn an der Versorgung des Motors etwas Spannung abfällt, dann stört das 
Null. Zumindest solange der Motor nur unbelastet dasteht (siehe Video) 
und keine max. Drehzahl/Beschleunigung abverlangt wird.

Die Versorgung des Logikteils des Treiber ist seperat und erfolgt wie es 
aussieht über die +5V vom Uno, also auch ok. Da fließen keine 10 mA und 
selbst ein paar Ohm Widerstand im Kabel stören nicht.

Der Fault Ausgang vom IC liegt über 1,5 k an den +5V. Wenn das IC einen 
Fehler meldet, dann fließen da 3,3 mA, Testkondition im DB ist 5 mA. 
Wenn das den Fehler verursachen soll, dann lerne ich stricken.

Kabelbrüche sind etwas anderes, da hilft einfach mal ein anderes Kabel 
zu nehmen. Und der Elko über Krokoklememen weit weg ist auch nicht 
ideal, aber fraglich ob das den Fehler in der gezeigten Form verursachen 
kann.

Und warum hin- und herprobiert vorwerfen? In der Anwendungsbeschreibung 
von Pololu sind zwei Beschaltungen gezeigt, wobei die zweite nur 
andeutet was passiert wenn man das Modul in einer Schaltung einsetzt, 
die für einen A4988 konzipiert war. Für den Fall ist das Modul 
kompatibel entworfen worden, so einfach ist das.

Und ein Datenblatt vom Motor bräuchte ich nicht. Das sind 0815 Stepper 
für 3D Drucker und andere Anwendungen, die passen einfach. Ich habe mit 
desem Treiber verschiedene von NEMA11 bis 23 betrieben, die laufen 
einfach damit. Für die max. Performance müssen natürlich Strom und 
Spannung am Treiber optimiert werden, aber so Fehler wie im Video des TO 
bekommt man damit nicht hin.

von Stefan F. (Gast)


Lesenswert?

Johannes S. schrieb:
> Die Versorgung des Logikteils des Treiber ist seperat und erfolgt wie es
> aussieht über die +5V vom Uno, also auch ok. Da fließen keine 10 mA

Gutes Argument, das habe ich nicht berücksichtigt.

von Johannes S. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Gutes Argument, das habe ich nicht berücksichtigt.

Dann können wir ja doch wieder Freunde werden :)

von Max M. (Gast)


Lesenswert?

Johannes S. schrieb:
> In der Anwendungsbeschreibung
> von Pololu sind zwei Beschaltungen gezeigt

Hast Du mal versucht die Motorleitungen bis an die Anschlüsse des 
Treibers nachzuverfolgen und auch die anderen Leitungen vom Treiber bis 
zum Arduino?
DU magst ja davon ausgehen das der TO aufgebaut hat was das Schaltbild 
sagt.
ICH bezweifel das doch sehr.

von Johannes S. (Gast)


Lesenswert?

Motor: Es sind vier Anschlüsse, im verlinkten Artikel ist beschrieben 
wie man die Paare lokalisert. Was soll man da falsch machen? Man kann 
den Leuten auch mal etwas glauben. Und der Tipp, mal zwei Adern zu 
vertauschen, der kam ja auch schnell.
Dir/Step: würde sicher nicht das gezeigte Video erklären wenn die 
vertauscht sind.

Ja, ein besseres Bild wäre schöner.

von Marvin (Gast)


Angehängte Dateien:

Lesenswert?

habe mein SteckBrett und die Kabel getestet bei 12V 1A keine Probleme.
Bei 12V 2A erwärmen sich die Kabel nach ca. 30 sec.
Damit würde ich behaupten das mein Aufbau für den Test des Schrittmotors 
keine Probleme darstellen sollte zu dem der Schrittmotor weniger als 0,6 
Ampere zieht.

von Christian M. (christian_m280)


Lesenswert?

Marvin, sieht ja nicht mal soooo schlecht aus. Überprüfe aber bitte 
nochmals alle Verbindungen, besonders den GND, ob sie auch wirklich 
Kontakt haben! Und versuche mal mit einem anderen DRV. Und zeig mal die 
Software, ob die richtigen Pins verwendet wurden...

Gruss Chregu

von Teo D. (teoderix)


Lesenswert?

Christian M. schrieb:
> Überprüfe aber bitte
> nochmals alle Verbindungen, besonders den GND

Vor allem ob Digital_GND und Motor_GND, auch wirklich auf dem Modul 
verbunden sind.
Obwohl, ich hab mir mal das Video angeguckt. Also ich halte das für ein 
SW Problem, bzw. Ansteuerungsproblem.... PWM anstatt Seppimpulse oä.?-/

von Christian M. (christian_m280)


Lesenswert?

Teo D. schrieb:
> Seppimpulse

:-)

Teo D. schrieb:
> ich hab mir mal das Video angeguckt. Also ich halte das für ein SW
> Problem

Ja, warum bewegt der sich beim Initialisieren?

Gruss Chregu

von Marvin (Gast)


Lesenswert?

so habe mal beim Arduino am Pin 2 (Dir Pin) eine Spannung von nur 2,55 
Volt gemessen, sollte da nicht eine Spannung von 5 Volt liegen? Wenn ich 
einen Sketch wie den "Blink- Sketch" auf Pin 2 lege bekomme ich dort die 
5 Volt raus habe auch mal den UNO nicht am PC sondern an einem Netzteil 
angeschlossen aber gleiches Ergebniss bekomme dann auch nur 2,55 Volt 
mit dem AccelStepper Sketch
getestet mit zwei Arduino's

von Johannes S. (Gast)


Lesenswert?

Die beiden Ausgänge erstmal auf Output konfigurieren? Wie im Blinky 
Sketch?

Warum werden in Arduino Beispielen oft die Copy Konstruktoren verwendet? 
Das ist auch nicht immer gut.
im Axelstepper werden die Ausgänge eigentlich enabled, mit dem Copy 
Konstruktor evtl nicht mehr.
1
AccelStepper stepper(AccelStepper::DRIVER, stepPin, dirPin);

von Marvin (Gast)


Lesenswert?

auch versucht ändert auch nicht's.
wenn ich Pin 2+3 (Dir + Step) abziehe dürft der sich ja nicht drehen, 
aber er ruckelt dann nach links und rechts.
setze ich den StepPin (3) auf GND oder 5 Volt bleibt er stehen.

von Marvin (Gast)


Lesenswert?

dadurch das ich die Pins auf Output gesetzte habe im Sketch
1
pinMode (2, OUTPUT); 
2
pinMode (3, OUTPUT);
haben diese 5 Volt

von Hermann Kokoschka (Gast)


Lesenswert?

Marvin schrieb:
> wenn ich Pin 2+3 (Dir + Step) abziehe dürft der sich ja nicht drehen,
> aber er ruckelt dann nach links und rechts.
> setze ich den StepPin (3) auf GND oder 5 Volt bleibt er stehen.

Es WUNDERT DICH, dass Probleme entstehen wenn Signaleingänge in der Luft 
hängen? Echt?

JA, angeblich sind PullUp/downs auf dem DRV-Modul, in der Praxis habe 
ich zig-mal damit Probleme gehabt, das gilt auch für die Modus-Eingänge
Alle Eingänge gehören auf definierte Pegel.

Und diese Klamotte aus einem Deiner ersten Links (SLEEP an RESET) ist 
auch nicht erklärbar, EGAL WELCHER ARDUIDIOT das irgendwo publiziert 
hat!

SLEEP+RESET sollen (angeblich) interne Pulldowns haben, kannst Du bitte 
mal erklären, WOHER DIE BITTE durch pures Zusammenlegen dann die nötigen 
H-Pegel bekommen sollen? Erklärst Du das mal bitte!?

HÖRE AUF, blind irgendwelche Bilder von ARDU-IDIOTEN nachzustecken,
sondern lege erstmal alle Signale auf vernünftige Pegel.

von Johannes S. (Gast)


Lesenswert?

Hermann Kokoschka schrieb:
> Und diese Klamotte aus einem Deiner ersten Links (SLEEP an RESET) ist
> auch nicht erklärbar, EGAL WELCHER ARDUIDIOT

wer hat dich den mit der Brotkrume aus dem Urwald gelockt? Anstatt hier 
rumzuschreien und Leute zu beleidigen solltest du vielleicht erstmal 
Englisch und Schaltpläne lesen lernen, dann würdest du es vielleicht 
verstehen.

Nur noch anonyme Flachzangen hier, echt nicht mehr auszuhalten.

von Hermann Kokoschka (Gast)


Lesenswert?

Johannes S. schrieb:
> solltest du vielleicht erstmal
> Englisch und Schaltpläne lesen lernen, dann würdest du es vielleicht
> verstehen.

Offenbar verstehst DU es nicht richtig!
Und DU hast die angehängen Steckbilder HIER NICHT betrachtet,
wie kommst AUSERECHNET DU dann zu Kritik?

Beantworte einfach KONKRET die Fragen die ich stellte oder WIDERLEGE 
PLAUSIBEL meine Angaben, speziell zu dem "Sleep=Reset=in-der-Luft" Thema 
aus einem der Steck-/Schaltbilder. (Die DU ja bisher nicht gesehen hast)

von Johannes S. (Gast)


Lesenswert?

die hängen NICHT in der Luft. Lerne Englisch und Schaltbilder lesen. Ich 
erkläre es nicht nochmal. Und danach darfst du dich entschuldigen.

von Max M. (Gast)


Lesenswert?

Marvin schrieb:
> 2,55 Volt
DC mit dem Multimeter siehst Du die PWM nicht.
Mach dazu mal eine AC Messung, dann siehst Du das sich da was tut.

von Johannes S. (Gast)


Lesenswert?

ich habe es mal nachgebaut mit Teilen die ich habe, funktioniert:
https://youtu.be/ORaUkg5gfWc
und mit mehr Speed:
https://youtu.be/lsKjRJhcFeY

Verwendet habe ich einen Arduino Leonardo, Uno habe ich nicht, sollte 
aber keinen Unterschied machen. Treiber ist ebenfalls DRV8825, 12 V bzw. 
etwas mehr von Labornetzteil. Die Referenzspannung ebenfalls auf 0,7 V 
gestellt, damit komme ich aber auf etwa 0,36 A @ 13,7 V.

Den 100 µF Kondensator kann ich raus ziehen, macht keinen Unterschied. 
Der gehört natürlich eingebaut, aber ohne produziert das nicht den 
gezeigten Fehler. Auch nicht bei Speed=20000 und Versorgung über 
Breadboard Drähte.

Code ist cut&paste aus dem hier geposteten Beispiel.

ein grober Unterschied ist, das bei mir beim download der Stepper sofort 
stehen bleibt, nix zittern. Beim Betrieb zeigt mein Multimeter an Step 
ca. 0 V an, da kommen ja kurze Pulse und bei DC könnte da höchstens 
irgendein Integral angezeigt werden. An Dir kann man messen, da liegen 
eben je nach Richtung 0 oder VUSB, bei mir ca. 4,8 V an.
@Marvin: das scheint jetzt das Problem bei dir zu sein. Mit einem Test 
mit statischer Ausgabe scheinen ja richtige Pegel anzuliegen. Hast du 
eventuell einen falschen Bootloader auf dem Uno? An der Stelle ist mein 
Arduino Wissen auch am Ende, ich weiß nicht was man da falsch machen 
kann.

Ein einfacher Test wäre noch mal andere Pins für Step und Dir zu 
benutzen.

von Stefan F. (Gast)


Lesenswert?

Ich würde die Signale mit einem Oszilloskop oder Logic Analyzer 
kontrollieren.

von Johannes S. (Gast)


Angehängte Dateien:

Lesenswert?

wird Marvin wohl nicht haben, sonst hätte er es sicher schon gemacht. 
Und die low cost LA zeigen ja keine Pegel, helfen in so einem Fall auch 
nur bedingt. Aber ich würde es auch als Basisausrüstung sehen wenn man 
etwas mehr machen möchte.

Und für die Zweifler und die, die keine Schaltpläne lesen können:
es funktioniert auch in der A4988-Modul kompatiblen Beschaltung.

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


Lesenswert?

Das zeigt mal wieder, das diese Shields mit Minimalbeschaltung für 
Anfänger nicht zu gebrauchen sind. Ich würde den Elko bei dem Aufbau 
noch größer wählen (470µ) und zusätzlich einen 100nF THT Kerko direkt an 
die Anschlusspins vom Shield löten. Und wenn möglich die Spannung etwas 
erhöhen (15V), um mögliche Spannungsabfälle über den dünnen Leitungen zu 
kompensieren.

Der Motor wird schon richtig angeschlossen sein, sonst würde er 
überhaupt nicht richtig drehen. Bei 1/4 Schritt sollten da auch keine 
nennenswerten Resonanzen auftreten, die zum Stallen führen.

Mit freundlichen Grüßen
Thorsten Ostermann

von Schlaumaier (Gast)


Lesenswert?

Ich kann mich zwar irren, aber soweit ich das überblicken kann, ist DAS 
die Schaltung (mit Code) die der TO da nachbauen will.

https://arduino-projekte.info/schrittmotor-ansteuern-mit-arduino-a4988/

Sieht jedenfalls verdammt ähnlich aus ;)

von Johannes S. (Gast)


Lesenswert?

Du irrst dich, wie so oft. Der Link steht doch im ersten Post.

von Schlaumaier (Gast)


Lesenswert?

ok. übersehen.

von Jobst M. (jobstens-de)


Lesenswert?

Unterhalb von 8V schaltet der Treiber ab.
Spannung erhöhen und größerer Elko scheint das Mittel der Wahl
Bei dem Aufbau kann die Spannung unter den Stromspitzen darunter fallen.

Marvin schrieb:
> Der Motor zieht auch nie mehr als 0,550A laut des Netzteils

Die PWM-Endstufe arbeitet wie ein Stepp-Down-Wandler. Der Strom durch 
den Motor kann größer sein als der, der aus dem Netzteil kommt.

Gruß
Jobst

Beitrag #6944368 wurde vom Autor gelöscht.
von Joachim B. (jar)


Lesenswert?

Bernhard S. schrieb im Beitrag #6944368:
> Der Motortreiber ist nicht an 5V (Logic Power Supply), 2. Pin unten
> rechts, angeschlossen!

ohne das zu prüfen, DESWEGEN macht man IMMER einen Schaltplan und zieht 
von ANFANG bis ENDE JEDE gelegte Verbindung und nachgemessene Verbindung 
mit Null Ohm mit einem Textmarker nach. Man sieht sofort eine vergessene 
Verbindung und vergeudet nicht Stunden mit Fehlersuche!

: Bearbeitet durch User
von Marvin (Gast)


Lesenswert?

Danke euch allen für eure große Hilfe,
und an Johannes S. (jojos) für das nachbauen.
Hab es noch mit zwei Uno's, Node-MCU, und einen Mega versucht, mit 
anderen Pin's und auch mit 15 Volt.

Oszilloskop oder Logic Analyzer habe ich leider nicht, werde weiter 
schauen woran es liegen kann.

Johannes in deinem Video hast du am Dir Pin zwei Kabel angeschlossen 
wofür ist das?

von Johannes S. (Gast)


Lesenswert?

da war dann das Multimeter dran.
Läuft das bei dir trotzdem noch nicht? Also Controller gewechselt, 
Treiber gewechselt, verschiedene Spannungsversorgungen?
Sehr hartnäckiger Fall, vielleicht kann dir jemand in der Nähe helfen 
wenn du mal die grobe PLZ nennst.

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Marvin schrieb:
> Oszilloskop

die billigsten ausreichend gabs mal ab 10€? lange her

ebay dso138

genau schauen ob es nicht nur das Gehäuse ist!

heute ab 21,€

aber fertig aufgebaut für 40,-€ + Netzteil ist ja auch noch bezahlbar
https://www.ebay.de/itm/403164930803

PWM Beispielbild

: Bearbeitet durch User
von Christian M. (christian_m280)


Lesenswert?

Johannes S. schrieb:
> Also Controller gewechselt, Treiber gewechselt, verschiedene
> Spannungsversorgungen?

Wie es scheint nicht alles:

Marvin schrieb:
> Hab es noch mit zwei Uno's, Node-MCU, und einen Mega versucht, mit
> anderen Pin's und auch mit 15 Volt.

15V von wo? Anderes Netzteil? Und den Treiber mal wechseln! Und

Teo D. schrieb:
> Christian M. schrieb:
>
>> Überprüfe aber bitte
>> nochmals alle Verbindungen, besonders den GND
>
> Vor allem ob Digital_GND und Motor_GND, auch wirklich auf dem Modul
> verbunden sind.

!!! Warum wird das ignoriert?

Gruss Chregu

von Jobst M. (jobstens-de)


Angehängte Dateien:

Lesenswert?

Teo D. schrieb:
> Vor allem ob Digital_GND und Motor_GND, auch wirklich auf dem Modul
> verbunden sind.

Sind verbunden.
Durch Messung bestätigt.

Gruß
Jobst

von Johannes S. (Gast)


Lesenswert?

einen habe ich noch:
habe gerade mal die Leitung vom SM vertauscht, so das nicht die Paare 
passend zusammen sind. In dem Fall geht der Treiber sofort in den Fault 
Zustand (LED über R an Fault Ausgang und +5V) und der Motor steht still. 
Der Motor wird stromlos und der Treiber braucht einen Reset (Power 
Off/On).

Dann habe ich im Betrieb eine Motorleitung abgezogen:
in diesem Fall geht der Treiber auch meistens in den Fault Zustand, aber 
nicht immer. Teilweise macht der Motor genau die kraftlose Drehbewegung 
und das Zucken wie in Marvins Video. Ich konnte den Motor sogar mit drei 
Anschlüssen starten, er hat sich hin- und her gedreht, aber ohne Kraft.
D.h. der Fehler kann im Anschlusskabel des Motors liegen. Selbst wenn 
man beide Spulen niederohmig messen kann, könnte da eine schlechte 
Verbindung oder Kabelbruch sein die beim höheren Motorstrom aufgibt.

Nachtrag:
an den Motorleitungen etwas im Betrieb zu ändern kann den Treiber 
zerstören, steht auch im Pololu Artikel. Die TMC Treiber kann man damit 
zuverlässig sprengen, mein DRV hat es überlebt.

von Marvin (Gast)


Lesenswert?

komme aus 67227
habe 5 SM daran getestet bei allen das selbe Ergebnis.
Wenn ich eines der Kabel zum Motor trenne, auch noch am zittern und der 
Motor zieht nur noch < 0,3 Ampere, (wird ja auch nur noch eine Spule 
benutzt).

Habe mal die SM an meinem 3D-Drucker angeschlossen dort laufen sie 
Flüssig.

Momentan weis ich nicht was ich noch ausprobieren kann

von Johannes S. (Gast)


Lesenswert?

und auch das rot-grün-blau-schwarze Kabel getauscht?
Dann wurden auch schon alle Komponenten getauscht?
Ist die AccelStepper verbastelt, hast du die auch mal neu installiert?

von Frank H. (meiland)


Lesenswert?

Marvin schrieb:
> Momentan weis ich nicht was ich noch ausprobieren kann

Hallo Marvin,
ich hoffe Du hast die Ursache für das Problem Schrittmotor/DRV8825 
inzwischen gefunden ?
Ich vermute, ich habe ein vergleichbares Problem und kann den Fehler 
leider nicht finden. Mein NEMA17 hat 1 A, das Netzteil 24V. Habe auch 
alles gewechselt, mehrere DRV8825, Arduinos, Netzteil durch 
Labornetzteil ersetzt, Kabel geprüft, einen anderen Schrittmotor 
benutzt, mit und ohne Microstepping... Ich habe versucht alle 
Empfehlungen und Schritte in Deinem Thema nachzuvollziehen.
Das Ruckeln bleibt. Manchmal ruckelt er nur, manchmal macht er ein paar 
Schritte. Die Sketch-Befehle scheinen nicht anzukommen ? Irgendwo habe 
ich einen Fehler.
Ich weiß nicht, ob es Sinn macht ein neues Thema zu eröffnen ?

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.