5.3.9. Настройка внешних управляющих устройств

В окне настроек программы Device -> Control

../../../_images/01-09_control.png

Окно настроек внешних управляющих устройств

Control mode - выбор внешних устройств для управления двигателем.

  • Control disabled - внешние устройства не используются
  • Joystick - используется джойстик
  • Buttons - используются кнопки

Важно

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

В блоке Joystick содержатся настройки джойстика.

Low end, Center и High end определяют нижнюю границу, середину и верхнюю границу диапазона джойстика соответственно. То есть, нормированное значение АЦП джойстика равное или меньше Low end соответствует максимальному отклонению джойстика в сторону меньших значений.

Exp factor - параметр экспоненциальной нелинейности. См. Управление с помощью джойстика.

Dead zone - зона нечувствительности к отклонению джойстика от центрального положения. Минимальный шаг изменения: 0.1%, максимальное значение: 25.5%. Отклонению джойстика от положения Center на величину меньшую Dead zone соответствует нулевая скорость.

Reverse joystick - реверс воздействия джойстика. Отклонение джойстика к большим значениям приводит к отрицательной скорости и наоборот.

Кнопка Joystick calibration открывает диалог калибровки джойстика.

../../../_images/joycalib.png

Диалог калибровки джойстика

Калибровка сводится к автоматическому нахождению границ и зоны нечувствительности. Она происходит следующим образом:

Переместите джойстик в крайние положения - это позволит найти границы. Диапазон всех измеренных значений визуализируется зеленой линией.

Отпустите джойстик и нажмите кнопку Start - включится обнаружение зоны нечувствительности. В течение следующих 5 секунд имитируйте случайные воздействия на джойстик, которые не должны быть распознаны как смещение джойстика из нулевого положения. Диапазон зоны нечувствительности визуализируется красной линией.

Нажатие кнопки Apply передаст вычисленные значения в окно настроек, а нажатие OK передаст значения и закроет диалог калибровки.

Дополнительная проверка значения deadzone после калибровки
После завершения автоматической калибровки и нажатия кнопки OK, XILab выполняет дополнительную проверку полученного значения deadzone.

  • Если вычисленное значение deadzone превышает 10%, оно принимается без изменений, и процедура завершается.
  • Если значение deadzone составляет менее 10%, открывается дополнительное окно, в котором пользователю предлагается выбрать одно из следующих значений:
    • Рекомендованное значение deadzone для 1-осных систем — 5%. Этот диапазон надёжно учитывает:
      • электрические шумы;
      • механические вибрации;
      • слабые непреднамеренные прикосновения;
      • изменение параметров джойстика со временем.
    • Рекомендованное значение deadzone для 2-осных систем — 10%. Этот диапазон надёжно учитывает непреднамеренные отклонения джойстика по ортогональной оси. Например, непреднамеренное отклонение по оси Y при желаемом движении только по оси X.
    • Оставить значение deadzone, определенное в ходе автоматической калибровки.

Эта дополнительная проверка позволяет избежать установки слишком малого значения deadzone, которое может привести к нежелательным движениям мотора из-за электрических шумов, механических вибраций или случайных слабых воздействий на джойстик.

../../../_images/joycheck.png

Окно проверки и выбора deadzone джойстика

Блоки Left button and Right button отвечают за настройку физических кнопок.

Pushed Position - определяет при каком состоянии (нажата кнопка или нет) подается сигнал на движение в контроллер.

  • Open - отжатая кнопка считается командой движения.
  • Close - нажатая кнопка считается командой движения.

В блоке Click settings настраивается «клик» кнопок. Нажатие кнопки на краткое время интерпретируется как клик.

Max click time - максимальное время клика. До истечения этого времени первая скорость не включается.

Delta - смещение (дельта) позиции. Контроллер смещается на это расстояние при каждом клике.

Блок Speed settings содержит настройки таймаутов и скоростей движения.

Timeout [i] - время, по истечении которого скорость переключается со Speed[i] на Speed[i+1]. Если какой-либо из Timeout[i] равен нулю, то переключение на последующие скорости происходить не будет.

Speed[i] - скорость, на которой должен работать мотор после времени Timeout[i-1]. Если какая-либо скорость равна нулю, то переключение на эту и последующие скорости происходить не будет.

Команды настройки описаны в разделе Описание протокола обмена.