Enviolo (Nuvinci) + Arduino für Rollstuhl

Deine Qualitätsabteilung meldet sich noch mal.

Durch M_Stop(); wird während der Bewegung ein 65 µs Bremsimpuls erzeugt, der möglicherweise Deiner Mechanik schadet.

Oben Brake und unten PWM.

Besser so:

    if (druckPosition > (Counter + 1) && Counter < positionM[1]) {
      P = 1;
      if (millis() - m_Millis >= 1000) {//Pause, um M_Hoch auslaufen zu lassen
        dir = 1;
        M_Runter();//Druck läßt nach
        m_MillisH = millis();
      } else {
        M_Stop();
      }
    }
    else if (druckPosition < (Counter - 1) && Counter > positionM[0] ) {
      P = 2;
      if (millis() - m_MillisH >= 1000) {//Pause, um M_Runter auslaufen zu lassen
        dir = 0;
        M_Hoch();//Druck steigt
        m_Millis = millis();
      } else {
        M_Stop();
      }
    }
    else {
      m_Millis = millis();
      m_MillisH = millis();
      M_Stop();
      P = 3;
    }

Oder?