Einen DC-Motor ansteuern
In einem geschlossenen Steuerungssystem vergleicht ein Regler im Wesentlichen die Soll- und Istwerte der interessierenden Variablen und passt den Regelaufwand so an, dass der Istwert dem Sollwert entspricht.
In diesem Beispiel wird eine Drehzahlregler mit einem an Arduino Uno-Board verbunden. Die Ist-Drehzahl des Motors wird mit einem Drehgeber gemessen. Die gewünschte Drehzahl wird über ein Potentiometer eingestellt. Der Motor wird über ein Motor-Shield ansteuert. Schließlich werden die Soll- und Ist-Geschwindigkeiten über einen seriellen RS-232-Bus übertragen, der über das Geräte-Framework ausgelesen wird.
Das Modell des DC-Motors.
Entwerfen Sie einen PID-Regler mit einer Abtastperiode von 0,25 Sekunden.
Der Drehgeber gibt 12 Impulse pro Umdrehung und die Getriebeübersetzung des Motors ist 9,86. Erstellen Sie ein Modell, das die Drehgeberwerte in rpm liefert.
Der Sollwert wird über ein Potentiometer auf den Bereich 0–5V eingestellt. Skalieren Sie das Potentiometer neu, sodass es die DRehzahl in 0 bis 500 rpm einliest.
Der Komparator zum Vergleichen der Soll-Drehzahl und der Ist-Drehzahl.
Der Ausgang des Mikrocontrollers zum Motor hängt ab vom Tastverhältnis des PDM-Signals. Die tatsächliche Spannung des Motors kommt vom Shield. Im Folgenden wird das Verhältnis zwischen der Spannung und dem Tastverhältnis auf der Grundlage einer stückweisen Anpassung der Messdaten dargestellt.
Das umgekehrte Modell des Motor-Shields, das die Spannung auf das Tastverhältnis abbildet.
Das Blockschaltbild von Arduino, Shield, Motor und den Ein- und Ausgängen.
Der Regler hat 2 Eingänge und 3 Ausgänge.
Der erste Eingang ist die Soll-Drehzahl, die über den Potentiometerwert eingestellt wird. Der zweite Eingang ist die Ist-Drehzahl, die vom Dehgeber gemessen wird.
Der erste Ausgang ist das Tastverhältnis des PDM-Signals, das den Motor ansteuert. Die anderen beiden sind die Soll- und Ist-Drehzahlen, die über eine serielle RS-232-Verbindung übertragen werden.
Deployen Sie den Code.
Nutzen Sie einen seriellen Bus zur Verbindung mit dem Gerät.
Erstellen Sie eine zeitgesteuerte Aufgabe, um die Werte alle 0,25 Sekunden einzulesen.
Plotten Sie die Ergebnisse, die das Verhalten bei eingestellten Sollwerten und Störungen zeigen.
Löschen Sie die Aufgabe und beenden Sie die Verbindung.