Следящие и адаптивные алгоритмы регулирования в цифровых преобразователях угла для СКВТ
Компактность программ, содержащих предложенные алгоритмы, синтезированные с помощью E‑операторного метода [2], позволяет зашивать их во флэш-память микроконтроллеров с RISC-архитектурой, например AVR Atmega, PIC или ARM Cortex-M3, и функционировать им в масштабе реального времени.
Введение
Тема разработки датчиков угла и способов преобразования с высокой точностью аналоговых сигналов синусно-косинусных трансформаторов (СКВТ) с 30‑х годов прошлого столетия находится в центре внимания всех разработчиков следящих систем, но до сих пор так и не исчерпана. Более того, современная электронная элементная база открывает новые возможности — создание следящих цифровых преобразователей угла (СЦПУ) с использованием в них принципов цифрового следящего и адаптивного регулирования.
Еще в середине 1980‑х годов принцип следящего регулирования использовала фирма Analog Devices (США), выпустив на рынок популярную серию микросхем AD2S, предназначенных для первичной обработки сигналов СКВТ [3]. Задача была решена чисто аппаратным способом, а монопольные цены на эти микросхемы до сих пор баснословные.
В конце 2015 года фирма «Миландр» (г. Зеленоград, Россия) планирует начать выпуск опытных микросхем, аналогичных продукции фирмы Analog Devices. Цены пока не установлены.
Авторы книги [1] в разделе «Следящие ЦПУ как замкнутая система автоматического регулирования» еще в 1987 году предложили применять известный в ТАР принцип следящего регулирования для конструирования ЦПУ.
В данной статье будут рассмотрены следующие вопросы:
на основе структурных данных примера ЦПУ в [1] синтезирован алгоритм СЦПУ, структурно существенно отличающийся от цифро-аналоговых методов в следящих преобразователях-микросхемах типа AD2S фирмы Analog Devices [3] и от алгоритмов, примененных в продукции компании «Миландр»;
синтезированные адаптивные алгоритмы, в том числе с переменной структурой, позволяют целенаправленно влиять на длительность переходного процесса и уменьшать погрешность измерения углового положения вала СКВТ.
Все указанные алгоритмы синтезированы с помощью Е‑операторного метода, изложенного в [2]. Программы, использующие эти компактные алгоритмы, позволяют зашивать их во флэш-память микроконтроллеров с RISC-архитектурой, например семейств AVR (Atmega‑328), PIC16 или ARM (Cortex-M3), и затем функционировать в масштабе реального времени.
Синтез алгоритма СЦПУ
Принцип следящего алгоритма работы микросхем серии AD2S подробно описан в [3], при этом при повороте вала СКВТ на угол Ω демодулированное значение ошибки имеет вид:
Учитывая, что следящая система по определению реализует сходящийся вычислительный процесс, то есть limt→∞ΔU(Ω, Ψ) = 0, можно использовать свойство так называемого «первого замечательного предела»: limΨ→Ωsin(Ω–Ψ) = Ω–Ψ и получить более простое выражение для вычисления ошибки в линейном виде:
Однако очевидно, что выражение (2) справедливо лишь в узком диапазоне значений ошибки (Ω–Ψ), иначе следует пользоваться формулой (1), а это потребует больших временных и программных ресурсов, сложных аппаратных средств. Фирма Analog Devices решила эту задачу аппаратными средствами, введенными в состав семейства микросхем AD2S, и в результате до сих пор рыночные цены на эти микросхемы монопольно высоки.
Далее в статье мы используем тот же известный способ получения демодулированного сигнала (2), но будем решать эту задачу программно-аппаратными средствами иначе, для чего синтезируем альтернативный алгоритм СЦПУ, применив Е‑операторный метод, описанный в [2]. Кроме того:
- воспользуемся передаточными функциями из примера, приведенного в [1];
- предусмотрим для удобства пользователя формирование цифрового выходного сигнала и по углу, и по скорости изменения угла поворота вала СЦПУ (в отличие от аналогового выхода скорости в микросхемах семейства ADS2);
- запишем условие формирования ошибки в виде системы (3), принимая во внимание сходимость процесса слежения.
На рис. 1 показан график функции ошибки, а на рис. 2 — структура алгоритма СЦПУ.
В соответствии с примером в [1] имеем (физические смыслы констант, входящих в формулы, объяснены в том же источнике):
Теперь запишем структурные связи по рис. 2:
Первому уравнению из системы (6) соответствует алгебраическое уравнение:
Второму уравнению из системы (6) соответствуют условия (3), реализуемые программно в микроконтроллере.
Третье уравнение из системы (6) формирует выходной сигнал скорости изменения угла положения выходного вала СЦПУ. С учетом (4) ему соответствует:
Четвертому уравнению из системы (6) с учетом (5) соответствует:
Уравнения (7) и (8), (9) в операторном виде вместе с условием (3) описывают функционирование алгоритмов СЦПУ. Перейдем теперь к синтезу самих алгоритмов, соответствующих этим формулам, применяя метод алгебраического Е‑операторного преобразования дифференциальных уравнений.
Этот эффективный метод преобразования дифференциальных и операторных уравнений к виду алгебраических разностных уравнений описан в [2]. Напомним, что E‑оператор позволяет преобразовать как линейные дифференциальные уравнения, так и их операторные изображения по Лапласу в разностные алгебраические уравнения. Для этого достаточно в передаточной функции заменить производные (y)k или операторы (p)k, имеющие k‑порядок, на соответствующие выражения вида (1–E)k/Δtk и затем выразить явно нужную выходную переменную. При этом характерно, что полученное выражение представит собой линейную комбинацию выходной переменной со своими значениями, сдвинутыми во времени.
Итак, применяя Е‑оператор к (8), получим совсем простое алгебраическое уравнение (10):
Выражения для коэффициентов указаны ниже (рис. 3).
При желании числовые коэффициенты в уравнении можно почленно перемножить на K6, но мы этого делать не станем, чтобы не потерять «физический» смысл коэффициентов.
Конечно, здесь все коэффициенты — это просто числа, константы, вычисляемые и загружаемые во флэш-память микропроцессора в момент его программирования.
Теперь преобразуем (9) с помощью Е‑оператора:
И по полученным уравнениям (7, 10, 11) и условию (3) строим последовательный разностный алгоритм СЦПУ (рис. 3).
K*(1+T1/dt) — числовой коэффициент, где:
Напомним, что все коэффициенты — числовые константы, вычисляемые в процессе программирования до момента прошивки во флэш-память микропроцессора.
Построение адаптивных алгоритмов СЦПУ второго и третьего рода
Для управления длительностями переходных процессов с целью уменьшения их влияния на точность измерений при резких возмущениях входного воздействия, то есть направления вращения и величины углового положения вала СКВТ, желательно иметь средство изменять структуру алгоритма СЦПУ для адаптивного сужения или расширения частотной полосы в ЛАХ от нуля до максимальной частоты среза.
В книге [1] описан пример подобной адаптации с помощью изменения структуры ЦПУ. Такой способ в литературе принято называть способом адаптации третьего рода.
В данной статье на основе указанного примера будет продемонстрировано два других способа (из трех возможных) адаптации структуры алгоритма СЦПУ:
- адаптация второго рода за счет варьирования значением полюса (Т3) передаточной функции СЦПУ;
- адаптация третьего рода за счет изменений структуры передаточной функции при помощи альтернативного переключения полюса (Т3).
Выбор критериев адаптации и определение моментов переключения в процессах адаптации представляет собой самостоятельную задачу, выходящую за рамки данной статьи, и потому не рассматривается.
Адаптация второго рода в данном случае осуществляется очень просто — варьированием значения полюса (Т3) в передаточной функции СЦПУ.
Особенно просто это выполнить в варианте программной реализации (10): достаточно заменить константу Т3 на переменную λ×Т3,
где 0 < λ ≤ 1 (важно, что λ ≠ 0), и получим (12).
Уравнения (7) и (11) не изменяются, поэтому структура (рис. 2) сохраняет свой вид и перерисовывать его еще раз нет необходимости, но лишь с заменой в соответствующих коэффициентах («зеленых квадратиках») константы T3 на переменную λ×T3.
Адаптация третьего рода осуществляется скачкообразным переключением в уравнении (12) значения λ > 0 на значение λ = 0. При этом уравнение для v(t) при T3 > 0 будет иметь такой же вид, как (12), а при T3 = 0 станет (13).
Все остальные уравнения не изменяются, а структура алгоритма СЦПУ приобретает соответствующий вид (рис. 4), где K1, K2, K3, K41 = K4, K5, K61 = K6 — такие же, как на рис. 3.
Положения синхронных переключателей показаны условно. Программно выполнить эти переключения не составляет большой сложности с помощью условного оператора case или if, входящих в обработчик прерывания по событию.
Замечания к программной реализации:
- для реализации формул и условия (3) синтезированных алгоритмов на практике можно использовать недорогой микроконтроллер, например из семейств PIC, AVR или Cortex-M3;
- в регистрах хранятся глобальные переменные типа Real (действительное число), а в двух регистрах, соединенных последовательно, называемых «стек», сохраняется переменная типа Array of Real («массив» из двух действительных чисел, адресуемых сдвиговым указателем).
Выводы
- Синтез альтернативного алгоритма СЦПУ (по сравнению с продукцией фирмы Analog Devices) выполнен на примере ЦПУ, приведенном в отечественной литературе [1].
- Синтезированные адаптивные алгоритмы СЦПУ второго и третьего рода позволяют целенаправленно влиять на переходные процессы, сужая или расширяя частотную полосу ЛАХ от нуля до максимальной частоты среза.
- Представленные алгоритмы СЦПУ настолько компактны, что позволяют программно-аппаратными средствами на основе современных недорогих микроконтроллеров, например PIC, AVR или Cortex-M3, создавать эффективные вычислительные процессы для точного измерения угла поворота вала СКВТ.
- Синтез алгоритмов проведен с применением математического Е‑операторного метода, изложенного в [2], позволяющего получить компактные алгоритмические структуры для построения по ним реальных вычислительных программ.
- Домрачеев В. Г., Матвеевский В. Р., Смирнов Ю. С. Схемотехника цифровых преобразователей перемещений. Справочное пособие. М.: Энергоатомиздат, 1987.
- Сафронов В. В. Синтез разностных алгоритмов управления цифровыми следящими электроприводами мобильных роботов Е‑операторным методом. Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». 2015. Т. 15 № 2.
- Analog Device: 12‑bit RDC with reference oscillator. Datasheet. analog.com