Cодержание
Тезисы докладов Всероссийской научной конференции "Проектирование научных и инженерных приложений в среде MATLAB", 28-29 мая 2002 года в г. Москве. - М. ИПУ РАН. 2002. - С.115-117

ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ЦИФРОВЫХ НАБЛЮДАТЕЛЕЙ СОСТОЯНИЯ С ПРИМЕНЕНИЕМ СИСТЕМЫ MATLAB

Толочко О.И, Федоряк Р.В., Тищенко А.А.

ДонГТУ, электротехнический факультет, e-mail: rf@abc.donbass.com


This article describes the way of state observer practical realization according to the doublemass electromechanical object with help of MATLAB system. It is shown, that creation of digital control systems becomes possible for the wide range of engineers, which are not familiar with low level hardware programming, using MATLAB.

Применение наблюдателей состояния (НС) для восстановления не измеряемых координат объекта регулирования позволяет строить эффективные системы автоматического управления (САУ) [1]. Выполнение НС в аналоговом виде усложняет поставленную задачу, т.к. возникают проблемы помехозащищенности, нестабильности параметров операционных усилителей, а также необходимость масштабирования переменных (привязки их к уровням питающего напряжения). Необходимость масштабирования вызывает неизбежное снижение уровней сигналов в наблюдающем устройстве при работе в установившемся режиме в десятки и сотни раз, что безусловно увеличивает чувствительность устройства к помехам и нестабильности параметров операционных усилителей. Подобных недостатков лишены цифровые НС (ЦНС), поэтому даже в САУ с аналоговыми регуляторами их применение целесообразно и оправдано.
Некоторое время применение ЦНС сдерживалось необходимостью учета эффектов квантования по времени и по уровню при синтезе наблюдателей из-за низкой разрядности и большого периода дискретности цифровых вычислительных устройств, датчиков и преобразователей сигналов. Уровень же современного развития микропроцессорной техники позволяет в ряде случаев не учитывать дискретность цифровых устройств при расчете корректирующих коэффициентов ЦНС. Однако при этом не устраняются сложности, связанные с необходимостью низкоуровневого программирования и отсутствием инженерной методики наладки НС. Существенно облегчить решение этих проблем может система программирования MATLAB.
Продемонстрируем ее возможности на примере реализации ЦНС, восстанавливающего упругий момент лабораторного образца двухмассовой электромеханической системы (ДЭМС).
Для реализации ЦНС был использован компьютер типа Pentium-133, в качестве аналого-цифрового преобразователя (АЦП) применялась плата 5710-1 "Octagon Systems", оснащенная 12-ти разрядным АЦП со скоростью оцифровки до 70 тыс. преобразований в секунду по 8 дифференциальным или 16 однопроводным каналам. Силовая часть лабораторной установки тиристорного электропривода с упругостью состоит из двух двигателей типа ПБСТ-32 (Рн=1,2 кВт, Uн=220 В, Iн=6,5 А, wн=157 рад/с). Для питания якорей двигателей применяются тиристорные преобразователи БТУ-3601-4027 (Udн=230 В, Idн=100 А). Упругим элементом является пружина, для крепления которой валы обоих двигателей снабжены муфтами специаль-ной конструкции. Датчиками скорости служат тахогенераторы типа ПТ-1 (Рн=16 Вт, Uн=230В, wн=157 рад/с), установленные на валах обоих двигателей.
Структурная схема объекта управления без учета вязкости кинематической передачи приведена на рисунке 1.


Рисунок 1

На схеме обозначено:

М

- момент двигателя;

Му

- упругий момент;

- момент инерции первой массы (исследуемого двигателя);

- момент инерции второй массы (нагрузочного двигателя);

- суммарный момент инерции привода;

- коэффициент распределения масс;

- коэффициент жесткости.



Синтезируем наблюдатель, восстанавливающий вектор переменных состояния объекта



В качестве сигнала управления примем скорость первой массы, коррекцию будем проводить по сигналу скорости второй массы. Структурная схема такого наблюдателя состояния в формате Simulink системы МATLAB приведена на рисунке 2.


Рисунок 2

Коэффициенты
и
являются коэффициентами корректирующих связей наблюдателя. Они рассчитываются в соответствии с выбранным распределением корней характеристического полинома, согласно методики, приведенной, например, в [2]. В результате расчета коэффициентов по этой методике, получено:





Сигналы скоростей w1 и w2, поступающие от АЦП, с целью снижения пульсаций тахогенераторов пропускаются через апериодические звенья с постоянной времени



С целью использования системы MATLAB для реализации такого наблюдателя был создан специальный драйвер для платы АЦП, или, по терминологии MATLAB, S-функция Simulink. В составе приложения RTW (Real Time Workshop - Мастерская Реального Времени) системы MATLAB имеется достаточное количество примеров драйверов для оборудования фирмы "Keithley Metrabyte" с исходными текстами на языке С. Нам не составило большого труда адаптировать имеющиеся примеры под конкретную плату АЦП другой американской фирмы - "Octagon Systems". Для этого пришлось только заменить адреса управляющих регистров и переделать алгоритм опроса каналов (с подобной работой вполне может справиться инженер, не знакомый с тонкостями программирования на языке С). Затем исходный код драйвера был откомпилирован имеющейся в составе системы МATLAB утилитой mex в S-функцию в формате dll-файла. Эта утилита требует наличия установленного на данном компьютере компилятора с языка С (допускается использовать Watcom C 10.6 и выше, либо MS Visual C). После этого полученная S-функция была преобразована в блок Simulink с именем "Analog Input" (см. схему рис.2). Следует отметить, что подобным образом можно добавлять в MATLAB собственноручно написанные драйверы для практически любого набора аппаратуры (АЦП, ЦАП, таймеры-счетчики, контроллеры прерываний, цифровой ввод-вывод, и т.д).
Теперь можно сгенерировать исходные тексты программы на языке С, реализующей рассматриваемый наблюдатель состояния. Делается это автоматически приложением RTW. Программа генерируется для одной из двух целевых платформ исполнения: DOS или UNIX. Под целевой платформой исполнения подразумевается та операционная система, под управлением которой будет запускаться исполняемая программа. Для Windows-95 в версии 5.3 системы MATLAB также предусмотрена целевая платформа реального времени, но в версии 5.2 она еще отсутствует. После компиляции и линкования исходной программы (также осуществляется автоматически, с применением установленного на компьютере компилятора), получаем исполняемую программу. В процессе ее работы будет производиться опрос состояния аналоговых входов, решение системы дифференциальных уравнений в соответствии с заданной структурной схемой, и сохранение результатов в файле (если это необходимо). Уравнения решаются с помощью алгоритма интегрирования с фиксированным шагом, работающего в реальном времени. В процессе работы программы сохраняются в памяти компьютера те переменные, которые выведены на блок "Scope" в структурной схеме системы. По окончании ее работы информация из памяти автоматически переносится в файл данных, который можно затем загрузить в систему MATLAB для просмотра и анализа результатов.
Проверку правильности функционирования полученного цифрового наблюдателя можно выполнить, сравнивая результаты его работы с работой модели объекта регулирования. На этом этапе можно также выполнить подстройку коэффициентов корректирующих связей НС. Причем, после проведения одного опыта на реальном объекте и получения файла данных с записанными сигналами скоростей лабораторной установки, в схеме на рисунке 2 можно заменить блок "Analog Input" блоком "From File" или блоком "From Workspace" из стандартной библиотеки "Sources" модуля Simulink. Тем самым мы делаем ненужным проведение множества экспериментов на реальной установке, обходясь лишь численным моделированием с использованием полученных ранее наборов данных. Таким образом можно сколь угодно долго проводить подстройку параметров НС, добиваясь хорошей сходимости результатов моделирования с экспериментальными данными.
Графики переходных процессов реальных скоростей первой и второй масс лабораторной установки (после их фильтрования), и упругого момента, восстановленного цифровым наблюдателем состояния, приведены на рисунке 3. Они как по статическим, так и по динамическим показателям с высокой степенью точности соответствует аналогичным графикам, полученным в результате моделирования. Для сравнения на рисунке 4 показан выделенный прямоугольником фрагмент рисунка 3 в увеличенном масштабе. Основное отличие реальной и восстановленной скоростей второй масы друг от друга обусловлено наличием в выходном сигнале тахогенератора оборотных пульсаций.
Таким образом, применение системы MATLAB многократно снижает трудоемкость разработки и отладки цифровых наблюдающих устройств и делает создание цифровых систем управления доступным широкому кругу инженеров, мало знакомых с низкоуровневым регистровым программированием. Кроме того, система MATLAB обладает инструментами, позволяющими использовать ее и при синтезе наблюдателей как в численном, так и в аналитическом виде.


Рисунок 3


Рисунок 4


Список литературы
  1. Н.Т. Кузовков. Модальное управление и наблюдающие устройства. - М.: Машиностроение, 1976. - 184 с.

  2. Ю.А. Борцов, Г.Г. Соколовский. Автоматизированный электропри-вод с упругими связями. - СПб.: Энергоатомиздат. Санкт - Петер-бург. отд-ние, 1992. - 288 с.: ил.


Cодержание