Forum: Mikrocontroller und Digitale Elektronik Welcher Servomotor+Treiber für LabView?


von Der H. (picasso323)


Lesenswert?

Hallo liebe Servomotor-Sepzis,
in einem Projekt wollen wir einen Servo-Motor verwenden (2-4Nm 
Drehmoment, ~2000rpm, Stillstandsdrehmoment 0,8Nm). Nun habe ich schon 
alles mögliche mit LabView programmiert, bisher aber noch keine 
Servomotoren.

Daher wollte ich euch mal um Tips bitten, welche nicht zu komplexe 
Plattform in Frage käme.

Aktuell verwenden wir NI CDAQ Karten, für Erweiterungen nehme ich gerne 
WAGO 750 Modbuskoppler + passende Klemmen. Ich hatte auch schon mal mit 
Linearmotoren mit eingebauten Treiber gespielt, diese wurden damals über 
RS485 angesprochen.

Gerade die Vielfalt, die es bei Servos zu geben scheint, verwirrt mich. 
Am Liebsten hätte ich den Servo+Treiber (nennt man das so?) und würde 
dem Gelöt über RS232 oder RS485 Parameter senden. Was würdet ihr 
empfehlen?
Diese Dinger liefern eine Positionsinformation, richtig?

Vielen Dank schon mal für eure Beschäftigung mit meinem Gelump...in 
Zeiten von Dingsdagpt
: Bearbeitet durch User
von Lukas (lwhite)


Lesenswert?

Ich würde mich an eurer Stelle damit befassen, wer die Achse wirklich 
regeln soll. Antun würde ich mir LabView, direkt als Regler würde ich 
mir nämlich nicht wirklich antun, besteht doch der Servo de facto aus 
dem Motor und dem Drive und letzterer sollte sich intern um die Strom-, 
Drehzahl- und Lageregelung kümmern.

In dem Fall würde ich mir denke ich ein Drive mit sauber dokumentiertem 
Modbus RTU/TCP am ehesten anbieten. Es ist zwar in puncto 
High-End-Motion nicht wirklich schön, aber damit lassen sich am ehesten 
Register schreiben bzw. lesen und die Statusmaschine verstehen. Nicht 
mehr mit seriellen Kommandos würde ich bei synchronen Bewegungen, 
Bahnkurven oder harter Echtzeit herumtun, stattdessen würde ich zu einer 
Motion-Plattform/EtherCAT-Schiene greifen!

Meines Wissens landet die Positionsinformation normalerweise zuerst in 
den Drive, nachdem sie aus dem Encoder am Motor gekommen ist. Vom 
Protokoll und den freigegebenen Registern hängt ab, ob du sie in LabView 
sinnvoll bekommst. Mit anderen Worten würde ich dir ans Herz legen, dass 
du vor dem Kauf unbedingt das Handbuch liest. Dort solltest du, sofern 
du es noch nicht getan hast, unbedingt evaluieren, ob es einen 
Positioniermodus, Homing, Istposition, Fehlerbits, Enable/Ready sauber 
als Register oder Objekte gibt.
von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Wenn du uns verrätst, wofür du den Servo einsetzen willst, kann man dir 
vielleicht auch sinnvolle Empfehlungen geben. Was ist die Anwendung? 
Welche Genauigkeiten (Positions- bzw. Drehzahlfehler) sind zulässig? 
Gibt es Umweltbedingungen (Staub, Öl, Salzwasser, extreme Temperaturen) 
die beachtet werden müssen?

Mit freundlichen Grüßen
Thorsten Ostermann
von Der H. (picasso323)


Lesenswert?

Lukas schrieb:
> Ich würde mich an eurer Stelle damit befassen, wer die Achse wirklich
> regeln soll. Antun würde ich mir LabView, direkt als Regler würde ich
> mir nämlich nicht wirklich antun.
>
> In dem Fall würde ich mir denke ich ein Drive mit sauber dokumentiertem
> Modbus RTU/TCP am ehesten anbieten.
Wenn irgend möglich möchte ich das Rad so ungerne wie möglich selber neu 
erfinden. Wir wollen das Ding im Positions- und Kraftmodus betreiben 
(Soll-Position, soll-Kraft in N)
Lukas schrieb:
> Mit anderen Worten würde ich dir ans Herz legen, dass
> du vor dem Kauf unbedingt das Handbuch liest. Dort solltest du, sofern
> du es noch nicht getan hast, unbedingt evaluieren, ob es einen
> Positioniermodus, Homing, Istposition, Fehlerbits, Enable/Ready sauber
> als Register oder Objekte gibt.
Auf jeden Fall!


