SET_OUT (port, value)
Mit dieser Funktion wird festgelegt, an welchem Eingang ein Motor angeschlossen ist. Diese Funktion muss vor der Funktion EVC_INIT() aufgerufen werden!
Der Parameter port beschreibt die Nummer des Ausgangs (OUT_A, OUT_B, OUT_C oder OUT_D).
port: OUT_A, OUT_B, OUT_C, OUT_D
value: OUT_MOTOR
Beispiel
// an OUT-Port B ist ein Motor angeschlossen
SET_OUT(OUT_B, OUT_MOTOR);
WRITE_OUT(port, mode, value)
Mit der Funktion WRITE_OUT() wird ein Motor angesteuert. Mit dem Parameter wird der Anschluss ausgewählt. Im Parameter mode wird der gewünschte Betriebsmodus des Motors festgelegt. Der Wert des Parameters value bezieht sich auf den gewählten Betriebsmodus.
port: OUT_A, OUT_B, OUT_C, OUT_D
mode: MOTOR_POWER, MOTOR_SPEED, MOTOR_STOP, MOTOR_POS, MOTOR_RESET
value (MOTOR_POWER): -100 ... + 100
value (MOTOR_SPEED): -100 ... + 100
value (MOTOR_STOP): MOTOR_COAST, MOTOR_BRAKE
value (MOTOR_POS): -XXX ... + XXX
value (MOTOR_RESET): 0
MOTOR_POWER
Der Motor wird mit einer Leistung zwischen 0% und 100% betrieben. Erfährt der Motor einen
Widerstand (z. B. Bergauf-Fahren), so verringert sich die Drehgeschwindigkeit des Motors und wird
nicht nachgeregelt (open loop). Das Vorzeichen des im Parameter value festgelegten Werts gibt die
Drehrichtung an.
Beispiel
// der Motor an Port A wird mit einer Leistung von 50% betrieben
WRITE_OUT(OUT_A, MOTOR_POWER, 50);
MOTOR_SPEED
Wird ein Motor in diesem Modus betrieben, so stellt man mit dem Parameter value die gewünschte
Geschwindigkeit ein. In diesem Modus steuert ein Regelkreis die Leistung des Motors und versucht je
nach Widerstand die Geschwindigkeit beizubehalten (closed loop). Das Vorzeichen des im Parameter
value festgelegten Werts gibt die Drehrichtung an.
Beispiel
// der Motor an Port B soll sich mit einer Geschwindigkeit 70% drehen
WRITE_OUT(OUT_B, MOTOR_SPEED, 70);
MOTOR_STOP
Ein Motor lässt sich auf zwei unterschiedliche Arten abbremsen. Im ersten Fall wird die Stromzufuhr
zum Motor unterbrochen und der Motor läuft aufgrund der Trägheit nach bis die Drehung zum
Stillstand kommt (MOTOR_COAST). Soll ein Motor unverzüglich angehalten werden, so übergibt
man den Wert MOTOR_BRAKE. Dabei wird der Motor für eine sehr kurze Zeitspanne in die
entgegengesetzte Drehrichtung versetzt, wodurch ein sofortiges Abbremsen erreicht wird.
Beispiel
// der Motor an Port B wird gestoppt und laeuft nach
WRITE_OUT(OUT_B, MOTOR_STOP, MOTOR_COAST);
// der Motor an Port C wird unverzueglich abgebremst
WRITE_OUT(OUT_C, MOTOR_STOP, MOTOR_BRAKE);
MOTOR_POS
Mit dem Betriebsmodus MOTOR_POS kann ein Motor um einen vorgegebenen Winkel gedreht
werden. Im Parameter value wird der Drehwinkel und mit dem Vorzeichen die Drehrichtung festgelegt.
Beispiel
// der Motor an Port D soll sich um 90 Grad drehen
WRITE_OUT(OUT_D, MOTOR_POS, 90);
MOTOR_RESET
Wird ein Motor im Betriebsmodus MOTOR_POS betrieben, so wird der gewünschte Drehwinkel von der letzten Position gemessen. Mit MOTOR_RESET kann diese Position zurückgesetzt werden.
Beispiel
// zurücksetzen des Drehwinkels des Motors an Port D
WRITE_OUT(OUT_D, MOTOR_RESET, 0);