Как остановить шаговый мотор в одном положение

Доброго времени суток.
У меня проблема в остановке шагового двигателя, на начальном точке (если это возможно) .
Еще одна проблема в том что мотор останавливается на секунду, потом делает шаг вперед и назад. Как исправить баг не знаю но попробовал разные варианты.

В проекте использую комплектующие:
Шаговый драйвер DMA860H,
Arduino mega 2560,
Потенциометр 1Ком.

Вот код:

#include <Stepper.h>
#include <EEPROM.h>
//potensiometr a10
//DIR(-) 7
//PULL(-) 8

#define STEPS 1920
#define DIFF 80
#define SPEED 150
#define MULT 35

Stepper stepper(STEPS, 7, 8);

int address = 0;
int prev = 0;
int val = 0;
boolean initHeader = true;

void setup() {
  while (address < EEPROM.length()) {
    EEPROM.update(address, 0);
    address++;
  }
  stepper.setSpeed(SPEED);
  Serial.begin(9600);
  int buttonState = digitalRead(6);
  if (buttonState == 0) {
    initHeader = true;
  }
}

void loop() {
  val = analogRead(10);

  if (val - prev >= DIFF) {
    stepper.step((val - prev) * MULT);
    prev = val;
  }

  if (prev - val >= DIFF) {
    stepper.step((val - prev) * MULT);
    prev = val;
  }

  int buttonState = digitalRead(6);

  if (buttonState == 0 && initHeader) {
    stepper.step(0);
  } else {
    initHeader = false;
  }
  Serial.println(buttonState);
}

Рекомендую вывести в монитор порта значение переменной val.

Спасибо, теперь работает нормально)))