Forum: Mechanik, Gehäuse, Werkzeug Drehmomentmessung von Schrittmotor im Betreib


von Florian M. (flo_m92)


Lesenswert?

Hallo zusammen,

ich habe ein Problem bei der Bestimmung eines Schrittmotors während des 
Betriebes. Ich habe eine Vorstellung wie ich dieses Problem lösen kann, 
bräuchte aber eine kleine Hilfestellung, ob sich das alles so umsetzen 
lässt.

Aber zunächst, was will ich eigentlich machen.

Im Prinzip will ich eine Art Punktionsprüfstand aufbauen. Eine Spitze 
bzw. Nadel soll mit einer Spindel auf einer Linearachse in eine Probe 
eingestochen werden. Dabei wird die Nadel noch um Ihre eigene Achse 
gedreht. Beide sollen mit je einem Schrittmotor angetrieben werden.

Der Vorschub der Lineareinheit beträgt ca. 50mm, wobei die Nadel sich 
auf den letzen 10mm um 360° um die eigene Achse drehen soll

Anschließend soll die Lineareinheit die 50mm zurückfahren, ohne das die 
Nadel sich dreht. (Prinzip Korkenzieher)
(Quasi 40mm Verfahrweg + 10mm Eindringtiefe in eine Probe inkl. 360° 
Rotation; danach bei Kontakt von Endtaster zurückfahren um 50mm)

Umgesetzt wird das ganze vorraussichtlich mit einem Nema 17, einem 
Pololu A4988 und einem Arduino; von welcher Marke genau der Schrittmotor 
wird bin ich mir noch nicht ganz schlüssig, ist hierfür aber erstmal 
nicht sonderlich relevant. Die Programmierung der Einheit sollte ich 
hinbekommen, sehe da keine Problematik bei der Ansteuerung.

Jetzt meine Problematik:

Da mich Interessiert, welche Probe der Nadel am besten Stand hält, würde 
ich gerne von beiden Schrittmotoren während des Vorgangs die 
auftretenden Drehmomente messen.

Hierzu würde ich den Strom messen, welcher durch den Motor aufgenommen 
wird, um das Drehmoment zu erzeugen. Ist dies in diesem Fall überhaupt 
möglich? Bzw. gibt es andere Möglichkeiten das Drehmoment zu ermitteln, 
OHNE die Rotation zu behindern?

Ein DC-Motor bietet sich bei meiner Anwendung leider nicht an, da ich 
die relativ "exakte" Positionierung und Drehung durch den Schrittmotor 
benötige.

An eine fertige Messeinheit hatte ich bereits schon gedacht, sprengt 
aber den Kostenrahmen.

Die Drehmomentmessung der Lineareinheit(Spindel) könnte ich durch 
Dehnungsmessstreifen umgehen; die Rotation gestaltet sich da 
schwierig...

Vielen Dank im Voraus für das Feedback!

Beste Grüße,

FM

von Harald W. (wilhelms)


Lesenswert?

Florian M. schrieb:

> Da mich Interessiert, welche Probe der Nadel am besten Stand hält, würde
> ich gerne von beiden Schrittmotoren während des Vorgangs die
> auftretenden Drehmomente messen.
>
> Hierzu würde ich den Strom messen, welcher durch den Motor aufgenommen
> wird, um das Drehmoment zu erzeugen. Ist dies in diesem Fall überhaupt
> möglich?

Theoretisch geht das schon, Du musst allerdings mit recht grossen
Meßfehlern rechnen. Besser wäre eine direkte Druckmessung mit
einer Druckmeßdose o.ä.

von Max M. (jens2001)


Lesenswert?

Florian M. schrieb:
> Die Drehmomentmessung der Lineareinheit(Spindel) könnte ich durch
> Dehnungsmessstreifen umgehen;

Schön!

Florian M. schrieb:
> ie Rotation gestaltet sich da
> schwierig...

Warum?

von Olaf (Gast)


Lesenswert?

