Forum: Mikrocontroller und Digitale Elektronik Schrittmotorsteuerung - Sense Ausgänge


von Jörg T. (kallejoerg)


Lesenswert?

Hallo,

ich möchte ein Ventil über ein Schrittmotor stellen. Wenn das Ventil den 
Anschlag erreicht, soll der Schrittmotor stoppen. Ein Endlagenschalter 
oder Lichtschranke kann ich aus 2 Gründen nicht benutzen: 1. Platz & 2. 
Ventilstellwelle verschiebt sich axial nicht (Mehrfachumdrehung mgl.).

Ich wollte einen der unten stehenden Motorsteuerung nutzen, und wollte 
über die Sense-Ausgänge die Spannung über einen analogen Port (µC) 
messen (U~I). Ich dachte das der Strom mit steigenden Moment ansteigt 
und ich somit den Anschlag erkennen kann. Nach viel lesen ist das ja 
nicht so, oder?. Für was sind diese den wirklich nützlich? Gibt es 
irgendeine möglich mir den Sense-Ausgänge einen Anschlagposition zu 
ermitteln?

Für eine Stallguard2 Funktionalität von Trinamic gibt nicht nicht 
wirklich Kleingeld.

Würde mich um Erklärung der Sense-Funktionaltät freuen.

Viele Dank im Voraus.

Grüße
Jörg

Ps.: Ein Thread gab es zu diesen Thema. Leider werde ich nicht schlau 
bzw. konnte das mit dem TP nicht nachvollziehen.
Beitrag "Schrittmotor Anschlag erkennen"

Links:

http://www.exp-tech.de/Shields/Arduino-Motor-Shield-Rev3-759.html

http://www.exp-tech.de/Shields/DRV8825-Stepper-Motor-Driver-Carrier-High-Current.html


http://www.exp-tech.de/Shields/A4988-Stepper-Motor-Driver-Carrier-with-Voltage-Regulators.html

von Walter Tarpan (Gast)


Lesenswert?

Mach den Anschlag stabil genug und überfahr ihn einfach. Danach paßt Du 
Deinen Schrittzähler wieder an Deine Position (die Du ja kennst) an.

Das mache ich als Referenzfahrt für eine Achse ohne Endschalter so (da 
allerdings mit abgesenkten Haltestrom und schön langsam).

Viele Grüße
W.T.

von Jörg T. (kallejoerg)


Lesenswert?

Grundsätzlich denkbar aber das Rattern will ich vermeiden.

Danke

von m.n. (Gast)


Lesenswert?

Jörg Thomas schrieb:
> Grundsätzlich denkbar aber das Rattern will ich vermeiden.

Dann nimm viele Mikroschritte/Vollschritt und fahre zügig; dann rattert 
es nicht.

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


Lesenswert?

Irgendeinen Tod muss man sterben. Entweder es rattert, oder du hast 
einen Sensor, oder du verwendest eine sensorlose Lösung (Stall 
detection). Letztere kann man fertig kaufen oder diskret selbst 
aufbauen. Die Entwicklungskosten für eine stabil funktionierende 
Erkennung dürften aber den Preis von ein paar hundert Treiber-ICs 
deutlich übersteigen. ;)

Kleiner Tipp: Überlasterkennung (Stall detection) gibt's nicht nur von 
Trinamic. Wie gut das funktioniert hängt aber stark von der Anwendung 
ab. Um so konstanter die Randbedingungen (z.B. Motordrehzahl, 
Versorgungsspannung), um so besser.

Mit freundlichen Grüßen
Thorsten Ostermann

von MaWin (Gast)


Lesenswert?

Jörg Thomas schrieb:
> ich möchte ein Ventil über ein Schrittmotor stellen. Wenn das Ventil den
> Anschlag erreicht, soll der Schrittmotor stoppen.

Ein Schrittmotor ändert seine Stromaufnahme nicht wenn er gegen einen 
Anschlag fährt. Er ist also weitgehend ungeeignet für eine einfache 
Überlastungserkennung.

> Für eine Stallguard2 Funktionalität von Trinamic gibt nicht nicht
> wirklich Kleingeld.

Keine Arme, keine Kekse. Die treiben Aufwand, um halbwegs zuverlässig 
noch erkennen zu könne ob der Motor Schritte verliert. Du willst 
denAufwand nicht und bist nicht schlau genug es besser zu machen. Also 
entweder zahlen oder vergessen.

