Шаговый мотор + энокодер

MDecor

Не стал бы делать такой связки (ШД+энкодер), как для меня, если есть вероятность пропуска шагов, значит не правильно выбран ШД, а если так, то нужно менять шаговик
Если всеже ставить энкодер, то зачем нужен ШД, просто делать полноценную серву.😉

celladon

Попался мне тут мелкий шаговик с энкодером. Решил попробовать использовать энкодер. Для начала тупо погонять. Результат такой. Без энкодера удалось разогнать до 1200Гц в шаговом режиме от 12В. Причем при этой скорости момент на валу совсем никакой. Рукой остановить вообще без проблем. Одним пальцем. С энкодером 5600Гц при том же напряжении. Руками не остановить. Скорость снижается, но не срывается. И звук намного приятней.

KoCNC

Энкодер не добавляет момента на валу, это всего лишь навсего обратная связь.

Baha
celladon:

С энкодером 5600Гц при том же напряжении. Руками не остановить. Скорость снижается, но не срывается. И звук намного приятней.

А каким драйвером гонял?

celladon
Baha:

А каким драйвером гонял?

Никакого драйвера. Самоделка. Кстати при 24В разогнал еще в два раза. Больше 10кГц в пересчете на целые шаги.

Энкодер не добавляет момента на валу, это всего лишь навсего обратная связь.

Конечно не добовляет.
Кстати кто знает как замерить момент при ненулевой скорости вращения двигателя?

celladon

Поскольку хотелось просто посмотреть как быстро можно разогнать шаговый двигатель особой логики здесь нет. С сайта electroprivod.ru/theory.htm взял картинку на которой видно как при работе шаговика происходит вращение вала, т.е все эти колебания после каждого шага. Вторую картинку когдато я сам получил правда на другом шаговом двигателе. Тот был трехфазный с энкодером. У него на каждый шаг приходилось 43 значения энкодера. А у этого всего 4 значения на каждый шаг. И поэтому такую картинку получить не удалось. Но все равно он работает точто также. Просто не уловит все колебания этим энкодером. Я попытался “вырезать” участок с колебаниями. А принцип такой. Двигатель делает один шаг, ждет 4 импульса от энкодера, делает следующий шаг и т.д. И все. Чем больше напруга, тем быстрее он вращается. Это чисто крутилка. Делал и степ/дир для трехфазного шаговика с энкодером. Там другая логика. С этим движком такого пока не делал.

Zliva

Я что-то не пойму. Он работает как индикатор или все же как датчик обратной связи.

celladon
Zliva:

Я что-то не пойму. Он работает как индикатор или все же как датчик обратной связи.

Энкодер используется для определения момента включения обмоток двигателя. Это обратная связь? Одновременно через СОМ порт выдается текущее значение с энкодера. По этим значениям потом строится график. А это что тогда? Наверно индикация?

Zliva

То есть, вы не подключали датчик к LPT порту? Всего лишь построили график работы ШД снимая значения через СОМ-порт не привязываясь к LPT? Если это так, то это не совсем то, что я хотел услышать.

Baha

Для датчика есть драйвер, который и управляет мотором согласно полученному сигналу от датчика, вся логика в драйвере. Там много и не надо.
Зачем его еще в LPT подключать?

celladon

То есть, вы не подключали датчик к LPT порту? Всего лишь построили график работы ШД снимая значения через СОМ-порт не привязываясь к LPT? Если это так, то это не совсем то, что я хотел услышать.

Никакого LPT, step/dir тоже нет. Как я уже писал на данный момент это чисто “крутилка”. Не более того. Никакого практического применения этому нет. Только ради эксперимента.

Гани

Это не просто крутилка… это и есть обратная связь!
Только работает не в полную. Можно сравнить с системой углового опережения фазы в ДВС.
Только с помощью обратки можно разогнать шаговый(и не только) до таких скоростей.
Осталось только добавить счет импульсов и направления вращения.
Будет полная обратная связь.

Вообще классная штука энкодер! Если сделаем фрезерный ЧПУ, то объязательно поставим шаговые движки с энкодером.

Кто нибудь подключал энкодеры к МАЧ3?

MDecor:

Не стал бы делать такой связки (ШД+энкодер), как для меня, если есть вероятность пропуска шагов, значит не правильно выбран ШД, а если так, то нужно менять шаговик
Если всеже ставить энкодер, то зачем нужен ШД, просто делать полноценную серву.😉

Конечно если задача того не требует, то не стоит. Энкодер вещь дорогая, а шаговик вполне справляется со своей задачей без обратной связи.

Например сейчас пользуемся одним станочком китайским. Заметили что когда координаты возвращаются в начальное положение “ДОМ”, есть некое отклонение повторяемости позиции…
Там концевики механические(микро выключатели). Это дает ± 0.2 мм погрешности начального положения. А приводы прямые, на тросах.
То есть подключены к валу ШД напрямую.
Для большинства задач это точность установки начальной точки пригодна.
А вот например для изготовления фланца такая точность вообще не пригодна. То есть если приходится переворачивать фланец.

Конечно можно настроить привод или скажем применить какие нибудь оптические датчики. Но это по любому будет давать погрешность ± один шаг или, микро шаг.