> Ein DC-Motor bietet sich bei meiner Anwendung leider nicht an, da ich
> die relativ "exakte" Positionierung und Drehung durch den Schrittmotor
> benötige.

Es ist kein Problem einen DC-Motor exakt zu positionieren. Es ist nur 
aufwendiger wie ein Schrittmotor.

Olaf

von Werner (Gast)


Lesenswert?

Du kannst den Motor auch "schwimmend" aufhängen, und dann misst Du die 
Kraft an der Aufhängung.

Aktion = Reaktion, BINGO.

Schon hast Du über die Konstruktion der Aufhängung und die Kraft den 
Drehmoment des Motors, ohne Ströme zu messen.

Wener

von Nanu (Gast)


Lesenswert?

Wieso Schrittmotoren? Normalerweise nimmt man für so etwas BLDC 
Servomotoren.

Mit Schrittmotoren kannst du gar nicht exakt positionieren. Ausserdem 
bekommst du unkontrollierbare Schwingungen.

Die Mikroschritte ergeben keine gleichmässige Bewegung. Die ersten 
Schritte bewirken kaum etwas. Und wenn du kurz vorm nächsten Rastpunkt 
bist, springt der Motor an den Rastpunkt, nicht an den 
Mikroschrittwinkel.

von MaWin (Gast)


Lesenswert?

Florian M. schrieb:
> Hierzu würde ich den Strom messen, welcher durch den Motor aufgenommen
> wird, um das Drehmoment zu erzeugen

Du hast leider gar nicht verstanden, wie ein Schrittmotor funktioniert.

Der wird vom A4988  mit Konstantstrom durch Stromregelung angesteuert, 
da ändert sich mit der Belastung nichts. Wenn der Strom nicht reichte, 
rutscht er eben durch (verlieft Schritte).

Nimm entweder einen DC Gleichstrommotor der aber auch nur eine grobe 
Erfassung erlaubt, oder eine Drehmomenterfassung an der Welle, durch 
Dehnungsmessstreifen, oder an der Befestigung, durch Biegebalken.

von Florian M. (flo_m92)


Lesenswert?

Olaf schrieb:
>> Ein DC-Motor bietet sich bei meiner Anwendung leider nicht an, da ich
>> die relativ "exakte" Positionierung und Drehung durch den Schrittmotor
>> benötige.
>
> Es ist kein Problem einen DC-Motor exakt zu positionieren. Es ist nur
> aufwendiger wie ein Schrittmotor.
>
> Olaf

Hättest du da einen Tip, wie ich die Positionierung ähnlich genau 
bekomme bei einem DC-Motor?

@ Harald:

Ja, über eine Druckmessdose könnte ich mir auch die Vorschubkraft 
herholen.

@Max:

Ich glaube ich habe das mit der rotierenden Nadel falsch ausgedrückt. 
Ich brauche das Drehmoment des Zweiten Motors, weil an der Nadel ja ein 
Torsionsmoment beim Eindringen in den Körper auftritt, und dieses will 
ich quasi messen!

@ Werner:

ich bin mir noch nicht ganz sicher ob eine Schwimmende Lagerung möglich 
ist in meinem Aufbau, ich werd's aber mal näher untersuchen, danke für 
den Tip!

von Florian M. (flo_m92)


Lesenswert?

MaWin schrieb:
> Florian M. schrieb:
>> Hierzu würde ich den Strom messen, welcher durch den Motor aufgenommen
>> wird, um das Drehmoment zu erzeugen
>
> Du hast leider gar nicht verstanden, wie ein Schrittmotor funktioniert.
>
> Der wird vom A4988  mit Konstantstrom durch Stromregelung angesteuert,
> da ändert sich mit der Belastung nichts. Wenn der Strom nicht reichte,
> rutscht er eben durch (verlieft Schritte).
>
> Nimm entweder einen DC Gleichstrommotor der aber auch nur eine grobe
> Erfassung erlaubt, oder eine Drehmomenterfassung an der Welle, durch
> Dehnungsmessstreifen, oder an der Befestigung, durch Biegebalken.

