Показано с 1 по 10 из 1349

Тема: Hardella IDE

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Я так понимаю, константа 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.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •