Шаговый двигатель на драйвере L298N

Аналогично библиотеке stepper, не тормозит программу

Пользовательские блоки для управления шаговыми двигателями и сервоприводами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Шаговый двигатель на драйвере L298N

#1

Сообщение RedSky » 09.09.2018{, 13:46}

Блок управления шаговым двигателем по 4-м проводам (драйвер L298N и аналогичные). Не останавливает выполнение программы. Используется прерывание по таймеру1, поэтому не будет корректно работать ШИМ на выводах 9 и 10. Есть возможность работы в двух режимах: шаговый и полушаговый. Есть возможность удержания ротора при отсутствии движения (тормоз).
Работает таким образом: на входе steps задаётся количество шагов на которое необходимо выполнить вращение, на входе interval задаётся время в мс, через которое выполняются шаги. Для начала вращения на вход start подать короткий импульс (через Rtrigger) - будет произведено вращение на заданное количество шагов. Для постоянного вращения на вход start подавать единицу непрерывно. Для досрочной остановки на вход stop подать короткий импульс (через Rtrigger) - двигатель будет остановлен, счётчик шагов сброшен. После отработки заданного числа шагов на выходе end будет единица.
Параметры пользователя:
In1, 2, 3, 4 - номера пинов для соответствующих входов драйвера.
brake - удержание (тормоз) вкл/выкл.
mode - режим работы: 0 - шаговый; 1 - полушаговый.
Входы:
start - начать вращение (через Rtrigger).
stop - остановить вращение (через Rtrigger).
steps - задание на количество шагов.
interval - интервал между шагами, мс.
Выходы:
down - остаток шагов.
up - пройдено шагов.
end - вращение завершено (шаги закончились).
Библиотеки включены в блок, также есть отдельно в архиве.
Вложения
StepMotor.zip
(31.05 КБ) 466 скачиваний
Последний раз редактировалось RedSky 08.06.2023{, 15:35}, всего редактировалось 1 раз.

uzer
Рядовой
Сообщения: 91
Зарегистрирован: 30.06.2019{, 14:50}
Репутация: 0
Имя: igor

Шаговый двигатель на простом драйвере

#2

Сообщение uzer » 11.10.2019{, 11:31}

RedSky писал(а):
09.09.2018{, 13:46}
этот блок с управлением энкодера ? выложите пожалуйста схему подключения.
этот блок с управлением энкодера ? выложите пожалуйста схему подключения.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Шаговый двигатель на простом драйвере

#3

Сообщение RedSky » 11.10.2019{, 12:18}

uzer, энкодер здесь не причём. А схема подключения стандартная для этого драйвера.
Вложения
obzor-drayvera-motora-na-l298n-7.jpg

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Шаговый двигатель на простом драйвере

#4

Сообщение vfv » 02.03.2020{, 08:57}

Попробовал ваш блок - всё хорошо работает.
Можно ли к этому блоку как то прикрутить смену направления движения?

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Шаговый двигатель на простом драйвере

#5

Сообщение ingener » 02.03.2020{, 17:04}

RedSky, не планируется редакция блока под step/dir драйвер?
Понятно, что его и в таком виде можно применять, но слишком много пинов займет...

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Шаговый двигатель на простом драйвере

#6

Сообщение RedSky » 02.03.2020{, 17:45}

Был такой блок, точно помню, возможно на старом форуме. А этот переделывать нет смысла, тут библиотека именно под этот драйвер.
Главная проблема даже не с пинами - сильно падает момент при увеличении скорости. Можно поднять напряжение, но вырастет ток на малой скорости.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Шаговый двигатель на простом драйвере

#7

Сообщение vfv » 02.03.2020{, 18:19}

RedSky писал(а):
02.03.2020{, 17:45}
сильно падает момент при увеличении скорости
Вот меня всё устраивает в вашем блоке. Как раз скорость низкая. Всё таки, как сделать чтобы менять направление движения?

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Шаговый двигатель на простом драйвере

#8

Сообщение RedSky » 02.03.2020{, 18:42}

vfv писал(а):
02.03.2020{, 18:19}
как сделать чтобы менять направление движения?
Установить отрицательное на входе steps.


Блок для step/dir
Generator_2_V1.0b_(CODE).ubi
(272.73 КБ) 176 скачиваний
Будете делать на зелёных драйверах, имейте ввиду - умирают если отключить двигатель.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Шаговый двигатель на простом драйвере

#9

Сообщение vfv » 02.03.2020{, 18:57}

Драйвер к моему униполярному шаговому двигателю, я собрал сам:
Самодельный драйвер.jpg
Перепробовал много блоков для работы с ним, включая штатный. Но ваш блок , почему то работает с ним самое лучшее. Сейчас попробую и ваш блок для step/dir
Generator_2_V1.0b_(CODE).ubi.

Отправлено спустя 25 минут 4 секунды:
RedSky писал(а):
02.03.2020{, 18:42}
Блок для step/dir
Generator_2_V1.0b_(CODE).ubi
Этот блок для меня пока не нужен.
А вот:
RedSky писал(а):
02.03.2020{, 18:42}
Установить отрицательное на входе steps
Да, минус меняет направление. Теперь буду думать как программно менять минус плюс от концевиков.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Шаговый двигатель на простом драйвере

#10

Сообщение vfv » 03.03.2020{, 20:09}

RedSky писал(а):
02.03.2020{, 18:42}
vfv писал(а): ↑Вчера{, 18:19}
как сделать чтобы менять направление движения?
RedSky писал(а):
02.03.2020{, 18:42}
Установить отрицательное на входе steps.
А какое отрицательное значение на входе steps? -1
или как можно больше например -1000.
Я использую шаговый двигатель для непрерывного вращения и меняю только направление вращения концевиками. Т.е. установка количества шагов мне не нужно.
Однако попробовал подавать на вход steps для смены направления -1 и 1 . Да направление меняется,однако при установках 1 или -1 падает ток потребления и мощность. Если сделать -1000 и 1000 и более,то ток потребления возрастает, но увеличивается и мощность. Т.е. получается установка количества шагов влияет на мщность? А так всё работает хорошо, однако бывают редко случаи при включении двигателя с установкой в одну сторону, он как то кратко временно 1=2 шага дёргается в другую,а потом начинает правильное направление движения.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Шаговый двигатель на простом драйвере

#11

Сообщение RedSky » 03.03.2020{, 21:06}

Блок давно делал, для намоточного станка, непрерывное вращение кажется вообще не предполагалось. А станок так и не был запущен, проверялось на столе
А как вы при -1 и 1 добились непрерывного вращения?

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Шаговый двигатель на простом драйвере

#12

Сообщение vfv » 03.03.2020{, 21:16}

Так:
001.Станок намотки нити.flp
(313.94 КБ) 108 скачиваний
Кнопка Пуск ,если на неё второй раз нажать Стоп.
Сделал две установки скорости.
Станок я уже прямо сейчас собираю. Так , что если,что подскажите, будет совсем актуально.
Укладчик намотки нити.png

Аватара пользователя
leons
Сержант
Сообщения: 141
Зарегистрирован: 18.06.2017{, 17:07}
Репутация: 3

Шаговый двигатель на простом драйвере

#13

Сообщение leons » 03.03.2020{, 22:23}

Валерий а посмотрите мой проект под драйвер step/dir , очень подойдёт под ваши задачи , убрать лишнее и доделать поиск нуля ,
у вас на шаговике будет укладчик нитки ?
Вложения
проба.flp
(1.1 МБ) 104 скачивания

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Шаговый двигатель на простом драйвере

#14

Сообщение RedSky » 03.03.2020{, 22:51}

vfv, для станка проект написан, завтра выложу. Только он на LADе, в 6й версии нужно подправить.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Шаговый двигатель на простом драйвере

#15

Сообщение RedSky » 04.03.2020{, 11:15}

vfv, вот проект. Сделано только управление самой намоткой , без укладчика.
Вложения
ШД.zip
(71.99 КБ) 151 скачивание

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Шаговый двигатель на простом драйвере

#16

Сообщение vfv » 04.03.2020{, 12:35}

leons писал(а):
03.03.2020{, 22:23}
Валерий а посмотрите мой проект под драйвер step/dir
Уважаемый leons! Дело в том, что я использую униполярный шаговый двигатель 6 проводов. Другого у меня нет. Значит управление должно быть только step, к ардуино идут четыре провода.А ваш проект под драйвер step/dir.
RedSky писал(а):
04.03.2020{, 11:15}
RedSky » 58 минут назад
vfv, вот проект. Сделано только управление самой намоткой , без укладчика.
Алексей спасибо! Проект посмотрел. Но мне нужен укладчик (смена направления), а в проекте нет.
Вот, чтобы в блоках FLProg добавить к моему драйверу, схема пост #9, чтобы можно было управлять по step/dir. Ведь хороших блоков с step/dir на форуме выложено полно.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Шаговый двигатель на простом драйвере

#17

Сообщение RedSky » 04.03.2020{, 12:56}

Блоки те что step/dir только для драйверов типа https://3d-diy.ru/wiki/arduino-moduli/d ... lya-a4988/
Там принцип управления другой. Контроллеру не нужно вертеть фазы, та это делает сам драйвер. От контроллера нужно два сигнала. Первый: один импульс - один шаг. Второй - направление. Драйвер сам умеет дробить шаги до 1/32 и регулировать ток. Но подключение двигателя 4х проводное. Хотя возможно и ваш двигатель можно по 4м проводам подключить.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Шаговый двигатель на простом драйвере

#18

Сообщение vfv » 04.03.2020{, 13:27}

RedSky писал(а):
04.03.2020{, 12:56}
Хотя возможно и ваш двигатель можно по 4м проводам подключить.
Да понятно.
Вот у меня собранная рабочая схема:
Рабочая схема с этим двигателем.jpg
С неё, я драйвер прикрутил к ардуино. Так может оставить ещё микросхему с DD3.1 и DD3.2 , а потом к ардуино, и управление сгодится для step/dir. Или я опять, чего то не понимаю?

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Шаговый двигатель на простом драйвере

#19

Сообщение edyapd » 04.03.2020{, 14:44}

vfv писал(а):
04.03.2020{, 13:27}
Вот у меня собранная рабочая схема:

С неё, я драйвер прикрутил к ардуино
Так вы бы сразу нарисовали ту схему, которую прикручиваете к ардуино. Зачем кому-то надо додумывать, как вы это будете делать?

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Шаговый двигатель на простом драйвере

#20

Сообщение vfv » 04.03.2020{, 15:14}

Всё верно! Нарисованную мной схему (она рабочая), оставив только драйвер и униполярник 6 концов, сделать на ардуино.

Ответить

Вернуться в «Управление шаговыми двигателями и сервоприводами»