Achja klar, total verpennt das der ja durchrutscht . . . sorry!

dann werd ich nen DC Motor nehmen, wahrscheinlich ne schwimmende 
Lagerung mit Biegebalken für die Drehmmomentmessung oder ich messe die 
Stromaufnahme von dem DC-Motor!

Muss ich mir nur noch Gedanken um die Positionierung machen, sollte ich 
aber irgendwie hinbekommen!

denke meine Frage ist geklärt! Danke an alles und die schnellen 
Antworten! =)

edit: wenns fertig ist poste ich natürlich wie ich es umgesetzt habe!

: Bearbeitet durch User
von Clemens S. (zoggl)


Lesenswert?

Wie groß ist die probe?
Du könntest auch diese auf einen Drehmoment Sensor kleben.

Oder du drehst die Probe und schiebst diese richtung nadel mit sensor.
Das alles vereinfacht die mechanik

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


Lesenswert?

Hallo MaWin,

> MaWin schrieb:
> Florian M. schrieb:
>> Hierzu würde ich den Strom messen, welcher durch den Motor aufgenommen
>> wird, um das Drehmoment zu erzeugen
>
> Du hast leider gar nicht verstanden, wie ein Schrittmotor funktioniert.
>
> Der wird vom A4988  mit Konstantstrom durch Stromregelung angesteuert,
> da ändert sich mit der Belastung nichts. Wenn der Strom nicht reichte,
> rutscht er eben durch (verlieft Schritte).

Du aber offenbar auch nicht. Die Leistungsbilanz muss ausgeglichen sein. 
Wenn der Motor bei Belastung also mehr mechanische Leistung abgibt, muss 
er auch mehr elektrische Leistung aufnehmen. Dann kann man schön sehen, 
wenn man den Strom vom Netzteil zum Schrittmotor-Treiber beobachtet 
(z.B. am Labornetzteil) und die Last variiert.

Was da passiert versteht man am Besten, wenn man sich den Stromverlauf 
am Shunt mit dem Scope ansieht. Unter Last steigt die Einschaltzeit des 
Choppers. Dadurch bleibt zwar der Strom konstant, die Spannung steigt 
aber an. Die zusätzliche Spannung fällt dann aber nicht als ohmscher 
Verlust in der Wicklung ab, sondern wird in mechanische Leistung 
umgewandelt.

Daraus eine Drehmoment-Messung zu machen dürfte allerdings ziemlich 
aufwendig und ungenau werden.

Mit freundlichen Grüßen
Thorsten Ostermann

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Thorsten O. schrieb:
>> Der wird vom A4988  mit Konstantstrom durch Stromregelung angesteuert,
>> da ändert sich mit der Belastung nichts. Wenn der Strom nicht reichte,
>> rutscht er eben durch (verlieft Schritte).
>
> Du aber offenbar auch nicht. Die Leistungsbilanz muss ausgeglichen sein.
> Wenn der Motor bei Belastung also mehr mechanische Leistung abgibt, muss
> er auch mehr elektrische Leistung aufnehmen.

Elektrische Leistung = Strom * Spanung.

Der Strom bleibt aber wegen der stromregelnden Endstufe konstant.

Thorsten O. schrieb:
> Was da passiert versteht man am Besten, wenn man sich den Stromverlauf
> am Shunt mit dem Scope ansieht. Unter Last steigt die Einschaltzeit des
> Choppers. Dadurch bleibt zwar der Strom konstant, die Spannung steigt
> aber an.

Eben. Der Strom bleibt konstant, die Spannung an den Wicklungen steigt 
wegen der Gegen-EMK.

Thorsten O. schrieb:
> Daraus eine Drehmoment-Messung zu machen dürfte allerdings ziemlich
> aufwendig und ungenau werden.

Siehe Trinamic.

von Florian M. (flo_m92)


Lesenswert?

Also ich werde es wohl so umsetzen:

Motor linearachse so wie ich es beschrieben habe.

Motor Rotation wird wohl doch ein schrittmotor bleiben, schwimmend 
gelagert.