Если скажем на этот станок установить движки с энкодером, то уже проблемы с начальной позицией исчезают. Можно вообще назначить любую точку как “ДОМ”. И стол остановится на заданной позиции с очень высокой точностью.
Причем каждый раз точно одинаково!!! Вот это и есть Огромный плюс энкодера. То что он знает абсолютную позицию.

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

MDecor
Гани:

Например сейчас пользуемся одним станочком китайским. Заметили что когда координаты возвращаются в начальное положение “ДОМ”, есть некое отклонение повторяемости позиции…
Там концевики механические(микро выключатели). Это дает ± 0.2 мм погрешности начального положения. А приводы прямые, на тросах.
То есть подключены к валу ШД напрямую.

-Может проблема в тросах и их сцеплением

Если скажем на этот станок установить движки с энкодером, то уже проблемы с начальной позицией исчезают. Можно вообще назначить любую точку как “ДОМ”. И стол остановится на заданной позиции с очень высокой точностью.
Причем каждый раз точно одинаково!!! Вот это и есть Огромный плюс энкодера. То что он знает абсолютную позицию.

-В том-то и дело, что это с абсалютными энкодерами, а ставят инкрементальные

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

Кстати не задумывался, к Mach3 можно прикрутить абсолютные энкодеры?

Гани

Вроде никаких проблем нет. Люфтов тоже.
Вообще у прямого привода свои плюсы. Механических погрешностей меньше. Однако нужен более точный драйвер ШД. Но иногда такой метод будет дешевле.
Да там по любому будет минимальная погрешность 1 шаг или микрошаг.
Ведь логика “ДОМ” там организована на электрическом контакте в концевике.
А это значить дребезг, энерция движения. и.т.д.
С винтовыми парами и направляющими это уже пофигу. Так как больше преобладает погрешности винтовой пары.

AVE
celladon:

Конечно не добовляет.
Кстати кто знает как замерить момент при ненулевой скорости вращения двигателя?

довольно просто
двигатель закрепляется не жестко к раме а подвижно через упругий элемент (или плечо с пружинкой) (реактивный момент от нагрузки может поворачивать мотор немного)
на упругий элемент ставят тензодатчик или индикатор перемещения
больше крутящий момент - больше прогиб упругого элемента или сжатие пружинки
все это калибруют и все

celladon
AVE:

довольно просто
двигатель закрепляется не жестко к раме а подвижно через упругий элемент (или плечо с пружинкой) (реактивный момент от нагрузки может поворачивать мотор немного)
на упругий элемент ставят тензодатчик или индикатор перемещения
больше крутящий момент - больше прогиб упругого элемента или сжатие пружинки
все это калибруют и все

Идея интересная. Только проблема в тензодатчике. Где взять подходящий. Может в китайских весах. Там кажется тоже тензодатчик. Не знаю подойдет ли. Никакой информации по ним не нашел

AVE

да не нужен датчик
прикрутите к мотору палку известной длины и сделайте чтоб она давила на теже китайские весы. тарировать даже ничо не надо

celladon
Гани:

Это не просто крутилка… это и есть обратная связь! Только работает не в полную. Можно сравнить с системой углового опережения фазы в ДВС. Только с помощью обратки можно разогнать шаговый(и не только) до таких скоростей. Осталось только добавить счет импульсов и направления вращения. Будет полная обратная связь.

Удалось разогнать все тот же двигатель до скорости 13000 целых шагов в сек. Это при напряжении 24В в полношаговом режиме с двумя одновременно включенными фазами. В полушаговом режиме и полношаговом с одной включенной фазой скорость намного меньше около 11000 целых шагов в сек. Но не все так хорошо. Для этого двигателя с этим энкодером на каждый шаг приходится 4 значения энкодера. Отсюда проблема с определением начального значения энкодера. Казалось бы нет ничего проще. Установил двигатель в нулевое положение. Выждал какое-то время для успокоения валала двигатель. Сбросил счетчик энкодера в ноль и все. Но из-за того что для одного значения шага энкодер имеет несколько значений, начальное значение не всегда определяется правильно. А если ошибка будет хотябы в одну еденицу, двигатель уже не будет работать правильно. Он даже может крутиться в обратную сторону. Ладно придумал второй вариант. Крутануть двигатель в нужную сторону на несколько шагов без использования энкодера. Но все равно после такого разгона значение энкодера не всегда одинаково. Видимо из-за того что двигатель вращается не плавно, а рывками как на картинке вверху. Второй вариант получился более стабильным. Но он мне все равно не нравится. Для точного позиционирования он наверно не подойдет. Идеальный вариант был бы наверно если бы количество шагов на оборот двигателя и значений энкодера тоже на оборот совпадало. Нужно наверно переходить на дробление шага. Посмотрим что получится.

mura
celladon:

Удалось разогнать все тот же двигатель до скорости 13000 целых шагов в сек.

какой? Тип плз.

celladon

Фотографию двигателя выложил, а тип двигателя не указал.
Значит двигатель PK244-02BA-C7 (6B/0.8а/1.8град), энкодер HEDS-5545 H14