Библиотека GyverStepper

управление шаговыми моторами

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

Библиотека GyverStepper

#1

Сообщение ingener » 21.10.2020{, 00:04}

на сайте автора описание с примерами
https://alexgyver.ru/gyverstepper/
сама библиотека
https://github.com/AlexGyver/GyverLibs/ ... verStepper
В описании указана скорость работы до 30000 шагов в сек. причем для обычных Ардуин
звучит заманчиво...
Никто не пробовал блок сделать?
(советы сделать самому ценны. но не имеют пока смысла вследствие начального уровня в данной теме) :smile37:

texbez
Лейтенант
Сообщения: 355
Зарегистрирован: 20.11.2016{, 19:57}
Репутация: 9
Откуда: Ростов на дону

Библиотека GyverStepper

#2

Сообщение texbez » 21.10.2020{, 21:53}

av писал(а):
21.10.2020{, 11:58}
ingener писал(а):
21.10.2020{, 00:04}
В описании указана скорость работы до 30000 шагов в сек. причем для обычных Ардуин
звучит заманчиво...
Такая скорость достижима если в коде программы не будет задержек.
Ну так Алекс об этом и пишит,что он в своих библиотеках не использует задержки.Вообще если бы я умел бы делать блоки многое что взял бы у этого автора,толковый программист.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Библиотека GyverStepper

#3

Сообщение Ingwar » 21.10.2020{, 22:16}

texbez писал(а):
21.10.2020{, 21:53}
.Вообще если бы я умел бы делать
Ну все в Ваших руках...
texbez писал(а):
21.10.2020{, 21:53}
что он в своих библиотеках не использует задержки
Начните с изучения материалов - как исполняется программа на микроконтроллере.
У вас наверное в программе не предусмотрено вообще ничего, тупо выдавать шаги на драйвер. Без ускорений, замедлений, вывода/ввода информации и прочего управления. Сорри - сарказм.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

texbez
Лейтенант
Сообщения: 355
Зарегистрирован: 20.11.2016{, 19:57}
Репутация: 9
Откуда: Ростов на дону

Библиотека GyverStepper

#4

Сообщение texbez » 21.10.2020{, 22:30}

