Forum: Mikrocontroller und Digitale Elektronik Schrittmotor macht Schritte bei Berührung


von Patrick T. (patrick192)


Angehängte Dateien:

Lesenswert?

Schönen Guten Abend,

Ich sitze zur Zeit an einem Projekt bei dem ich mit einem Schrittmotor 
über eine Kugelumlaufspindel einen Schlitten bewegen möchte. Die 
Ansteuerung über den Raspberry Pi mit kleinem User Interface und zwei 
Endschaltern funktioniert komplett.
Nun stehe ich aber noch vor einem hoffentlich kleinen Problem:
Sobald ich den Schrittmotor oder irgendein leitendes Teil des 
Linearsystems mit Metall berühre, macht der Schrittmotor unkontrolliert 
Schritte vor und zurück.Leitende Teile sind hier die Kugelumlaufspindel, 
die Führungsrollen, Schrauben und nicht lackierte Teile.
Wenn ich Linearführung mit dem Finger berühre und mit etwas metallischen 
die Spindel berühre macht der Motor keine Schritte. Dies funktioniert 
auch wenn ich lackierte Teile oder den Aluschlitten anfasse.
Bisher habe ich folgendes versucht:
1.Ein Kabel an eine leitende Stelle des Motors geschraubt und das andere 
Ende an die Erdung der Steckdose(ganz vorsichtig an einem vorher nicht 
eingesteckten Verlängerungskabel ;))
2. Masse von 5V und 12V verbunden
3. Das Kabel wie bei 1. um das Rohr eines Heizkörpers gewickelt.

Bedanke mich schon mal für jeglichen Denkanstoß, Schlagwörter oder im 
besten Fall sogar Lösungen!


PS: Hier der Link des Linearsytems
https://www.banggood.com/100mm-Long-Stage-Actuator-Linear-Stage-1204-Ball-Screw-Linear-Slide-Stroke-With-42mm-Stepper-Motor-p-1142419.html?rmmds=myorder&cur_warehouse=CN

von Irgendwer (Gast)


Lesenswert?

Bist du dir sicher das die fünf Pins an deine DRV-Bord offen bleiben 
dürfen und nicht eventuell nach GND sollten?

von MaWin (Gast)


Lesenswert?

Patrick T. schrieb:
> Bedanke mich schon mal für jeglichen Denkanstoß

Bei meinem blauen TB6560 Board musste Masse an die Treiber-ICs auf der 
Platine besser verdrahtet werden.

von Timo N. (tnn85)


Lesenswert?

Patrick T. schrieb:

> Die
> Ansteuerung über den Raspberry Pi mit kleinem User Interface und zwei
> Endschaltern funktioniert komplett.
Anscheinend nicht, wenn sie nicht störungsrobust ist.


> Bisher habe ich folgendes versucht:
> 1.Ein Kabel an eine leitende Stelle des Motors geschraubt und das andere
> Ende an die Erdung der Steckdose(ganz vorsichtig an einem vorher nicht
> eingesteckten Verlängerungskabel ;))
Das ist ja süß ;) Und was bringt das, wenn das Verlängerungskabel nicht 
eingesteckt ist? Außerdem warum überhaupt Verlängerungskabel? Der Weg 
zum PE (Erdung) sollte so kurz und niederohmig wie möglich sein. Bevor 
ich dir aber hier iregndwelche Tips gebe, mach mal Bilder vom Aufbau. 
Der Schaltplan sagt z.b. nichts darüber aus, wie der Raspi versorgt wird

> 2. Masse von 5V und 12V verbunden
Ok. Welches 5V und welches 12V? Die GNDs von der Schrittmotorversorgung 
und vom Raspi sollten sowieso niederohmig miteinander verbunden sein. 
Wie du das gemacht hast, spielt eine Rolle, nicht nur das du es gemacht 
hast.

> 3. Das Kabel wie bei 1. um das Rohr eines Heizkörpers gewickelt.
Lass das. Warum willst du eine Spule aus dem armen Heizkörper bauen?

Warum verwendest du überhaupt an Sleep und Reset 5V und nicht 3,3V. Die 
Logikpegel vom Raspi sind 3,3V und nicht 5V. Also übernehme das beim 
DRV8825.
Enable direkt mit GND verbinden.
Mit MS1, MS2, MS3 stellst du das Mikrostepping ein. Bei dir ist das 
offen. Why? Willst du wirklich Fullstep-Mode?

C1 ist eingezeichnet aber ohne Wert. Wie groß ist C1?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Patrick T. schrieb:
> Sobald ich den Schrittmotor oder irgendein leitendes Teil des
> Linearsystems mit Metall berühre, macht der Schrittmotor unkontrolliert
> Schritte vor und zurück.Leitende Teile sind hier die Kugelumlaufspindel,
> die Führungsrollen, Schrauben und nicht lackierte Teile.

