Hallo miteinander,
ich habe eben einen Versuchsaufbau stehen, der einem alten RC-Car einen Arduino als "Gehirn" verpassen soll. Installiert ist eine H-Brücke L293 E mit einem Schottky Array (L6210) - momentan der L293 mit nur 2kanälen(ein Motor). Der ist entsprechend Anordnung mittels Poti in der Sollgeschwindigkeit regelbar.
Ab //Ausgabe PWM beginnt der Motor in die eine Richtung zu drehen (vorher wird die Sollgeschwindigkeit gesetzt). Soweit so klar.
Wobei ich jetzt total hänge ist die Frage wie definiere ich die Sollgeschwindigkeit "global" aber variabel und lasse es trotz dem zu, dass die beiden Drehrichtungen funktionieren. Denn das Delay (100) bezieht sich ja auf die Abfrage der möglichen PWM-"Pegel) und hat in der Regel mit der Einschaltzeit der Motoren bzw Drehrichtungen nichts zu tun.
Wäre das was für switch case für eine Verzweigung in die Drehrichtung bei gleichbleibender Geschwindigkeit - oder rufe ich vor jeder neuen Drehrichtung einfach die Sollgeschwindigkeit aufs Neue ab - da funktioniert das aber mit dem Delay für die PWM nicht mehr (oder liege ich da falsch??).
int PWMPin = 9; //PWM-Signal Motor
int MotorPin1 = 6; //Vor/Rück Motor
int MotorPin2 = 7; //Vor/Rück Motor
int SollSpeedPin = 0; //Sollwert für Geschwindigkeit
int SollSpeed = 0; // Eingelesene Sollgeschwindigkeit
void setup()
{
pinMode(MotorPin1,OUTPUT);
pinMode(MotorPin2,OUTPUT);
}
void loop()
{
//Sollwert einlesen
SollSpeed = analogRead(SollSpeedPin) / 4;
// Ausgabe PWM
analogWrite(PWMPin,SollSpeed);
//Motor vorwärts
digitalWrite(MotorPin1,HIGH);
digitalWrite(MotorPin2,LOW);
delay(100);
}
Ich steh total auf dem Schlauch - es würde mich sehr freuen, könnte mir jemand den Knoten lösen...
Thomas