diff --git a/feeder.ino b/feeder.ino index 7e037c5..a35c034 100644 --- a/feeder.ino +++ b/feeder.ino @@ -15,16 +15,12 @@ bgp, 2023 #define SLEEP 9 // d9 пока не работаем - двигатель спит #define RELAY 10 // d10 ключ для отключения терминала и двигателя в ночное время #define BTN_PIN2 11 // кнопка настройки -// 773 - шаги на один полный круг -// 3 - количество выемок в одном круге -// 258 = 773/3 -#define STEPS_FRW 258 // шаги вперёд -#define STEPS_BKW 0 // шаги назад #define STEPPER_SPEED 10 * 21 #define STEPPER_REV 200 * 4 #define STEPPER_DELAY 1000 #define GROOVE_COUNT 3 +#define GEAR 4 // ========================================================= #include @@ -217,7 +213,7 @@ void feed() digitalWrite(SLEEP, HIGH); delayMicroseconds(STEPPER_DELAY); for (int i = 0; i < feedAmount; i++) - myStepper.step(STEPPER_REV / GROOVE_COUNT); + myStepper.step((STEPPER_REV * 1/GEAR) / GROOVE_COUNT); delayMicroseconds(STEPPER_DELAY); // oneRev(); disableMotor(); @@ -237,28 +233,3 @@ void disableMotor() { digitalWrite(SLEEP, LOW); } - -// вращение -void runMotor() -{ - digitalWrite(SLEEP, HIGH); // Включаем мотор - digitalWrite(STEPPIN, HIGH); // по часовой - delayMicroseconds(FEED_SPEED); - digitalWrite(STEPPIN, LOW); // против часовой - delayMicroseconds(FEED_SPEED); -} - -// вращение двигателя в виброрежиме, для непопущения заклинивания -void oneRev() -{ - for (int i = 0; i < STEPS_BKW; i++) - { - digitalWrite(DIRPIN, HIGH); // low обратное вращение - runMotor(); - } - for (int i = 0; i < STEPS_FRW; i++) - { - digitalWrite(DIRPIN, LOW); - runMotor(); - } -}