Код шагового двигателя. Задержка или Миллис
Я буду проектировать робота с несколькими шаговыми двигателями. целесообразно ли использовать здесь миллис вместо задержки или нет? прямо сейчас я проверяю, будет ли работать Millis(), но мне все еще трудно это программировать.
@Julius Noel Banayo, 👍-1
Обсуждение1 ответ
Функция Arduino delay(), которая приостанавливает выполнение программы на количество миллисекунд, указанное в качестве параметра.
millis(), с другой стороны, — это функция, которая возвращает количество миллисекунд, прошедших с момента запуска программы.
Точно так же, как у delay() есть микросекундная версия, называемая delayMicroseconds(), у millis() есть micros(). Если вам нужно лучшее разрешение, вам может подойти micros().
Однако имейте в виду, что micros() переполнится примерно через 70 минут по сравнению с 50 днями для millis(). Это означает, что возвращаемые значения функций будут начинаться с нуля.
- Accelstepper запустить степпер назад
- Как заставить шаговый двигатель вращаться по часовой стрелке и против часовой стрелки
- Управление направлением шагового двигателя с помощью кнопок.
- Разгон шагового двигателя
- Использование кнопки для поворота шагового двигателя на 90 градусов.
- Изменение ШИМ на Arduino Mega, контакты 9 и 10 на 20–25 кГц
- Установить низкий уровень мощности или включить контакт драйвера шагового двигателя, чтобы шаговый двигатель не нагревался.
- Шаговый двигатель не работает с платой A4988
Зависит от того, что вам нужно сделать.
delay
— это блокирующий вызов, а если вы используетеmillis
, вы можете делать другие вещи между проверками на время. Это может быть не важно, если вы используете многоядерный Arduino, или это может означать разницу между отзывчивостью и медлительностью., @Ron BeyerЭто плохой способ управления шаговым двигателем, который требует ускорения, ограничения скорости и замедления до целевого положения. Получите защитный экран с ЧПУ и мост драйвера FET и сделайте это правильно с помощью панели GRBL, программного обеспечения для интерфейса Uno uC на USB, @Tony Stewart Sunnyskyguy EE75
Я использую шаговые импульсы 10 мкс, используя Arduino + CNC Shield + GRBL PANEL s/w через Windows через USB и получаю отличные скорости сервопривода, кнопку «Домой» (автокалибровка), кнопки Jog с настроенными g, v, максимальными константами и оптимальными шагами. Бит-бэнг — это так архаично., @Tony Stewart Sunnyskyguy EE75