ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
4 мая
1033187 Топик полностью
Связанные сообщения
Stepper Motor
А документация что-то говорит, как например "ноль" энкодера соотносится с положением якоря относительно статора? В общем случае,...2020-06-15
Управление шаговиком -- это достаточно развесистый конечный автомат скорей полностью умещающийся в прерываниях. И получающий от ...2020-05-17
fk0, легенда (03.09.2020 13:33, просмотров: 362) ответил POV_ на Мы говорим о домашней поделке или промышленном оборудовании?...
Системе управления в целом -- энкодер нужен. Шаговику -- могут быть варианты. Во-первых энкодер размещён непосредственно на валу двигателя или валу редуктора, или ещё где-то? Если первое -- обратная связь получается не совсем полноценная, т.к. упругая деформация и люфты уже всё портят. А если иначе, то управлять фазой двигателя относительно сигнала полученного от энкодера (как в BLDC) -- невозможно. Так, получается, два разных энкодера нужно: один для обратной связи, другой 

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


Нужен ли отдельный энкодер на валу двигателя? Для достижения спортивных показателей по скорости разгона -- да (позволяет всегда поддерживать оптимальный угол между электрической и фактической фазой, обеспечивающей максимальное ускорение). В остальных случаях скорей нет (когда мощность двигателя выбрана с запасом, а ускорения, наоборот, ограничены, чтоб не было "проскальзываний", пропуска шагов). Но тогда возникает вопрос, как использовать энкодер связанный уже с исполнительным механизмом. Непосредственно для управления двигателем он не нужен. Он нужен только для проверки правильности работы и для устранения небольших ошибок позиционирования вызванных неидеальностью механики (люфт, упругая деформация, несоответствие размеров, температурные деформации...)


И честно говоря для меня здесь не совсем понятно как совместить классический алгоритм работы шагового двигателя с разомкнутой системой управления и позиционирование по энкодеру. Первый даёт грубое и быстрое позиционирование, а как обеспечить точное? Там очевидная проблема, что остановившийся механизм (после того как доехал до нужной позиции в разомкнутой системе управления) и удерживаемый только двигателем, без механического демпфера, может достаточно долго колебаться. И на фоне этих колебаний какие-то попытки докрутить фазу до нужных показаний энкодера -- бессмыслены. Либо нужно ждать, долго, сотни миллисекунд.


Отдельный вопрос -- мат. модель объекта управления. Если ты дошёл до 0.05мм то наверное должен столкнуться с тем, что если у тебя допустим там прямоугольная система координат, то она не совсем прямоугольная, а чёрти что: при движении по непараллельным направляющим они гнутся, везде какие-то не прямые углы, всё под непредусмотренным наклоном т.к. нарушены немного размеры и это складывается в ошибки позиционирования. Сигнал с энкодера тоже не будет соответствовать действительности (т.к. он связан только с одной из осей, а не выдаёт абсолютные координаты). Я бы предложил калибровку каким-либо методом (без энкодера) по нескольким точкам по всему рабочему полю и в итоге расчёт координат кубическими уравнениями или что-то вроде (хотя бы линейное уравнение уже может помочь). В контроллере мат. модель не может быть просто прямоугольной, иначе программиста можно долго чморить, что он программы писать не умеет, а он может долго доказывать, что все прочие криворуки и не могут хотя бы сделать свою поделку по своим же чертежам.


PS: я жирным выделил то, что относится к картинке в сообщении написанным POV -- да, оно колеблется. Сам вал двигателя совсем немного, на микрошаге это практически незаметно. А когда килограммы на длинном рычаге висят -- оно раскачивается с куда большей амплитудой и куда дольше.


PPS: я работу без микрошага даже не рассматривал бы вообще: там есть проблема резонанса, падения момента и как следствие пропуска шагов, дикий грохот к тому же, и всё непонятно ради чего, экономия на спичках.


Ссылки по теме:

http://caxapa.ru/1012348/

http://caxapa.ru/1005266/

[ZX]