Dann solltest du die Teile mal erden bzw. mit Masse verbinden. Ausserdem 
sollten Leitungen, auf denen höherer Strom fliesst, auch stärker 
ausgelegt werden. U.a. also die Versorgung des Treibers, die Leitungen 
zum Schrittmotor sowie alle Masseleitungen.

von Patrick T. (patrick192)


Lesenswert?

>Anscheinend nicht, wenn sie nicht störungsrobust ist.
Damit meine ich nur die Software die macht was sie soll, also ohne 
Schrittverlust von a nach b fahren.

Das Verlängerunskabel ist natürlich eingesteckt ;) daran hängt ein 
MicroUSB Netzteil bis 2,5A für den Raspberry und ein Schaltnetzteil auf 
12V einstellt.
Habe mir die 12V vom Netzteil und die 5V vom Rapsberry(Pin) auf ein 
Breadboard gelegt und von da aus den DRV versorgt. Zwischen Masse 12v 
und 5v auf dem Breadboard habe ich ein Jumperkabel. C1 sind 47mF.

Ich hatte den DRV am Anfang an 3,3V angeschlossen bis ich gelesen habe 
das auch 5V in Verbindung mit dem Pi ok sind. Die 3,3V Pins(nicht GPIO) 
können ja anscheinend nicht viel Strom liefern.. Dachte mir ich schone 
den Pi damti.
Bis jetzt hat es mit 5V auch gut funktioniert. Habe Enable mal mit an 
Ground angeschlossen, leider kein Unterschied.
Ja momentan noch Fullstep. Für Microstepping muss ich ja nur die 
jeweiligen Pins auf High setzen. Das entscheide ich wenn das hier gelöst 
ist :)

von Timo N. (tnn85)


Lesenswert?

Patrick T. schrieb:
>>Anscheinend nicht, wenn sie nicht störungsrobust ist.
> Damit meine ich nur die Software die macht was sie soll, also ohne
> Schrittverlust von a nach b fahren.
Schrittverluste kommen wahrscheinlicher durch die Elektrik und weniger 
durch die Software, da ich annehme, du übernimmst die Software 
irgendwoher aus bekannten Quellen. Bei Software kopieren kann man 
weniger falsch machen.

> Das Verlängerunskabel ist natürlich eingesteckt ;) daran hängt ein
> MicroUSB Netzteil bis 2,5A für den Raspberry und ein Schaltnetzteil auf
> 12V einstellt.
Was für ein Schaltnetzteil? Galvanische Trennung zwischen den Ausgängen 
und PE?

> Habe mir die 12V vom Netzteil und die 5V vom Rapsberry(Pin) auf ein
> Breadboard gelegt und von da aus den DRV versorgt. Zwischen Masse 12v
> und 5v auf dem Breadboard habe ich ein Jumperkabel. C1 sind 47mF.

Jumperkabel sind immer scheiße bei sowas. Versuch die Kabel so kurz wie 
möglich zu halten. Ich hab aber geschaut: VMot GND und Logik-GND sind 
auf dem Pololu-Carrier miteinander verbunden. Frage: 47mF? Du meinst 
47µF? Wie weit weg von den Eingängen V_Mot und GND vom Pololu-Carrier 
ist der Kondensator?

> Ich hatte den DRV am Anfang an 3,3V angeschlossen bis ich gelesen habe
> das auch 5V in Verbindung mit dem Pi ok sind. Die 3,3V Pins(nicht GPIO)
> können ja anscheinend nicht viel Strom liefern.. Dachte mir ich schone
> den Pi damit.
Der DRV8825 hat eine interne Spannungsreferenz. Der braucht gar keine 
Versorgung. Sleep und Reset ziehen keinen großen Strom, da es nur 
Eingänge sind.

Im Moment kann ich dir nicht sagen, warum dein Motor zuckt, wenn du die 
Linearführung berührst. Kann ja nur eine elektrostatische Entladung 
sein.
Mit der Erdung der Linearführung sollte das aber eigentlich über deine 
Verbindung mit der Erde (PE-Kontakt) abfließen.

Worauf du sonst noch achten solltest:
1) Verbindung (STEP/DIR) zwischen Pi und DRV8825 so kurz wie möglich zu 
halten, damit dir da nichts auf die Leitung einstrahlt.
2) GND von Pi, DRV und den Netzteilen nur an einer Stelle vornehmen 
(Star-GND)

von Patrick T. (patrick192)


Lesenswert?

> Schrittverluste kommen wahrscheinlicher durch die Elektrik
Bei meinem letzten Projekt habe ich die RPi.GPIO Bibliothek genutzt und 
mit time.sleep die den Step Pin geschaltet. Ab einer gewissen Drehzahl 
gab es da Schrittverlust. Nutze jetzt Pigpio und generiere damit eine 
PWM. Diesmal habe ich alles selbst geschrieben, aber ich weiß was du 
meinst.

> Was für ein Schaltnetzteil?
https://www.amazon.de/gp/product/B002RVEEQQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
Das mit dem Schaltnetzteil nehme ich zurück. Laut Definition ist dieses 
schonmal keins..

> Frage: 47mF?  Du meinst 47µF?
Ja ich meine 47 Microfarad nicht Milli.
Habe den Kondensator auf dem Breadboard direkt neben dem DRV stecken, 
also 2,54mm?!

Du hast mich auf eine gute Idee gebracht:
Habe mal die Kabel von Step und Dir entfernt und nur Ground, Reset und 
Sleep angeschlossen. Das reicht schon das der Motor die Position hält, 
also "an" ist. Jetzt macht der Motor keine Schritte mehr egal wo ich die 
Spindel mit etwas metallischem berühre.

> damit dir da nichts auf die Leitung einstrahlt
Das scheint es auch zu sein.
Gibt es da noch schlaue Tricks die dem ganzen entgegen wirken, falls das 
mit so kurz wie möglichen Kabeln noch nicht reicht? Kann es leider erst 
morgen testen.

Auf jeden Fall schon mal Danke für das Feedback!

von Timo N. (tnn85)


Lesenswert?

Patrick T. schrieb:
>> Was für ein Schaltnetzteil?
> 
https://www.amazon.de/gp/product/B002RVEEQQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
> Das mit dem Schaltnetzteil nehme ich zurück. Laut Definition ist dieses
> schonmal keins..

Sieht aber nach einem aus. Ist ja kein Gebrauchtes und damit ist es zu 
99% ein Schaltnetzteil. An dem Eurostecker sieht man aber schon mal, 
dass keine Verbindung zu PE hat.

> Ja ich meine 47 Microfarad nicht Milli.
> Habe den Kondensator auf dem Breadboard direkt neben dem DRV stecken,
> also 2,54mm?!

Nicht gut. 47 Microfarad mit wahrscheinlich massiven parasitären 
Serienwiderstand. Nimm 100µF. Merke bei Kondensatoren: Zu viel kann auch 
scheiße sein.

> Das scheint es auch zu sein.
> Gibt es da noch schlaue Tricks die dem ganzen entgegen wirken, falls das
> mit so kurz wie möglichen Kabeln noch nicht reicht? Kann es leider erst
> morgen testen.

Leitungen zwischen Raspi und DRV8825 so kurz wie möglich halten.
Dann schauen wir mal weiter.

von Irgendwer (Gast)


Lesenswert?

Patrick T. schrieb:
> Habe mal die Kabel von Step und Dir entfernt und nur Ground, Reset und
> Sleep angeschlossen. Das reicht schon das der Motor die Position hält,
> also "an" ist. Jetzt macht der Motor keine Schritte mehr egal wo ich die
> Spindel mit etwas metallischem berühre.

Mal blöd gefragt, du benutzt die beiden Ausgänge an RPi schon als 
push/pull und macht hier nicht irgendwelche oc Spielchenb bei denen die 
Eingänge dann ohne pullup/-down Widerstände eventuell in der Luft 
hängen?

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


Lesenswert?

Hallo Timo,

Timo N. schrieb:
> Patrick T. schrieb:
>> Ja ich meine 47 Microfarad nicht Milli.
>> Habe den Kondensator auf dem Breadboard direkt neben dem DRV stecken,
>> also 2,54mm?!
>
> Nicht gut. 47 Microfarad mit wahrscheinlich massiven parasitären
> Serienwiderstand. Nimm 100µF. Merke bei Kondensatoren: Zu viel kann auch
> scheiße sein.

Bevor du hier mit pseudoklugen Ratschlägen um dich wirfst solltest du 
erstmal ein wenig Nachdenken. 47 Microfarad = 47µF < 100µF. Abgesehen 
davon ist der Serienwiderstand ist nur von untergeordneter Bedeutung. 
Wenn der Treiber vernünftig designt ist, sind ohnehin mindestens 1*100nF 
parallel zur Versorgung geschaltet. Bei den Polulu-Boards würde ich da 
aber nicht drauf wetten.

Mit freundlichen Grüßen
Thorsten Ostermann

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


Lesenswert?

Hallo Timo,

Timo N. schrieb:
> Patrick T. schrieb:
>>>Anscheinend nicht, wenn sie nicht störungsrobust ist.
>> Damit meine ich nur die Software die macht was sie soll, also ohne
>> Schrittverlust von a nach b fahren.
> Schrittverluste kommen wahrscheinlicher durch die Elektrik und weniger
> durch die Software, da ich annehme, du übernimmst die Software
> irgendwoher aus bekannten Quellen. Bei Software kopieren kann man
> weniger falsch machen.

Wir reden hier nicht von "Schrittverlusten", damit meint man 
normalerweise Positionsfehler durch Überlastung/Ausrasten des Motors. 
Hier geht es um ein EMV-Problem. Das sind im Zweifelsfall eher zuviele 
Schritte, nicht zu wenig.

Mit freundlichen Grüßen
Thorsten Ostermann

von Servo (Gast)


Lesenswert?

