Hallo zusammen,
ich studiere Industrial Design und forsche im Bereich kinästhetische
Haptik in virutellen Welten. Ein erstes Einachsiges Gerät habe ich schon
erfolgreich umgesetzt - Anhang 4
Dazu habe ich nun ein 3-Achs Eingabegerät mit haptischem Feedback
entworfen - Anhang 1 & 2 - basierend auf dem Konzept von
woodenhaptics.org
Bei Woodenhaptics setzt man auf die Maxon ESCON Controller.
Kurz die Eckdaten des Motors - ich setze Maxon RE35 30V Motoren ein.
http://bdml.stanford.edu/twiki/pub/Haptics/PhotonicRobots/RE35-MaxonMotor.pdf
Nun meine Frage- gibt es günstigere Alternativen (<100€) zu den "Maxon
ESCON" für DC-Motortreiber mit Stromregler?
Theoretisch könnte man ja auch mit einem konventionellen DC-Treiber über
einen Stromsensor Softwareseitig die Spannung nachregeln um einen
konstanten Strom zu erhalten?
Noch eine Grundlagenfrage: Bisher habe ich die Motoren normal über
Spannung gesteuert. Inwiefern steht die Strom-Kraft Konstante in Bezug
zur Spannung?
Ich konnte bisher das gewünschte haptische Feedback auch mittels
Spannungs-Regelung erzielen.
Leider konnte mir den Unterschied bisher weder der Initiator von
Woodenhaptics noch führenden die Leute aus Stanford nicht richtig
vermitteln warum Stromregler den Spannungsreglern überlegen sein sollen.
- Anhang 3
Vielen Dank für eure Antworten =)
Friedrich
Friedrich schrieb:> Nun meine Frage- gibt es günstigere Alternativen (<100€) zu den "Maxon> ESCON" für DC-Motortreiber mit Stromregler?
Als Alternative könnte das passen: l6203, l6205N Dip (hier würde ich die
Ausgänge brücken).
Den habe ich momentan hier rumliegen:
http://www.ebay.de/itm/201445816686?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Ich komme nicht dazu diesen zu testen. Was sehr gut zu sein scheint ist,
dass hier ein OPV mit Messshunt verbaut ist (obwohl dieser vom Design
her Kilometer weit entfernt ist) + Generatorspannung sollte man messen
können.
Glockenankermotoren haben eine sehr geringe Induktivität. Dabei musst du
mit der PWM sehr hoch gehen. Ein Oszi hilft dir dabei. Maxon hat auch
eine Formelsammlung, die dir hilft.
> Theoretisch könnte man ja auch mit einem konventionellen DC-Treiber über> einen Stromsensor Softwareseitig die Spannung nachregeln um einen> konstanten Strom zu erhalten?
Ja, sowas nennt man eine Lastregelung. Der Zug fährt durch Berg und Tal
mit der Konstanten Geschwindigkeit.
> Noch eine Grundlagenfrage: Bisher habe ich die Motoren normal über> Spannung gesteuert. Inwiefern steht die Strom-Kraft Konstante in Bezug> zur Spannung?
Male ein Ersatzschaltbild eines Gleichstrommotors, dann kannst du dir
Frage auch selbst beantworten.
Und zum Schluß sei noch gesagt, DC Motoren brauchen eine gewisse
Spannung, damit ein Magnetfeld im Motor aufgebaut wird... Beim bei einer
Regelung wird man das ganz schnell merken, da die Endposition nicht
immer korrekt angefahren wird. Mit Kaskadenregelung, Zustandsregelung
mit Beobachter und Co kriegt man alles in Griff.
Bitte.
Friedrich schrieb:> warum Stromregler den Spannungsreglern überlegen sein sollen.
Du stellst die falsche Frage ;)
Die Maxon RE35 sind Servomotoren. Hinten am Motor sitzt ein Encoder der
die tatsächliche Position erfasst. Im Servoregler wird hauptsächlich auf
die Position geregelt (Schleppfehler), Strom & Spannung sind dabei nur
Mittel zum Zweck.
Ohne Encoder funktioniert das nicht, du bekommst dann überhaupt nicht
raus ob jemand die Achse bewegt bzw. wo deine Position im Raum momentan
ist.
Ein simpler Servoregler wäre sowas:
Schleppfehler -> PID Regler -> PWM Tastgrad
Der Strom wird dabei nicht geregelt, bzw. nur als Grenzwert
Ja den L6201/3 hatte ich mir schon rausgesucht - das ist soweit die
erste Wahl wenn ich kein Board mit integriertem Current-Loop finde.
Im Moment habe ich für die Ein-Achs-Anwendung einen VNH2SP30, beim Kauf
aber übersehen Supply Voltage ≠ Operating Voltage^^
Das einzige was ich dazu bisher fand war der hier Sanken STA6940 -
https://www.semicon.sanken-ele.co.jp/sk_content/sta6940m_ds_en.pdf
Soweit ich das aus den Erklärungen zum Ersatzschaltbild verstanden haben
treten bei einer Drehzahländerung dann Abweichungen zwischen
Nennspannung und Gegenspannung auf die eine Nichtlinearität vom
Motorstrom darstellen? Jedoch nur solang bis der Controller die
Nennspannung anpasst. Solange das also in > 1000Hz (menschliche
Wahrnehmung für kinästhetische Haptik) passiert ist alles gut.
Ein 2000er Encoder ist dran, sonst wüsste das System ja nie wo im 3D
Raum sich der Eingabestift befindet. Das mit der Positionsregelung
verstehe ich nicht. Ich will ja keine Position (z.B. wie klassisch bei
CNC Anwendungen für Servomotoren) anfahren, sondern eine Kraft an
verschiedenen Positionen simulieren. Bei der Simulation einer Feder z.B.
muss die Position nicht korrgiert werden sondern nur die Kraft abhängig
der Position angepasst werden.
Wobei man den Strom natürlich auch über einen PID Kreis regeln könnte..
Hier sieht man das Einachsige in Aktion:
https://www.youtube.com/watch?v=NlaF00GmT28
Ja, was mir auch aufgefallen ist, dass dieser Motor ohne Getriebe
eventuell schnell heiß läuft. 110mN ist bei solchen Hebel nicht viel.
Rechnen musst du selber. Ich denke mal, dass du nicht mehr wie 100rmp
brauchst...
Auch wenn dieser Motor 30V Nennspannung hat, kann es sein, dass du mit
12V und Getriebe auch klar kommst. Das rentiert sich aber nicht, da du
schon teuer für den Motor bezahlt hast.
Ein Getriebe habe ich zwar nicht dafür aber die Übersetzung mit einem
Capstan-Antrieb (die Stahldrähte fehlen im Rendering) so dass am Ende
etwa 3N-6N Kraft in der Vertikalen übrig bleiben, was für die Anwendung
aber auch voll ausreicht.
Normale Planetengetriebe und Co fallen da leider raus, da diese einen
viel zu hohen Reibungsverlust haben - wenn man sich im virtuellen Raum
"bewegt" will man ja nicht das Gefühl haben seine Hand durch Pudding zu
ziehen^^
Das mit der Temperatur ist aber trotzdessen ein guter Punkt, werde ich
bei meinem ersten Aufbau bedenken und nachmessen.
Habe mir jetzt mal ein paar L6205 (2€) bestellt, parallel betrieben kann
der bis zu 5,8A RMS - das kann mit den Maxon-Treibern schon gut
mithalten. Die Stromregelung und das Auslesen der Encoder via Interrupts
werde ich über einen STM32F103 (2,5€) machen. Der wird dann als HID über
USB verbunden und schickt die Position und bekommt die Rückmeldung über
die auszuübende Kraft =)
Interessant dass es für diese noch keine Robotik-freundliche
Breakout-Boards hat..
Friedrich schrieb:> Habe mir jetzt mal ein paar L6205 (2€) bestellt, parallel betrieben kann> der bis zu 5,8A RMS - das kann mit den Maxon-Treibern schon gut> mithalten. Die Stromregelung und das Auslesen der Encoder via Interrupts> werde ich über einen STM32F103 (2,5€) machen. Der wird dann als HID über> USB verbunden und schickt die Position und bekommt die Rückmeldung über> die auszuübende Kraft =)
5,8A RMS aber nur mit aktiver Kühlung. Das sind immer solche Traumzahlen
der Hersteller. Ich würde darauf kein Pfenning setzen. Lies einfach das
Datanblatt, dann siehst du wieviel Verlustleistung ohne passiven Kühler
abgeführt werden kann.
Vorallem ist die OCP ganz wichtig in deinen Fall, da der Maxon über 24A
ziehen kann. Natürlich kann dies auch das Labornetzteil erledigen.
@aSma
Danke für den Hinweis, werde mal sehen wie weit man mit denen kommt.
Ansonsten scheint es aber auch nichts stärkeres im IC Bereich zu geben?
Dannach kommen dann wohl externe Mosfets - da schaut der Infineon
BTN8982 als Eval-Board ganz schick aus. Mit 40V und 50A auf jeden Fall
genügend Reserve.
Den Lastenregler werde ich mir dann wohl selber bauen wenns da keine
IC's für gibt die das besser machen?
Servus,
Suche nach dedizierten Halbbrückentreiber. Die gibt es auch als Dip.
https://www.mikrocontroller.net/articles/Motoransteuerung_mit_PWM#H-Br.C3.BCcke.2C_4-Quadrantensteller
Ich vermute aber L6205 gebrückt wird dir reichen. Du brauchst ja nur
kurzzeitig ein Moment und nicht dauerhaft wie bei einer CNC.
> Den Lastenregler werde ich mir dann wohl selber bauen wenns da keine> IC's für gibt die das besser machen?
Du brauchst einen Messshunt um den Strom zu messen um das Drehmoment wie
gewünscht zu regeln. Dazu entweder einen fertigen Hallsensor oder Shunt
mit OPV kaufen (bzw. google: current sensor 5A).
Wie hast du den die Explosionszeichnung mit Multiplex erstellt? Geht das
mit Solidworks?
Das klingt ja schonmal gut :)
Hallsensor (ACS712) habe ich schon da- haben die gegenüber Shunts
irgendwelche Nachteile?
Die Explosionsdarstellung ist schon fortgeschrittene Visualisierung mit
VRay - https://www.chaosgroup.com/gallery Das ist zwar schick man
braucht aber 3ds max und es dauert seine Zeit - so 1-2Tage wenn man das
Modell schon hat.
Keyshot geht auch, dazu musst du aber die Oberflächen vorher abtrennen
mit Offset=0 oder Split
Mit Solidworks wirst du die Qualität nicht erreichen, du kannst aber
wenn du die PhotoView 360 Erweiterung hast auch Rendern. Da kannst du
dann ein Material anlegen und das einzelnen Flächen zuweisen. Oder
einfach unter Darstellung/Erscheinung ein neues Material anlegen, das
Mapping anpassen und dann ein Screenshot machen. Wie das generell geht
findest du hier: https://www.youtube.com/watch?v=lb7pXF35Ies
Wenn du die Multiplex-Textur willst, schick mir eine Mail an
friedrichjux@onlinehome.de
Friedrich schrieb:> Hallsensor (ACS712) habe ich schon da- haben die gegenüber Shunts> irgendwelche Nachteile?
Messshunts müssen low induktiv sein (metall film). Jeweils pro Amp nehme
ich 1ohm 1% parallel. Mit einen ADC 12 bit reicht mir die Auflösung
oftmals auch aus.