3.6. Решение возможных проблем

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

3.6.1. Контроллер не обнаруживается в XiLab

Решение:

../../_images/HW.png

Комментарий к диаграмме:

Ниже изображены карты действий для разных операционных систем.

Windows:

../../_images/Win.png

Linux:

../../_images/Linux.png

Комментарий к решению проблемы «Can’t open device» (2 ветка):

В Linux, при работе с контроллером через USB-… переходник, появляется устройство /dev/ttyUSB. XiLab отображает его в списке, но при попытке открыть возникает ошибка «can’t open device» из-за отсутствия соответствующих прав доступа к устройству.

Для решения данной проблемы создайте файл: /etc/udev/rules.d/31-ximc.rules и добавьте в него следующую строку:

SUBSYSTEM=="usb", ATTR{idVendor}=="067b", MODE="0666"

Идентификатор idVendor можно найти с помощью команды lsusb.

Mac OS:

../../_images/Mac.png

3.6.2. Не удаётся вращать мотором при помощи контроллера

3.6.2.1. Контроллер в состоянии Alarm

Попробуйте нажать Stop в главном окне XiLab. Это убирает состояние Alarm. Если данный способ не помогает и Alarm появляется снова, то:

  • Находясь в XiLab, перейдите во вкладку Maximum ratings.
  • Поставте галочку напротив опции Sticky Alarm flags. Нажмите Ок.
  • Нажмите Stop в главном окне XiLab, выйдя из состояния Alarm. Повторите последовательность действий, которая привела к Alarm.
  • Сделайте скриншот главного окна XiLab и отправьте его в техподдержку с подробным описание проблемы.

3.6.2.2. Мотор вибрирует, вращения нет

У данной проблемы может быть несколько причин:

  • Установлен некорректный профиль для вашего мотора/подвижки.

    • Поищите наиболее совпадающий по названию с используемой подвижкой профиль в папке с профилями в XiLab.
    • Рекомендуется сохранить текущую конфигурацию в файл. Для этого необходимо в окне Settings программы XiLab нажать Save to file (см. настройки программы XiLab), выбрать путь, куда сохранить настройки. Затем этот файл отправить в техподдержку с описанием проблемы.
  • Неправильно настроены концевые выключатели, в результате чего подвижка уехала в концевик. Обычно это можно увидеть по загорающимся индикаторам в XiLab.

    ../../_images/BordersIndicators.png

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

    • Также одним из проявлений проблемы с концевиками может быть механическое заклинивание (см. следующий пункт).
  • Сгоревшая обмотка мотора, проблемы с контактом в разъёме и т.п. Диагностировать проблемы такого рода можно самостоятельно. Для этого в XiLab есть возможность вывести графики напряжения и тока во время работы мотора. В исправном моторе ток в обмотках меняется по синусу или косинусу. В сломанном моторе будут заметны сильные отличия формы сигналов от гармонической.

    ../../_images/Charts.png

    Исправный случай

    На графиках ниже видны проблемы. Например, отсутствует ток через обмотку B. Вероятно, в ней имеется разрыв. Также искажены остальные формы напряжений и токов.

    ../../_images/ChartsBadCase.png

    Имеются проблемы с мотором

Для диагностики проблемы установите маленькую рабочую скорость (1 ш/с - оптимально) и подайте команду движения. Далее включите вывод графиков напряжений и токов в обмотках A и B и график полного тока в XiLab (кнопка Charts, далее отметьте галочками). Подождите некоторое время, пока графики построятся. После этого рекомендуется отправить их (кнопка Save для сохранения) в техподдержку с подробной формулировкой проблемы. Иногда при сгоревшей обмотке невозможно пользоваться XiLab из-за постоянной потери устройтва, и вывод графиков становится невозможен. В этом случае также обратитесь в техподдержку с подробным описанием проблемы.

3.6.2.3. Механическое заклинивание

Существует два способа справиться с заклиниванием в позиционере:

  • Провернуть подвижку руками, если это возможно.
  • Увеличить ток в обмотке в 2-3 раза на короткое время (до 5-10 секунд) и подать команду движения в нужную сторону на невысокой скорости (50-100 ш/с - разумное значение). Через несколько секунд после вращения нажимать клавишу остановки (чёрный квадратик) в главом окне XiLab, до тех пор, пока не появится статус power off. Это позволит избежать перегрева мотора. После выполнения данной операции не забудьте вернуть настройки обратно!

3.6.2.4. Двигатель не реагирует на команды движения

Контроллер выглядит нормально, но двигатель не начинает движение по команде, оставляя сообщения об ошибках в журнале, контроллер перезагружается. Эта ошибка может возникнуть из-за существенно неправильных настроек калибровок контроллера. Это происходит, когда ожидаемые значения электрических параметров двигателя отличаются от реальных на несколько порядков. Установка неправильных калибровочных параметров может быть вызвана неравномерной механической нагрузкой на двигатель или различием механического трения по разным направлениям движения. В этом случае контроллер пытается сделать небольшое перемещение для калибровки двигателя (калибровка выполняется до включения питания двигателя) и выключается из-за срабатывания защиты по току.

Если вы столкнулись с этой проблемой, просто выполните следующие действия:

  • Откройте XiLab, загрузите профиль для используемого двигателя.
  • На вкладке Stepper motor в меню Settings выставьте номинальный ток 200 мА, рабочую скорость 1 ш/с, нажмите Apply и Save to flash.
  • Попытайтесь начать движение, наблюдайте за текущими параметрами двигателя в окне Charts, как описано выше.
  • Если диаграммы выглядят нормально, загрузите обычные настройки для используемого двигателя и работайте с ним, как обычно.

3.6.3. Зависание операционной системы при использовании библиотеки libximc и ядра Linux с версией менее 3.16

Комментарий: проблема является следствием ошибки в драйвере последовательного порта cdc-acm. Наблюдается при частом последовательном открытии и закрытии нескольких устройств. Зависание проявляется на Debian 7 (ядро 3.2), не проявляется на Debian 8 (ядро 3.16). Дополнительная информация о проблеме находится по следующей ссылке.

Решение: обновление текущей версии Linux.