Thorsten O. schrieb:
> Bevor du hier mit pseudoklugen Ratschlägen um dich wirfst solltest du
> erstmal ein wenig Nachdenken. 47 Microfarad = 47µF < 100µF. Abgesehen
> davon ist der Serienwiderstand ist nur von

Hi,

also ich konnte aus dem Kontext schließen, dass hier ein Tippfehler 
vorliegt. Das kann man auch höflich und sachlich korrigieren und nicht 
gleich mit der großen Keule hauen. Oder hast du das ernsthaft nicht 
erkannt?

Vielleicht sollte man eine Funktion hier im Forum einführen, dass 
Beiträge, nachdem sie getippt wurden, erst mal dem Autor 5 Minuten lang 
gezeigt werden. Dann ist das erste Adrenalin wieder weg und 50% der 
geplanten Beiträge würden dann vermutlich wieder gelöscht werden und uns 
hier nicht auf den Wecker gehen.

Servo

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


Lesenswert?

Da gab es keinen Tippfehler. Patrik hatte ja bereits klargestellt, was 
er meint. Trotzdem musste Timo oberschlau daherher reden. Seine anderen 
Beiträge zum Thema sind ja von ähnlicher Qualität: "Im Moment kann ich 
dir nicht sagen, warum dein Motor zuckt,..." ...rate aber mal fleißig 
mit. ;)

Und danke für den Hinweis, aber ich denke in der Regel nach, bevor ich 
etwas poste. Insbesondere wenn ich jemandem Hilfestellung bei einem 
Problem gebe.

Mit freundlichen Grüßen
Thorsten Ostermann

: Bearbeitet durch User
von Timo N. (tnn85)


Lesenswert?

Thorsten O. schrieb:
> Bevor du hier mit pseudoklugen Ratschlägen um dich wirfst solltest du
> erstmal ein wenig Nachdenken.

Ich hab mich da verlesen bzw an dem TO vorbeigeschrieben. Ich dachte er 
meinte er hat 47 Millifarad. Das kommt daher dass ich an "µF" gedacht 
habe und er "Micro" geschrieben hat und ich dann bei "Micro" an "Milli" 
dachte.
Schwer verständlich, aber ich hab hab mich zu später Stunde einfach 
vertan.
Es macht natürlich gar keinen Sinn, dass ein 47µF Kondensator auf jeden 
Fall einen höheren ESR haben sollte als ein 100µF.

Muss das gleich als "pseudoklug" bezeichnet werden?
Wenn du den Pololu-Dingern keinen 100nF Kerko an der Versorgung 
zutraust, dann braucht er eben einen Kondensator mit niedrigem ESR an 
der Versorgung. Dann habe ich doch mit dem was ich eigentlich ausdrücken 
wollte Recht.
"Merke bei Kondensatoren: Zu viel kann auch scheiße sein."
Jedoch: 100nF reichen meiner Meinung nach als Energiequelle mit 
niedriger Impedanz nicht aus. Deswegen braucht man eben noch den 
100µF/47µF Elko neben dem Treiber, der schnell entsprechend der 
Stromregelung vom Treiber den nötigen Strom in ausreichender Menge 
nachliefern kann.

Thorsten O. schrieb:
> Wir reden hier nicht von "Schrittverlusten", damit meint man
> normalerweise Positionsfehler durch Überlastung/Ausrasten des Motors.
> Hier geht es um ein EMV-Problem. Das sind im Zweifelsfall eher zuviele
> Schritte, nicht zu wenig.

Das meinte ich auch salopp mit "Elektrik" (also z.b. Überlastung des 
Schrittmotors aufgrund von Gegenmoment). Der TO, nicht ich, sprach 
anfangs von "Software ohne Schrittverluste". Mir ist nicht bekannt, dass 
Ansteuerungsprobleme , die aus der Software resultieren, als 
Schrittverluste bezeichnet werden. Das wollte ich eigentlich damit 
ausdrücken. Insofern denke ich, dass wir hier die gleiche Definition von 
Schrittverlusten haben.
Eventuell achte ich das nächste mal darauf mich da verständlicher 
auszudrücken. Das habe ich bei meiner Antwort oben leider nicht gemacht.

Die ganze EMV-Thematik habe ich nicht mit Schrittverlusten in Verbindung 
bringen wollen.

Thorsten O. schrieb:
> Das sind im Zweifelsfall eher zuviele
> Schritte, nicht zu wenig.

Mit der Aussage wäre ich dann aber auch vorsichtig. Wie sich EMV gerade 
bei einer galvanisch komplett entkoppelten Schaltung äußert ist sicher 
nicht sicher. Es kann auch ein STEP einfach "ausgebügelt" und nicht 
erkannt werden werden.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Timo N. schrieb:
> Es macht natürlich gar keinen Sinn, dass ein 47µF Kondensator auf jeden
> Fall einen höheren ESR haben sollte als ein 100µF.

