Шаговый двигатель + Arduino UNO + драйвер А4988

timoxazh
Offline
Зарегистрирован: 08.04.2019

Здравствуйте. Подскажите пожалуйста, как решить проблему с шаговым двигателем, которая возникает при загрузке скетча на плату. А именно, чтобы при загрузке скетча двигатель не совершал несколько шагов одну или другой сторону.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Правильно подключить и написать правильный скетч.

Вашей схемы подключения и Вашего скетча мы пока не видели, поэтому большего сказать невозможно.

timoxazh
Offline
Зарегистрирован: 08.04.2019

Прикрепляю скетч, подключение согласно схеме

<pre class="brush:arduino;">




const int stepPin = 13;   //pin to pulse for steps
const int dirPin = 12;    //pin to change step direction

void setup(){

  //set pins as outputs
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
stepperREV ();
  for(int i = 0; i &lt; 1; i++){
    motorStep();
    delay(4000);
  }
 
}

void loop(){

 //step forward 2 steps
  stepperFWD();
  for(int i = 0; i &lt; 2; i++){
    motorStep();
     delay(1);
  }


//step backwards 2 steps
  stepperREV();
  for(int i = 0; i &lt; 2; i++){
    motorStep();
     delay(1);
  }

}

//change the stepper direction to forward
void stepperFWD(){
  digitalWrite(dirPin, HIGH);
}

//change the stepper direction to reverse
void stepperREV(){
  digitalWrite(dirPin, LOW);

}

//have the stepper motor take one step
void motorStep(){
  digitalWrite(stepPin, HIGH);
  delay(1);
  digitalWrite(stepPin, LOW);
}</pre>

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Не используйте для stepPin и dirPin выводы SPI (D9, D10, D12, D13).

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

1. Либо уйдите с пинов 12 и 13 (но это Вам уже сказали)

2. Либо используйте пин ENABLE драйвера, чтобы пока Вы не включите драйвер явно, он был неактивен.