5.2.2. Главное окно программы XILab в режиме управления одной осью¶
Главное окно программы XILab в режиме двигателя
Главное окно программы XILab в режиме аттенюатора
В левой части окна в группах параметров Power и Motor находятся данные о состоянии контроллера и мотора в настоящий момент. В центральной части окна расположен блок Control, содержащий индикаторы текущей позиции и элементы управления движением мотора. Блок Control в зависимости от настроек может принимать вид блока управления движением произвольного двигателя или блока управления аттенюатором. Справа расположена группа кнопок для управления программой в целом. Внизу расположен лог, при минимальном размере окна он скрыт. Под логом находится статусная строка. Рассмотрим эти группы более подробно.
5.2.2.1. Блок управления движением двигателя¶
Блок Control
В центральной части блока расположен индикатор текущей позиции, под ним, если энкодер включен, располагается индикатор позиции по энкодеру. В режиме ведущего энкодера, см. раздел Работа с энкодерами главный и второстепенный индикаторы меняются местами.
Ниже расположен блок Control, содержащий элементы управления движением мотора. Рассмотрим их более подробно:
5.2.2.1.1. Движение без точного задания конечного положения¶
Кнопки управления движением
- Кнопки Влево, Стоп и Вправо запускают движение влево без указания конечной позиции, останавливают с замедлением начатое движение и запускают движение вправо без указания конечной позиции, соответственно.
- Кнопка Влево до границы заставит мотор вращаться до левой границы слайдера. Вправо до границы, соответственно, до правой границы слайдера.
- Нажатие и удержание кнопок клавиатуры Вправо, Влево при нахождении фокуса ввода в блоке слайдера начинает движение в направлении увеличения или уменьшения координаты. При отпускании кнопки движение прекращается, как будто была нажата кнопка Стоп на главном окне.
5.2.2.1.2. Движение в заданную точку¶
Управление движением в заданную точку
- Кнопка Move to запускает процесс перемещения в заданную позицию.
- Кнопка Shift on запускает процесс смещения на заданное расстояние от текущей позиции.
5.2.2.1.3. Текущая позиция для команд движения¶
Команды Move to и Shift on использую текущую позицию для расчета движения. Текущая позиция изменяется следующими командами:
Команды Stop, Влево, Вправо, Влево до границы и Вправо до границы не изменяют текущую позицию.
5.2.2.2. Блок управления аттенюатором¶
Блок управления аттенюатором
В верхней части блока расположено окно Transmittance и кнопка Calibrate. Окно Transmittance предназначено для выбора желаемого коэффициента пропускания. Кнопка Calibrate предназначена для ручного поиска начальной позиции аттенюатора и при нажатии запускает сначала движение на один оборот аттенюатора с текущими настройками для однозначного определения относительного положения дисков аттенюатора, а затем функцию Автокалибровка домашней позиции. Нажатие Calibrate не является необходимым для движения - в случае если аттенюатор не производил калибровку или калибровка была сброшена, к примеру нажатием Cancel в процессе движения, при следующем движении калибровка будет сделана автоматически.
Аттенюатор может работать с одним или двумя дисками (у каждого диска имеется 8 фильтров), поэтому ниже будет находиться одно или два поля, соответствующие одному или двум дискам. Далее располагается окно Current Transmittance, в котором показывается коэффициент пропускания (который группируется из коэффициентов пропускания имеющихся фильтров), наиболее близкий к желаемому.
При нажатии на кнопку Move происходит движение к тем фильтрам, которые соответствуют Current Transmittance, причем данные фильтры подсвечиваются зеленым цветом, т.е делаются активными.
Нажатие на кнопку Reset делает все фильтры неактивными (становятся серого цвета).
5.2.2.3. Состояние контроллера и мотора¶
5.2.2.3.1. Электропитание контроллера¶
Группа параметров Power содержит индикаторы:
- Power voltage - напряжение на силовой части.
- Power current - ток потребления силовой части.
- Temp. - температура процессора контроллера.
Если цвет любого из индикаторов - Power voltage, Power current или Temp - изменяется на красный, это означает, что соответствующий параметр (напряжение, ток или температура) превысил допустимое значение. В этом случае контроллер переходит в состояние Alarm. Пороговые значения этих параметров можно изменить в разделе Настройка предельных параметров контроллера.
Важно
Выход из состояния Alarm возможен после прекращения событий, вызвавших Alarm, при условии, что флаг Sticky Alarm не установлен. Если флаг Sticky Alarm установлен , используйте кнопку «STOP» , чтобы выйти из состояния тревоги.
5.2.2.3.2. Состояние мотора¶
Группа параметров Motor содержит индикаторы:
- Speed - скорость вращения мотора.
- Command - последняя выполняемая (жирный шрифт) или выполненная (обычный шрифт) команда контроллера. Команда контроллера отображается черным цветом, если флаг ошибки движения MVCMD_ERROR не установлен, в противном случае красным. Может быть одним из следующих вариантов:
- Move to position - перемещение в заданную позицию
- Shift on offset - смещение на заданное расстояние
- Move left - движение влево
- Move right - движение вправо
- Stop - остановка
- Homing - нахождение начальной позиции
- Loft - компенсация люфта
- Soft stop - плавная остановка
- Unknown - неизвестная команда (возможно сразу после включения контроллера)
- Power - состояние питания шагового двигателя. Может быть одним из следующих вариантов:
- Off - обмотки мотора разомкнуты и не управляются драйвером,,
- Short - обмотки замкнуты накоротко через драйвер,
- Norm - обмотки запитаны номинальным током,
- Reduc - обмотки намеренно запитаны уменьшенным током от рабочего для снижения потребляемой мощности,
- Max - обмотки запитаны максимально доступным током, который может выдать схема при данном напряжении питания.
Примечание
GPIO флаг можно использовать для обнаружения подключенного двигателя
5.2.2.3.3. Состояние программы¶
Группа параметров Program содержит индикаторы:
- Sync buf free - количество свободных ячеек в буфере команд контроллера (на данный момент эта функция отключена).
5.2.2.4. Группа кнопок для управления программой¶
- Кнопка Settings… открывает настройки контроллера, см. раздел Настройки программы.
- Кнопка Chart… открывает окно с графиками, см. раздел Графики.
- Кнопка Scripting… открывает окно работы со скриптами, см. раздел Скрипты.
- Кнопка Go home осуществляет поиск начальной позиции, см. раздел Настройка исходного положения.
- Кнопка Cyclic включает режим циклического движения, см. раздел Настройка режима циклического движения.
Примечание
Команда Cyclic является составной командой: при вызове Cyclic в XiLab на уровне контроллера производится выполнение последовательности из команд Move to.
- Кнопка Zero обнуляет текущую позицию мотора и значение энкодера.
- Кнопка Stop посылает команду немедленной остановки, сбрасывает состояние Alarm, очищает буфер команд для синхронного движения и останавливает выполнение скрипта, если он запущен.
- Кнопка Save log сохраняет содержимое лога в файл в формате CSV (открывается диалог выбора файла для записи).
- Кнопка Clear log очищает содержимое лога.
- Кнопка Exit осуществляет корректное завершение работы, см. раздел Корректное завершение работы.
5.2.2.5. Статусная строка¶
В статусной строке находятся индикаторы текущего состояния контроллера. Слева направо это блок 7 флагов,
- L - Левая кнопка нажата
- R - Правая кнопка нажата
- G - Вход/выход GPIO активен
- B - Магнитный тормоз запитан
- S - Датчик оборотов активен
- I - Вход синхронизации активен
- O - Выход синхронизации активен
и отдельные индикаторы (флаги)
- EEPR - Загорается зеленым цветом, когда подвижка оснащена микросхемой памяти EEPROM.|br| Встроенный профиль подвижки загружается из микросхемы памяти EEPROM, при условии, что установлен флаг EEPROM_PRECEDENCE (XILab Settings->About device tab), что позволяет подключать различные подвижки к контроллеру с автоматической настройкой.
- HOMD - Загорается после успешного выполнения команды home (), что означает, что шкала относительного положения откалибрована с помощью аппаратного датчика абсолютного положения, такого как концевой выключатель.
- WndA/WndB имеет 1 из 4 состояний:
- Обмотка A/B отключена.
- Состояние обмотки A/B неизвестно.
- Обмотка A/B закорочена.
- Обмотка A/B подключена и работает исправно.
Важно
Статус определяется использованием статистических данных во время перемещения, что отнимает занимает время и делает этот статус довольно бесполезным в обычных приложениях. Поэтому в данный момент эта функция отключена.
- ENCD - Состояние энкодера имеет 1 из 5 состояний:
- Энкодера отсутствует.
- Состояние энкодера неизвестно.
- Энкодер подключен и неисправен.
- Энкодер подключен и работает, но считает в другом направлении.
- Энкодер подключен и работает исправно.
Важно
Флаг ENCD работает только в режимах None и EMF. В других режимах, таких как Encoder и Encoder Mediated, он не используется, потому что эти режимы невозможно использовать без энкодера.
Сразу после включения контроллера флаг будет в состоянии unknown - чтобы определить положение, нужно совершить движение. По мере движения значение флага может меняться.
- PWHT - Перегрев силового драйвера.
Управление двигателем отключено до восстановления рабочей температуры драйвера. Этого не должно происходить в коробочных версиях контроллера. Это может произойти в версии контроллера с «голой» платой и с пользовательским радиатором. Решение: используйте другой радиатор. - SLIP - Обнаружено проскальзывание мотора.
Флаг устанавливается, когда положение энкодера и положение шага слишком далеки друг от друга. Вы можете отключить флаг «Position control» или увеличить ошибку в поле «threshold» на вкладке «XILab Settings->Position control», чтобы предотвратить возникновение этой ошибки.
- WRM - Загорается при существенной разнице между сопротивлениями обмоток шагового двигателя.
Обычно это происходит с поврежденным шаговым двигателем у которого полностью или частично закорочены обмотки. Вы можете диагностировать проблему согласно инструкциям в нашем руководстве.
Важно
WRM алгоритм изначально не был рассчитан на использование для подвижек с ременной передачей (например, 8MRB450-350 или 8MRB240-152) из-за того что ремень может растягиваться и вибрировать. Вибрация, как правило, происходит на высоких скоростях, что и сбивает работу WRM алгоритма. Для подвижек ременной передачи это нормальное поведение
ENGR - Загорается красным при возникновении ошибки управления мотором.
Отказ алгоритма управления мотором означает, что он не может определить правильное решение с помощью полученных данных обратной связи. Единичный отказ может быть вызван механической проблемой. Повторяющийся сбой может быть вызван неправильной настройкой мотора.Для шагового двигателя с алгоритмом Feedback Encoder:
Флаг ENGR устанавливается при превышении допустимого расхождения между расчётным положением двигателя и положением, измеренным энкодером.Контроллер вычисляет разность:
dQEnc = (-(PhaseCalibration_EncoderShift << AccuracyBits) + BaseEngine_GetEnhancePos()) - (enc_pos << AccuracyBits);
Если модуль этой разности превышает полный оборот двигателя, считается, что управление потеряно, и устанавливается флаг ENGR. Таким образом, ENGR сигнализирует, что мотор потерял синхронизацию с энкодером - фактическое положение перестало соответствовать ожидаемому, и алгоритм не может гарантировать корректное движение.
Для BLDC двигателя:
Флаг ENGR может сработать, если в процессе работы фаза управления отклонилась от ожидаемого положения на величину, превышающую половину электрического периода. Это указывает на срыв управления по фазе - контроллер «не справился» с удержанием синхронного вращения ротора относительно магнитного поля.Причины возникновения:
- Резкая механическая остановка или заклинивание
- Перегрузка по моменту
- Проблемы с сигналом энкодера (обрыв, шум, переполнение счётчика)
- Ошибки в настройках двигателя (кол-во шагов на оборот, разрешение энкодера и др.)
EXTI - Ошибка вызвана игнорированием внешнего сигнала EXTIO, этой ошибкой можно управлять в настройках (XILab Settings->EXTIO tab)
ErrC - обнаружена ошибка команды.
Полученная команда отсутствует в списке известных команд контроллера. Наиболее вероятная причина - устаревшая прошивка, которую можно обновить в настройках XILab ->вкладка About device ->кнопка Autoupdate.ErrD - обнаружена ошибка целостности данных.
Данные внутри команды и ее код CRC не соответствуют, поэтому данные не могут считаться действительными. Эта ошибка может быть вызвана EMI в интерфейсе UART/RS232.ErrV - обнаружена ошибка значения.
Значения в команде не могут быть применены без корректировки, потому что они выходят за допустимый диапазон. Вместо исходных значений использовались исправленные.Ctbl - Статус загрузки корректирующей таблицы. Флаг загорается зеленым, когда для позиционера была загружена и применена корректирующая таблица.