ESR ist an dieser Stelle auch völlig unerheblich. Der Elko dient als 
Reservoir und soll die Spitzenströme des Steppertreiber liefern. Das ist 
insbesondere dann wichtig, wenn die Speisung entfernt vom Treiber ist 
und über unzureichend dimensionierte (zu dünne) Leitungen passiert.
Der Elko sollte nahe am Treiber sein. Hier sind übrigens auch 470µF oder 
1000µF kein Fehler, vorausgesetzt, das Netzteil kommt mit kapazitiven 
Lasten klar. Bei Schaltnetzteilen legt man besser die Leitungen stark 
aus und verlässt sich auf die schnelle Regelung des NT.

von GEKU (Gast)


Lesenswert?

Zappelt der Schrittmotor auch wenn man den unbeschalteten Enable-Eingang 
berührt?
Normalerweise sollte dieser Eingang vom Rasperry gesteuert werden. 
Floatende Eingänge sind Antennen und niemals gut.

von Timo N. (tnn85)


Lesenswert?

Matthias S. schrieb:
> Timo N. schrieb:
>> Es macht natürlich gar keinen Sinn, dass ein 47µF Kondensator auf jeden
>> Fall einen höheren ESR haben sollte als ein 100µF.
>
> ESR ist an dieser Stelle auch völlig unerheblich. Der Elko dient als
> Reservoir und soll die Spitzenströme des Steppertreiber liefern.

Das kann der Elko eben mit niedrigem ESR/ESL besser als mit hohem ESR.
Natürlich ist es für den Gesamtwiderstand (ESR + Leitungswiderstand bis 
zum Treiber) auch besser, wenn der Elko näher beim Treiber sitzt.
Würde da jetzt nicht von "unerheblich" sprechen.

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


Lesenswert?

Hallo Timo,

Timo N. schrieb:
> Thorsten O. schrieb:
>> Bevor du hier mit pseudoklugen Ratschlägen um dich wirfst solltest du
>> erstmal ein wenig Nachdenken.
>
> Ich hab mich da verlesen bzw an dem TO vorbeigeschrieben. Ich dachte er
> meinte er hat 47 Millifarad. Das kommt daher dass ich an "µF" gedacht
> habe und er "Micro" geschrieben hat und ich dann bei "Micro" an "Milli"
> dachte.
> Schwer verständlich, aber ich hab hab mich zu später Stunde einfach
> vertan.
> Es macht natürlich gar keinen Sinn, dass ein 47µF Kondensator auf jeden
> Fall einen höheren ESR haben sollte als ein 100µF.
>
> Muss das gleich als "pseudoklug" bezeichnet werden?

Ok, geschenkt. ;)

> Wenn du den Pololu-Dingern keinen 100nF Kerko an der Versorgung
> zutraust, dann braucht er eben einen Kondensator mit niedrigem ESR an
> der Versorgung. Dann habe ich doch mit dem was ich eigentlich ausdrücken
> wollte Recht.
> "Merke bei Kondensatoren: Zu viel kann auch scheiße sein."
> Jedoch: 100nF reichen meiner Meinung nach als Energiequelle mit
> niedriger Impedanz nicht aus. Deswegen braucht man eben noch den
> 100µF/47µF Elko neben dem Treiber, der schnell entsprechend der
> Stromregelung vom Treiber den nötigen Strom in ausreichender Menge
> nachliefern kann.

Das 100nF für eine H-Brücke alleine nicht ausreichen, da sind wir uns 
absolut einig. Zu kleine oder komplett fehlende Elkos bemängele ich bei 
den diversen Motorshields immer wieder. Spannend (im wahrsten Sinne des 
Wortes) wird dass dann, wenn man hohe Verzögerungen mit großen Massen 
realiseren will. Dann geben die Dinger aufgrund der kurzzeitig stark 
ansteigenden Versorgungspannung nämlich sehr schnell Rauchzeichen von 
sich.

Mit freundlichen Grüßen
Thorsten Ostermann

von Timo N. (tnn85)


Lesenswert?

Thorsten O. schrieb:
> Ok, geschenkt. ;)
;)

> Das 100nF für eine H-Brücke alleine nicht ausreichen, da sind wir uns
> absolut einig. Zu kleine oder komplett fehlende Elkos bemängele ich bei
> den diversen Motorshields immer wieder. Spannend (im wahrsten Sinne des
> Wortes) wird dass dann, wenn man hohe Verzögerungen mit großen Massen
> realiseren will. Dann geben die Dinger aufgrund der kurzzeitig stark
> ansteigenden Versorgungspannung nämlich sehr schnell Rauchzeichen von
> sich.


Ich hatte von den Dingern leider noch keine Originalen in den Händen, 
sondern nur die China-Klone. Kann es sein, dass deine Erfahrungsberichte 
von Personen aus dem Hobby-Bereich stammen die eventuell auch nur die 
Klone verwendet haben? Das würde mich interessieren.