Thorsten O. schrieb:
> Wenn du uns verrätst, wofür du den Servo einsetzen willst, kann man dir
> vielleicht auch sinnvolle Empfehlungen geben. Was ist die Anwendung?
Gerne.

Es geht dabei um einen Handkraftaktuator mit dem wir Fahrrad-Bremshebel 
mit einer bestimmten Kraft (in Newton) betätigen wollen. Der Servo 
treibt eine Kugelgewindespindel an, die den Fahrrad-Bremshebel zieht. 
Dazwischen steckt ein S-Kraftaufnehmer der die ist-Kraft ermittelt.
Positionsfehler < 0,1mm
Drehzahlfehler sind zulässig.
von Lukas (lwhite)


Lesenswert?

Wenn ich das richtig im Radar habe, stammt ja die Kraft in deinem Aufbau 
vom S-Force-Sensor. Und das wiederum führt dazu, dass einige Faktoren 
eine Rolle spielen … Ich meine damit die Kennlinie des Bremshebels, 
ebenso wie den Drehmoment des Motors, die Spindelreibung und den 
Hebelweg, und die spielen alle eine Rolle. Möge man mich eines Besseren 
belehren, aber imho wäre ein reiner Drehmomentmodus am Antrieb.

An dieser Stelle würde ich eine Kraftregelung über eine 
Standard-Positionierachse positionieren. So kannst du langsam Grenzwerte 
festlegen und ebenso langsam bewegen, die Kraft messen und nachregeln. 
LabView übernimmt die übergeordnete Abfolge, während die schnelle 
Positionsregelung im Antrieb bleibt. Zu hoch würde ich dabei die 
Kraftschleife nicht takten, wenn das unter Windows/cDAQ läuft.

Hast du dir etwa zur Referenzfahrt, zur Kraftbegrenzung und zu den 
mechanischen Endanschlägen Gedanken gemacht? Überdies solltest du dir 
überlegen, wie du es in puncto Plausibilität des Kraftsensors und, 
sofern sich der Hebel nicht erwartet bewegt, zu einem passenden Abbruch 
machst. Weil ich würde all das vorab einkalkulieren, auch wenn 0,1 mm 
mit einer Kugelumlaufspindel machbar klingen.
von Der H. (picasso323)


Lesenswert?

Moin Lukas,
danke für deinen Input! Ja, bei den Bremshebel ist alles an Kennlinien 
dabei zwischen Gummilappen mit 3cm Hebelweg bis Pneumatisch 
(Scheibenbremse) die nach 5mm bereits Blockiert.
Wenn ich deinen Ansatz richtig verstehe, würdest du eine einfache, nicht 
zu schnell laufende Regelschleife mittels LabView laufen lassen. 
Korrekt? Der S-Kraftaufnehmer liefert seine Werte an Labview?

Wir haben andernorts bereits einen Servo-handkraftaktuator im Einsatz, 
der wird von einer Beckhoff PLC (ethercat?) angesteuert. Ich schicke 
stelle mit LabView nur den Modus (drehzahl/drehmoment) und setze ein 
Startbit und das Teilchen rennt los. Die Jungs verwenden soweit ich weiß 
einen kleinen Software-Regler mit zwei unterschiedlichen Parametersätzen 
(0-80% der Kraft grob, dann die letzten 20% etwas feiner). Das klappt 
ganz gut.

Ich würde bei meiner Lösung erst mal per Positionierungsmodus den Punkt 
als Nullpunkt teachen, an dem der Fahrrad-Bremshebel Kraft annimmt. Dann 
ggf. eine Kennline aufnehmen (einmal teachen). Endpunkte und 
Plausi-Check/Stop kriege ich auch hin.

Für mich bleibt aber bisher die Frage, welcher Motor+Motorregler sich 
für so eine (einfache?) Aufgabe eignet.
von Der H. (picasso323)


Lesenswert?

Kleines Update. Aktuell tendieren wir zu einem Nanotec 
PD4-EB59CD-E-65-4A.
Der kleine Racker hat einen integrierten Controller, spricht Modbus TCP 
und erfüllt unsere Anforderungen an die Kraft.
Torque - Rated 0.6, Peak 1.8 Nm. Der Zylinder soll max. 2Nm haben.

https://www.nanotec.com/eu/de/produkte/10800-pd4-eb59cd-e-65-4a
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.