Управление ШД 42STH47-0406A с помощью Troyka-модуля

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

  1. suspavnick

    suspavnick Нуб

    Пробую разобраться с шаговым двигателем с использованием troyka-модуля c драйвером.
    Насколько я понял из описания двигателя - http://files.amperka.ru/datasheets/LDO-42STH47-0406A.pdf - он может делать 2500 шагов в секунду? Написал простейший скетч, который крутит двигателем в одну сторону.
    Код (C++):
    int delayTime = 2;

    void loop() {
      digitalWrite(stepPin, HIGH);
      digitalWrite(stepPin, LOW);
    delay(delayTime);
    }
    На частоте 500 шагов в секунду двигатель начитает сильно шуметь и крутиться явно не со скоростью 2.5 оборота в секунду. На 300 шагах в секунду (delayTime=3) двигатель делает ожидаемые 1.5 оборота в секунду.

    В чем у меня может быть проблема, почему шумит и сильно вибрирует двигатель при попытке его быстро крутить? При этом он сильно вибрирует. Правильно ли я понял, что он может делать 2500 шагов в секунду? Помогите разобраться
     
  2. Mestniy

    Mestniy Гуру

    Не заморачивайтесь. Шаговые двигатели они всегд шумят при таких оборотов. Если хотите избавиться от шума при такой-же частоте вращения используйте энкодеры.
     
  3. suspavnick

    suspavnick Нуб

    Ну шум это не то, что меня беспокоит, а то, что он явно крутится с меньшей скоростью, и видно, что он пропускает шаги.
    Когда ставлю скорость чуть меньше 300 шагов в секунду, то есть 1.5 оборота в секунду, он крутится с положенной скоростью. И при этом шумит сильно меньше. При 500 шагах/сек начинает крутиться медленнее с рывками (пропуски шагов) и в целом вращается даже медленнее, чем при 300 шагах/сек.
     
  4. Onkel

    Onkel Гуру

    Что за моторчик- униполярный, биполярный, сколько фазный? Шум и максимальная скорость зависит от нагрузки, от тока. не исключено, что максимальная скорость при большем напряжении или при источнике с меньшим выходным сопротивлением. Но вообще 2500 шагов в секунду немало, это уже почти и не для шд область. у меня дши-200 при 1000 ш/с момент крутящий падает на полпорядка. При 300 ш/с как сильно шумит? как электрочайник или как пылесос? У меня дши-200 (он такой же или побольше) без нагрузки шумит примерно как детская машинка, когда едет по полу, а под нагрузкой ну как чайник перед закипанием.
     
  5. Onkel

    Onkel Гуру

    пы сы (ну а вдруг?) могу посоветовать включить параллельно обмоткам светодиоды (если биполярный - то пару на обмотку) и посмотреть при 0,5-1 шаг/с - правильно ли подключены обмотки и правильно ли чередуются импульсы на обмотки.
     
  6. suspavnick

    suspavnick Нуб

    Моторчик вот этот - http://amperka.ru/product/stepper-motor-nema17-42sth47-0406a - униполярный двухфазный
    Мне от него очень большое усилие не нужно, вращать будет очень легкую деталь. Но хотелось бы уметь вращать ее точно и достаточно быстро. на 300ш/с - скорее как игрушка. Нагрузки пока никакой нет. Ну алюминиевая втулка на него надета, и все. Под нагрузкой пока даже не проверял.
     
  7. suspavnick

    suspavnick Нуб

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

    Onkel Гуру

    так то оно так, но можно ведь и провода спутать? Даташит дейсвительно обещает 2500 ш/с, смотрите блок питания - не садится ли напруга, и дает ли модуль достаточно тока.
     
  9. suspavnick

    suspavnick Нуб

    Обмотки вроде смотрел, даже пробовал переключать провода. Питание проверял не садится. В качетсве блок использую БП от компа. Должно хватать на один-то моторчик )
     
  10. Onkel

    Onkel Гуру

    энкодер- он же сенсор, он сам не крутит. Да и шум не поглощает.
     
  11. Onkel

    Onkel Гуру

    я что- то не пойму
    int delayTime = 2;

    void loop() {
    digitalWrite(stepPin, HIGH);
    digitalWrite(stepPin, LOW);
    delay(delayTime);
    }
    это команда шд "step" выглядит? Шилд из {1,0} делает шаг?
     
  12. suspavnick

    suspavnick Нуб

    нет, согласно описанию - http://wiki.amperka.ru/продукты:troyka:stepper, шаг делается при переходе из 0 в 1. То т.к. цикл больше ничего не содержит, то он переходит все время переключается между 0 и 1
     
  13. Mestniy

    Mestniy Гуру

    Да но к нему можно моторы присобачить, какиенибудь надежные и вуяаля ни слуха, не духа, не пуха, на праха!
     
  14. Onkel

    Onkel Гуру

    понял. каша из топора. Только энкодер на 200 импульсов/оборот инкрементный стоит полтинник как минимум,а абсолютный дешевле чем стольник не бывает. Это 7.5 тыр на деревянные.
     
  15. MXXX

    MXXX Гик

    Мне двигатель 42STH47-0406A больше 800 шагов в сек., в полу шаговом режиме, раскрутить не удалось. Использую драйвер 298N и библиотеку AccelStepper. Видел упоминание на форумах, что более дорогие драйвера могут раскручивать шаговики намного сильнее. Скорее всего за счет ровной синусоиды на выходах управления обмотками.
     
  16. Tomasina

    Tomasina Сушитель лампочек Модератор

    вы пытаетесь сходу раскрутить его на 2500 шагов в секунду? Не выйдет. Надо раскручивать плавно и постепенно подходить к этой величине, тогда срывов не будет. Это раз.

    ШД так устроены, что чем больше импульсов он за секунду получает, чем ниже его тяговая мощность (другие обмотки тормозят движение). Это два.

    Насчет вибраций и рычания - для шагов от 1/1 до 1/4 это норма, т.к. при полном шаге происходит резкое ускорение и сразу же резкое торможение. Для снижения уровня шума применяют микрошаговый режим (как правило, это умные драйверы, не 298N), но, если помните, при этом теряется его момент.
     
  17. MXXX

    MXXX Гик

    Раскручиваю плавно с помощью библиотеки AccelStepper. До 600 шагов/сек. все нормально, после 600 начинается сильное снижение крутящего момента, после 800 начинается пропуск шагов, после 850 вал дергается и не крутится вообще. Значения приведены для полушагового режима. В полношаговом соответственно частоты в 2 раза ниже +- 10%

    Здесь мне кажется, основная причина во времени задержки подачи напряжения на обмотки. Нужно её снижать по мере увеличения скорости ротора. В противном случае мы сначала разгоняем ротор, а затем начинаем его тормозить удерживая в заданной позиции. В итоге скорость ниже, КПД ниже, сила вибрации выше, качество жизни хуже ))