Von der Qualität der gefälschten Treiber auf die Qualität der 
Original-Treiber zu schließen wäre natürlich nicht fair.
Aufgrund des sehr geringen Preises für die fertig gelöteten 
DRV8825-Treiberplatinen (<1$ inkl Versand bei AliExpress) ging ich davon 
aus, dass diese eventuell mit gefälschten Treiber-ICs (also nicht mit 
originalen ICs von TI) bestückt wurden, da der Stückpreis der original 
ICs (Abnahme 1000 Stück @ Mouser) schon allein weit jenseits von 1$ 
liegt (ich meine so bei 2.50$+).

Auch habe ich festgestellt, dass der eingestellte Phasenstrom über den 
Poti überhaupt nicht dem entspricht, den man in den Leitungen messen 
kann (selbst wenn man beachtet, dass der Strom in den Motorleitungen der 
RMS-Strom ist und der eingestellte am Poti der maximale Phasenstrom). 
Das könnte aber auch an falschen Shuntwiderständen (zu geringe Leistung) 
liegen, die auf den China-Modulen verbaut werden. Ich kam dabei meist 
nicht über 1,0 A_rms (1,4 A_peak) hinaus, obwohl 2,2 A_preak möglich 
sein sollten.

von Patrick T. (patrick192)


Lesenswert?

GEKU schrieb:
> Zappelt der Schrittmotor auch wenn man den unbeschalteten Enable-Eingang
> berührt?

Jap auch dann zappelt er. Wenn ich den Enable Pin mit Ground 
verbinde,was ja eigentlich nicht nötig ist, auch. Wenn ich den Pin auf 
HIGH setze ist das Board "deaktiviert".
Der Motor fängt auch schon an zu drehen wenn ich die Fingerspitze auf 
den STEP Pin lege und auch wenn ich nur den Direction Pin berühre.
Habe mal alle Jumperkabel entfernt und alles neu aufgebaut. Als Kabel 
nutze ich jetzt Litzen aus einem Cat7 Kabel, aber ohne die Schirmung 
etc.
Das Kabel vom GPIO zu dem STEP Pin ist ca 20mm lang. Alle anderen Kabel 
habe ich auch so kurz wie möglich gehalten. Leider immernoch das selbe 
Problem..

Bei eurer Diskussion über den Kondensator kann ich leider Null mitreden. 
Habe mich an den Richtwert von Pololu gehalten.

Timo N. schrieb:
> Von der Qualität der gefälschten Treiber auf die Qualität der
> Original-Treiber zu schließen wäre natürlich nicht fair.

Bei meinen handelt es sich anscheinend um einen Nachbau. Auf jeden Fall 
habe ich nicht das TI Logo auf dem Chip stehen. Ich bestelle mir mal 
einen Originalen von Pololu, hoffe mal die Chinesen fälschen nicht auch 
den TI Aufdruck :D

Irgendwer schrieb:
> Mal blöd gefragt, du benutzt die beiden Ausgänge an RPi schon als
> push/pull und macht hier nicht irgendwelche oc Spielchenb bei denen die
> Eingänge dann ohne pullup/-down Widerstände eventuell in der Luft
> hängen?

Wie meinst du das genau? Meinst du die pull up/down widerstände vom 
Raspi? Wenn ja die kann ich nur bei Eingängen schalten nicht aber bei 
Ausgängen.
Der Eingang wäre hier der DRV8825.

Eventuell sehr blöde Frage:
Gibt es eine Möglichkeit oder macht das überhaupt Sinn wenn ich etwas 
zwischen GPIO und STEP Pin schalte was erst ab einer gewissen Spannung 
Strom fließen lässt? Dachte da erstmal an einen einfachen Widerstand. 
Laut diversen Rapsberry Foren Einträgen aber keine gute Lösung zwischen 
GPIO und
Signaleingang.

von Timo N. (tnn85)


Lesenswert?

Patrick T. schrieb:
> Jap auch dann zappelt er. Wenn ich den Enable Pin mit Ground
> verbinde,was ja eigentlich nicht nötig ist, auch. Wenn ich den Pin auf
> HIGH setze ist das Board "deaktiviert".
Warum soll das "nicht nötig" sein. Nur weil es in bestimmten 
Betriebsmodi zufällig funktioniert, heißt nicht, dass es unbeschaltet 
bleiben soll. Enable gehört an GND, damit der Treiber sicher AN bliebt. 
D

> Der Motor fängt auch schon an zu drehen wenn ich die Fingerspitze auf
> den STEP Pin lege und auch wenn ich nur den Direction Pin berühre.
> Habe mal alle Jumperkabel entfernt und alles neu aufgebaut. Als Kabel
> nutze ich jetzt Litzen aus einem Cat7 Kabel, aber ohne die Schirmung
> etc.
> Das Kabel vom GPIO zu dem STEP Pin ist ca 20mm lang. Alle anderen Kabel
> habe ich auch so kurz wie möglich gehalten. Leider immernoch das selbe
> Problem..
Hört sich dann eher nach galvanischer Kopplung (EMV) an, weil du durch 
Berührung deine in deinem Körper gesammelte elektrostatische Ladung auf 
die Schaltung bringst. Irgendwo muss das dann aus der Schaltung nach 
Erde abfließen, erzeugt aber an dem STEP-Eingang einen ausreichen hohen 
Spannungspuls um einen Schritt zu erkennen.

