-         
Ergebnis 1 bis 2 von 2

Thema: Gleichstrommotor: Weg bis zum stationären Zustand für Simulation modellieren

  1. #1

    Gleichstrommotor: Weg bis zum stationären Zustand für Simulation modellieren

    Anzeige

    Praxistest und DIY Projekte
    Transparenz: Dieser Beitrag ist fast 1:1 auch im Forum von mikrocontroller.net erschienen. Da ich dort jedoch auf die Community hier aufmerksam (gemacht) wurde, erstelle ich diesen Post, da es thematisch meiner Meinung gut in das Board passt. Vielleicht findet sich ja der ein oder andere Interessierte.

    Hallo zusammen,

    kurze Einleitung, da ich den Bereich in drei Bereiche aufteile:

    1. Kurze Zusammenfassung ohne viel Kontext, für die, die es eilig haben
    2. Kontext
    3. Ausführlichere Frage mit einigen Details



    Wer also möchte, kann sich gerne Teil 2 und 3 durchlesen. Weil auf dem Sprung ist, schaut sich nur Teil 1 an.

    Teil 1: tl;dr

    Simulation von fahrendem Roboter mit je einem bürstenlosen Gleichstrommotor pro Rad, im Stillstand benötigt ein Motor ca. 50 ms bis er eine messbare Bewegung erzeugt, in Bewegung ca. 30 ms bis zur messbaren Veränderung, Messfehler nicht auszuschließen, Aufzeichnung mit 50 Hz. Ziel: Findung von allgemeiner Begründung für diese Verzögerungen, welche für möglichst viele Motoren gilt. Frage: Welche Faktoren können dies sein? Losbrechmoment? Zeit bis Magnetfeld aufgebaut ist? Hilfe und Ideen gerne willkommen. Bin neu auf dem Gebiet.

    Teil 2: Kontext

    Ich arbeite derzeit an einem Simulator für ein omnidirektionalen Roboter mit Mecanum-Rädern. Gedanke ist dabei einen ROS-Vektor aus (x, y, z) Komponenten möglichst realitätsnah im Simulator abzubilden. Der fahrende Roboter selbst verfügt über vier Mecanum-Räder, welche jeweils einen eigenen bürstenlosen Gleichstrommotor haben. Die Umrechnung des Vektors in einzelne RPM pro Rad übernimmt beim Roboter ein verbauter Controller, in meiner Simulation mache ich dies über die Kinematik. Der Roboter selbst ist als komplette Blackbox zu betrachten, wo nur wenige Informationen zu bekannt sind. Vor allem kann nichts nachgemessen werden (Spannungen etc.).

    Grund dafür ist, dass die Simulation so allgemeingültig wie möglich sein soll. Natürlich entstehen dadurch Grenzen der Genauigkeit, dies ist bewusst. Unbekannte Parameter, wie z.B. Reibungskoeffizienten, Reglungsparameter, Höhe des Schwerpunktes etc. werden für eine Art von Roboter per Optimierung ermittelt. Dazu werden in Fahrten die Radumdrehungen pro Rad vom Controller abgefragt (Odometrie, 50 Hz). Die Bewegung im Raum wird durch eine externe Messeinrichtung aufgezeichnet. Es wird also für einen angelegten Vektor sowohl die Odometrie als die Positionsinformationen im Raum aufgezeichnet, was dann als Grundlage zur Optimierung der Parameter dienen.

    Teil 3: Ausführlichere Frage mit einigen Details

    Die Simulation arbeitet derzeit so, dass jeder Motor einen eigenen PID-Regler besitzt, welcher die Ziel-RPM erhält und entsprechend regelt. Die Ausgabe des PID-Reglers kann als Pseudo-Spannung angesehen werden und wird dann durch optimierte Parameter zu Drehmoment umgerechnet usw.

    In den aufgezeichneten Daten des echten Roboters zeigt sich jedoch, dass zwischen Anlegen des Vektors im Controller und ersten messbaren Veränderungen am Rad eine gewisse Zeit vergeht. Steht der Roboter still, dann sind dies ca. 50 ms, bewegt er sich schon sind dies ca. 30 ms. Da die Daten nur mit max. 50 Hz ausgelesen werden können, sind hier gewisse Ungenauigkeiten unumgänglich.

    Ich möchte nun verstehen was zu diesen Zeiten führen kann, neben der Berechungszeit im Controller selbst. Oft habe ich etwas zum Losbrechmoment gelesen, jedoch konnte ich nie eine genaue Definition davon finden. Daher ist für mich nun schwer zu beurteilen, wo hier "etwas losbrechen" soll. Geht es um die Bewegung zwischen Anker und Ständer im Gleichstrommotor oder um die Reibung zwischen Rad und Boden? Ich habe mich auch schon etwas in die Materie der Elektro-Technik eingelesen und wenn ich es richtig verstanden habe, dann muss über Spannung erst ein Magnetfeld im Motor ausgebaut werden, was natürlich auch Zeit kostet. Wenn eine gewisse RPM erreicht ist und dann beschleunigt werden soll, dann muss - nach meinem Verständnis - das Magnetfeld verstärkt werden, so dass der Anker sich schneller dreht.

    Über den Motor kann ich nur sagen, dass dieser bürstenlos ist. Der Hersteller des Roboters gibt noch an, dass eine Feldorientierte Regelung (FOC) genutzt wird und u.a. ein Soft-Start-Schutz vorhanden ist.

    Wie aber schon erwähnt bin ich aber nicht daran interessiert diesen einen Motor zu simulieren sondern auf einem höheren Level "einen allgemeinen bürstenlosen Gleichstrommotor", welcher mit gewissen Toleranzen mit Optimierung auf mehrere unterschiedliche Motoren trainierbar ist.

    Ich habe mal Bilder von zwei Aufzeichnungen beigefügt. Die Farbe Grün bitte ignorieren, Gelb ist die gemessene Umdrehung. Gezeigt wird ein Rad. Bei einer Grafik verdeutlicht die rote Linie den Zeitpunkt an dem die Zielgröße, blaue Linie, angelegt wurde. Man sieht dann einen Moment keine Reaktion, dann einen "parabel-ähnlichen"-Anstieg der Drehzahl. Ab einem gewissen Zeitpunkt ist der Zuwachs an Umdrehungen dann praktisch linear. Die untere Achse steht für Sekunden.

    Klicke auf die Grafik für eine größere Ansicht

