Если я правильно понимаю:
1- то ШД не предназначен для высоких скоростей,
2 - без плавного разгона ШД даже до средних скоростей может и не раскрутится, особенно если большая нагрузка.
Простой генератор импульсов без проблем можно написать самому. Задаете необходимую частоту, делением количества тактов в секунду (1 000 000 при такте 1мкс) на эту частоту получаете количество тактов на 1 импульс. запускаете счетчик, и при достижении заданного количества сбрасываете счетчик в ноль и формируете импульс.
Не забудьте предусмотреть выключение процесса (по сигналу с основного цикла ПЛК или по времени).
Nikolay.L
Потому что габариты. Диаметр шнеков 38 миллиметров. Четыре бункера с рецептурой по процентам сыпят в один, который командует всем стоять или всем ехать. Процентовка как раз и регулирует скорость.
Я так понимаю, константа 10мкс ещё в сам блок зашита, ведь сам блок Stepper_light не использует "текущее время".
Полагаю, если уменьшать эту константу, то точность "accel_period" испортится (т.к. деление 100000/accel целочисленное)
Некий минус, что тут нет "минимальной скорости". Т.е. стартует блок с нулевой скорости и это может приводить к пропускам импульсов на резонансных частотах.
На оборудовании такого не наблюдалось?
Для порядка попробовал Stepper_Light на "разных скоростях".
Честно говоря, не берусь судить, но, наверное, выше 15кГц на "10мкс цикле" вряд ли разумно крутить.
На картинке чёрными точками (их много и они слились просто) отмечены импульсы, выдаваемые блоком, а красная линия это "идеальная траектория" для указанных параметров движения.
accel=10кГц/сек, max_speed=50кГц, quantity=251000
При таком ускорении максимальная скорость должна набираться за 5 секунд и за эти 5 секунд ШД должен проехать 10000*5*5/2==125'000 импульсов.
Ещё столько же на торможение и 1000 посредине.
В целом, конечно, не так-то и плохо, но скачки между 20кГц, 25кГц, 33кГц, 50кГц (по сути это эффект того, что импульсы квантуются по 10мкс) выглядят сурово и едва ли ШД сможет перепрыгнуть с одной скорости на другую.
stepper_light50.png
В режиме accel=1кГц/сек, max_speed=5кГц, quantity=26000 выглядит ровнее
stepper_light5.png
В режиме accel=0.1кГц/сек, max_speed=0.5кГц, quantity=2560 ещё ровнее
stepper1.png
Я и назвал Stepper_ligth. Для моего станка все идеально подошло (у меня 5кГц максимум).
Понятие минимальной скорости здесь не совсем уместно. Старт происходит с первого импульса, который привязан только к команде запуска, дальше в зависимости от ускорения. При замедлении стоит защита чтоб не менее 10 Гц.
По поводу 10мкс - это упрощение для моего проекта, мои драйверы требуют импульсы не менее 5мкс. Для большей точности можно без проблем изменить такт на 1мкс, нужно только поправить числитель в 3-х местах со 100 000 на 1 000 000. А для ширины импульса задать отдельный счетчик. Я просто не стал заморачиваться.
Я экспериментировал с 1мкс . Драйвера DM442 и AM882 -съедали без проблем, а вот дешевый DM422с - пропускал несколько шагов. При этом крутились все одновременно ровно, без рывков и заеданий. При переходе на 10мкс - крутились так же ровно, и DM422с стал отрабатывать как нужно.
Я скинул на 90% свой проект (у меня 1 шд работает в связке с энкодером) и думаю его без проблем можно адаптировать под другие требования, в том числе и по точности.
Последний раз редактировалось Nikolay.L; 18.07.2018 в 08:55.
День добрый.
Перечитывать всё времени нет.
Сколькими ШД я могу управлять с помощью Hardella?
Так чтобы с ускорением\держанием заданной скоростью и тормозом независимо ШД друг от друга.
EN\Reverse допускается управление через обычные выхода.
Спасибо
Nikolay.L четырьмя ШД управляет.