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

Пользовательские блоки для управления шаговыми двигателями и сервоприводами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]viktorz1[/ref], Проект приложи к своему сообщению выше
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Revenger
Рядовой
Сообщения: 21
Зарегистрирован: 04 фев 2016, 02:22
Откуда: Ставрополь
Контактная информация:

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

Сообщение Revenger »

Ни у кого небыло такого, как у меня viewtopic.php?t=5919&start=120#p94398 ? (При кратковременном нажатии кнопки для движения на заданное кол-во шагов с ускорением мотор движется еле-еле, не набирает скорость).
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]viktorz1[/ref], Установи параметры MaxSpeed и Acceleration. Это обязательные параметры...

Отправлено спустя 2 минуты 31 секунду:
[ref]Revenger[/ref], Установленную Вами максимальную скорость ардуинка не потянет, вход EnSteps обязательно использовать через Rtrig, в описании это написано
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Revenger
Рядовой
Сообщения: 21
Зарегистрирован: 04 фев 2016, 02:22
Откуда: Ставрополь
Контактная информация:

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

Сообщение Revenger »

AlexCrane писал(а): 08 окт 2020, 21:34 использовать через Rtrig
а нажатием кнопки (не отпуская, пока держу) оно будет работать? Просто со стола убрал макетку, прям сейчас проверить не могу :smile37:
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]Revenger[/ref], Нет, RTrig не пропустит, можно реализовать как на 3Д принтерах, тыкать кнопку и ехать по 1 мм к примеру.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
viktorz1
Рядовой
Сообщения: 11
Зарегистрирован: 24 сен 2020, 00:08
Имя: Виктор

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

Сообщение viktorz1 »

AlexCrane писал(а): 08 окт 2020, 21:34 [ref]viktorz1[/ref], Установи параметры MaxSpeed и Acceleration. Это обязательные параметры...
Спасибо большое. Вот я лапухнулся. Пробы с одним блоком параметры то я проставил, а для двух совсем упустил. Скорость почти вытягивает, только не с места конечно
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

Многие воспользовались данным блоком, прошу, кому не жалко скинуть в ЛС примеры с кратким описанием, выложу во втором посту примеры для новичков для изучения и повторения.

Просто вот уже десять месяцев никак не могу разобрать макетку с ШД...... :shok:

Спасибо
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение CraCk »

AlexCrane писал(а): 07 окт 2020, 09:52 Пример:
ШД как серва.flp
(248.49 КБ) 12 скачиваний
Как пример без поиска концевика, как искать концевик было полно примеров
На какие пины нужно подключить мотор 28byj-48? У меня на моторе IN1,IN2,IN3,IN4 в блоке A1,B1,A2,B2. Подключил так
[spoiler]
in.jpg
[/spoiler]
Еще пожалуйста вложите в блоки актуальные версии библиотек на которых у вас делалась отладка. А то могут новые версии либ с кодом потом конфликтировать.
[spoiler]
Снимок.JPG
[/spoiler]
Какие то версии библиотек напихал вручную но пока не работает (мотор молчит). Буду еще разбираться, пока бегу на роботу.
Конфигурация пока такая:
[spoiler]
Снимок2.JPG
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Revenger
Рядовой
Сообщения: 21
Зарегистрирован: 04 фев 2016, 02:22
Откуда: Ставрополь
Контактная информация:

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

Сообщение Revenger »

AlexCrane писал(а): 08 окт 2020, 22:04 Нет, RTrig не пропустит
да, проверил - не получается. А нужно или "подгонять по мм" или ехать пока "давлю" кнопку.
AlexCrane писал(а): 08 окт 2020, 22:04 можно реализовать как на 3Д принтерах
ну это энкодером? У меня на марлине принтер, там от 1 до 10мм "цену деления" нужно задавать, потом уже крутим/едем, а кнопкой как бы... на энкодер у меня ума не хватит пока наверное. Да и всё же техника "кондовая", металл, сварка, вряд ли "нежная" начинка в виде энкодеров/дисплеев проживёт долго. Хотя и не жалко проэкспериментировать.

Отправлено спустя 3 минуты 1 секунду:
CraCk писал(а): 09 окт 2020, 22:22 У меня на моторе IN1,IN2,IN3,IN4
попробуйте поменять местами ин2-ин4, там вроде "перекрёстно" коннектится, но могу ошибаться, давно этот моторчик подключал :smile37:
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]CraCk[/ref], Библиотека для DUE случайно туда затесалась как-то...
Исправил
ШД как серва_испр.flp
Библиотеки положил в первый пост.
Шагового такого нет, просто поставил как допускает библиотека. Тестирование за Вами.

Схема подключения
28byj-48_ULN.jpg
Хотя это может только мои предположения нужны тесты......
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]Revenger[/ref], Вот набросал примерчик на скорую руку, не проверял
Тест ШД пилорама.flp
1. Сначала нужно запустить поиск концевика (пока вручную)
2. При сработке концевика обнулятся шаги
3. При нажатии кнопок вверх/вниз будем двигать ШД по 1мм (сколько шагов на мм нужно задать) используя текущее ускорение, двигаться будет импульсами
4. При нажатии кнопки Установка 25мм ШД отмотает в 25мм
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
viktorz1
Рядовой
Сообщения: 11
Зарегистрирован: 24 сен 2020, 00:08
Имя: Виктор

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

Сообщение viktorz1 »

