Плавный старт ШД

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Papipa, 1 мар 2017.

  1. Papipa

    Papipa Гик

    Всем привет!

    И снова плавный старт шаговика... Перечитал инет, моск припух, думаю надо-таки спросить самостоятельно.

    Итого, есть ШД, мощный (усилие 110кг на см), 5А. Крутит станину станка, в 2 режимах - непрерывно, если кнопка управления в положении 1, или "по чуть-чуть", если кнопка управления в положении 2. Размер, величина перемещения в режиме "чуть-чуть" дополнительно регулируется потенциометром.

    Вот во 2 режиме есть проблемки... Через каждые 1-1,5 секунды двигатель должен прокрутиться на 10-40 градусов - как выставлен потенциометр. Ну и двигатель начинает "визжать" при этом, как будто не успевает крутить. Менял скорости, выставлял пины-делители шагво на драйвере - толку нет практически. Не всегда, но периодически ШД срывается, и начинает перемещать платформу с диким визгом.

    Подумав-подумав, решил что проблема в весе станины - движок не может мгновенно под такой нагрузкой принять максимальную скорость, ну и срывается.

    Вопрос - как плавно стартануть двиг, какой библиотекой, что принципиально важно при этом в коде прописать для плавного старта? Это с учетом того, что каждый цикл (через каждые 1-1,5 сек) двигатель должен отработать ну приблизительно 0,5-1 сек, потом опять уйти в паузу на 1-1,5 сек. То бишь, возможно ли вообще тяжелый ШД, да еще и под нагрузкой на валу плавно разогнать за эти 0,5-1 сек?

    Склоняюсь в сторону AccelStepper. Дальше пока не думал, кода еще нет.
     
  2. rkit

    rkit Гуру

    Поставьте обратную связь какую-нибудь, и не переходите на следующий шаг, пока не подтвердится предыдущий.
     
  3. Papipa

    Papipa Гик

    Эммм.. Обратная связь на какое событие? Полная остановка вала?
     
  4. rkit

    rkit Гуру

    Поворот вала. Полная остановка это поздно уже.
     
  5. Papipa

    Papipa Гик

    Хм... Ну допустим отслежу, связь дам обратную. Но не понятно, зачем? Мне нужно плавно разогнать двиг за 0,5-1 сек, остановить можно мгновенно. Как бы в этом направлении думаю. Ваш совет не пойму как приделать к своей проблеме - давайте тогда подробнее чуть мысль свою.
     
  6. rkit

    rkit Гуру

    И будете знать, когда следующий шаг подавать, чтобы не было проскоков и визга. .
     
  7. vvr

    vvr Инженерище

    а что, с AccelStepper не игрались?
    там есть блокирующие и неблокирующие функции, разгон - торможение, - порезвиться можно))))
     
  8. Onkel

    Onkel Гуру

    Возможно. Но на такие вопросы ответ всегда - число, а не да/нет. Шаговый двигатель применяют в тех и только в тех случаях, когда в любых условиях эксплуатации проскок шагов исключен. Для шаговика и передачи без люфта уже один шаг должен по механике отработать, и при первом шаге будет максимальное ускорение, определяемое только жесткостью системы. Кстати термин "визжать" ни никак не отражает техническую сторону. Что за визг - пропуск шагов, резонанс, что еще? По любому надо считать момент, требуемый для старта.
     
  9. mcureenab

    mcureenab Гуру

    Ускорение на 1 шаг, да. Но это не значит, что с этим ускорением двигатель успеет занять целевое положение до того, как поступит следующий сигнал, произойдет новая коммутация тока в обмотках.
    Выходит, между первыми шагами нужно оставлять больший интервал, чтобы вал успевал занимать нужное положение. Но и слишком большой интервал нельзя делать, чтобы вал не останавливался и не тормозил механизм.
     
  10. MESS

    MESS Гик

    Нужно уменьшить сам шаг. Возможно в Вашем случае, библиотека с Ардуино не способна уменьшить размер шага до приемлемых значений.
    Драйвер нужен микрошаговый, который может сделать это бесшумно.
     
  11. Onkel

    Onkel Гуру

    микрошаг - это уже искусство, а не ремесло. Не каждый мотор и не каждый драйвер будут работать в режиме микрошага, и уж тем более далеко не каждая комбинация драйвера и мотора.
    Все написанное вами верно , но было бы приложимо лишь в случае нулевой нагруки. В реальности двигатель выбирается из соображений Mдвигателя>>mнагрузки, и в этом случае динамика ограничена практически точно динамикой двигателя. Если возникают проблемы с пропуском шагов то надо уменьшать на порядок нагрузку либо брать на порядок более мощный двигатель, возможно и не шаговый. Что же до термина "визжать", то пока ситуация не описана более техническим языком предлагать что-либо бесполезно. Мне кажется "визжать" двигатель может когда он в режиме микрошага или получага не отрабатывает шаг, но точное описание проблемы нужно ждать от ТС.
     
  12. mcureenab

    mcureenab Гуру

    Ардуино выдает только 0 или 5вольт. А для микрошага нужны промежуточные значения напряжений. Без аппаратной поддержки микрошага тут нечего делать.
     
  13. Onkel

    Onkel Гуру

    А при чем тут промежуточные значения напряжение? драйвер микрошагов тоже выдает 0 или максимум, никаких промежуточных значений, ткните осциллографом - только не всегда, а с паузами, погуглите ШИМ. Так вот этот ШИМ и выдается на выходе драйвера, работающего с микрошаговым управлением. Ну или можно использовать ЛЮБОЙ H- мост (для биполярного шд) или 4 ключа силовых (для униполярного ШД), без мозгов, и ардуино в режиме ШИМ. Ну ясен пень желательно ШИМ свой написать, а не 500 (или сколько там) Гц ардуиновский использовать.
     
    MESS нравится это.
  14. mcureenab

    mcureenab Гуру

     
  15. Onkel

    Onkel Гуру

    в неидеальных случаях используют другие типы двигателей и обратную связь. Шаговик не может медленно сделать один шаг, в системе без люфта самый тяжелый - первый шаг, и делается он со свойственной двигателю скоростью, определяемой в том числе и инерцией.
     
    MESS нравится это.
  16. mcureenab

    mcureenab Гуру

    Эээ. Даже для поворота ненагруженного двигателя требуется некоторое врямя. Если на вал маховик прицепить, то это время неизбежно увеличится.
     
  17. MESS

    MESS Гик

    так я про это -подобрать драйвер. Они ведь такие разные. Например А3984 + усилитель мощности
     
  18. mcureenab

    mcureenab Гуру

  19. MESS

    MESS Гик

    Я предложил который подешевле, всего 150р
     
  20. mcureenab

    mcureenab Гуру

    http://gaussgun.ru/a3984.html

    Вот только вопрос, эта микросхема по точкам и прочим характеристикам подойдет для вашего двигателя?