Шаговый двигатель + Arduino UNO + драйвер А4988
- Войдите на сайт для отправки комментариев
Пнд, 08/04/2019 - 10:43
Здравствуйте. Подскажите пожалуйста, как решить проблему с шаговым двигателем, которая возникает при загрузке скетча на плату. А именно, чтобы при загрузке скетча двигатель не совершал несколько шагов одну или другой сторону.
Правильно подключить и написать правильный скетч.
Вашей схемы подключения и Вашего скетча мы пока не видели, поэтому большего сказать невозможно.
Прикрепляю скетч, подключение согласно схеме
<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 < 1; i++){ motorStep(); delay(4000); } } void loop(){ //step forward 2 steps stepperFWD(); for(int i = 0; i < 2; i++){ motorStep(); delay(1); } //step backwards 2 steps stepperREV(); for(int i = 0; i < 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>Не используйте для stepPin и dirPin выводы SPI (D9, D10, D12, D13).
1. Либо уйдите с пинов 12 и 13 (но это Вам уже сказали)
2. Либо используйте пин ENABLE драйвера, чтобы пока Вы не включите драйвер явно, он был неактивен.