- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 25

Thema: Testaufbau für Positionsregelung von DC-Getriebemotoren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Geistesblitz Beitrag anzeigen
    Durch die Versorgungsspannung ist die maximale Geschwindigkeit des Motors nämlich nach oben begrenzt. Das führt dazu, dass die PWM bei einer sprungförmigen Änderung des Sollwerts anfangs voll an den Anschlag geht, bis der Motor so langsam in die Nähe der Sollposition gekommen ist.
    Das liegt nicht an der Versorgungsspannung sondern ist prinzipiell so. Ich bin kein Regelungstechniker, also erkläre ich das mal verbal:

    Die Sollposition soll ja möglichst schnell erreicht werden, also muß der Motor am Anfang so schnell laufen wie möglich. Und da gibst es Grenzen, wenn nicht beim Netzteil dann beim Motor selbst. In diesem Bereich sehe ich eigentlich nichts von Regelung, PWM 100%, mehr geht nicht. Abbremsen tut man so spät wie möglich, so gehts am schnellsten. Das ist der Punkt, wo dann überhaupt die Regelung einsetzt. Der wird von der Trägheit des Gesamtsystems abhängen, die du in deinem Aufbau jetzt noch gar nicht siehst. Und wenn die Sollposition erreicht ist, Vollbremsung.

    Leider hat der Integratoranteil bis dahin meist schon so viel aufintegriert, dass die Variable übergelaufen ist. Das ließ sich lösen, indem der Integrator immer dann abgeschaltet wird, wenn die PWM auf Maximum steht.
    Also eigentlich (fast) immer. Wird das System eigentlich schlechter, wenn man ihn überhaupt wegläßt?

    Ein anderes Problem ist die Anlaufspannung des Motors, unter welcher er sich gar nicht bewegt. Das lässt sich damit lösen, dass man auf die Stellgröße einen Versatz raufrechnet, sodass die Motorspannung immer irgendwo in der Nähe der Anlaufspannung bleibt.
    Die eigentliche Stellgröße ist ja auch nicht die PWM sondern der Motorstrom. Und da der Motor eine Induktivität (eigentlich ein RL-Glied) ist, hängt der Strom etwas komplexer vom Dutycycle und auch von der PWM-Frequenz ab. Ohne jetzt eine Fourier-Analyse des PWM-Signals gemacht zu haben würde ich behaupten, daß bei kleinem Dutycycle die Energie in den hohen Frequenzen steckt, die wiederum schlecht durch die Induktivität wollen. Eine langsamere PWM Frequenz würde da Besserung bringen.

    Ansonsten habe ich den Differentialanteil begrenzt, da so der Überschwinger ein wenig kleiner wird. Die Istwerte vom Sensor hab ich mittels einer laufenden gewichteten Mittelwertbildung geglättet.
    Warum Mittelwert? Der Sensor ist doch digital, da klappert das letzte Bit, und er ist viel zu genau für das Getriebespiel. Wenn das z.B. so 1° bis 2° beträgt, bleiben etwa 8 Bit. Die letzten zwei oder vier Bit (von den 14 Bit) weglassen bringt das gleiche Ergebniss und ist einfacher. Außerdem verzögert die Mittelwertbildung, ein Tiefpass, die Istwertmessung und macht den Regler langsamer, erhöht also das Überschwingen. So ein Mittelwert würde nur etwas bringen, wenn die Istwertmessung ständig und um ein vielfaches schneller erfolgt, als der Stellwert geändert werden kann (also als die PWM Frequenz).

    Für das Senden der Sollwerte und das Empfangen und Darstellen der Istwerte habe ich mir ein kleines Programm in Labview erstellt, wo ich das Ganze ganz gut live verfolgen kann. Übertragen werden die Werte als Hexadezimalstring. Hier ist dazu mal ein Bild von einer Sprungantwort (ein Zeitschritt=4ms, ein Schritt auf der Y-Achse entspricht 0,022°):
    Schöne Auswertung. Was mich aber interessieren würde, ist die Stellgröße, der Dutycycle. Und die Horizontalauflösung ist eigentlich zu grob um das Arbeiten der Regelung zu erkennen. Die Sollposition ist eine Senkrechte, das liegt an der Vorgabe, klar. Aber die Istposition sieht auch fast wie eine Senkrechte aus, das kann eigentlich nicht sein (Beschleunigung gegen Unendlich). Die wirkliche Beschleunigung wird also durch die zu grobe Auflösung nicht angezeigt. Die anderen Kurven kann ich leider nicht wirklich erkennen.

    Dabei sieht man leider auch das schwierigste ungelöste Problem, mit dem ich zu kämpfen habe: Das Getriebespiel. Die Sprungantwort sieht ja an sich richtig hübsch aus, allerdings sieht man danach, wie der Regler mit dem Getriebespiel kämpft und um die Sollposition wackelt. Lustigerweise wird es besser, wenn man den Abtrieb mit den Fingern festhält, denn dann kann es ja nicht mehr frei wackeln
    Ansonsten ist zukünftig noch geplant, eine Vorsteuerung einzubauen, um die Dynamik noch ein wenig zu verbessern. So eine Vorsteuerung würde vorher berechnen, welche Spannung auf den Motor gegeben werden müsste, um die Sollbahn ohne Regelung abzufahren. Der Regler braucht sich dann nur noch um die Abweichungen zu kümmern.
    Der Regler arbeitet ja jetzt schon mit Höchstgeschwindigkeit, fast immer 100% PWM (oder 0% wenn nicht gerade das Getriebe wackelt). Was soll da noch dynamischer werden?

    Eine Stromregelung würde ich eigentlich auch noch gerne einbauen, bin dazu bisher aber noch nicht gekommen
    Die würde den Regler nur langsamer machen. Das macht höchstens Sinn, Überlastfälle zu beherschen.

    Ansonsten gibt es ja auch die Möglichkeit, den Motor aktiv zu bremsen, indem man beide Halbbrücken gleich schaltet. Ich könnte wetten, dass sich das gegen das Getriebespiel einsetzen ließe, allerdings weiß ich noch nicht so recht, wie.
    Das solltest du auf jeden Fall machen machen. Wahrscheinlich kannst du dann den D-Term zu Null machen.

    Nur gegen das Spiel hilft das nicht. Selbst wenn du den Motor mechanisch blockierst, wackelt dein Abtrieb abhängig von der Last genau so weit, wie es das Spiel zuläßt. Ich wüßte auch nicht, wie man elektronisch das Spiel wegbekommt, außer der Motor schwingt ständig um den Sollwert.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    37
    Beiträge
    1.937
    @Klebwax: Danke für deine ausführliche Kritik

    Das mit der Spannungsbegrenzung hättest nicht nochmal erklären brauchen, das ist mir ja bereits klar.

    Den Integratoranteil hab ich deswegen drin, damit statische Fehler ausgeregelt werden. Wenn der Motor also nicht ganz in der Nullposition stehen bleibt, wirkt der Integratoranteil so, dass er sich nach und nach dochn noch dorthin arbeitet. Ein reiner P-Anteil würde bei konstanter Last immer einen Versatz von der Sollposition übriglassen.

    Das Diagramm ist wirklich noch ein wenig suboptimal, das muss ich nochmal ein wenig anpassen. Hier hätte ich noch ein Diagramm mir einer gröberen Aufteilung (zu meinst wahrscheinlich, dass sie im anderen Diagramm zu fein war):
    Klicke auf die Grafik für eine größere Ansicht

