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

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

georgnsk

Так может тогда логично использовать в качестве энкодера второй ШД, с такими же кол-вом шагов, на одном валу?

celladon
georgnsk:

Так может тогда логично использовать в качестве энкодера второй ШД, с такими же кол-вом шагов, на одном валу?

Если просто для вращения шаговика то может пойдет, для точного позиционирования врядли. Если просто вращать , то еще можно поробовать также как бесколлекторный двигатель ( BLDC ) без датчиков хола, т.е используя обратную ЭДС обмоток. По крайней мере трехфазный шаговик так работает. Но это совсем другая история.

georgnsk

ЭДС должно хватить с каждой обмотки даже при небольших скоростях и перемещениях, поэтому и при слежении должен второй ШД как энкодер вполне прилично работать. А если его через повышающий безззорный редуктор вращать, то и разрешение поднять можно и ЭДС вырастет.

1 month later
celladon

А если в качестве энкодера использовать две обмотки восьмивыводного двигателя, а другие две для вращения двигателя? Или это глупость?

ATLab
celladon:

А если в качестве энкодера использовать две обмотки восьмивыводного двигателя, а другие две для вращения двигателя? Или это глупость?

Предположим, что для стабилизации тока используется ШИМ.
И что мы увидим на неиспользованных (контрольных) обмотках?
Да даже если нет ШИМ: фактически ШД представляет собой трансформатор, со всеми вытекающими последствиями.
Энкодер из ШД получается только для неподключенного двигателя, когда вал ему крутят “внешние силы”.