Software: SimX - Einfuehrung - DC-Motor - Regelkreis

Aus OptiYummy
Zur Navigation springenZur Suche springen

Regelkreis-Experiment


Oft soll ein Antrieb nicht nur ein- und ausgeschalten werden, sondern sich nach einer vorgegebenen Sollkurve bewegen. Das kann man mit einem Gleichstrom-Motor hinreichend genau nur mit einem Regelkreis realisieren.


In unserem Beispiel soll der Motor erst in eine Richtung hochdrehen, dann die Bewegung umkehren. Zum Schluss soll er wieder stehen bleiben. Der gesamte Vorgang soll 1 Sekunde dauern.


Bei der Bewegung soll der Motor möglichst ruckfrei beschleunigen, also ganz "zart" die Drehzahl ändern. Dafür wollen wir zuerst einen Sollwert-Generator aufbauen:

Software SimX - Einfuehrung - DC-Motor - impulsgenerator.gif
  • Es bietet sich an, für diesen Bewegungsvorgang eine komplette Sinus-Schwingung (=1 Sinus-Impuls) als Grundlage zu nehmen.
  • Wir finden in der Bibliothek das Element Impulsgenerator unter "Signalglieder - Signalquellen".
  • Nach dem Einfügen in unser Antriebsmodell konfigurieren wir diesen Generator als Sinusgenerator mit einer Impulslänge von 1 s:
    Software SimX - Einfuehrung - DC-Motor - sinusgenerator.gif
  • Hinweis:
Der Name self bezeichnet das eigene Element. SimulationX ergänzt diesen Vorsatz automatisch für alle Bezeichner, welche sich auf das eigene Element beziehen. Im Beispiel ist der Folgeabstand S also immer so groß wie die Impuls-Breite W.
  • Wenn wir die Simulationszeit für das Modell auf 2 s erhöhen, erhalten wir folgendes Ausgangssignal vom Sinusgenerators:
    Software SimX - Einfuehrung - DC-Motor - sinusimpuls.gif
  • Ein solcher Drehzahl-Verlauf wäre aber noch nicht sanft genug. Am Anfang und Ende gäbe es einen ordentlichen Ruck! Deshalb quadrieren wir den Funktionsverlauf unter Beibehaltung des Vorzeichens:
    Software SimX - Einfuehrung - DC-Motor - sinusquadrat elemente.gif
    • Wir nutzen dafür das Element f(x) direkt aus dem Bibliotheksordner "Signalglieder".
    • sign(x) liefert das Vorzeichen von x und kann nur 3 Werte besitzen (-1,0,+1):
      Software SimX - Einfuehrung - DC-Motor - quadrat parm.gif
  • Die Zusammenschaltung beider Signalglieder liefert nun eine sanfte Bewegungssollkurve:
    Software SimX - Einfuehrung - DC-Motor - sinusquadrat kurve.gif

Zusätzlich zum Sollwert-Generator benötigen wir einen Sensor, welcher die aktuelle Drehzahl misst. In der Praxis funktioniert das z.B. mit einer Codescheibe in einem optischen inkrementalen Geber:

Software SimX - Einfuehrung - DC-Motor - codescheibe.gif

Wir wollen das im Beispiel stark vereinfacht mit einem trägheitslosen, analogen Sensor-Element aus der Bibliothek realisieren:

  • Den Sensor findet man in der Bibliothek im Ordner "Rotatorische Mechanik". Dieser Sensor liefert nach seinem Verbinden mit dem Last-Element alle Bewegungsgrößen an seinen Ausgängen (phi, om, alp):
    Software SimX - Einfuehrung - DC-Motor - modell mit sensor.gif
  • Toolbars "Element" und "Anzeige" einschalten:
    • Das Sensor-Element dreht man in der Modellstruktur in die gewünschte Position.
    • Damit man sieht, an welchem Anschluss welches Signal anliegt, kann man die Anschlüsse innerhalb der Modellstruktur einblenden. Die Beschriftung sollte man dann wieder ausschalten, weil sie meist stört!
  • Hinweise zum Lastelement:
    • Freie Anschlüsse eines Kraftelement (z.B. Feder, Dämpfer, Reibung) sind im Modell "automatisch" fest eingespannt.
    • Um Fehler zu vermeiden, sollte man unbedingt (wie gezeigt) die in der Realität vorhandene Einspannung als Element ergänzen (Rotatorische Mechanik - Element "Vorgabe" - konfiguriert als "Einspannung").
    • Ein sehr "gemeiner" Modellierungsfehler wäre z.B. die Verbindung des Drehzahlsensors mit dem "freien" Anschluss der Last-Dämpfung. Dann würde die Dämpfung praktisch unwirksam, da nicht mehr die Relativbewegung zwischen dem Rotor und dem Motorgehäuse erfasst würde!
    • Der "freie" Anschluss Motor.ctr2 entspricht dem Motorgehäuse, das praktisch auch fest eingespannt ist. Wegen der Übersichtlichkeit wurde hier mit der Verbindung eines Einspann-Elements verzichtet.
  • Als Amplitude für unseren Sollwert-Verlauf wollen wir 100 rad/s vorgeben. Dazu müssen wir die Quadratfunktion um diesen Faktor ergänzen):
    F: sign(self.x)*self.x*self.x*100
  • Hinweise zu Maßeinheiten:
    • Die Modellberechnung in SimulationX erfolgt grundsätzlich mit den SI-Einheiten!
    • Verwendet man eine Modellgröße in einer Formel, so enthält die Modellgröße immer den aktuellen Zahlenwert für die SI-Einheit.
    • Nur für die Eingabe der Paramter und die Darstellung von Ergebnisgrößen können handliche Vorsätze zu den SI-Einheiten gewählt werden. SimulationX nimmt dann automatisch die Umrechnung zur SI-Einheit vor.
    • Deshalb wurde im Beispiel eine Drehzahlvorgabe in der SI-Einheit rad/s verwendet, ansonsten hätte man die Umrechnung in der Formel entsprechend berücksichtigen müssen!