Страница 8 из 16

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

Добавлено: 08 окт 2020, 06:38
AlexCrane
[ref]viktorz1[/ref], Проект приложи к своему сообщению выше

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

Добавлено: 08 окт 2020, 21:27
Revenger
Ни у кого небыло такого, как у меня viewtopic.php?t=5919&start=120#p94398 ? (При кратковременном нажатии кнопки для движения на заданное кол-во шагов с ускорением мотор движется еле-еле, не набирает скорость).

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

Добавлено: 08 окт 2020, 21:34
AlexCrane
[ref]viktorz1[/ref], Установи параметры MaxSpeed и Acceleration. Это обязательные параметры...

Отправлено спустя 2 минуты 31 секунду:
[ref]Revenger[/ref], Установленную Вами максимальную скорость ардуинка не потянет, вход EnSteps обязательно использовать через Rtrig, в описании это написано

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

Добавлено: 08 окт 2020, 21:47
Revenger
AlexCrane писал(а): 08 окт 2020, 21:34 использовать через Rtrig
а нажатием кнопки (не отпуская, пока держу) оно будет работать? Просто со стола убрал макетку, прям сейчас проверить не могу :smile37:

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

Добавлено: 08 окт 2020, 22:04
AlexCrane
[ref]Revenger[/ref], Нет, RTrig не пропустит, можно реализовать как на 3Д принтерах, тыкать кнопку и ехать по 1 мм к примеру.

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

Добавлено: 08 окт 2020, 22:28
viktorz1
AlexCrane писал(а): 08 окт 2020, 21:34 [ref]viktorz1[/ref], Установи параметры MaxSpeed и Acceleration. Это обязательные параметры...
Спасибо большое. Вот я лапухнулся. Пробы с одним блоком параметры то я проставил, а для двух совсем упустил. Скорость почти вытягивает, только не с места конечно

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

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

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

Спасибо

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

Добавлено: 09 окт 2020, 22:22
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]

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

Добавлено: 09 окт 2020, 23:01
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:

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

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

Схема подключения
28byj-48_ULN.jpg
Хотя это может только мои предположения нужны тесты......

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

Добавлено: 10 окт 2020, 10:09
AlexCrane
[ref]Revenger[/ref], Вот набросал примерчик на скорую руку, не проверял
Тест ШД пилорама.flp
1. Сначала нужно запустить поиск концевика (пока вручную)
2. При сработке концевика обнулятся шаги
3. При нажатии кнопок вверх/вниз будем двигать ШД по 1мм (сколько шагов на мм нужно задать) используя текущее ускорение, двигаться будет импульсами
4. При нажатии кнопки Установка 25мм ШД отмотает в 25мм

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

Добавлено: 10 окт 2020, 19:06
viktorz1
А можно в процессе работы блока менять значение MaxSpeed? Извиняйте если уже об этом было сказано, мозги кипят, всё в кучу смешалось, одно вошло, другое вылетело. Мне нужно для отладки станочка запускать его на маленькой скорости и если всё нормально то увеличить обороты.
И второй вопрос немного не по теме, но может всё же кто и подскажет идею. Суть в том, что есть два мотора, один навивает провод, второй протягивает уже навитый жгут. Проблема в согласовании скоростей моторов. Сначала думал, что ерунда, подгоню методом тыка, но как то это неправильно. Вторая проблема, это последующее ускорение навивки с сохранением коэффициента разности скоростей обоих моторов.
Буду признателен за подсказку.

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

Добавлено: 10 окт 2020, 20:19
AlexCrane
[ref]viktorz1[/ref], Если бы нарисовали свою механику, думаю местные гуру помогут... а то и предложат лучший вариант.
viktorz1 писал(а): 10 окт 2020, 19:06 А можно в процессе работы блока менять значение MaxSpeed
Если честно, то не пробовал. А что мешает Вам попробовать и отписаться!

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

Добавлено: 10 окт 2020, 22:36
leons
viktorz1 писал(а): 10 окт 2020, 19:06 А можно в процессе работы блока менять значение MaxSpeed?
можно

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

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

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

Добавлено: 10 окт 2020, 22:41
leons
viktorz1 писал(а): 10 окт 2020, 19:06 Буду признателен за подсказку.
посмотрите мой проект в шапке темы Примеры предоставленные участниками форума: там работа одного мотора вправо пауза в лево и так по кругу пока не остановиш подойдёт для укладчика вдоль катушки , вам нужно только добавить блок для намотки провода

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

Добавлено: 11 окт 2020, 01:18
ingener
[ref]AlexCrane[/ref],
Данные блоки управления ШД являются. по-видимому. наиболее функционально полными и законченными.
Только один вопрос - ограниченная частота - не более 4кГц. Приходится использовать делитель 1/1 или 1/2 на драйверах. что приводит к шумной работе моторов.
Возможно ли в качестве опции сделать выход сигнала step с блока в виде меандра? Тогда можно будет добавить несложную внешнюю схемку удвоения частоты (формирующую импульс и по фронту. и по спаду входного сигнала).

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

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

[ref]viktorz1[/ref], Попробуйте на ходу вместе со значением MaxSpeed поменять и значение Acceleration...

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

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

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

Добавлено: 14 окт 2020, 14:55
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

^