Beide Kräfte (Linear und Torsion) werde ich über DMS-Streifen mit 
Wheatstone-Brücke auslesen und die Werte auf LCD ausgeben (Soll am Ende 
"Standalone" werden).

Frage zu dem Ganzen:

Kann ich das alles noch mit einem Arduino ansteuern? Also 2x Voltmeter 
funktion + 2x Motortreiber ansteuern +  2x LCD Einheit ansteuern? Oder 
bekomme ich da Probleme?
Hätte sonst gedacht 2 Mikros für die Jeweiligen DMS-Auswertung inkl. LCD 
und einen Uno für die Motoransteuerung?

Oder bin ich da komplett auf dem Holzweg? Leider bisher wenig Erfahrung 
mit sowas . . .

Danke schonmal! Auch für die bisherigen Vorschläge!

von Henrik V. (henrik_v)


Lesenswert?

Zum ersten Post bzw Anregung von Clemens:
Wenn es um eine Materialprüfung geht, warum nicht das Drehmoment an der 
Probe aufzeichnen?
Bzw an irgendeiner Stelle wo das Drehmoment vom Motor zur Probe gemäß 
Aktio=Reaktio anliegt?

von Harald W. (wilhelms)


Lesenswert?

Florian M. schrieb:

> Beide Kräfte (Linear und Torsion) werde ich über DMS-Streifen mit
> Wheatstone-Brücke auslesen und die Werte auf LCD ausgeben (Soll am Ende
> "Standalone" werden).

Das es Dir im Endeffekt ja um die Messung einer linearen Kraft
geht, solltest Du auf jeden Fall eine Kalibriermessung mit einer
linearen Kraftmessdose machen. Vielleicht stellst Du schon dabei
fest, das Deine Meßmethode nur Hausnummern ergibt. Auf jeden Fall
kannst Du davon ausgehen, das der Faktor "echte" Kraft zu Deiner
Anzeige nicht konstant ist, sondern sich u.a durch temperaturän-
derungen und Verschleiß verändert.

von Florian M. (flo_m92)


Lesenswert?

Henrik V. schrieb:
> Zum ersten Post bzw Anregung von Clemens:
> Wenn es um eine Materialprüfung geht, warum nicht das Drehmoment an der
> Probe aufzeichnen?
> Bzw an irgendeiner Stelle wo das Drehmoment vom Motor zur Probe gemäß
> Aktio=Reaktio anliegt?

An der Probe zu messen ist mir in dem Fall leider nicht möglich, da das 
Stück zu klein ist.

Per aktio=Reaktio zu messen ist mein plan mit der Schwimmenden Lagerung 
der Motors, hierbei sollte sich das gleiche Drehmoment einstellen auf 
den Motor, wie es benötigt, in die Probe einzudringen. Dies kann ich 
messen mittels DMS denke ich.

Eine Messung mittels Druckmessdose ist mir in dem Fall nicht möglich.

@ Harald W.

den Einfluss von Temperatur und Verschleiß sollte ich minimieren können, 
da der aufbau in einer Konstanten Temperierten umgebung ohne 
nennenswerte Schwankungen betrieben wird (Reinraum) Verschleiß ist bei 
der anvisierten Laufzeit ebenfalls kein Störfaktor (das System wird 
eventuell 100-1000 Zyklen realisieren müssen, mehr nicht) und mit einem 
gescheiten Schaltungsaufbau, sollten auch meine Messwerte vergleichbar 
sein. Im Prinzip mache ich ja nur eine normale Biegebalkenmessung 
mittels DMS, Darüber lässt sich dann für mich wieder auf das Drehmoment 
zurückschließen rechnerisch.

Problematisch ist für mich gerade nur abzuschätzen, ob ein einzelner 
Arduino noch diese ganzen Aufgaben bewerkstelligen kann?

von Harald W. (wilhelms)


Lesenswert?

Florian M. schrieb:

> An der Probe zu messen ist mir in dem Fall leider nicht möglich, da das
> Stück zu klein ist.

