So, nach ein paar Stunden frustrierender Tests, bin ich nun zu dem Entschluss gekommen, dass ich einfach mit dem RB-35 nicht weiterkommen werde, da dieser eine sehr große Massenträgheit besitzt und deshalb nicht genau anzusteuern ist (jedenfalls für mich)...

Da ich jedoch dieses Thema sehr spannend finde gebe ich so schnell nicht auf.
Deshalb habe ich mir jetzt ein billiges Servo aus der Bastelkiste geschnappt und das Poti entfernt. Dann habe ich mir eine Adapterwelle gedreht, welche auf der einen Seite eine Abflachung besitzt, sodass die Welle genau in das Abtriebszahnrad passt, in dem vorher das Poti steckte. Auf der anderen Seite ragt nun ein Wellenstummel mit einem Magneten an der Spitze hinaus ( Dieser Aufbau soll nur zu Testzwecken dienen...).
Nun konnte ich bereits mit einem abgewandelten Programm akzeptable Ergebnisse erzielen.

Doch stellt sich für mich jetzt eine andere Frage. Wie kann ich verhindern, dass mein Servo spinnt, sobald es über Null fährt (denn es bekommt ja dann einen ungewollten Sprung...) ?

Hier ist noch mal mein neuer Code (wieder mit float, da es für mich keinen Unterschied gemacht hat)
Code:
int pwm_pin = 3;  //Motor pwm
int in_1 = 4;   //Motor Richtung
int in_2 = 5;   //Motor Richtung
String msg;
char a;
int soll_wert;
int ist_wert;
int e;
int esum;
int ealt;
int yaus;
int y_max = 45;
int y_min = 0;
int esum_max = 700;

float y;
float i;
float d;
float Kp = 2.0;  //P
float Ki = 3.0;  //I
float Kd = 0.5;  //D
float Ta = 0.02;  //Abtast

void regler()  {
  
  if(soll_wert >= 10)  {
    if(soll_wert <= 350)  {
      e = soll_wert - ist_wert;
      e = abs(e);            
      esum = esum + e;
      if(esum > esum_max)  {
        esum = esum_max;
      }
      
      i = float(esum) * Ta;
      i = i * Ki;
      
      d = float(e) - float(ealt);
      d = d / Ta;
      d = d * Kd;      
      
      y = Kp * e;
      y = y + i;
      y = y + d;
      
      yaus = int(y);
      //Serial.println(y);
      ealt = e;
      
      if(yaus > y_max)  {
        yaus = y_max;
      }
      
      if(yaus < y_min)  {
        yaus = y_min;
      }
      
      if(ist_wert > soll_wert)  {
        digitalWrite(in_1, HIGH);  
        digitalWrite(in_2, LOW);
        analogWrite(pwm_pin, yaus);
      }
      
      if(ist_wert < soll_wert)  {
        digitalWrite(in_1, LOW);  
        digitalWrite(in_2, HIGH);
        analogWrite(pwm_pin, yaus);
      }
      
      if(ist_wert == soll_wert)  {
        digitalWrite(in_1, LOW);  
        digitalWrite(in_2, LOW);
        analogWrite(pwm_pin, 0);
        esum = 0;
        ealt = 0;
      }
      
    }
  }
  
  
  
}
Ich hoffe ihr versteht meine Frage und kennt eine Lösung
Der Einsteiger