А можно в процессе работы блока менять значение MaxSpeed? Извиняйте если уже об этом было сказано, мозги кипят, всё в кучу смешалось, одно вошло, другое вылетело. Мне нужно для отладки станочка запускать его на маленькой скорости и если всё нормально то увеличить обороты.
И второй вопрос немного не по теме, но может всё же кто и подскажет идею. Суть в том, что есть два мотора, один навивает провод, второй протягивает уже навитый жгут. Проблема в согласовании скоростей моторов. Сначала думал, что ерунда, подгоню методом тыка, но как то это неправильно. Вторая проблема, это последующее ускорение навивки с сохранением коэффициента разности скоростей обоих моторов.
Буду признателен за подсказку.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]viktorz1[/ref], Если бы нарисовали свою механику, думаю местные гуру помогут... а то и предложат лучший вариант.
viktorz1 писал(а): 10 окт 2020, 19:06 А можно в процессе работы блока менять значение MaxSpeed
Если честно, то не пробовал. А что мешает Вам попробовать и отписаться!
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
leons
Сержант
Сообщения: 141
Зарегистрирован: 18 июн 2017, 17:07

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

Сообщение leons »

viktorz1 писал(а): 10 окт 2020, 19:06 А можно в процессе работы блока менять значение MaxSpeed?
можно
viktorz1
Рядовой
Сообщения: 11
Зарегистрирован: 24 сен 2020, 00:08
Имя: Виктор

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

Сообщение viktorz1 »

AlexCrane писал(а): 10 окт 2020, 20:19 Если честно, то не пробовал. А что мешает Вам попробовать и отписаться!
Да, действительно. В общем работает, можно менять значения в процессе работы, но ускорение мешается. Если повысить значение ускорения, то старт получается более резким и теряется смысл в такой регулировке. Но в каком нибудь проекте как вариант вполне приемлем.
А по поводу механики станочка, так там всё предельно просто. Мотор крутит шайбу на которой установлены катушки с проводом выведенным через центральное отверстие. При вращении провода скручиваются по спирали (типа тросика). Второй мотор наматывает уже готовый жгут на катушку.
Аватара пользователя
leons
Сержант
Сообщения: 141
Зарегистрирован: 18 июн 2017, 17:07

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

Сообщение leons »

viktorz1 писал(а): 10 окт 2020, 19:06 Буду признателен за подсказку.
посмотрите мой проект в шапке темы Примеры предоставленные участниками форума: там работа одного мотора вправо пауза в лево и так по кругу пока не остановиш подойдёт для укладчика вдоль катушки , вам нужно только добавить блок для намотки провода
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

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

Сообщение ingener »

[ref]AlexCrane[/ref],
Данные блоки управления ШД являются. по-видимому. наиболее функционально полными и законченными.
Только один вопрос - ограниченная частота - не более 4кГц. Приходится использовать делитель 1/1 или 1/2 на драйверах. что приводит к шумной работе моторов.
Возможно ли в качестве опции сделать выход сигнала step с блока в виде меандра? Тогда можно будет добавить несложную внешнюю схемку удвоения частоты (формирующую импульс и по фронту. и по спаду входного сигнала).
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]ingener[/ref], На DUE можно получить 16000 шагов в секунду при использовании ускорений и 40000 ш/с при простом вращении... На расчеты ускорений требуются ресурсы...

[ref]viktorz1[/ref], Попробуйте на ходу вместе со значением MaxSpeed поменять и значение Acceleration...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
viktorz1
Рядовой
Сообщения: 11
Зарегистрирован: 24 сен 2020, 00:08
Имя: Виктор

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

Сообщение viktorz1 »

AlexCrane писал(а): 11 окт 2020, 19:37 [ref]viktorz1[/ref], Попробуйте на ходу вместе со значением MaxSpeed поменять и значение Acceleration...
Как вариант можно наверное при регулировке MaxSpeed переключать константу Acceleration на максимальную. Думаю будет работать. Позже проверю. А можно как то в вашем блоке задать бесконечные шаги?
Свой проект я в принципе уже закончил, на макетке всё отрабатывает. Осталось закончить механику и обкатать уже в сборе. Единственное, что осталось, так это победить энкодер. Блоки которые нашёл на форуме, все пропускают шаги, к тому же всем нужны пины прерывания, а они заняты шильдой драйверов. Ну или энкодеры у меня сильно китайские :) Наверное придётся свою плату рисовать и разводить уже с учётом пинов для энкодера.
В любом случае спасибо за подсказки и участие. Я ещё на шаг продвинулся в использовании FLProg и созданию своих девайсов.
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

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

Сообщение ingener »

AlexCrane писал(а): 11 окт 2020, 19:37 [ref]ingener[/ref], На DUE можно получить 16000 шагов в секунду при использовании ускорений и 40000 ш/с при простом вращении... На расчеты ускорений требуются ресурсы...
купил DUE но что-то ругается.....
Arduino: 1.8.11 (Windows 10), Плата:"Arduino Due (Programming Port)"

ПРЕДУПРЕЖДЕНИЕ: библиотека TimerOne должна запускаться на архитектурах avr и может быть несовместима с вашей платой на архитектуре sam.
C:\Users\AND\AppData\Local\Temp\flprog\pr2\pr2.ino: In function 'void setup()':

pr2:34:8: error: 'class TimerOne' has no member named 'initialize'
Timer1.initialize( 100 ); // инициализация таймера 1,
pr2:35:8: error: 'class TimerOne' has no member named 'attachInterrupt'
Timer1.attachInterrupt ( timerInterrupt, 100 ); // задаем обработчик прерываний

нашел библиотеку DUE Timer master, может быть, надо ее применить? Но как заменить ее в блоках ШД? :shok:
https://github.com/ivanseidel/DueTimer

^
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей