Current input замени на motor3 или analogwrite(var).
Сейчас получается, что Current input=5, т.е. всегда меньше, чем любое значение var_n. Поэтому постоянно выполняется if (CurrentInput<var_n+DeltaConst) и, соответственно, digitalWrite(m3_r,HIGH);