GHI BrainPad .NET Projekt 08

Dieses Projekt stellt die beiden noch fehlenden Ausgabe-Schnittstellen für Servomotor und Gleichstrommotor vor.
Bei einem Servomotor (Projekt 08A) lässt sich ein bestimmter Winkel zwischen einem Startwinkel (0°) und einem Endwinkel einstellen. Dabei verändert ein Servo seinen Ist-Winkel bis er den gewünschten Soll-Winkel erreicht. Ein Servo realisiert also eine Regelung. Diese Regelung basiert auf der Pulsweitenmodulation (PWM). Mehr zur Ansteuerung eines Servomotors ist hier zu erfahren.
Im dargestellten Beispiel beträgt der Endwinkel 180°. Mit dem LEFT-Button erhöht sich der Winkel des Motor um jeweils 30°. Der RIGHT-Button verringert dagegen den Winkel um jeweils um 30°. Ein sofortiges Zurückfahren des Motors auf 0° erreicht man mit dem DOWN-Button.

Bemerkung:
Eventuell müssen die Einstellungen für den Servo in der Datei BrainPad.cs angepasst werden. Der von mir verwendete Modell-Servo ließ sich zunächst nur zwischen 0° und 90° drehen.

//500.0 statt 1000.0 und 1750.0 statt 1000.0 (empirisch ermittelt) output.Duration = (uint)(500.0 + ((position / 180.0) * 1750.0));

Im Projekt 08B wird eine einfache Geschwindigkeitsregelung (40% bis 100%) für einen angeschlossenen Gleichstrommotor umgesetzt. Mit dem RIGHT-Button erhöht sich die Geschwindigkeit des Motors um jeweils 10%. Der LEFT-Button verringert dagegen die Geschwindigkeit jeweils um 10%. Ein sofortiges Zurücksetzen der Geschwindigkeit auf 40% erreicht man auch hier mit dem DOWN-Button.

Unschwer zu erkennen ist, dass die Visualisierung bei den beiden Teilprojekten bis auf die Farben der Kreise ähnlich ist. Auch hier kommen wieder einzelne Bitmaps zum Einsatz.

Bemerkung:
Eventuell müssen die Einstellungen für den Servo in der Datei BrainPad.cs angepasst werden. Der von mir verwendete Modell-Servo ließ sich zunächst nur zwischen 0° und 90° drehen.

//500.0 statt 1000.0 und 1750.0 statt 1000.0 (empirisch ermittelt) output.Duration = (uint)(500.0 + ((position / 180.0) * 1750.0));
Bemerkung:
Eventuell müssen die Einstellungen für den Servo in der Datei BrainPad.cs angepasst werden. Der von mir verwendete Modell-Servo ließ sich zunächst nur zwischen 0° und 90° drehen.

//500.0 statt 1000.0 und 1750.0 statt 1000.0 (empirisch ermittelt) output.Duration = (uint)(500.0 + ((position / 180.0) * 1750.0));