> Würde mich um Erklärung der Sense-Funktionaltät freuen.

Sie misst den Phasenstrom damit er per Stromchopper geregeöt werden 
knann. Das hat NICHTS mit der mechanischen Belastung des Motors zu tun. 
Beim Schrittmotor gilt: Der Strom stellt die Kraft ein. Kommt mehr 
mechanische Belastung, überspringt der Motor einfach Schritte.

> Ps.: Ein Thread gab es zu diesen Thema. Leider werde ich nicht schlau
> bzw. konnte das mit dem TP nicht nachvollziehen.
> Beitrag "Schrittmotor Anschlag erkennen"

Eine Möglichkeit: Ein Sensor, beispielsweise Hallensor oder optischer 
Encoder, erfasst, ob sich der Motor wirklich noch dreht oder schon an 
einem Anschlsag hängt.

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


Lesenswert?

Hallo MaWin,

> Ein Schrittmotor ändert seine Stromaufnahme nicht wenn er gegen einen
> Anschlag fährt. Er ist also weitgehend ungeeignet für eine einfache
> Überlastungserkennung.
>
>> Für eine Stallguard2 Funktionalität von Trinamic gibt nicht nicht
>> wirklich Kleingeld.
>
> Keine Arme, keine Kekse. Die treiben Aufwand, um halbwegs zuverlässig
> noch erkennen zu könne ob der Motor Schritte verliert.

Und das passiert über die Auswertung des Stroms in der gerade nicht 
aktiv bestromten Phase.

> Sie misst den Phasenstrom damit er per Stromchopper geregeöt werden
> knann. Das hat NICHTS mit der mechanischen Belastung des Motors zu tun.
> Beim Schrittmotor gilt: Der Strom stellt die Kraft ein. Kommt mehr
> mechanische Belastung, überspringt der Motor einfach Schritte.

Es gibt schon eine Abhängigkeit zwischen Strom und Lastmoment, aber die 
ist etwas komplexer als beim DC-Motor. Nicht umsonst kauft man die 
Auswertung lieber in einem fertigen IC. Das Rückrechnen auf den 
momentbildenden Anteil des Stroms ist nicht ohne. Und daher funktioniert 
das nicht umsonst nur unter stabilen Randbedingungen. Aber eben sehr 
wohl durch Messung des Stroms.

Mit freundlichen Grüßen
Thorsten Ostermann

von Jörg T. (kallejoerg)


Lesenswert?

Hallo,

vielen Dank für Eure Beiträge.
Mit Hilfe des Buches elektrische Kleinmotoren von Moczala habe ich 
einwenig Verständnis der Thematik bekommen und habe folgende Formel 
gefunden.

i= (U/R)*(1-e^(-t/T)) mit T Lw/Rw
Lw...Wicklungsinduktivität
Rw...Widerstand der Wicklung

Die höhe des Stromes ist somit nur von der Spannung & vom ohm. 
Widerstand abhängig. Eine mechanische Belastung nimmt Einfluß auf die 
Induktivität und somit auf den Verlauf der Fkt., jedoch nicht auf die 
höhe, siehe 
http://www.zaft.htw-dresden.de/Internetseite_AG_EM/Poster/Diplom_Goertz_01.pdf 
.

@Torsten

Wie kann ich dein Beitrag verstehen?
> Und das passiert über die Auswertung des Stroms in der gerade nicht
> aktiv bestromten Phase.

Entsteht dieser Strom durch Induktionspannung/ohmischen Widerstand?
Und wird er ausreichen um mit einem analog Pin dies am AVR zu messen?

Im Voraus nochmal Danke.

Beste Grüße
Jörg

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


Lesenswert?

Hallo Jörg,

danke für den Link. Die DA kannte ich noch nicht.

Zum Verständnis der Funktion der sensorlosen Überlasterkennung: Schau 
dir einfach mal die Datenblätter der gängigen Treiber an, als TMC262, 
AMIS30522, DRV8711 usw. [1].

Mit freundlichen Grüßen
Thorsten Ostermann

[1] 
http://www.schrittmotor-blog.de/ubersicht-uber-gangige-integrierte-schrittmotor-treiber/

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.