Как стать автором
Обновить

Управление бесколлекторными двигателями из Astra Linux

Время на прочтение3 мин
Количество просмотров4.7K

В этом видео мы подключим бесколлекторные двигатели к компьютеру с операционной системой Astra Linux, настроим нужное программное обеспечение, и поймем общую схему работы с двигателями, а также с абсолютными энкодерами положения вала.

Astra Linux - это российский дистрибутив Линукс, который сертифицирован для специальных применений. В этом видео мы будем использовать версию Орел, Common Edition с hardened ядром.

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

Для подключения двигателей и энкодеров к компьютеру с Astra Linux будем использовать контроллеры бесколлекторных двигателей компании Сервосила. Контроллеры бывают прямоугольной или круглой формы. На контроллерах есть разъемы для подключения двигателей, энкодеров, датчиков Холла и питания.

Контроллерам двигателей требуется напряжение питания от 7 до 60 вольт DC. Я приспособил блок питания от старого ноутбука. Блок питания выдает напряжение 19.7 вольт. Я раздвоил кабель и плоскогубцами закрепил разъемы для подключения кабелей к контроллерам.

Сборку начнем с шин данных USB и CANbus. Обыкновенный кабель USB используется для подключения одного из контроллеров к управляющему компьютеру или PLC. Остальные же контроллеры подключаются друг к другу гирляндой с помощью кабелей шины CANbus. Тот единственный контроллер, который подключен по USB к компьютеру, становится шлюзом USB-в-CABbus для всех остальных контроллеров в цепочке.

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

Обязательно соблюдайте полярность подключения питания. Напряжение питания допускается любое в диапазоне от 7 до 60 вольт.

На контроллерах двигателей есть клеммы для подключения питания, помеченные знаками плюс и минус.

На этом сборка завершена. Можно включить питание контроллеров.

Теперь перейдем к настройке программного обеспечения.

В Astra Linux контроллер Сервосила определяется, как виртуальный последовательный порт. Контроллеры посылают телеметрическую информацию через этот порт с помощью текстовых сообщений. Обратите внимание, что телеметрия идет от всей цепочки контроллеров, а не только от того, который подключен к компьютеру по USB.

Для доступа к порту необходимо добавить текущую учетную запись в группу dialout.

После настройки виртуального последовательного порта, можно установить графическую программу Сервоскоп. Для этого надо разархивировать скачанный архив с программой, запустить Терминал, перейти в директорию с разархивированными файлами, и запустить скрипт.

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

Следующий шаг - это запуск процедуры Автонастройки контроллеров. Из выпадающего списка выбираем команду "Auto-Configuration". Указываем максимальный ток из фазы-в-фазу, который двигатель может выдержать. Указываем количество полюсов ротора двигателя. Эти параметры берутся из документации на двигатель. Нажимаем кнопку Send.

Двигатель издает гудок, которые сигнализирует, что процедура Автонастройки началась.

Во время Автонастройки контроллер посылает серию импульсов для измерения различных характеристик двигателя. Эти импульсы и заставляют двигатель вращаться и ускоряться. Контроллер использует результаты измерений для самонастройки под конкретный двигатель.

Будьте осторожны, потому что двигатель несколько раз ускоряется до максимальной скорости во время процедуры Автонастройки. Повторный гудок сигнализирует окончание процедуры автонастройки.

Также надо повторить такую же процедуру Автонастройки для второго двигателя.

У процедуры автонастройки есть свои ньюансы и особенности. Рекомендую посмотреть отдельный фильм на эту тему. Процедура автонастройки формирует базовую конфигурацию контроллера. Конфигурацию потом можно настраивать и оптимизировать под конкретные задачи уже вручную.

Что ж, оба контроллера автоматически настроены, можно провести проверку работы.

Например, выбираем из списка команду Electronic Speed Control. Задаем скорость в 200 электрических оборотов в секунду. Нажимаем кнопку Send. Двигатель начинает вращаться с заданной скоростью.

В заключение фильма продемонстрирую подключение магнитного энкодера положения вала с цифровым интерфейсом BISS-C. Датчики могут быть как линейные, так и угловые.

Специальный кабель соединяет энкодер с контроллером. Для подключения энкодеров на контроллере есть специальный разъем.

Информация с датчика применяется в различных режимах сервоуправления и direct drive режимах.

Телеметрию с датчика можно посмотреть в окне управления двигателем.

Теги:
Хабы:
Всего голосов 16: ↑7 и ↓9-2
Комментарии6

Публикации