Путь проектирования и программирования железа для управления электродвигателем в наноспутнике
Установка положения спутника в пространстве осуществляется с помощью электродвигателей, снабженных маховиками. В статье рассмотрены основные моменты по проектированию печатной платы, обеспечивающей вращение двигателя, снабженного маховиком, и написанию программного обеспечения, реализующего управление электродвигателем.
Печатная плата
Основным требованием к печатной плате, кроме её работоспособности, является ее электромагнитная совместимость (ЭМС). Так как размеры наноспутника малы, а электродвигатели являются одним из основных источников электромагнитных помех, то ЭМС данного звена спутника особо важна. Поэтому расположение печатной платы, управляющей электродвигателями, внутри спутника, должно быть выбрано так, чтобы возникающие помехи не оказывали влияния на другие элементы аппарата. Отсюда возникает решение закрепить печатную плату на электродвигателе.
Далее рассмотрим путь создания единой печатной платы отвечающей за управление всеми двигателями, находящимися в наноспутнике. В наноспутнике расположено четыре электродвигателя, печатная плата представляет собой четыре одинаковых блока, каждый из которых управляет своим двигателем. Далее речь будет идти об одном из таких блоков, разведенном на специальной одноканальной макетной плате.
Одноканальную плату можно разбить на несколько блоков: датчики обратной связи, силовая часть, интерфейсы связи с другими устройствами (для удобства программирования платы), вычислительная часть. (представлены на рисунке 1)
Рисунок 1 — Блок-схема печатной платы
Питание
Питание платы определяется электродвигателем. Под питание на плате выделен отдельный слой, он разделен на 3 полигона, с напряжениями 5V0, 3V3, 7_12V0 (рисунок 2). Еще один полигон питания 3V0, необходим как опорное напряжение для датчиков обратной связи, для уменьшения наводок от других полигонов питания, он размещен на верхнем сигнальном слое (рисунок 3).
Рисунок 2 — Слой питания одноканальной платы
Рисунок 3 — Сигнальный слой TOP c выделенным полигоном питания 3V0
Датчики обратной связи
Для реализации векторного управления (field-oriented control — FOC) необходимо иметь обратную связь от электродвигателя, чтобы в каждый момент времени иметь возможность определить угловое положение ротора и его скорость. Внутри двигателя вмонтированы датчики Холла, они бывают цифровыми и аналоговыми. Если в электродвигателе вмонтированы аналоговые датчики Холла, то сигналы с них необходимо подвести к АЦП входам микроконтроллера, при наличии цифровых датчиков, сигналы подводятся к GPIO входам МК. Также необходимо измерять ток в обмотках статора электродвигателя, для этого на плате расположены три усилителя измеряемого напряжения. Внутренний АЦП микроконтроллера обрабатывает данные с усилителей сигнала.
Силовая часть
Двигатель имеет три вывода (три фазы) на которые в разные моменты времени подается »+» или »‑» питания. Это реализуется с помощью электронных ключей, включенных по мостовой схеме, представленной на рисунке 4.
Рисунок 4 — Мостовая схема ключей
Мостовая схема может быть реализована с помощью МОП-транзисторов, реализация представлена на рисунке 5. Выбор силовых транзисторов делается на основании данных о максимальном возможном токе и напряжении питающей сети двигателя. С другой стороны, при проектировании силовой части можно использовать драйверы электродвигателей, которые содержат внутри себя мостовой каскад. Примером такой микросхемы является драйвер STSPIN830 от компании STmicroelectronics, его блок-схема представлена на рисунке 6. Использование подобных микросхем позволяется уменьшить размер печатаной платы и количество компонентов на ней.
Рисунок 5 — Реализация мостовой схемы на МОП — транзисторах
Рисунок 6 — блок — схема STSPIN830
Внешние интерфейсы
При разработке программного обеспечения требуется обратная связь от микроконтроллера, для проверки корректности работы прошивки. Поэтому на плате предусмотрен преобразователь USB-UART, а также связь по интерфейсу CAN.
Вычислительная часть
Вычислительная часть платы состоит из микроконтроллера STM32L496RG и микросхемы памяти MR25H40VDF.
Программное обеспечение
Спроектированное аппаратное решение позволяет реализовать три различных алгоритма управления электродвигателем.
Первый алгоритм управления можно назвать PMSM Сontrol. Данный алгоритм является более простым, чем векторное управление и требует меньше вычислений «на ходу». В отличии от FOC, где по известному угловому положению ротора в каждый момент времени устанавливается нужное положение вектора магнитного поля статора, в алгоритме управления PMSM Control, вектор магнитного поля статора постоянно вращается. Причем скорость его вращения полностью определяется скоростью вращения ротора. Электродвигатель возбуждается синусоидальными токами, иначе говоря график зависимости разности напряжений между фазами от времени является синусоидой. Для этого на каждой фазе двигателя возбуждается напряжение, зависимость от времени которого представлена на рисунке 7.
Рисунок 7 — генерация синусоидальной волны
Так как напряжение питания является постоянным, то для генерации определенного уровня напряжения используется ШИМ. Для каждой из трех фаз существует таблица со значениями скважности ШИМ для прохождения 360 электрических градусов вектора статора. У такого подхода есть два преимущества:
максимальная амплитуда генерируемого напряжения выше, чем при генерации чистой синусоиды на каждой фазе. Как следствие получается более высокий момент и угловая скорость.
каждый вывод двигателя треть времени подключен к «земле», что сокращает потери мощности на коммутацию.
При данном методе регулирования токи в фазах двигателя не измеряются, используется только обратная связь по датчикам Холла. Происходит подстройка скорости вращения вектора статора в зависимости от реальной скорости вращения ротора, также при срабатывании цифрового датчика Холла, происходит сравнение текущего углового положения ротора и положение вектора статора, в зависимости от скорости вращения, настраивается угол опережения статора от ротора. Данный алгоритм управления синусоидальными токами подходит как для PMSM двигателей, так и для BLDC.
Вторым более сложным алгоритмом управления является классическое векторное регулирование для PMSM двигателей или управление коммутацией по датчику положения ротора для BLDC двигателей, подробно данные алгоритмы описаны в источнике [3].
Современные среды разработки алгоритмов управления содержат в себе готовые модели с реализованным векторным управлением электродвигателей. Одной из таких сред динамического моделирования является SimInTech. С помощью данного ПО можно реализовать алгоритм управления из готовых блоков, протестировать его на смоделированном электродвигателе с заданными параметрами, сгенерировать Си код под микроконтроллер STM32. Далее вместо смоделированного электродвигателя выступает реальный двигатель, алгоритм выполняется на спроектированной плате, а органом управления является ПК, на котором отображаются все показания системы. Данный подход является самым интересным в реализации и позволяет полностью изучить возможности электродвигателя.
Литература:
[1] Ott H. W.
[2] Семен Тютюков
[3] Ю.Н. Калачев
[4] Microchip
[5] Avislab