Name:	Sprungantwort1_zps574bcb8b.jpg
Hits:	9
Größe:	32,1 KB
ID:	29846

    Wegen der Mittelwertbildung muss ich nochmal nachgucken, ob die den Regler wirklich viel langsamer macht, auf jeden Fall arbeitet er dadurch aber wesentlich ruhiger. Vorher hat man richtig gehört, wie er das Messrauschen verstärkt. Ich denk auch mal, dass man trotz des Getriebespiels eine gute Genauigkeit bekommen kann, komt eben auch alles ein wenig auf das System an. Wenn man dann nachher eine konstante Last hat, die in eine Richtung wirkt, dürfte sich das Getriebespiel nicht mehr wirklich bemerkbar machen.

    Die Vorsteuerung soll hauptsächlich den Nutzen haben, einen Schleppfehler während des Verfahrens zu minimieren. Ich werd mal testen, was der Regler zu einem trapezförmigen Geschwindigkeitsverlauf sagt, also ein Verfahren mit begrenzter Geschwindigkeit und begrenzter Beschleunigung. Hatte sowas auch schonmal woanders in Labview implementiert gehabt, muss das nur nochmal ein wenig anpassen.
    AI - Artificial Idiocy

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    08.04.2005
    Beiträge
    38
    Das mechanische Spiel kannst Du elektronisch nicht kompensieren. Es ist immer wichtig, zu wissen, wieviel Spiel akzeptabel ist, und die Mechanik entsprechend zu kaufen/bauen. Wenn Dein Regler aufgrund des Spiels anfängt zu oszillieren, dann musst Du den Regler eben weniger empfindlich machen - passend zur Qualität des Getriebes. Mechanisch kannst Du eine Vorspannung oder Dämpfung erzeugen um das Spiel zumindest einseitig in den Griff zu kriegen, aber das äussert sich dann in höherem Stromverbrauch und reduzierter Leistung.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    37
    Beiträge
    1.937
    So, hab mal meine Anzeige ein wenig überarbeitet. Hatte nämlich vergessen, für Geschwindigkeit und Beschleunigung durch die Abtastzeit bzw. Abtastzeit² zu teilen. Musste allerdings wieder einen kleinen Filter zur Glättung (laufende Mittelwertbildung) einfügen, da man da sonst vor lauter Rauschen gar nix erkennen würde. Hab auch mal ein etwas weiteres Stück verfahren. Zwar sieht man hier vom Regler nicht viel, aber darüber sollte sich der Motor einigermaßen charakterisieren lassen.
    Klicke auf die Grafik für eine größere Ansicht

Name:	Unbenannt_zpsd248f0ab.jpg
Hits:	14
Größe:	78,0 KB
ID:	29851
    AI - Artificial Idiocy

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo,
    Zitat Zitat von Geistesblitz Beitrag anzeigen
    Klicke auf die Grafik für eine größere Ansicht