Es gibt auch kleine Druckmesser bis in den Piconewtonbereich.
Auch solltest Du diese Druckmessung ja auch nicht im Betrieb
machen, sondern nur ab und zu zur Kalibrierung.

> Per aktio=Reaktio zu messen ist mein plan mit der Schwimmenden Lagerung
> der Motors, hierbei sollte sich das gleiche Drehmoment einstellen auf
> den Motor, wie es benötigt, in die Probe einzudringen. Dies kann ich
> messen mittels DMS denke ich.

Denke ich nicht. Welchen Newtonbereich mit welcher Genauigkeit willst
Du überhaupt messen?

> Problematisch ist für mich gerade nur abzuschätzen, ob ein einzelner
> Arduino noch diese ganzen Aufgaben bewerkstelligen kann?

Du siehst die Probleme an der falschen Stelle. Zuerst muss das analoge
Frontend stimmen. Dann kann man sich um die Datenverarbeitung kümmern.
Wobei der Arduino eher ein Spielzeugcomputer ist

von Martin (Gast)


Lesenswert?

@Florian: Du schreibst von DMS. Was Du brauchst, ist ein DMS, aufgeklebt 
auf ein Feder/Lagerungselement. Das gibt es fertig und heisst Wägezelle 
oder Kraftmessdose. Ausserdem brauchst Du eine Signalkonditionierung und 
einen ADC.
Das alles gibt es kompletto vom Chinesen für wenig Geld. Das 
https://www.play-zone.ch/de/digitale-waage-mit-hx711-adc-bis-5kg-kit.html 
ist ein Beispiel, die Suche auf Ali überlasse ich Dir. HX711 heisst das 
Stichwort für die Auswertung, dafür gibts auch eine fertige 
Arduino-Library.

https://learn.sparkfun.com/tutorials/load-cell-amplifier-hx711-breakout-hookup-guide/all 
- hier gibt es alles zusammen, sogar mit Tutorials...

von Florian M. (flo_m92)


Lesenswert?

Harald W. schrieb:
> Florian M. schrieb:
>
>> An der Probe zu messen ist mir in dem Fall leider nicht möglich, da das
>> Stück zu klein ist.
>
> Es gibt auch kleine Druckmesser bis in den Piconewtonbereich.
> Auch solltest Du diese Druckmessung ja auch nicht im Betrieb
> machen, sondern nur ab und zu zur Kalibrierung.
>
Achso, sorry, Ja das ergibt natürlich Sinn!

>> Per aktio=Reaktio zu messen ist mein plan mit der Schwimmenden Lagerung
>> der Motors, hierbei sollte sich das gleiche Drehmoment einstellen auf
>> den Motor, wie es benötigt, in die Probe einzudringen. Dies kann ich
>> messen mittels DMS denke ich.
>
> Denke ich nicht. Welchen Newtonbereich mit welcher Genauigkeit willst
> Du überhaupt messen?

Wir vermuten, dass sich das Drehmoment im Bereich von 10 Ncm - 50 Ncm 
bewegen wird. Ich kann also meine Hebelarme so auslegen, dass ich ene 
"relativ" große Kraft messen würde. Die Genauigkeit reicht mir völlig im 
bereich von 5-10%.

Dazu ist vielleicht noch zu erwähnen: Die Messspannung aus der 
Wheatstone-bridge würde ich natürlich mit einem Instrumentenverstärker 
verstärken, und wahrscheinlich noch vorm Arduino durch nen Tiefpass 
filtern. So sollten äußere Einflusse und Schwingkreise vermieden sein, 
die Signalstärke des Ausgangssignals aber für den Arduino ausreichen. So 
zumindest der plan
>
>> Problematisch ist für mich gerade nur abzuschätzen, ob ein einzelner
>> Arduino noch diese ganzen Aufgaben bewerkstelligen kann?
>
> Du siehst die Probleme an der falschen Stelle. Zuerst muss das analoge
> Frontend stimmen. Dann kann man sich um die Datenverarbeitung kümmern.
> Wobei der Arduino eher ein Spielzeugcomputer ist

Da hast du wahrscheinlich recht. Bei Frontend fehlt mir schlicht die 
Erfahrung.
Es muss nicht unbedingt ein Arduino sein, allerdings habe ich bisher 
keine Erfahrung mit dem Programmieren anderer microcontroller. Da bin 
ich natürlich für Tips dankbar, falls euch MC's einfallen, welche für 
solche Anwendungen geeigneter wären!

von Florian M. (flo_m92)


Lesenswert?

Martin schrieb:
> @Florian: Du schreibst von DMS. Was Du brauchst, ist ein DMS, aufgeklebt
> auf ein Feder/Lagerungselement. Das gibt es fertig und heisst Wägezelle
> oder Kraftmessdose. Ausserdem brauchst Du eine Signalkonditionierung und
> einen ADC.
> Das alles gibt es kompletto vom Chinesen für wenig Geld. Das
> https://www.play-zone.ch/de/digitale-waage-mit-hx711-adc-bis-5kg-kit.html
> ist ein Beispiel, die Suche auf Ali überlasse ich Dir. HX711 heisst das
> Stichwort für die Auswertung, dafür gibts auch eine fertige
> Arduino-Library.
>
> 
https://learn.sparkfun.com/tutorials/load-cell-amplifier-hx711-breakout-hookup-guide/all
> - hier gibt es alles zusammen, sogar mit Tutorials...

Danke, werde ich mir direkt mal einverleiben!

: Bearbeitet durch User
von Henrik V. (henrik_v)


Lesenswert?

Florian M. schrieb:
> An der Probe zu messen ist mir in dem Fall leider nicht möglich, da das
> Stück zu klein ist.

Egal welche Größe die Probe hat, am Probenhalter bzw eine beliebigen 
Stelle zwischen Motor und Probe, incl. der Motorhalterung :)

von Clemens S. (zoggl)


Lesenswert?

Florian M. schrieb:
> An der Probe zu messen ist mir in dem Fall leider nicht möglich, da das
> Stück zu klein ist.

du siehst das Problem falsch.

alle diese Aufbauten sind äquivalent:
Die Nadel dreht sich und wird in die Probe gesenkt
Die Nadel wird gesenkt und die Probe dreht sich
Die Nadel steht fest und die Probe wird gehoben und gedreht.

und da die Kräft überall gleich groß sind kannst du auch messen wo du 
willst:

Drehmoment an der stehenden Nadel messen (sehr einfach da alles ruhig 
steht)
Drehmoment an der drehenden und senkbaren Nadel messen (maximaler 
Aufwand, da die Messsignale über eine drehende Verbindung übertragen 
werden müssen. (Reaktivlagerung bei Schrittmotoren ist schlecht, da 
diese durch deren Rastmoment nicht unerheblich zittern und zudem die 
große Masse des Motors gut gelagert werden muss)

jetzt such dir eine einfache Kombination aus und setze sie um.

sg

von herbert (Gast)


Lesenswert?

Messaufbau machen die den Motor in der notwendigen Lage fixiert. 
Linear-Schrittmotoren lässt man dann über die Spindel bzw Linearwagen 
gegen eine Digitale Waage drücken.Normale Haushalts-Waagen gehen bis 
5Kg. Bei einer rotierenden Achse lässt man eine dünne Schnur aufwickeln 
welche über eine Umlenkrolle mit Gewichten oder einer Federwaage 
belastet ist. Die Genauigkeit sollte für deine Aufgabenstellung reichen.

von Wolfgang (Gast)


Lesenswert?

Florian M. schrieb:
> Da mich Interessiert, welche Probe der Nadel am besten Stand hält, würde
> ich gerne von beiden Schrittmotoren während des Vorgangs die
> auftretenden Drehmomente messen.
>
> Hierzu würde ich den Strom messen, welcher durch den Motor aufgenommen
> wird, um das Drehmoment zu erzeugen.

Bei einem Schrittmotor hängt der Strom nicht vom Drehmoment ab.

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.