Греется шаговый двигатель и садятся батарейки
- Войдите на сайт для отправки комментариев
Коллеги, помогите!
Arduino Nano, двигатель 28BYJ-48, программа сейчас самая простая - на срабатывание датчика расстояния вызывается функция myStepper на несколько десятков шагов, поворачивая рулевой механизм из детского конструктора (делаем с сыном машинку-робота, которая объезжает препятствия:)).
Проблема в том, что после начала работы двигатель через некоторое время горячий, а батарея садится.
Я думаю, что после выполнения myStepper ток на двигатель не прекращает подаваться, чтобы двигатель "держал момент". хотя для моей задачи это не нужно, а при работе от батареи - и вовсе вредно.
Если я прав, то что мне сделать с программой, чтобы после окончания "поворота руля" ток переставал подаваться? Может, более продвинутые процедуры есть для ШД, или myStepper переписать придется?
Если же я не прав, то что это такое может быть?
Наверняка ведь кто-то уже с чем-то подобным сталкивался...
Это штатный режим работы шагового двигателя и нормальный режим работы библиотеки.
Если Вам нужно что-то нестандартное, оптимальный способ - написать свою библиотеку, которая делает то, что Вам нужно.
Динозаур несомненно прав в том, что стоковая библиотека степпера не слишком оптимальна и подлежит переписыванию. Однако, для данного случая можно применить грязный хак: подать во все управляющие мотором пины LOW. Тогда ULN2003 снимет напряжение с обмоток двигателя. При необходимости продолжить движение никаких дополнительных действий предпринимать не требуется - библиотека сама начнет ставить ноги в нужное положение.
Или же можете поподбирать другие библиотеки - их несколько.
Что за код? - ХЗ!
Что за библиотека? - ХЗ!
Что за схема подключения? - ХЗ!
Как решать проблему? - ХЗ3!
Что за код? - ХЗ!
Что за библиотека? - ХЗ!
Что за схема подключения? - ХЗ!
Как решать проблему? - ХЗ3!
Евгений, ну как же так? Правильно вот так Х327
Всем спасибо за помощь, особенно sadman41 - именно по его совету я и сделал для начала - после каждого срабатывания процедуры myStepper программа устанавливает на всех 4 пинах, к которым подключен драйвер, уровень LOW. После этого леды на драйвере перестали гореть все время (раньше 2 горело), то есть ток в режиме покоя после "поворота" не подается. Двигатель перестал греться, батарея перестала разряжаться. Теперь я могу отлаживать программу.
После того, как разберусь с простейшим вариантом, буду делать свою функцию для управления драйвером. Или, может быть, сначала попробовать что-то готовое? Какие еще библиотечные функции для управления ШД написаны для Nano?
To ЕвгенийП: Зачем мне присылать код, схему подключения и ссылку на библиотеку, когда умный человек по моему описанию и так все понял и дал совет, благодаря которому я проблему решил? - ХЗ! Зачем Вы писали свой ответ мне? - ХЗ! Но все равно спасибо, повеселили, да и аватарка соответствующая, прикольная:) Теперь буду объяснять сыну разные расшифровки ХЗ, уместные в зависимости от ситуации и окружения...
Это вы зря так. Если бы вам никто не помог, то с высокой степенью вероятности именно ЕвгенийП полез бы в эту библиотеку и посмотрел, что там делается, да посоветовал что-нибудь эдакое. Но он не может знать весь ассортимент алиэкспресса и все способы работы с девайсами, которые там продаются.
Вам же просто повезло - у меня в коробке лежит комплект с таким движком и драйвером, а так, как я ингогда сталкиваюсь с необходимостью тыркать переферию напрямую, а не через библиотеки, то и знаю, что творится внутри стоковой Stepper.h и как ей вправить мозги. Но это, повторюсь - ваше везение.
sadman41, видимо, Вы знаете Евгения П, а я нет. К тому же я всегда стараюсь шуткой снять напряжение, ну а если это у меня получается не очень - что же, мне тоже придется обзавестись соответствующим аватаром:)
мне тоже придется обзавестись соответствующим аватаром:)
Хорошая идея! У меня так несколько, я их под настроение меняю. Старожилы уже их все узнают :)))
Евгений, эт, поаккуратней, персонажи уже собираются: