@ s.o. :
Ich glaube bei deiner Funktion treten zwei Probleme auf.
Fall 1: Die ADC-Messung steigt stark an und bleibt dann auf einem Wert oder sinkt ganz leicht. Dann wird im ersten Schritt zwar verzögert, aber im zweiten Schritt der PWM-Wert sofort nachgeführt, weil in den else-abschnitt gesprungen wird.
Beispiel:
ADC: 0; 0; 1; 1; ...
PWM: 0; 0; 0,25; 1; ...
Fall 2: Der ADC-Wert steigt stark an, und steigt dann ganz leicht weiter... in diesem Fall wird die Variable "diff" sehr sehr klein, und PWM kaum erhöht, der Zielwert also gar nicht erreicht.
Lesezeichen