Name:	rpm.png
Hits:	4
Größe:	51,7 KB
ID:	35612

    Klicke auf die Grafik für eine größere Ansicht

Name:	rpm2.jpg
Hits:	4
Größe:	14,2 KB
ID:	35611

    Mit diesem Roman Suche ich nun Leute, die bereit wären, mit mir diese Sache zu analysieren bzw. mir hilfreiche Anhaltspunkte zu geben, welche Faktoren diese Zeiten erklären könnten. Da ich in diesem Bereich nur Laie bin, kann mit Rückfragen von meiner Seite gerechnet werden

    Danke für eure Zeit!

    Um also mit einer konkreten Frage abzuschließen: Liege ich mit den Punkten Losbrechmoment und Aufbau des Magnetfeldes schon einmal richtig? Oder habe ich essenzielles vergessen/übersehen?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.402
    .. Kurze Zusammenfassung .. (*gg* tl;dr) .. Simulation .. bürstenlosen Gleichstrommotor .. benötigt ein Motor ca. 50 ms .. Aufzeichnung mit 50 Hz ..
    Gut. Meines Erachtens läuft es darauf hinaus, dass Du Dir die Sprungantwort eines entsprechend angetriebenen Fahrzeugs ansehen und interpretieren sollst/willst.

    Als erstes würde ich Dir mal raten diesen Abschnitt im hiesingen RN-Wissen über Regelungtechnik durchzugehen (oder besuch mal ein Hochschulseminar über Kinetik) - eher/lieber erstmal überfliegen, Lesezeichen anlegen und immer wieder reingucken. Und - nur nebenbei: bei 50-Hz Abtastfrequenz werden die Zustände nur alle 20 ms festgestellt - kommt mir ziemlich lahm vor. Bürstenlosen Gleichstrommotoren sind doch recht dynamisch . . .

    Ich hatte mir für ne ähnliche, deutlich einfachere Aufgabenstellung die Sprungfunktion(en) des (kompletten) Fahrzeugs (meine rollende Coladose) angesehen. Das ist ein Zweiräder mit zwei völlig isoliert angetriebenen und geregelten (gebürsteten!) Gleichstrommotoren.

    Diese ersten Messungen (s.o.) liefen noch recht unrund. Nach einigen Fortschritten in Theorie und Messtechnik wurden die nächsten Ergebnisse ausführlicher - aber nicht unbedingt besser (klarer, aussagekräftiger). Noch ein bißchen weiter wurden dann endlich die beiden Motoren besser beobachtet - gleichzeitiger. Liegt eben auch an der Gleichzeitigkeit der Bestromung (na ja, gleichzeitig ist da schon auch ein paar Mikrosekunden auseinander). Da denke ich gleich wieder an Deine Abtastfrequenz - und könnte jetzt etliche Bedenken vorbringen (aber ich halte mich an oben: tl-dr). Insgesamt war der Wissensgewinn gut - der Geradeauslauf der GETRENNT angesteuerten und ebenso geregelten Motoren - nur zwei Stück! - für meine Bedürfnisse gut genug.

    Vielleicht ist das ne Anregung?
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. Erneuerbare Energien: Tesla baut stationären Stromspeicher für Inselkrankenhaus
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 01.06.2021, 15:00
  2. Zustand von PB0 und PB1 drehen
    Von hegewald im Forum Assembler-Programmierung
    Antworten: 4
    Letzter Beitrag: 26.10.2013, 23:08
  3. Antworten: 1
    Letzter Beitrag: 22.03.2012, 06:52
  4. Antworten: 3
    Letzter Beitrag: 25.11.2009, 15:02
  5. Tasten Zustand 1 nochmal tasten Zustand 0
    Von dundee12 im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 03.02.2009, 19:57

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •