#astra linux #astralinux #pmsm #bldc #электродвигатель
В этом видео мы подключим два бесколлекторных двигателя к компьютеру с операционной системой Astra Linux, настроим нужное программное обеспечение, и поймем общую схему работы с двигателями, а также с абсолютными энкодерами положения вала.
Astra Linux - это российский дистрибутив Линукс, который сертифицирован для специальных применений. В этом видео мы будем использовать версию Орел, Common Edition с hardened ядром.
Контроллеры электродвигателей Сервосила предназначены для управления бесколлекторными двигателями (PMSM, BLDC) любых производителей в сочетании с различными энкодерами абсолютного положения вала (BISS-C, SSI, SPI, ШИМ, квадратурный) или без них. Для подключения к управляющим компьютерам АСУ или к бортовым системам управления контроллеры предоставляют интерфейсы управления CAN/CANopen и USB 2.0
Задать вопросы специалисту в Telegram-чате компании Сервосила
Компания Сервосила изначально разработала данные контроллеры для применения в своих собственных продуктах — руках-манипуляторах и сервоприводах. Технология этих контроллеров прошла несколько итераций разработки и совершенствования и включила в себя значительный опыт, накопленный компанией в процессе эксплуатации своих роботов в различных, зачастую экстремальных, условиях. С тех пор контроллеры СЕРВОСИЛА нашли широкое применение в самых различных отраслях промышленности и науки, - везде, где требуется компьютерное управление бесколлекторными двигателями.
Для сборки стенда будем использовать бесколлекторный двигатель со встроенными датчиками Холла и встроенным квадратурным энкодером. Также есть небольшой бездатчиковый бесколлекторный двигатель и магнитный абсолютный энкодер положения вала.
Купить контроллер бесколлекторного двигателя
Задать вопросы специалисту в Telegram-чате компании Сервосила
Для подключения двигателей и энкодеров к компьютеру с Astra Linux будем использовать контроллеры бесколлекторных двигателей компании Сервосила. Контроллеры бывают прямоугольной или круглой формы. На контроллерах есть разъемы для подключения двигателей, энкодеров, датчиков Холла и питания.
Контроллерам электродвигателей требуется напряжение питания от 7 до 60 вольт DC. Я приспособил блок питания от старого ноутбука. Блок питания выдает напряжение 19.7 вольт. Я раздвоил кабель и плоскогубцами закрепил разъемы для подключения кабелей к контроллерам.
Сборку начнем с шин данных USB и CANbus. Обыкновенный кабель USB используется для подключения одного из контроллеров к управляющему компьютеру или PLC. Остальные же контроллеры подключаются друг к другу гирляндой с помощью кабелей шины CANbus. Тот единственный контроллер, который подключен по USB к компьютеру, становится шлюзом USB-в-CABbus для всех остальных контроллеров в цепочке.
Теперь можно подключить двигатели #bldc или #pmsm. Я пока подключу только силовые фазы двигателей, и запущу двигатели в режиме с бездатчиковым управлением. Плоскогубцами я заранее одел нужные разъемы на кабели фаз двигателей.
Обязательно соблюдайте полярность подключения питания. Напряжение питания допускается любое в диапазоне от 7 до 60 вольт. На контроллерах двигателей есть клеммы для подключения питания, помеченные знаками плюс и минус.
На этом сборка завершена. Можно включить питание контроллеров. Теперь перейдем к настройке программного обеспечения.
Купить контроллер бесколлекторного электродвигателя
Задать вопросы специалисту в Telegram-чате компании Сервосила
В Astra Linux контроллер Сервосила определяется, как виртуальный последовательный порт. Контроллеры посылают телеметрическую информацию через этот порт с помощью текстовых сообщений. Обратите внимание, что телеметрия идет от всей цепочки контроллеров, а не только от того, который подключен к компьютеру по USB.
Для доступа к порту необходимо добавить текущую учетную запись в группу dialout.
После настройки виртуального последовательного порта, можно установить графическую программу Сервоскоп. Для этого надо разархивировать скачанный архив с программой, запустить Терминал, перейти в директорию с разархивированными файлами, и запустить скрипт.
В программе Сервоскоп выбираем правильный последовательный порт и подключаемся к нему. В списке устройств видны оба наших контроллера бесколлекторных двигателя. Два раза щелкните на имени устройства, чтоб открыть окно, через которое можно настраивать и управлять контроллером. Можно открыть сразу несколько окон. Проверьте, что телеметрия показывает правильное напряжение питания.
Следующий шаг - это запуск процедуры Автонастройки контроллеров. Из выпадающего списка выбираем команду "Auto-Configuration". Указываем максимальный ток из фазы-в-фазу, который двигатель может выдержать. Указываем количество полюсов ротора двигателя. Эти параметры берутся из документации на двигатель. Нажимаем кнопку Send.
Двигатель издает гудок, которые сигнализирует, что процедура Автонастройки началась.
Во время Автонастройки контроллер посылает серию импульсов для измерения различных характеристик двигателя. Эти импульсы и заставляют двигатель вращаться и ускоряться. Контроллер бесколллекторного двигателя использует результаты измерений для самонастройки под конкретный двигатель.
Будьте осторожны, потому что двигатель несколько раз ускоряется до максимальной скорости во время процедуры Автонастройки. Повторный гудок сигнализирует окончание процедуры автонастройки.
Также надо повторить такую же процедуру Автонастройки для второго двигателя.
У процедуры автонастройки есть свои ньюансы и особенности. Рекомендую посмотреть отдельный фильм на эту тему. Процедура автонастройки формирует базовую конфигурацию контроллера. Конфигурацию потом можно настраивать и оптимизировать под конкретные задачи уже вручную.
Купить контроллер бесколлекторного двигателя
Задать вопросы специалисту в Telegram-чате компании Сервосила
Что ж, оба контроллера автоматически настроены, можно провести проверку работы.
Например, выбираем из списка команду Electronic Speed Control. Задаем скорость в 200 электрических оборотов в секунду. Нажимаем кнопку Send. Двигатель начинает вращаться с заданной скоростью.
В заключение фильма продемонстрирую подключение магнитного энкодера положения вала с цифровым интерфейсом BISS-C. Датчики могут быть как линейные, так и угловые.
Специальный кабель соединяет энкодер с контроллером. Для подключения энкодеров на контроллере есть специальный разъем.
Информация с датчика применяется в различных режимах сервоуправления и direct drive режимах. Телеметрию с датчика можно посмотреть в окне управления двигателем.
Контроллеры имеют набор интерфейсов для подключения внешних датчиков абсолютного положения вала («энкодеров») с разрешением до 20 бит:
- Квадратурный интерфейс с индекс-сигналом,
- BISS-C интерфейс (в том числе к магнитным датчикам фирмы RLS),
- SSI интерфейс ,
- ШИМ интерфейс,
- SPI интерфейс
Датчики абсолютного положения вала («энкодеры») применяются в различных режимах сервоуправления, а также для поддержания плавного движения вала на низких скоростях вращения. Если энкодер в электроприводе отсутствует, то для таких случаев контроллеры поддерживают режимы бездатчикового управления (sensorless control) и управления по датчикам Холла (sensored control), а также серворежимы direct control, в которых энкодеры могут не требоваться.
Если энкодер в приводе присутствует, то контроллеры используют его, когда это имеет смысл. Если энкодер не подключен, то контроллеры могут работать и без него, но, возможно, в упрощенном режиме работы.
Задать вопросы специалисту в Telegram-чате компании Сервосила
Купить контроллер электродвигателя
Подключение двигателей, датчиков положения вала, датчиков Холла и управляющих шин CAN и USB 2.0 производится:
- либо через штатные разъемы на платах контроллеров,
- либо посредством припайки кабелей в специально предусмотренные отверстия на платах, чем обеспечивается виброустойчивость соединений.
В контроллерах реализованы следующие режимы управления бесколлекторными двигателями:
- Стабилизация выходного момента на валу (torque control). Применяется для точного управления силой, с которой электропривод воздействует на нагрузку, например, в испытательных стендах, АСУ ТП или в шагающих роботах.
- Стабилизация скорости вращения вала (ESC: electronic speed control). Применяется для поддержания заданной скорости вращения двигателя, вне зависимости от меняющейся внешней нагрузки, например, в тяговых электроприводах конвейеров, насосов или в шасси мобильных роботов. Контроллер бесколлекторного двигателя автоматически увеличивает или уменьшает момент на валу для того, чтоб поддерживать скорость вращения вала постоянной.
- Сервоуправление (servo control) — поворот до заданного положения вала и последующее удержание вала с использованием датчика положения вала (энкодера) через редуктор или напрямую. Применяется в робототехнических руках-манипуляторах, АСУ ТП, станках с ЧПУ и любых других устройствах, где необходимо повернуть вал двигателя на заданный угол, а затем поддерживать положение при изменяющейся внешней нагрузке. В зависимости от подключенного энкодера положения вала обеспечивается точность поворота сервопривода до 20 бит.
- Direct Drive — точное управление положением вала посредством прямого позиционирования магнитного поля статора электродвигателя, в том числе при отсутствии редуктора в электроприводе. Применяется в системах компьютерного зрения, станках с ЧПУ, линейных двигателях, - везде где требуется максимальная точность управления положением без редукторов. В этом режиме электропривод на бесколлекторном двигателе может заменить шаговые двигатели при значительном улучшении точности.
- Тормоз вала («блокировка вращения»), - блокировка вращения вала вне зависимости от воздействия внешних нагрузок, например, для фиксации остановленного конвейера или для торможения колес мобильного шасси, стоящего «на горке». Блокировка происходит только работой бесколлекторного двигателя без применения каких-либо дополнительных тормозных устройств. Для блокировки вала применяется метод, минимизируещий потребление электрической энергии.
- Рекуперация энергии в батарею. Если контроллер питается от батареи, то он способен «пропускать» ток обратно в батарею тогда, когда электродвигатель работает в режиме электрогенератора, например, при торможении мобильного шасси. При этом возможно программное управление силой тока, идущего в батарею. Этот режим также применяется в системах «стартер-генератор» в сочетании с двигателями внутреннего сгорания (ДВС), в которых после запуска ДВС электродвигатель переходит в режим электрогенератора.
Купить контроллер бесколлекторного двигателя
Задать вопросы специалисту в Telegram-чате компании Сервосила
Реализованный набор алгоритмов управления обеспечивает динамическую устойчивость и малошумность работы электродвигателя, а также достижение максимального момента или максимальной скорости вращения вала (в зависимости от задачи) при оптимизации энергопотребления и обеспечении защиты электродвигателя от перегрева, а редуктора от поломки.
В контроллерах СЕРВОСИЛА (brushless motor controllers) реализованы современные алгоритмы управления бесколлекторными двигателями:
- Field Oriented Control (FOC),
- с Back-EMF Observer и Hall Sensors Observer,,
- с функцией Q-D axis coupling compensation для гладкости хода,
- с опциональным field weakening для достижения максимальных скоростей вращения,
- с интеллектуальными алгоритмами защиты
- и управления динамикой электродвигателя,
- и автоматическим определением характеристик двигателя и привода.
Возможность управлять коллекторными двигателями и соленоидами посредством силовой ШИМ - это вспомогательная функция данных контроллеров, спроектированых прежде всего для управления бесколлекторными двигателями. Для коллекторных двигателей (в отличие от бесколлекторных) реализовано только управление без обратной связи (open loop). При этом при желании можно управлять двумя коллекторными двигателями одновременно (и даже тремя коллекторными двигателями при определенных ограничениях). Также с помощью данных контроллеров можно управлять соленоидами.
В комплект поставки входит программное обеспечение «Сервоскоп», которое автоматизирует процесс настройки контроллеров под конкретный электродвигатель и позволяет строить графики и получать отладочную телеметрию с электроприводов по сети CANbus или USB 2.0. Данное графическое программное обеспечение работает как под ОС Windows 10/8, так и под ОС Linux, в том числе, на популярных дистрибутивах Debian и Ubuntu. Установка драйверов не требуется.
Для упрощения отладки пользовательского управляющего программного обеспечения в комплект поставки входит программный симулятор контроллера СЕРВОСИЛА. Программный симулятор распространяется бесплатно в составе программного обеспечения «Сервоскоп». Этот симулятор полностью воспроизводит управляющий интерфейс CAN/CANopen контроллеров СЕРВОСИЛА и позволяет отлаживать пользовательское программное обеспечение управления электроприводом без риска повредить реальный электродвигатель или редуктор электропривода.
Поддерживаемые операционные системы:
- Windows (драйвер не требуется)
- Linux (драйвер не требуется): Debian, Ubuntu
- Raspberry PI OS и другие.
Задать вопросы специалисту в Telegram-чате компании Сервосила
YouTube канал компании Сервосила
Компания Сервосила производит волновые редукторы, контроллеры бесколлекторных двигателей, сервоприводы, роботы и программное обеспечение с искусственным интеллектом. Компания была основана в 2013 году.