L298 с stepper.h отключить остановку

stepper l298n

Я пытаюсь управлять шаговым двигателем с помощью arduino и L298. Я использую библиотеку stepper.h, и она работает хорошо, но у меня есть проблема: L298 сильно нагревается. Поэтому я хочу отключить прерывание (то, что мы не можем вращать двигатель вручную), но я не знаю, как это сделать. У вас есть идея? Мой код прост:

#include <Stepper.h>

const int stepsPerRevolution = 200;  // измените это, чтобы соответствовать количеству шагов на оборот
// для вашего двигателя

// инициализируем библиотеку шагового двигателя на контактах 8–11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // устанавливаем скорость 60 об/мин:
  myStepper.setSpeed(60);
  // инициализируем последовательный порт:
  Serial.begin(9600);
}

void loop() {
  // шаг один оборот в одном направлении:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // шаг на один оборот в другом направлении:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

Я взял это отсюда: https://coeleveld.com/arduino-stepper-l298n/

Спасибо!

, 👍0


1 ответ


Лучший ответ:

0

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

Ничто не мешает вам просто перевести те же самые контакты ввода-вывода в другое состояние — библиотеке все равно.

void sleepStepper() {
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
}

Это фактически установит каждый порт L298 на НИЗКИЙ уровень, что эквивалентно режиму «торможения» на обычном двигателе постоянного тока или «отсутствию активного движения» на шаговом двигателе (неидеальный свободный ход, все еще есть некоторое торможение обратным ходом).

Другой вариант — подключить вывод(ы) EN вашего чипа L298 к GPIO и использовать его для включения и выключения всей системы. Это отключит драйверы от двигателя и даст вам еще меньшее сопротивление движению, чем метод «все низкие» выше.

,