Библиотека STEP/DIR для Leadshine M542

Вопросы об управлении шаговыми двигателями
=provincial=
Сообщения: 1
Зарегистрирован: 23 апр 2018, 07:10

Библиотека STEP/DIR для Leadshine M542

Сообщение =provincial= » 23 апр 2018, 08:01

Здравствуйте, хочу поделиться библиотекой StepDirDriverLA, созданной на основе библиотеки StepDirDriverL.
Библиотека адаптирована для работы с драйверами шаговых двигателей CNC Leadshine и в ней добавлен новый метод - ускорение: .setAccel
Метод .setDivider дополнен вторым параметром - делителем частоты для малого кол-ва шагов.

Метод конфигурирования ускорения:
void setAccel (int acc, int divAcc);
acc - точка ускорения/замедления (начальный делитель);
divAcc - делитель на шаг (скорость нарастания ускорения);

Метод установки делителя:
void setDivider(int divider, int dividerLo);
divider - делитель максимальной скорости;
dividerLo - делитель минимальной скорости, когда режим ускорения не активен.

Остальная функциональность сохранена из StepDirDriverL.

После вызова метода step(long steps); идёт проверка хватит ли заданного кол-ва шагов для ускорения и замедления по заданным коэффициентам.
Если да - ускорение активно и двигатель разгоняется -> работает на высокой скорости -> замедляется.
Если нет - ускорение не активно двигатель сразу вращается с минимальной скоростью по заданному параметру dividerLo, затем останавливается без замедления.

Зачем я её написал?
Когда необходимо работать с реальным станком и с достаточно быстрым вращением возникают ударные нагрузки. Они вызваны резким страгиванием/остановом вала ШД. В случае мало инерционной системы это не страшно. Если система достаточно инерционная (приводимая в движение ШД) возникают мометные перегрузки старт-стоп со всеми вытекающими последствиями.
Дополнительно отмечу момент достижения высокой скорости вращения. Мне не удавалось разгонять ШД до высокой скорости без ускорения, поскольку ШД терял синхронизацию с полем и пропускал шаги.

Выражаю благодарность Эдуарду за ресурс и помощь людям своими публикациями.
Буду рад, если кому-то пригодится новая библиотека StepDirDriverLA.
Удачи!
Вложения
StepDirDriverLA.rar
Long steps, setAccel
(3.28 КБ) 12 скачиваний


Эдуард
Администратор
Сообщения: 365
Зарегистрирован: 30 окт 2016, 20:53

Re: Библиотека STEP/DIR для Leadshine M542

Сообщение Эдуард » 23 апр 2018, 12:36

Спасибо за приятные слова и за доработку библиотеки.

Moofasta
Сообщения: 4
Зарегистрирован: 26 май 2018, 16:49

Re: Библиотека STEP/DIR для Leadshine M542

Сообщение Moofasta » Вчера, 13:30

не содержит корректных библиотек...

надо бы zip архивчик :) подключилась вручную
игрался аргументами, так она и не заработала, не понятно что такое точка ускорения... ставил уже что угодно.... не работает, как ее представить то в голове эту точку?

Moofasta
Сообщения: 4
Зарегистрирован: 26 май 2018, 16:49

Re: Библиотека STEP/DIR для Leadshine M542

Сообщение Moofasta » Вчера, 13:56

if ( ( long(abs(_steps)) > 2*(long(_acc - _divider) * long(_divAcc) ) ) && (_acc > _divider)) {
_divAcc_count = _acc; // ускорение активно

автор не позаботился чтобы было понятно всем, условие активации ускорения

Moofasta
Сообщения: 4
Зарегистрирован: 26 май 2018, 16:49

Re: Библиотека STEP/DIR для Leadshine M542

Сообщение Moofasta » Вчера, 14:23

субьективно, под управлением grbl двигатели греются меньше, может быть этому объяснение? все стоят на удержании в обоих случаях


Вернуться в «Шаговые двигатели и драйверы»

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

Сейчас этот форум просматривают: Google [Bot] и 0 гостей