Перевел статью от Texas Instruments, с целью более прочного освоения материала.
Уменьшение стоимости системы с помощью программной реализации управления резольвером на микроконтроллерах C2000™.
Автор: Ramesh Ramamoorthy
C2000™ Microcontroller Applications Engineer, Texas Instruments
Введение
В типичном сервоприводе резольверы или энкодеры используются для обеспечения обратной связи о положении вала с блоком управления. Резольверы более надежны и прочны, чем оптические энкодеры и более устойчивы к загрязнениям и вибрации. Энкодер выдает последовательность импульсов, резольвер выдает амплитудно-модулированный синусоидальный сигнал, которые требуют дополнительной обработки для извлечения информации о местоположении. В этой статье объясняется, как микроконтроллеры TI C2000 могут эффективно обрабатывать их для получения обратной связи по скорости и положению с более высокой битовой точностью.
Резольвер представляет собой вращающийся трансформатор с первичной обмоткой в роторе и двумя вторичными обмотками в статоре. Вторичные обмотки смещены друг относительно друга на 90 градусов. Следовательно, первичный поток, связывающий вторичные обмотки, будет пропорционален синусу и косинусу положения ротора. Если первичная обмотка возбуждается напряжением ep = Emsin(ωct), то напряжения, индуцируемые во вторичных обмотках (синус и косинус), определяются выражением:
где,
ωc - сигнал возбуждения,
θ - угол поворота ротора,
k - коэффициент трансформации
Существует два способа подачи сигнала возбуждения в первичную обмотку - использование щеточного коллектора и использование вспомогательной обмотки. Щетки не самый надежный способ, из-за наличия скользящего контакта, хотя все же иногда используются. При использовании вспомогательной обмотки, на статоре и роторе делается две концентрические обмотки и энергия сигнала возбуждения передается из вспомогательной статорной обмотки в вспомогательную обмотку ротора, после чего этот сигнал передается в рабочую обмотку ротора, которая уже и формирует поле, которое принимается вторичными обмотками статора.
Рис. 1 Функциональная схема резольвера
Особенности работы с резольвером
Поскольку выходные сигналы резольвера тригонометрически связаны друг с другом, угол поворота ротора можно вычислить по следующей формуле:
На точность такой математики влияет качество параметров в правой части этого уравнения, которые являются вторичными напряжениями. В них присутствуют ошибки электрического фазового сдвига, несоответствия коэффициента трансформации между вторичными цепями и механического отклонения от квадратуры между вторичными цепями. В дополнение к этим собственным проблемам внешние факторы, такие как шум земли, рассогласование коэффициентов усиления и нелинейность в цепи управления, а также проблемы с качеством несущей, вносят еще одну степень погрешности. Следовательно, при проектировании аппаратного и программного обеспечения управления следует проявлять осторожность, чтобы исключить как можно больше вносимых ошибок.
«Простой» метод
Самый простой и прямой метод заключается в реализации уравнения 1. Имеет смысл выбирать значения вторичных сигналов на их пиках, чтобы обеспечить более высокое отношение сигнал/шум, и использовать его в уравнении 1, как показано на рисунке 2.
Рис. 2 Схема "простого" метода
Однако этому простому методу не хватает качества. Из-за системного шума предполагаемый угол будет иметь больше дрожаний, поэтому необходим фильтр. К сожалению, фильтр будет вставлять фазовую задержку, которая будет линейно изменяться в зависимости от скорости, что само по себе не подходит. Вот почему необходим наблюдатель, который не только фильтрует выходные колебания без какой-либо задержки по фазе, но и повышает точность оценки в дополнение к оценке скорости ротора.
Наблюдатель
Наблюдатель предназначен для отслеживания угла поворота ротора с минимальной ошибкой во всех динамических условиях. Для этого ему нужна ссылка и оценка, и он предпринимает корректирующие действия на основе наблюдаемой ошибки. Можно представить наблюдателя, который может учитывать влияние крутящего момента нагрузки, чтобы свести к минимуму время отклика, но тогда ему также потребуется инерция нагрузки, что делает его зависимым от нагрузки, и, следовательно, он не рассматривается в этой оценке. В этом конкретном случае наблюдатель по существу становится PLL, которому требуется несколько функциональных блоков для выполнения определенных задач, как показано на рисунке 3.
Полосовой фильтр
Чтобы наблюдатель был надежным, параметры, которые он принимает в качестве входных данных, должны быть как можно более чистыми. Синусоидальная и косинусная обратная связь от резольвера может быть потенциально загрязнена фоновым шумом, динамическим смещением и изменениями коэффициента усиления аппаратуры обработки обратной связи, прежде чем она будет считана аналого-цифровым преобразователем (АЦП). Большую часть этого можно компенсировать, пропуская эти сигналы через полосовой КИХ-фильтр, полоса пропускания которого находится вокруг несущей частоты с шириной полосы, по крайней мере, в два раза превышающей скорость вращения вала. Это ограничивает частотный спектр выходных КИХ-сигналов до Fc + Fb и Fc - Fb, эффективно избавляясь от динамических дрейфов постоянного тока и большей части белого шума в сигналах обратной связи. Этот процесс добавляет дополнительные биты точности к этим сигналам, эффективно повышая точность числителя и знаменателя уравнения 1. Чем выше частота дискретизации и меньше полоса пропускания, тем выше точность. Но практические соображения, связанные с загрузкой ЦП, устанавливают верхний предел частоты дискретизации и порядка КИХ-фильтра, в то время как требования к максимальной скорости вращения ротора устанавливают предел пропускной способности. Когда порядок КИХ-фильтра ниже, трудно точно расположить полосу пропускания, и, следовательно, ширина полосы оказывается больше, чем необходимо. При всех этих ограничениях точность все же повышается. Тем не менее, он все еще не свободен от джиттера, и необходим фильтр.
Рис. 3 Блок-схема контроллера
Децимация
Чтобы использовать полный диапазон АЦП и улучшить отношение сигнал/шум, имеет смысл игнорировать выходы КИХ, когда они не близки к пикам своего цикла. Поэтому достаточно выполнять операцию FIR только для экземпляров, которые выдают пики цикла, что приводит к естественному прореживанию либо 2N:1, если рассматривается один из пиков, либо N:1, если рассматриваются оба пика. При прореживании 2N:1 дискретизация синхронна с несущей частотой и, следовательно, будет демодулировать сигналы до частоты (Fb), соответствующей скорости вращения вала, тогда как при прореживании N:1 демодулированный сигнал будет иметь несущую частоту. соответствующие пикам его цикла, удерживая огибающую Fb. При N:1 требуется дополнительная логика для различения положительных и отрицательных пиков несущей. Половина скорости прореживания даст удвоенное количество выборок за цикл несущей, но ее выбор является компромиссом, основанным на мощности ЦП и системных требованиях.
Вычисление ошибки
Прямой метод заключается в нахождении арктангенса сигналов обратной связи и сравнении с наблюдаемым значением. Другой популярный метод заключается в перекрестном умножении синуса и косинуса расчетного угла на угол входных сигналов и вычитании одного из другого, как это математически определяется следующим образом:
Во втором методе, когда эталон и оценка находятся далеко друг от друга, ошибка пропорциональна синусу и становится нелинейной в отличие от первого метода. Если угол ошибки лежит во втором или третьем квадранте, это может увеличить время отклика для второго метода. При нормальных условиях эксплуатации такой огромной ошибки может и не быть. Тем не менее, в этом эксперименте используется метод арктангенса, что придает больше уверенности в его линейности.
Фильтр
Несмотря на то, что сигналы проходят через полосовой фильтр, любой шум в основной полосе все равно может просочиться и исказить конечный результат. Простой фильтр первого порядка может свести к минимуму его влияние. Поскольку исходный сигнал динамически изменяется (линейно) по сравнению с сигналом ошибки (DC), фильтрация сигнала ошибки может уменьшить влияние шума без внесения какого-либо фазового сдвига или искажения.
Компенсация задержки полосового фильтра
Выходы КИХ-фильтров задерживаются пропорционально количеству отводов независимо от входной частоты. Если имеется N выборок несущей и N+1 отводов для КИХ-фильтра, то задержка определяется как N.Ts/2, где Ts - время выборки. Поскольку N отсчетов распределены по одному циклу несущей, задержка составит половину цикла несущей. Это можно компенсировать на основе оценки текущей скорости ротора, как показано на блок-схеме.
Настройка петли
Передаточная функция разомкнутого контура системы задается следующим образом:
Ее корневой годограф показан на рисунке 4.
Рис. 4 Корневой годограф передаточной функции
В зависимости от необходимого уровня фильтрации шума можно выбрать ωf. Для устойчивости контура ωpi должно быть меньше, чем ωf. Передаточная функция замкнутого контура определяется как:
Установившаяся ошибка этого наблюдателя пропорциональна ускорению ротора. Выбрав более высокое значение kp, эту ошибку можно свести к минимуму. Выбрав правильные значения Kp, wz, wp1, δ и wn, переходную характеристику и уровень фильтрации можно настроить на предпочтительные уровни.
Экспериментальная установка
Для оценки общей производительности интерфейса резольвера, включая аппаратное и программное обеспечение, в качестве эталона используется абсолютный энкодер. Таким образом, испытательный стенд включал двигатель, абсолютный энкодер и резольвер.
Аппаратный интерфейс
Схема интерфейса резольвера показана на рис. 5. Первичная обмотка резольвера возбуждается синусоидальным напряжением 10 В пик-пик на частоте 10 кГц. Он генерируется с использованием синусоидальной ШИМ из таймера и фильтруется в два этапа, чтобы получить визуально чистую синусоиду без гармоник. Сигнал, показанный как PWM_dither, подключается к GND через GPIO. Уровень сигнала от резольвера подстроен так, чтобы соответствовать динамическому диапазону АЦП C28x. Этот этап потенциально может вносить ошибки из-за дрейфа смещения/усиления, хотя некоторые из них можно устранить с помощью КИХ-фильтра. Поэтому следует уделить должное внимание выбору компонентов.
Рис.5 Схема аппаратного интерфейса резольвера
Программный интерфейс
Частота дискретизации АЦП 160 кГц (8-кратная передискретизация), т.е. получается 16 сэмплов на один период несущей. После первоначальной компенсации смещения они проходят через блок-схему управления, показанную на рисунке 3, и получают угловые оценки. В микроконтроллере Delfino (TMS320F28335) это реализовано на ЦП с операциями с плавающей запятой, а на микроконтроллере Piccolo 02x (TMS320F28027) на ЦП с фиксированной запятой. Микроконтроллер Piccolo 03x (TMS320F28035) может выполнять обработку на ЦП с фиксированной запятой или на специальном ускорителе с плавающей запятой. Сигнал возбуждения формируется так же на частоте 160 кГц, а выборка АЦП синхронизирована так, чтобы захватывать пиковые значения сигнала с выхода резольвера.
Тестирование
Двигатель отключается, а ротор остается неподвижным во время любого испытания. Оценки положения от резольвера и абсолютного энкодера получаются и сравниваются. Для любой заданной позиции абсолютный энкодер предоставит единственное уникальное значение, тогда как преобразователь предоставит диапазон значений, незначительно отличающихся друг от друга. Среднее значение выходного сигнала резольвера сравнивается с выходным сигналом энкодера для получения средней ошибки, а для наихудшего случая отклонения выходного сигнала энкодера от его среднего значения рассчитывается системный шум или ошибка оцифровки. Чем ниже эта ошибка, тем выше разрешение и производительность. Этот тест повторяется для различных положений ротора в течение полного цикла вращения, и результаты отображаются, как показано на рис. 6, для микроконтроллеров C2000 Piccolo и Delfino.
Таблица 1 Наихудшие тестовые результаты
Можно отметить, что максимальная средняя ошибка составляет около 25 угловых минут. Это требует исправления для обработки ошибки, возникшей во время инициализации энкодера. Выходной сигнал энкодера был вручную сброшен на ноль, когда выходной сигнал резольвера был около нуля, перед началом испытаний, просто чтобы установить линию отсчета между резольвером и энкодером. Но это заставило значения ошибок оставаться положительными во всех позициях. Если бы данные были установлены таким образом, чтобы ошибка колебалась одинаково положительно и отрицательно в течение всего цикла, то максимальная ошибка составила бы всего около 12 угловых минут. Следует отметить, что эта ошибка представляет собой кумулятивную сумму всех ошибок в системе резольвера, включая механические, электрические, электронные, ошибки квантования и численного округления. Измеренное разрешение превышает 13 бит с устройством Delfino. Дополнительные биты данных могут быть извлечены, но они могут не отражать фактический угол из-за их несогласованности, что приводит к большому количеству младших разрядов ошибки.
Рис. 7 Корневой годограф для различных вариантов расположения нулей и полюсов в открытом контуре
Влияние размещения параметров разомкнутого контура
Настраиваемыми параметрами в разомкнутой системе являются коэффициент усиления контура (Kp), ноль (ωpi) и полюс (ωf). Учитывая разброс полюсов и нулей здесь, ωpi должно быть меньше, чем ωf для стабильности замкнутого контура. В общем, если какой-либо полюс замкнутого контура находится ближе к началу координат, это замедлит работу системы. Если ωpi близко к ωf, как на рис. 7(a), то полюса разомкнутой петли в начале координат слегка сместятся влево, разделившись на сложную пару, по существу оставаясь близко к началу координат для всех Kp. С другой стороны, если ωpi близок к нулю, как на рис. 7(b), то доминирующий полюс замкнутого контура будет находиться близко к началу координат для всех Kp. Следовательно, необходимо промежуточное значение, как показано на рисунке 7(c). Наряду с подходящим выбором Kp можно получить хорошие характеристики.
Когда Kp низкое, полюса замкнутого контура находятся близко к началу координат, и эффект фильтрации преобладает. Это подтверждается и опытами. Тем не менее, иногда появляются особо зашумленные выборки, ухудшающие ошибку оцифровки.
Таблица 2 Наихудшая загрузка CLA/CPU* по алгоритму с обратной связью
Внутренняя самодиагностика отказов
Важно проверить правильность синусного и косинусного сигнала с выхода резольвера, так как на этом основана точность всей системы. Возможно, что один из сигналов ухудшился или отключился, и система управления должна знать об этом. Можно выполнить простую проверку, чтобы проверить, является ли sin^2(θ’)+ cos^2(θ’) константой. Небольшое отклонение может быть разрешено для учета влияния шума и смещения. Точно так же необходимо отслеживать ошибку контура. В нормальных условиях он должен быть близок к нулю. Реальные сервоприводы имеют определенную инерцию, поэтому аномальные изменения скорости маловероятны. Любая большая угловая ошибка указывает на то, что петля обратной связи распадается, и эту ситуацию необходимо идентифицировать.
Выводы
Выполнена оценка преобразователя резольвера с использованием C2000 Piccolo и Delfino. Измеренная точность составляет 13 бит при несущей частоте 10 кГц. Эта функциональность может быть реализована как автономное решение на недорогом устройстве микроконтроллере или как часть более крупной системы управления двигателем на более крупном микроконтроллере. Можно найти компромиссы в частоте дискретизации, чтобы настроить загрузку ЦП в соответствии с требованиями.
Клиенты, желающие оценить возможности микроконтроллеров C2000 по обработке преобразования преобразователя в цифровое, могут использовать новый комплект преобразователя микроконтроллера C2000, который:
• Заменяет дорогие специализированные наборы микросхем преобразователя на цифровые недорогие микроконтроллеры для упрощения и снижения стоимости систем.
• Расширяет функциональные возможности, позволяя микроконтроллеру выполнять преобразование преобразователя в цифровое декодирование, а также другие программируемые функции реального времени, такие как выборка и обработка дополнительного аналого-цифрового преобразователя (АЦП), интерфейсы кодировщика и Холла, цифровой сигнал. интерфейс обработки (DSP), логика состояния, задачи, помогающие обеспечить функциональную безопасность и полные контуры управления.
• Предоставляет полное аппаратное обеспечение и состоит из C2000 controlCARD-совместимой печатной платы (PCB) со встроенной эмуляцией JTAG для отладки программного обеспечения, интерфейса резольвера с фильтрацией, интерфейса SPI для связи с ведущим устройством, четырех выходов PWM, используемых для цифрового преобразования. - отладка аналогового преобразования (ЦАП) и источник питания 15 В.
• Включает пакеты разработки программного и аппаратного обеспечения:
• Программное обеспечение: Бесплатная загрузка C2000 controlSUITE и интегрированной среды разработки (IDE) Code Composer Studio™, основанной на Eclipse IDE для разработки встраиваемого программного обеспечения.
• Аппаратное обеспечение: полная сборка материалов, схем и файлов дизайна печатных плат.
Комплект C2000 MCU Resolver Kit (TMDSRSLVR) доступен сегодня по цене 179 долларов США. C2000 controlCARD можно приобрести отдельно по цене от 49 долларов США. Программное обеспечение и документацию можно загрузить с сайта www.ti.com/controlsuite. MCU C2000, способные работать с программным обеспечением преобразователя, доступны по цене от 1,85 долл. США за 1 ku SRP (TMS320F280200).