Archiv verlassen und diese Seite im Standarddesign anzeigen : Drehmomentregelung
Garsten007
29.09.2009, 11:27
Hallo,
bei der Suche nach einer Lösung für mein Problem bin ich auf dieses Forum gestossen und habe hier auch schon einige Hinweise gefunden die mir weiterhelfen. Aber ich bin nicht sicher, ob das was ich vorhabe so funktionieren wird. Also schildere ich hier einfach mal meine Idee.
Ziel meines Projektes ist eine Steuerung für einen Flugsimulator mit halbwegs realistischem Steuergefühl. Aber zunächst strebe ich mal eine einfache Lösung an, bei der die rückstellende Kraft abhänging von der Fluggeschwindigkeit ist. Mehr Realität ist dann ja auch eigentlich nur noch eine Sache der Software.
Da ich alle Achsen unabhängig voneinander realisieren will (mit eigenem Controller) hier der Aufbau einer Achse
Ein Microkontroller zur Abtastung der Achse und Regelung der Motordrehmoments.
Ein optischer Drehgeber zur Abtastung der Achsenbewegung
Ein Gleichstrommotor zur Erzeugung der Gegenkraft.
Mein derzeitiger Stand ist folgender:
Ich habe mich in die Verwendung von AVR-Controllern eingearbeitet und kann damit auch schon optische Drehgeber auswerten und die Daten Seriel an den PC senden.
Ich weiß, dass beim Gleichstrommotor das Drehmoment Proportional zum fließenden Strom ist. Ich brauche also eine Stromregelung.
Das benötigte Drehmoment liegt etwa bei 5-10 Nm
Es reicht eine maximale Drehzahl von etwa 120U/min
Wenn ich mal die Regelung in Abhängigkeit von der Fluggeschwindigkeit ausser Acht lasse, dann ist das benötigte Drehmoment bei Neutralstellung der Achse 0 und Steigt entpsrechend des Abstandes zur Neutralstellung an.
Im Normalfall kann sich die Achse nicht frei bewegen und der Motor dreht sich nur sehr wenig. Dabei auch regelmäßig gegen die eigentliche Drehrichtung. Das wird wohl ein Problem bei der Wärmeabfuhr ergeben. Ich muss den Motor also vermutlich etwas überdimensionieren
Ich frage mich jetzt, ob eine Stromregelung mit H Schaltung für die Drehrichtung dafür ausreicht, oder ob ich irgendwas dabei nicht bedacht habe.
Im Voraus schon mal vielen Dank für eure Tips.
MfG
Carsten
i_make_it
29.09.2009, 13:45
Was hälst du von einem fertigen Force-Feedback-Joystick?
Kaufteil,
halbwegs günstig,
dokumetierte Softwareschnittstelle,
fertige Librarys.
Da gibts wohl schon einige Projekte für den MS-Flight Simulator wo die auch eingesetzt wurden.
Somit bleibt dann mehr Zeit für so sachen wie Hexapod Plattform übrig.
Damit der Probant auch vom Gleichgewichtssinn ein Feedback zur Fluglage und den Manövern erhällt.
Garsten007
29.09.2009, 14:12
Das war auch mein erster Gedanke. Eine Anleitung dazu hab ich schon gefunden und ich hatte auch schon so ein Teil. Es sprechen allerdings einige Gründe dagegen.
1) In diversen Foren habe ich bereits gelesen, dass die Force-Feedback-Kräfte die der Flight Simulator liefert nicht wirklich realistisch sind. Ich müsste also anhand der Telemetriedaten aus dem Flugsimulator die Steuerkräfte selbst berechnen und an den Joystick weitergeben. > Keine Arbeit gespaart.
2) Da die benötigten Kräfte größer sind, als es mit den Komponenten in einem Joystick machbar wäre, müsste ich sowohl die Motoren, als auch einen Teil der Elektronik austauschen.
> Kaum Arbeit gespaart. Es würde höchstens helfen sich mal den Teil der Platine anzuschaun der zwischen Controler und Motor hängt. Das dürfte ja genau das sein was ich benötige. Nur eben etwas zu klein dimensioniert.
3) Alle angebotenen Force-Feedback Joysticks verfügen nur über 2 Force Feedback-Achsen für Querruder und Höhenruder. Ich möchte jedoch auch das Seitenruder mit Force-Feedback ausstatten. Ich müsste also 2 von den Teilen zerlegen. > Kosten
4) Die Force-Feedback Joysticks die ich bisher gesehn habe hatten alle nur eine 10Bit Auflösung für die Achsen. Das reicht mir nicht ganz. Ich möchte da eher 12 Bit nehmen.
Der Vorschlag mit der Hexapod Plattform ist für mich eher uninteressant. Für sowas hab ich leider keinen Platz :-). Ausserdem fände ich es übertrieben so eine Plattform zu verwenden so lange die Steuerung noch nicht realistisch ist.
MfG
Carsten
i_make_it
29.09.2009, 15:21
Auch ein realer Steuerknüppel hat nur zwei Achsen. das Seitenruder wird ja mit den Pedalen bedient.
Und falls es ein Sidestick sein soll. Bei der F16 und bei den Airbus modellen sind die Feedback Kräfte auch nicht realistisch sondern nur proportional.
Wenn du realistische Feedbackkräfte 1:1 zurückgeben willst, hast Du dich demnach ja schon für ein Flugzeug entschieden.
Damit Die Motoren des Feedback Systems richtig geregelt werden können, wirst du eine Spannungsmessung, eine Strommessung und eine Positionsmessung benötigen.
Für die Winkelstellung der Motorwelle kann sowohl ein Drehgeber verwendet werden (der dann gleich auch als Meßsystem für die entsprechende Steuerknüppelachse dient) oder ein Resolver.
Vom Prinzip mußt du einen kompletten Motorregler für vier Quadranten ansteuerung aufbauen, da du die Motoren fast dauernd als Bremsen benutzt.
Und natürlich müsste der Steuerknüppel sich selbsttätig je nach Fluglage, Trimmung und Eigenstabilität des gewählten Flugzeugs in eine eigenstabile Position bewegen.
Als Beispiel: die Me 163 war nur mit aktivem Rudereinschlag ins Trudeln zu bekommen. Bei loslassen des Steuerknüppels ging sie von selbst in einen Gradeausflug mit geringer Sinkrate über.
Garsten007
29.09.2009, 16:07
Auch ein realer Steuerknüppel hat nur zwei Achsen. das Seitenruder wird ja mit den Pedalen bedient.
Ich meinte damit, dass in einem Fore-Feedback Joystick nur 2 Force-Feedback Achsen enthalten sind. Meist haben diese Joysticks aber 4 Achsen. Der Griff ist dabei drehbar für die Seitenrudersterung und es ist ein zusätzlicher Hebel für die Leistungssteuerung vorhanden. Ich bräuchte also 2 von diesen Teilen, damit ich auch die Force-Feedback Funktion für die Seitenruder habe. Ausserdem müsste ich die Mechnik dazu eh selbst bauen, weil ich ein Steuerhorn und Pedale haben möchte.
Pedale hab ich ja auch schon gebaut. Die hab ich derzeit an einen 4-Achsen Joystick ohne Force-Feedback Funktion angeschlossen.
Und falls es ein Sidestick sein soll. Bei der F16 und bei den Airbus modellen sind die Feedback Kräfte auch nicht realistisch sondern nur proportional. Wenn du realistische Feedbackkräfte 1:1 zurückgeben willst, hast Du dich demnach ja schon für ein Flugzeug entschieden.
Ich denke da eher an kleine einmotorige Maschinen mit mechnischer Steuerung.
Damit Die Motoren des Feedback Systems richtig geregelt werden können, wirst du eine Spannungsmessung, eine Strommessung und eine Positionsmessung benötigen.
Der Motor ist der Ersatz für die Kräfte, die aufs Ruder wirken. Wenn dabei wirklich immer gilt Drehmoment ist Proportional zum Strom, dann muss ich eigentlich nur den Strom regeln. Denn ich berechne aus Fluglage, Wind und Ausschlag der Steuerfläche die Kraft, die auf diese Steurfläche wirkt.
Für die Winkelstellung der Motorwelle kann sowohl ein Drehgeber verwendet werden (der dann gleich auch als Meßsystem für die entsprechende Steuerknüppelachse dient) oder ein Resolver.
Ja, ich hatte mich da ja schon für einen optischen Drehgeber entschieden. Der muss dann auch eine sehr hohe Auflösung haben, da ich damit nicht nur die Ruderstellung, sondern auch die Winkelgeschwindigkeit und Winkelbeschleunigung der Ruderbewegung ermitteln muss. Zumindest dann, wenn ich auch den Luftwiderstand bei der Bewegung und den Einfluss der Massenträgheit bei der Ruderbetätigung simulieren will. Wobei die denke ich im Flug vernachlässigbar sind und nur im Stand am Boden spürbar.
Vom Prinzip musst du einen kompletten Motorregler für vier Quadranten ansteuerung aufbauen, da du die Motoren fast dauernd als Bremsen benutzt.
Und natürlich müsste der Steuerknüppel sich selbsttätig je nach Fluglage, Trimmung und Eigenstabilität des gewählten Flugzeugs in eine eigenstabile Position bewegen.
Dieses Verhalten sollte sich eigentlich automatisch ergeben, wenn die Ruderkräfte richtig und ausreichender Geschwindigkeit berechnet werden.
MfG.
Carsten
Ich frage mich jetzt, ob eine Stromregelung mit H Schaltung für die Drehrichtung dafür ausreicht, oder ob ich irgendwas dabei nicht bedacht habe.
Motoren mit 5 bis 10 Nm sind stark überdimensioniert (und teuer). Man wird um ein Getriebe nicht herumkommen, zumal die maximale Verstellgeschwindigkeit mit 120 1/min ja recht gering ist.
Wenn man z.B. den Motor 3207012CR hier einsetzen wollte:
http://www.faulhaber-group.com/uploadpk/DE_3257CR_DFF.pdf
dann wäre eine günstige Getriebeübersetzung etwa Motor:Steuerknüppel = 100:1. Bei der Annahme eines verlustfreien Getriebes ergibt sich damit ein zulässiges Dauerdrehmment von 7Nm bei 3,66 A (Die gewünschte Verstellgeschwindigkeit wird mit 57 1/min noch nicht erreicht, der Antrieb ist noch etwas schwach dimensioniert).
Das Problem ist aber das Reibmoment des Motors, es beträgt nur 4,9 mNm, wird aber durch das Getriebe auf 0,49 Nm am Steuerknüppel übersetzt. Das ist mit Sicherheit nicht akzeptabel, da dieses Moment für jede Bewegung des Steuerknüppels durch den Piloten aufgebracht werden muss. Man wird bei diesem Konzept wohl nicht mit einer reinen Stromregelung auskommen (ausser man findet Motoren mit entsprechend hohem Moment).
Ein möglicher Ausweg wäre eine Kraft bzw. Momentenregelung, dazu bräuchte es einen entsprechenden Sensor, der das vom Piloten eingebrachte Moment misst und mit dem Motor gegenhält. Die Regelung würde das Reibmoment dann herausregeln.
Garsten007
30.09.2009, 12:50
Motoren mit 5 bis 10 Nm sind stark überdimensioniert (und teuer). Man wird um ein Getriebe nicht herumkommen, zumal die maximale Verstellgeschwindigkeit mit 120 1/min ja recht gering ist.
Ich bin auch davon ausgegangen, dass ich den Motor über ein Getriebe betreibe. Die genannten Daten beziehen sich ja auf das was ich an der Steuerung an Drehmoment haben will.
Wenn man z.B. den Motor 3207012CR hier einsetzen wollte:
http://www.faulhaber-group.com/uploadpk/DE_3257CR_DFF.pdf
dann wäre eine günstige Getriebeübersetzung etwa Motor:Steuerknüppel = 100:1. Bei der Annahme eines verlustfreien Getriebes ergibt sich damit ein zulässiges Dauerdrehmment von 7Nm bei 3,66 A (Die gewünschte Verstellgeschwindigkeit wird mit 57 1/min noch nicht erreicht, der Antrieb ist noch etwas schwach dimensioniert).
Das könnte aber evtl. auch schon reichen.
Das Problem ist aber das Reibmoment des Motors, es beträgt nur 4,9 mNm, wird aber durch das Getriebe auf 0,49 Nm am Steuerknüppel übersetzt. Das ist mit Sicherheit nicht akzeptabel, da dieses Moment für jede Bewegung des Steuerknüppels durch den Piloten aufgebracht werden muss. Man wird bei diesem Konzept wohl nicht mit einer reinen Stromregelung auskommen (ausser man findet Motoren mit entsprechend hohem Moment).
Ja, das klingt etwas viel. Das wären an einem Steuerhorn mit 30 cm Durchmesser immerhin rund 3,3N. Die würden sich dann sehr bemerkbar machen, wenn ich das Steuer zurück in die Neutralstellung bewege und schon kurz vor der Neutralstellung bin. Da gibt es ja dann kaum noch Ruderkräfte, die gegen die Reibung wirken. Aber müsste ich, wenn ich weiß, dass es diese Reibung im Motor gibt nicht sowieso je nach Bewegungsrichtung diese Kraft auf die gewünschte Kraft am Steuer Addieren oder von dieser abziehen?
Entscheidend dafür ist die Bewegungsrichtung.
Wenn ich das Steuer gegen die Drehrichtung des Motors bewege, dann muss ich vom Motor (Gewüschtes Drehmoment - Reibmoment) abrufen.
Wenn ich das Steuer in Drehrichtung des Motors bewege, dann muss ich vom Motor (gewünschtes Drehmoment + Reibmoment) abrufen.
Wenn ich dann die Neutralstellung der Stuers erreiche wirkt nur noch das Reibmoment auf das Steuer. Wenn ich den Wert für das Reibmoment also etwas kleiner wähle als dieses tatsächlich ist, dann würde das Steuer dann auch in der Neutralstellung stehen bleiben.
Wobei natürlich zu beachten ist, dass im Fall Gewünschtes Drehmoment - Reibmoment < 0 die Drehrichtung umzukehren ist. Es wäre aber die zusätzliche Kraft durch die Reibung in jedem Fall für einen kurzen Momemt spürbar bis der Controller mitbekommt, in welche Richtung sich das Steuer bewegt.
Ein möglicher Ausweg wäre eine Kraft bzw. Momentenregelung, dazu bräuchte es einen entsprechenden Sensor, der das vom Piloten eingebrachte Moment misst und mit dem Motor gegenhält. Die Regelung würde das Reibmoment dann herausregeln.
Das ist eine interessante Idee. Dabei könnte man dann die Kopplung zwischen Ruder und Motor über Drucksensoren machen wie sie z.B. in elektronischen Personenwaagen verwendet werden. Ich hab hier so ein Teil. Das geht bis 150 kg und hat in jeder Ecke einen Sensor. Es ist dabei kein Problem wenn ich mich nur auf eine Ecke der Waage stelle. Das Gewicht wird trotzdem richtig angezeigt. Die Auflösung beträgt 0,1 kg Das sind also 1500 Werte. Es reicht also für einen Abtastung mit 10Bit Auflösung. Dann wäre die Mechnik zwar etwas aufwändiger, aber die Regelung dafür einfacher.
Am Ende würde es aber wieder darauf hinauslaufen, dass ich die Stromstärke für den Motor regeln muss.
i_make_it
30.09.2009, 13:05
Also bei Aufzügen gab es lange weder an der Kabine noch am Gegengewicht Messeinrichtungen. Auch die Seilrolle ist fest ohne zusätzlichen Sensor am Motor montiert. Dort wird die Winkelgeschwindigkeit der Seilrolle gemessen und über Motorstrom und Motorspannung das Drehmoment. Wenn die Motorkennlinie als Lookup Tabelle in der Steuerung vorliegt, kann der Motor aus der Geschwindigkeit und dem Drehmoment immer entsprechend der geforderten Beschleunigung gefahren werden egal ob die Kabine voll oder leer ist.
Im Maschinenbau habe ich das auch immer den Motorreglern überlassen. Als Eingangswerte am Regler gab es nur das Sollwert Signal, den Resolverwert vom Motor und Reglerintern den Spulenstrom und die Spulenspannung. Die Positionswerte der Meßsysteme gingen nur an die CNC Steuerung und haben dadurch das Sollwert Signal beeinflusst.
Bei deinem Simulator sind die Kräfte des Piloten an den Steuerelementen fast das selbe was bei einer Fräsmaschine die Kräfte am Werkzeug sind.
Nur das da auch teilweise der Sollwert her kommt.
Je nach Fluglage und Ruderausschlag wirken andere Ruderkräfte die als Stellkraft an den Motor gehen.
Wenn der Pilot dagegen hällt, verändern sich die Werte für den Haltestrom des Motors um die Sollposition zu halten.
Die Differenz aus dem Strom der ohne Piloteneinwirken notwändig wäre und dem tatsächlichen Strom geht in den neuen Sollwert ein.
Die Idee, das Reibmoment über einen kleinen Zusatzstrom durch den Motor zu kompensieren ist verlockend. Es sprechen aber auch Gründe dagegen:
1. Das Reibmoment ist keine Konstante, es ändert sich mit der Zeit (Abnutzung) und Drehzahl, oft recht zufällig.
2. Aus dem Motorstillstand heraus kann der Regler nicht antizipieren, in welcher Richtung der nächste gewollte Ruderausschlag gehen wird. Im ungünstigsten Fall (Richtungsumkehr) muß am Bedienhebel das Reibmoment und zusätzlich das Kompensationsmoment überwunden werden.
Wenn man den Kraftsensor nicht verwenden will, gibt es möglicherweise noch den Ansatz, ein elastisches Glied zwischen Motor und Bedienhebel einzubauen. Der Wegsensor soll also z.B. starr mit dem Bedienhebel verbunden werden, der Motor elastisch. In diesem Fall kann der Regler eine Änderung der Handkraft über den Wegsensor dedektieren, selbst wenn die Motorwelle stehenbleibt (da sich das elastische Glied verformt). Allerdings bin ich nicht sicher, ob sich damit wirklich eine gute Regelung aufbauen läßt, Einwand 1 gegen die Reibmomentkompensation gilt immer noch.
Außerdem: wenn man schon ein elastisches Glied verwendet, dann ist der Aufwand nicht allzu groß, dessen Verformung zu messen. Das wäre dann der oben diskutierte Kraftmesser.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.