Name:	Unbenannt_zpsd248f0ab.jpg
Hits:	14
Größe:	78,0 KB
ID:	29851
    Hilf mal ein bisschen:
    blau = Sollwert
    weiss= Weg
    grün =
    braun=

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    57
    Beiträge
    2.814
    Also ich würde den mechanischen Teil des Testaufbau modifizieren.
    Und zwar so, das man recht schnell zwichen allen 3 Lastfälle wechseln kann.
    Fall I (wie jetzt) ohne Last (winzig kleine Last)
    Fall II rotationssymetrische Last (Massenträgheit beim Beschleunigen und Bremsen)
    Fall III winkelstellungsabhängige Last (außer Mitte)

    Also den AS 5048 koaxial setzen und der Motorwelle ein Kupplungsstück verpassen.
    Dann einmal ein 0,5 oder 1Kg Kurzhantelgewicht zentrisch auf einer Achse befestigen und einmal mit einer Kurbel (eventuell 50mm off Axis) an einer Kurbellschwinge.
    Ob ein weiteres Optimieren des Reglers ohne Last mit dem Getriebespiel als Störgröße Sinn macht wage ich zu bezweifeln.
    Da ich Jahrelang CNC Antriebe selbst Hergestellt habe, kann ich nur Sagen wir hatten zwei Sensoren für die Winkelstellung.
    Ein Resolver wurde direkt auf der Motorwelle befestigt und mit dem wurde die Regleranpassung für Fall I (ohne Last) vorgenommen. Und dann der eigentliche Enkoder am zu bewegenden Bauteil. In dieser Konfiguration wurde dann die Regleranpassung im konkreten Fall vorgenommen (inklusive Getriebe und sonstigem Spiel).
    Geändert von i_make_it (17.02.2015 um 05:47 Uhr)

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Geistesblitz Beitrag anzeigen
    So, hab mal meine Anzeige ein wenig überarbeitet. Hatte nämlich vergessen, für Geschwindigkeit und Beschleunigung durch die Abtastzeit bzw. Abtastzeit² zu teilen.
    Da die Abtastzeit und damit auch das Quadrat davon eine Konstante ist, sollte das doch nur den Maßstab der Kurve ändern.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    37
    Beiträge
    1.937
    Ja klar, aber anfangs wurde doch gemeckert, dass man bei den Kurven nix erkennen könne, da die Werte so klein seien.

    Blau: Sollwert
    Weiß: Istwert
    Rot: Istgeschwindigkeit
    Grün: Istbeschleunigung
    Aus dem Startpost. Dachte, das wäre noch in Erinnerung geblieben.

    Das mit dem Umbau, um verschiedene Lastfälle betrachten zu können, wär natürlich auch noch nötig. Dazu müsste ich das allerdings ein wenig neu aufbauen, da für irgendwelche Gewichte gerade kein Platz ist.

    Da sich an der Elektronik aber eigentlich nicht viel ändern wird, frag ich mich, ob es Sinn machen würde, die schonmal fest aufzubauen. Für den Controller lässt sich sicher auch was Kleineres nehmen, ein Atmega8 oder so. Ist dann eben nur die Frage, über was man das Board ansprechen mag. Ich finds so wie jetzt über UART aber eigentlich ganz gut. Ich bin da ja ein wenig angetan von Malthys im Motor integrierten Regler, würd ich nur ein wenig anders machen. Der Sensor sollte dort platziert werden können, wo man auch messen will. Gibt es ansonsten Tipps für H-Brücken, die klein und effizient sind, sodass sie mit wenig Kühlung auskommen? Die Motoren sind mit 2A stall current ausgeschrieben.
    AI - Artificial Idiocy

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Blitz,

    Eine frage stellt sich mir noch.

    Woher kommen die Frequenzen in der Geschwindigkeit und Beschleunigung genau?

    1. Mechanisch, weil etwas nicht wirklich rund läuft. dann gäbe es einen Zusammenhang mit der Umdrehung der einzelnen Zahnräder. Die Frequenz müsste sich mit der Drehzahl entsprechend ändern.
    2. Aus der Regelschaltung, dann wäre die Frequenz abhängig von einer der Regelzeiten und müsste sich nicht wirklich mit der Drehzahl ändern.

    Aber aus einer Messung kann man das nicht ersehen.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 21.03.2012, 18:43
  2. Grafik LCD Testaufbau
    Von darwin.nuernberg im Forum Eigene fertige Schaltungen und Bauanleitungen
    Antworten: 8
    Letzter Beitrag: 28.10.2007, 13:54
  3. ansteuerung von getriebemotoren
    Von RedEagle667 im Forum Motoren
    Antworten: 6
    Letzter Beitrag: 04.05.2006, 12:01
  4. Ansteuerung von 8 Getriebemotoren
    Von j_volkers im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 6
    Letzter Beitrag: 30.09.2005, 20:18
  5. Antworten: 3
    Letzter Beitrag: 18.11.2004, 18:50

Berechtigungen

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

12V Akku bauen