> Bei eurer Diskussion über den Kondensator kann ich leider Null mitreden.
> Habe mich an den Richtwert von Pololu gehalten.
Hier wird im Diagramm aber 100µF empfohlen. Spielt aber für dein Problem 
keine Rolle:
https://www.pololu.com/product/2133

> Bei meinen handelt es sich anscheinend um einen Nachbau. Auf jeden Fall
> habe ich nicht das TI Logo auf dem Chip stehen. Ich bestelle mir mal
> einen Originalen von Pololu, hoffe mal die Chinesen fälschen nicht auch
> den TI Aufdruck :D

Hatte außer den beschrieben Problemen für meine Anwedung keine Probleme 
mit den Gefälschten. Kommt aber auf die Anwendung an. Hier gibts 
Orignale aus Deutschland (offizielle Distributoren):
https://eckstein-shop.de/Pololu-DRV8825-Stepper-Motortreiber-Carrier-High-Current
https://www.exp-tech.de/module/motorsteuerung/schrittmotoren/4802/drv8825-stepper-motor-driver-carrier-high-current


> Wie meinst du das genau? Meinst du die pull up/down widerstände vom
> Raspi? Wenn ja die kann ich nur bei Eingängen schalten nicht aber bei
> Ausgängen.
> Der Eingang wäre hier der DRV8825.

Er meint die Ausgangsbeschaltung des SoCs des RaspberryPi. Nicht 
Pullup/Pulldown (es geht nicht um Widerstände), sondern um 
Push-Pull-Ausgangstreiberstufen und Open Collector-Ausgänge ("oc")
https://www.mikrocontroller.net/articles/Ausgangsstufen_Logik-ICs

Keine Ahnung was der RaspberryPi bietet, weil es leider keine 
vollständigen Datenblätter zu dem verbauten Broadcom-Chip auf dem RPi 
gibt.
Hier steht auch noch was speziell für den Pi:
https://www.iot-programmer.com/index.php/books/22-raspberry-pi-and-the-iot-in-c/chapters-raspberry-pi-and-the-iot-in-c/35-raspberry-pi-iot-in-c-introduction-to-the-gpio?start=2
Hier wird von Push-Pull-Ausgang gesprochen. Die internen Pullup und 
Pulldown-Widerstände können intern zugeschaltet werden.

Da der STEP-Eingang des DRV8825 intern einen Pulldown hat, ist der 
Push-Pull-Modus schon richtig. Der DRV8825 macht ja einen Schritt, wenn 
am STEP-Eingang eine steifende Flanke erkannt wird. Ob jetzt noch ein 
externer Pulldown an der STEP-Leitungen was bringt... Ich glaub es fast 
nicht. Probieren kann man es. Ich glaube in deiner Umgebung ist eher 
EMV-technisch was ganz krumm.

> Eventuell sehr blöde Frage:
> Gibt es eine Möglichkeit oder macht das überhaupt Sinn wenn ich etwas
> zwischen GPIO und STEP Pin schalte was erst ab einer gewissen Spannung
> Strom fließen lässt? Dachte da erstmal an einen einfachen Widerstand.
> Laut diversen Rapsberry Foren Einträgen aber keine gute Lösung zwischen
> GPIO und
> Signaleingang.

Nein. Die Spannung, die über dein Berühren des Aufbaus abfällt, ist 
vermutlich viel größer, als die 3,3V mit der der Pi den STEP-Eingang des 
DRV8825 schaltet.

Wenn du den Schutzkontakt (PE) an der Steckdose anfässt(und festhältst) 
und dann mit der anderen Hand die Schaltung berührst, dürfte eigentlich 
nichts passieren. Ist das so? Achtung: Ich gehe davon aus, du weißt was 
ich meine.
https://de.wikipedia.org/wiki/Schutzkontakt

von Patrick T. (patrick192)


Lesenswert?

Timo N. schrieb:
> Warum soll das "nicht nötig" sein. Nur weil es in bestimmten
> Betriebsmodi zufällig funktioniert, heißt nicht, dass es unbeschaltet
> bleiben soll. Enable gehört an GND, damit der Treiber sicher AN bliebt.

Auszug von Pololu: The default state of the ENBL pin is to enable the 
driver, so this pin can be left disconnected.
Habe Enable mit GND verbunden. Kein Unterschied zu vorher aber ich lasse 
es mal so.

Timo N. schrieb:
> Hier wird im Diagramm aber 100µF empfohlen. Spielt aber für dein Problem
> keine Rolle:

Ja genau und unten drunter ist angegeben mindestens 47µF. So einen hatte 
ich durch Zufall noch hier..

Timo N. schrieb:
> Hatte außer den beschrieben Problemen für meine Anwedung keine Probleme
> mit den Gefälschten. Kommt aber auf die Anwendung an.

Was passiert denn bei dir wenn du z.B. die Schrauben hinten am 
Schrittmotor oder die Welle mit etwas leitendem berührst? Mit SLEEP und 
RESET auf HIGH und den Step Pin an einer Signalquelle wie einem GPIO. 
Ich hoffe ja mal nichts für dich ;)

Timo N. schrieb:
> Wenn du den Schutzkontakt (PE) an der Steckdose anfässt(und festhältst)
> und dann mit der anderen Hand die Schaltung berührst, dürfte eigentlich
> nichts passieren. Ist das so? Achtung: Ich gehe davon aus, du weißt was
> ich meine.

Ja schon klar, nicht in die zwei Löcher in der Mitte greifen. Trotzdem 
Danke für den Tipp.
Leider kein Unterschied. Der Motor zuckt trotzdem.

Timo N. schrieb:
> Ich glaube in deiner Umgebung ist eher
> EMV-technisch was ganz krumm.

Ich gehe morgen mal mit dem ganzen Zeug in den Keller oder auf den 
Dachboden da sind außer ein paar Lampen keine Geräte.

von Timo N. (tnn85)


Lesenswert?

Patrick T. schrieb:
> Auszug von Pololu: The default state of the ENBL pin is to enable the
> driver, so this pin can be left disconnected.
> Habe Enable mit GND verbunden. Kein Unterschied zu vorher aber ich lasse
> es mal so.
Enable hat im Chip anscheinend auch einen Pulldown. Besser ist es aber 
trotzdem den mit GND zu verbinden, da der mit 100k relativ hoch ist. 
Eine Fehlerquelle weniger.

> Was passiert denn bei dir wenn du z.B. die Schrauben hinten am
> Schrittmotor oder die Welle mit etwas leitendem berührst? Mit SLEEP und
> RESET auf HIGH und den Step Pin an einer Signalquelle wie einem GPIO.
> Ich hoffe ja mal nichts für dich ;)

Nichts, ich hab den DRV8825 ja auf einer Platine und keine 
Breadboard-Schaltung. Außerdem verwende ich den Arduino und nicht den 
Raspi.
Trotzdem sollte es daran nicht liegen.

> Leider kein Unterschied. Der Motor zuckt trotzdem.
Hm... Vlt mal Schaltung fotografieren und hier reinstellen.

> Ich gehe morgen mal mit dem ganzen Zeug in den Keller oder auf den
> Dachboden da sind außer ein paar Lampen keine Geräte.

Versuch auch mal einen 10k - 100k Widerstand als externen Pulldown vom 
STEP Signal nach GND. Eventuell hilft das.

: Bearbeitet durch User
von Miramare (Gast)


Lesenswert?

Patrick T. schrieb:
> Habe mal alle Jumperkabel entfernt und alles neu aufgebaut. Als Kabel
> nutze ich jetzt Litzen aus einem Cat7 Kabel, aber ohne die Schirmung
> etc.

Daß viele der billigen Jumperkabel Mist sind, ist ja bekannt. Aber ob 
Litzen aus einem Cat7 Kabel für deine Anwendung besser sind, das stelle 
ich mal in Frage. Die sind normalerweise AWG27 = 0,1qmm, und wenn du 
Pech hast auch nur aus verkupfertem Aluminium. D.h. für Versorgung und 
GND Verbindungen nicht geeignet. Wenn du nichts Besseres hast, dann nimm 
wenigstens mehrere davon parallel.

von Patrick T. (patrick192)


Angehängte Dateien:

Lesenswert?

Hallo,
sorry das so lange nix kam, hatte nicht wirklich Zeit weiter zu machen.

Mittlerweile kam der Original Pololu DRV8825 an den @Timo N. (tnn85)
verlinkt hatte. Anscheinend lag es an den Nachbau Treibern.
Ich habe wie im Bild zu sehen alles so verkabelt wie ich es am Anfang 
hatte, also mit Jumperkabel auf dem Breadboard. Hätte das nicht 
funktioniert wäre mein nächster Schritt die dickeren Kabel gewesen. 
Wollte es aber einfach nochmal testen.
Mit den nachgebauten Chips habe ich wie gehabt das beschriebene Problem.
Mit dem Original Treiber funktioniert alles wie es soll. Kann also egal 
mit was den Motor berühren und er macht auch keine Schritte.
Ich habe noch zwei weitere Nachbau Treiber die machen das selbe Problem.
Das Ergebnis ist also, zumindest bei mir, reproduzierbar.
Ob dies bei allen Nachbauten der Fall ist wage ich mal zu bezweifeln, da 
ja ansonsten niemand über dieses Problem berichtet hat. Ich werde auf 
jeden Fall bei dem Original bleiben. Das hätte mir von Anfang an sehr 
viel Ärger erspart.
Vielen Dank an alle die mir hier Tipps gegeben haben und mit diskutiert 
haben. Ein paar Sachen werde ich für meinen finalen Aufbau auch so 
übernehmen sobald ich das ganze auf eine Platine löte.

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.