Следящие и адаптивные алгоритмы регулирования в цифровых преобразователях угла для СКВТ

№ 10’2015
PDF версия
Современная электронная элементная база открывает новое направление — создание цифровых преобразователей угла (ЦПУ) с использованием в них принципов следящего и адаптивного цифрового регулирования, позволяющих увеличить точность измерения углового положения выходного вала СКВТ. В данной статье приведены примеры цифровых следящих и адаптивных алгоритмов, в том числе с переменной структурой.

Компактность программ, содержащих предложенные алгоритмы, синтезированные с помощью 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. Структура алгоритма СЦПУ с нелинейным звеном формирования ошибки:
Fвх(p) — входное (демодулированное) воздействие, пропорциональное углу поворота вала;
U1(p), U2(p) — промежуточные сигналы в структуре СЦПУ;
Fвых(p) — выходное значение угла поворота вала (выходная реакция СЦПУ);
V(ρ) — выход скорости изменения угла поворота вала

В соответствии с примером в [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).

Последовательный разностный алгоритм СЦПУ с нелинейным звеном формирования ошибки

Рис. 3. Последовательный разностный алгоритм СЦПУ с нелинейным звеном формирования ошибки:
Σ — сумматор;
Rg — регистр

При желании числовые коэффициенты в уравнении можно почленно перемножить на 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.

Адаптивный алгоритм СЦПУ (третьего рода)

Рис. 4. Адаптивный алгоритм СЦПУ (третьего рода)

Формула

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

Замечания к программной реализации:

  • для реализации формул и условия (3) синтезированных алгоритмов на практике можно использовать недорогой микроконтроллер, например из семейств PIC, AVR или Cortex-M3;
  • в регистрах хранятся глобальные переменные типа Real (действительное число), а в двух регистрах, соединенных последовательно, называемых «стек», сохраняется переменная типа Array of Real («массив» из двух действительных чисел, адресуемых сдвиговым указателем).

 

Выводы

  1. Синтез альтернативного алгоритма СЦПУ (по сравнению с продукцией фирмы Analog Devices) выполнен на примере ЦПУ, приведенном в отечественной литературе [1].
  2. Синтезированные адаптивные алгоритмы СЦПУ второго и третьего рода позволяют целенаправленно влиять на переходные процессы, сужая или расширяя частотную полосу ЛАХ от нуля до максимальной частоты среза.
  3. Представленные алгоритмы СЦПУ настолько компактны, что позволяют программно-аппаратными средствами на основе современных недорогих микроконтроллеров, например PIC, AVR или Cortex-M3, создавать эффективные вычислительные процессы для точного измерения угла поворота вала СКВТ.
  4. Синтез алгоритмов проведен с применением математического Е‑операторного метода, изложенного в [2], позволяющего получить компактные алгоритмические структуры для построения по ним реальных вычислительных программ.
Литература
  1. Домрачеев В. Г., Матвеевский В. Р., Смирнов Ю. С. Схемотехника цифровых преобразователей перемещений. Справочное пособие. М.: Энергоатомиздат, 1987.
  2. Сафронов В. В. Синтез разностных алгоритмов управления цифровыми следящими электроприводами мобильных роботов Е‑операторным методом. Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». 2015. Т. 15 № 2.
  3. Analog Device: 12‑bit RDC with reference oscillator. Datasheet. analog.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *