ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
1 июня
1012420 Топик полностью
fk0, легенда (15.06.2020 19:01, просмотров: 576) ответил LightElf на У этого энкодера нет ноля. Но это не важно, патамучта есть концевики. Главная причина для изъебов в том, что "работа-то на воздухе, работа-то с людьми". А людишки имеют свойство "яйцАми и пальцАми" влезать куда ни попадя. Так вот энкодер нужен, чтобы своевременно определить, что кого-то намотало на вал. И успеть размотать.
Важно. Получается, если у энкодера нет нуля (его система координат не связана с магнитопроводом), то энкодер невозможно использовать для формирования тока фаз. Следовательно описанный мною алгоритм (где два автомата, условно, один вычисляет ошибку между заданным положением и фактическим и устанавливает ток фаз для минимизации ошибки, а другой меняет заданное положение по закону постоянного ускорения) -- не годится в первой его части. 

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


Так, как это происходит в разомкнутой системе управления. Зачем тогда энкодер? Какова стратегия его применения? Формирование признака ошибки (фактическое положение сильно разошлось с фактическим) и торможение? А в остальном всё та же разомкнутая система управления? Туповато.


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


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

[ZX]