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

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

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

XiLab или другое программное обеспечение не видит контроллер.

  • Компьютер не обнаруживает контроллер по USB:
../../_images/HW.png

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

Наиболее частая причина подобного рода ошибок - это проблемы в работе USB-хаба, кабеля или проблема определения виртуального COM-порта в операционной системе на используемом ПК. Попробуйте воспроизвести данную ошибку на другом компьютере или с другим USB-хабом, если он используется.

Предупреждение

Ошибка «Can’t open device» или функция «open_device()» возвращает -1. Библиотека Libximc работает с контроллером в режиме эксклюзивного доступа. Каждый контроллер, открытый билиотекой libximc (XiLab тоже использует эту билиотеку) должен быть закрыт, прежде чем может быть использован другим процессом. Поэтому прежде чем попытаться открыть контроллер заново, проверьте, что XiLab или другое программное обеспечение, взаимодействующее с контроллером, закрыто.

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

Windows:

../../_images/Win.png

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

  • Проверьте, что COM-порт, соответствующий вашему контроллеру, присутствует в Диспетчере устройств. Контроллер должен отображаться как «XIMC Motor Controller (COMn)». Если контроллер не распознан, попробуйте переустановить драйвер контроллера вручную.
  • Попробуйте открыть COM-порт контроллера в любом простом последовательном эмуляторе (напрмер, Putty) и отправьте контроллеру одну из простых команд («stop», «sstp», «zero»). Параметры подключения описаны здесь. Отсутствие ошибок означает, что контроллер работает правильно, и проблема вызвана используемым программным обеспечением.

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.

3.6.4. Кратковременная потеря контроллера

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

Возможное решение: уменьшить в настройках шагового двигателя значения ускорения и замедления (XiLab -> Settings -> вкладка Stepper motor).