Problem mit PID Regler zur Servo Ansteuerung

Hi,

Ich habe ein Problem mit meinem PID Reglerprogramm zur Drezahlregelung eines Brushlessmotors+regler. Und zwar wenn der PID regler die Operation compute() ausführt kann ich das PWM Signal nicht mehr verändern! Kennt sich jemand in diesem Bereich aus? Es ist so wenn ich myPID.Compute() auskommentiere, dann kann ich mit S1 und S2 das PWM Signal verändern, und sobald der PID regler rechnet kann ich das PWM Signal nicht mehr verändern? Vielleicht hat jemand eine Idee warum das so ist!

Hauptprogramm:

void loop() { drehzahl = 60000000 / dauer; // Drehzahl ausrechnen und sprintf(buf, "ist: %4lu ", drehzahl); // als 4stellig formatierte Zahl in den Puffer schreiben

Input = drehzahl; myPID.Compute(); //digitalWrite(9,Output);

buttonState = digitalRead(s1); buttonState2 = digitalRead(s2);

if(buttonState == HIGH){ pos += 1; myservo.write(pos); } if(buttonState2 == HIGH){ pos -= 1; myservo.write(pos); } inputVal = digitalRead(inputPin); // Sensor Signal lesen

}

lg