... reagiert der Servo (also die Druckregelung) zu sensibel und übersteuert und untersteuert immer den Zielbereich ...
Regelungstechnik ist eine Wissenschaft. Dein Regler ist offensichtlich viel zu empfindlich eingestellt.
Das kriegst du eher nicht durch größere delays in den Griff.
Mach dich mal über PID-Regler schlau, gib einen kleinen Proportional-Anteil
(soll - ist)*Kp dazu und reduziere deinen I-Anteil.
Evtl. findest du erstmal bei festem Sollwert einen Arbeitspunkt, wo kleinere äußere Störungen ausgeregelt werden, ohne dass es gleich zu schwingen anfängt. Fang bei einer Einstellung an, die sehr langsam auf Regelabweichung reagiert, obwohl sie mit hoher Abtastrate läuft.
Zappelt deine Druck-Messung? Das erschwert das Leben ungemein.
Probier zum ersten Test mal ganz ohne I Anteil, aber mit gedämpftem Messwert:
const float Kp=0.01; // ausprobieren
static float stellwert;
stellwert = ((soll - ist)*Kp + stellwert*9.0)/10.0; // stellwert mit Tiefpass
myservo.write(Arbeitspunkt + stellwert); // Arbeitspunkt sollte halbwegs passen
Reiner P-Regler, hat immer eine Regelabweichung, eher unkritisches Zeitverhalten, aber kann auch schwingenFür eine ordentliche Regelung brauchst du eine ziemlich saubere regelmäßige Zeitbasis, die nicht durch
delays in der Anzeige oder sonstwo gestört wird. (Schau dir eine PID Library an)
Und, falls es dir ein Trost ist: Anfänger stellen Regelungen immer zu heftig ein.