Ingwar писал(а):
21.10.2020{, 22:16}
У вас наверное в программе не предусмотрено вообще ничего, тупо выдавать шаги на драйвер. Без ускорений, замедлений,
......У меня в программе? :( Вообще прежде чем выказывать "Сарказм" рекомендую внимательно ознакомиться с постом....А про Алекса сказал потому что знаком с его техническим " творчеством".

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Библиотека GyverStepper

#5

Сообщение Ingwar » 21.10.2020{, 22:41}

texbez писал(а):
21.10.2020{, 22:30}
Вообще прежде чем выказывать "Сарказм" рекомендую внимательно ознакомиться с постом
Хорошо...
Не буду расписывать, что я имел ввиду. Если Вас задел мой пост - прошу прощения. Пусть каждый останется при своем мнении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

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

Библиотека GyverStepper

#6

Сообщение ingener » 21.10.2020{, 23:11}

Пробую делать блок. через пень колода. пытаюсь брать за пример блоки AlexCrane, в общем пока получилось только сделать блок с двумя входами - скорость и ускорение. Не могу разобраться. как вывести наружу дистанцию (val) и вход запуска (старт движения).
На данном этапе блок стартует сразу при включении и проходит кол-во шагов "val" с ускорением и торможением. :smile37:
Вложения
Step_G_1_(CODE).ubi
(2.03 МБ) 49 скачиваний
int1.PNG
int1.PNG (14.97 КБ) 1146 просмотров

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Библиотека GyverStepper

#7

Сообщение Ingwar » 21.10.2020{, 23:33}

ingener писал(а):
21.10.2020{, 00:04}
В описании указана скорость работы до 30000 шагов в сек. причем для обычных Ардуин
звучит заманчиво...
СпойлерПоказать
Безымянный.png
ingener писал(а):
21.10.2020{, 23:11}
как вывести наружу дистанцию (val)
Добавьте строку, где присваиваете выходу эту переменную. Если имя переменной в теле программы не может быть изменено - поставьте галочку "использовать в проекте 1 раз"
ingener писал(а):
21.10.2020{, 23:11}
вход запуска (старт движения).
В секции loop
if ( имя входа )
{
тут код, который должен выполнятся
}
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

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

Библиотека GyverStepper

#8

Сообщение ingener » 21.10.2020{, 23:47}

кстати. на DUO работает тоже без каких-либо коррекций.
Частоту выдал 54кГц (в проекте только один блок)
попробовал добавить по паре таймеров и генераторов
частота снизилась до 42 кГц
все равно хорошие цифры
Вложения
G1.PNG
G1.PNG (10.49 КБ) 1131 просмотр

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Библиотека GyverStepper

#9

Сообщение Ingwar » 21.10.2020{, 23:49}

ingener писал(а):
21.10.2020{, 23:47}
кстати. на DUO работает
Будьте последовательны и получите с каким ни будь экраном
ingener писал(а):
21.10.2020{, 00:04}
до 30000 шагов в сек. причем для обычных Ардуин
:smile38:

Отправлено спустя 21 минуту 47 секунд:
ingener писал(а):
21.10.2020{, 23:47}
DUO частоту выдал 54кГц
Новые тиньки и атмеги (например 4808) используя CCL, оптическим энкодером в 2000 импульсов на оборот, могут считать до 75 000 об/мин.
Так что если хочется чего то большего, ничего без осваивания Си и самих микроконтроллеров, не получится... :(
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

Библиотека GyverStepper

#10

Сообщение aidar_i » 22.10.2020{, 06:17}

ingener писал(а):
21.10.2020{, 23:11}
Пробую делать блок. через пень колода. пытаюсь брать за пример блоки AlexCrane, в общем пока получилось только сделать блок с двумя входами - скорость и ускорение. Не могу разобраться. как вывести наружу дистанцию (val) и вход запуска (старт движения).
На данном этапе блок стартует сразу при включении и проходит кол-во шагов "val" с ускорением и торможением. :smile37:
Скетч оригинал?
Лучше выкладывайте в проекте, чтобы не устанавливать Ваш блок.
Вход val, эту строку удалите и создайте такой вход.

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

Библиотека GyverStepper

#11

Сообщение ingener » 22.10.2020{, 10:39}

вход запуска (старт движения).
[/quote]
В секции loop
if ( имя входа )
{
тут код, который должен выполнятся
}

[/quote]
что-то не работает вход En01, или не так сделал?
красным помечены добавленные строчки

В приложении оригинальный демо-скетч, но там безостановочное движение мотора туда-обратно
Вложения
step_dir.ino
(666 байт) 38 скачиваний
en.PNG

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

Библиотека GyverStepper

#12

Сообщение aidar_i » 23.10.2020{, 07:47}

Вроде правильно, после if лучше один пробел ставьте.
Еще раз, если хотите помощи, выкладывайте свои наработки. Блок, который Вы сделали, чтобы не создавать его заново . Лучше в проекте, чтобы не устанавливать.
И какие у Вас драйверы и моторы?

Отправлено спустя 1 час 55 минут 11 секунд:
блок.flp
(81.06 КБ) 44 скачивания
Примерно так, сами подправьте, что нужно.

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

Библиотека GyverStepper

#13

Сообщение ingener » 23.10.2020{, 10:46}

aidar_i, En работает только в случае, если не дожидаться окончания пути (т.е зажигания 13 диода)
если же диод загорелся, то все - больше En не работает. Видимо, нужен какой-то ресет блока после окончания шагов.
свой вариант блока выкладывал в 8 сообщении
Драйвер STEP?DIR
мотор какой, в принципе, не имеет значения.
частоту пробовал в таком варианте, максимум 11кГц, сколько ни выставляй на входе.
путь отсчитывает корректно (смотрел секундомером)
Вложения
g4.PNG
g4.PNG (2.17 КБ) 974 просмотра

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

Библиотека GyverStepper

#14

Сообщение aidar_i » 23.10.2020{, 15:09}

Нужно менять значение val. На эту позицию Вы уже повернули. Как только его измените, мотор заработает.

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

Библиотека GyverStepper

#15

Сообщение aidar_i » 24.10.2020{, 10:03}

Блоки для шаговика испр.flp
(271.4 КБ) 67 скачиваний
Последний раз редактировалось aidar_i 20.03.2021{, 10:29}, всего редактировалось 1 раз.

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

Библиотека GyverStepper

#16

Сообщение ingener » 24.10.2020{, 14:09}

А что обозначает константа "шаги" в настройках основного блока?
И. если это step/dir драйвер. лишние выходы byte удаляем? Нужен всего один
Вложения
ш1.PNG

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

Библиотека GyverStepper

#17

Сообщение aidar_i » 24.10.2020{, 17:14}

Шаги сколько шагов на один оборот. Посмотрел , моя там ошибка, исправлю.
Последний раз редактировалось aidar_i 20.03.2021{, 10:29}, всего редактировалось 1 раз.

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Библиотека GyverStepper

#18

Сообщение Ardudue » 18.03.2021{, 19:55}

aidar_i, что за фишка - константа "шаги". Которая в блоке у Вас не задействована?

EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09.03.2019{, 17:49}
Репутация: 21
Имя: Egor

Библиотека GyverStepper

#19

Сообщение EgorKa » 19.03.2021{, 16:48}

Ardudue писал(а):
18.03.2021{, 19:55}
что за фишка - константа "шаги". Которая в блоке у Вас не задействована?
да это просто мусор -можете просто удалить, видимо aidar_i, в ходе экспериментов параметр "steps" хотел заменить на параметр написанный кирилицэй "шаги"
вот в этом месте :

Код: Выделить всё

GStepper<STEPPER2WIRE> stepper(800, 2, 3, 4); // 800 -steps– количество шагов на один оборот вала // 2 - STEP -импульсы для поворота (1импульс -1шаг) // 3 - DIR -реверс // 4 - EN разрешение работы чипа (0 - вкл)


Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Библиотека GyverStepper

#20

Сообщение Ardudue » 19.03.2021{, 18:29}

EgorKa писал(а):
19.03.2021{, 16:48}
да это просто мусор -можете просто удалить, видимо aidar_i, в ходе экспериментов параметр "steps" хотел заменить на параметр написанный кирилицэй "шаги"
aidar_i что то молчит :smile37:

Ответить

Вернуться в «Помогите, а то я "нимагу"»