Генерация из модели Matlab с - кода для микропроцессора, реализующего блок управления привода

мехатронных модулей: монография. Иваново: ИГЭУ, 2008. 216 с.

4. Поклад П.М., Киселев А.А. Информационная поддержка им-пульсно-фазовых электроприводов: монография. Иваново: ИГЭУ, 2011. 212 с.

5. Фазовая синхронизация / под ред. В.В. Шахгильдяна, Л.Н. Белюстиной. М.: Связь, 1975. 288 с.

P.M. Poklad

MOTION CONTROL SYSTEM FOR TELESCOPE AXIS BASED ON INTELLECTUAL ELECTRIC DRIVES AND OBJECT-ORIENTED SOFTWARE PACKAGE FOR ITS LIFE CYCLE SUPPORT

Features of digital guidance systems of optical telescopes are examined and specifications for modern control systems of electric drives of telescope axis are determined. Non-conventional approach to control system design based on phase-locked loop with integrated microcontroller is suggested.

Key words: precision electric drive, telescope, microcontroller, automatic control, fuzzy-controller, pulse-phase control system, discriminator.

Получено 18.10.11

УДК 681.51

В.М. Понятский, канд. техн. наук, доц., нач. сектора,

ГЕНЕРАЦИЯ ИЗ МОДЕЛИ МЛТЬЛБ С-КОДА

ДЛЯ МИКРОПРОЦЕССОРА, РЕАЛИЗУЮЩЕГО БЛОК

УПРАВЛЕНИЯ ПРИВОДА

Рассмотрено применение модельно-ориентированного подхода проектирования сложных динамических систем, основанного на использовании динамических моделей, при синтезе С-кода в среде Matlab алгоритма управления для рулевого привода летательного аппарата.

Ключевые слова: алгоритм управления, сервопривод, генерация программы, микропроцессорная система.

В настоящее время одной из сложных проблем проектирования технических систем является разработка программ, реализующих синтезированные алгоритмы управления в микропроцессорных системах.

Пакет Matlab, помимо динамического моделирования сложных изделий, состоящих из подсистем различной физической природы, позволяет осуществлять из моделей Simulink автоматическую генерацию С-кода для процессоров встроенных систем.

Генерация С-кода средствами Matlab основана на применении пакетов Real-Time Workshop и Real-Time Workshop Embedded Coder. Пакет Real-Time Workshop Embedded Coder расширяет возможности Real-Time Workshop по разработке встроенного программного обеспечения.

Real-Time Workshop и Real-Time Embedded Coder позволяют:

- генерировать компактный и быстрый код для микропроцессоров, используемых в встроенных системах;

- оптимизировать сгенерированный код для определенной целевой

среды;

- применять опции трассировки, генерации отчетов и тестирования, которые облегчают действия по проверке кода.

Методика генерации С-кода из модели Simulink включает следующие этапы.

Этап 1 - создание Simulink-модели в соответствии с заданным алгоритмом и проведение ее отладки. На этапе 1 осуществляется создание и отладка непрерывной модели Simulink в соответствии с заданным алгоритмом и структурой системы управления. На этом этапе осуществляется отладка алгоритмов с использованием анализа в частотной и временной областях.

Этап 2 - доработка Simulink-модели с учетом дискретных преобразований сигналов, в том числе с учетом преобразования сигналов с помощью АЦП и ЦАП. На этапе 2 осуществляется приведение Simulink-модели к физической модели реальной аппаратуры, для которой будет генерироваться С-код. Доработка Simulink-модели заключается в добавлении блоков, реализующих преобразование сигналов с помощью АЦП, ЦАП и различные инверсии сигналов, присутствующие в реальной системе управления.

Этап 3 - преобразование Simulink-модели для расчетов c фиксированной точкой. На этапе 3 осуществляется преобразование непрерывной модели Simulink в модель для расчетов с фиксированной точкой.

Для преобразования Simulink-модели из непрерывной в модель для расчетов с фиксированной точкой необходимо выполнить следующие шаги:

- выделение части модели, из которой генерируется C-код, в отдельную подсистему (atomic или блок-ссылку на модель);

- преобразование непрерывных блоков подсистемы (интеграторов, блоков передаточных функций) в дискретные;

- подключение входов и выходов выделенной подсистемы к непрерывной части модели через блоки преобразования типов данных Data Type Conversion;

- назначение типов данных блоков с фиксированной точкой с определением места положения точки по известным диапазонам изменения сигналов;

- уточнение положения точки с помощью графического интерфейса Fixed-Point Tool.

Этап 4 - генерация С-кода из модели Simulink. Генерация С-кода из моделей Simulink для процессоров встроенных систем осуществляется при помощи пакета Real-Time Workshop Embedded Coder (Embedded Coder - c версии Matlab R2011). Генерируемый С-код может быть универсальным или специализированным, настроенным под определенный тип процессора. Процесс генерации С-кода включает следующие процедуры:

- настройка параметров решателя;

- выбор целевого файла;

- выбор аппаратной реализации;

- выбор опций оптимизации кода;

- генерация С-кода.

Этап 5 - оценка качества полученной программы путем сравнение результатов выполнения исходной Simulink-модели и сгенерированного С-кода. На этапе 5 осуществляется проверка сгенерированного кода путем сравнения результата его выполнения с моделью Simulink. Для этого из сгенерированного кода создается S-функция. S-функция представляет собой обертку, в которую помещается сгенерированный С-код. S-функция подключается параллельно модели Simulink для сравнения результатов выполнения С-кода и модели.

Этап 6 - интеграция сгенерированного С-кода в среду разработки процессора. Сгенерированный из модели Simulink С-код можно вручную перенести в виде архива файлов в программную среду создания исполняемого машинного кода микропроцессора. В пакете Matlab есть специальные инструменты для интеграции с программной средой специализированных микропроцессоров. Пакеты Embedded IDE Link и Target Support Package позволяют осуществлять связь между Simulink и средой разработки процессора, позволяя записывать сгенерированный код в специализированную среду разработки с прошивкой его в процессор.

Рассматривается использование предложенного подхода для генерации С-кода при реализации блока управления для сервопривода.

В соответствии со структурной схемой (рис. 1) в среде динамического моделирования Simulink создана модель сервопривода (рис. 2).

Рис. 1. Структурная схема сервопривода

242

Рис. 2. Динамическая модель сервопривода

Проведена проверка правильности функционирования разработанной модели на соответствие заданному алгоритму с помощью построения ЛАФЧХ звеньев модели, а также по результатам отработки сигналов.

На рис. 3 и 4 приведены результаты моделирования сервопривода в линейной зоне при Uвх = 1 В, f = 5,6 Гц и на упорах при Uвх = 2,5 В, f = 5,6 Гц.

0.2 115 41 305 О

105 <11 115 «2

- i-1-1 - ! -

-......stft

s............ ..........71' \ \ .................. 7/1....... ч

....... L..1........ у . /........i .............у \ ^

ГчТ / Г J ...........X' у/ .....У"......!................... У í- V -V — Ч"

п Г ........г/........ лГ Г кГ V

................... i

Рис. 3. Результаты моделирования при иВХ = 1 В; / = 5,6 Гц

ОН

аз 0.2 011 О 01 12 0.3 0.4

1 1 l !

i. ; — .... ..................-f................ .............

_./............i........V.......i................ / \ ..............................

/ i V 7 \ \

\ I............/ \ \

|\ Ч / 7 \ y i ...................:................... \

i ¡ i 1 i : i

асе oí ais 02 а ж из а as о* о.«

Рис. 4. Результаты моделирования при иВХ = 2,5 В; f = 5,6 Гц

0.5

Блок управления сервопривода, из которого генерируется ^код, преобразована в Simulink-модели в отдельную подсистему (рис. 5).

Рис. 5. Формирование подсистемы блока управления сервопривода

Результаты окончательной доработки модели сервопривода приведены на рис. 6.

Рис.6. Итоговая модель сервопривода

На рис. 7 приведена модель блока управления сервопривода, преобразованная для расчетов с фиксированной точкой и готовая к генерации С-кода. Выделены преобразованные блоки дискретных передаточных функций.

Рис. 7. Модель блока управления сервопривода для генерации С-кода

Для оценки точности сгенерированного С-кода необходимо выполнить следующие действия:

- создать из кода Б-функцию;

- подключить блок Б-функции в БтиНпк-модель сервопривода с фиксированной точкой вместо подсистемы блока управления;

- сравним результаты выполнения моделей.

БтиНпк-блок Б-функции имеет вид, показанный на рис. 8. Подсистема 8иЬвув1еш_в1:Сп осуществляет подключение сгенерированного из БтиНпк-модели С-кода.

1 №2

1ЛК12 Ег.И

<Ш2_ ВИ1

ОиМ

11*13} &23.

__Оч1»\г133Г «ЗГчв_

|Гп»_6)»

К!)

(ПЗ

Рис. 8. Модель блока 8-функции

Оценим точность реализации С-кода блока управления. Сравненим результаты выполнения БтиНпк-моделей сервоприво-

да:

- с непрерывным блоком управления (см. рис. 2),

- с С-кодом блока управления, полученным по предлагаемой методике (рис. 8).

Результаты моделирования приведены на рис. 9, 10, 11.

Рис. 9. Результаты моделирования при синус иВХ = 1 В;/ = 5,6 Гц

-1 -I-1—

0 0,05 0,1 0,15 0,2 0,25 0,3

Рис. 10. Результаты моделирования при синус иВХ = 5 В;/ = 10 Гц

1

0,8 0,6 0,4 0,2

О -0,2

-0,4 (_____(

-0,6 -0,8

4 ,1-^

О 0,05 0,1 0,15 0,2 0,25 0,3

Рис. 11. Результаты моделирования при прямоугольных импульсах

иВХ = 5 В; / = 10 Гц

Проведенная оценка точности выполнения сгенерированного С-кода, показала:

- результаты выполнения сгенерированного кода и 81шиИпк-модели блока управления сервопривода с фиксированной точкой совпадают. Это значит, что сгенерированный код полностью соответствует алгоритму модели;

- результаты выполнения сгенерированного кода, а значит, и модели с фиксированной точкой, отличаются от результатов непрерывной БтиНпк-модели блока. Ошибка без учета масштабирования сигналов при расчетах с фиксированной точкой не превышает 15...30 % по амплитуде для сигналов в линейной зоне и на упорах.

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

Список литературы

1. Компьютерные технологии проектирования приводов летательного аппарата с использованием САПР Solidworks и Matlab / В.М. Понят-ский [и др.] // Материалы Всероссийской научно-технической конференции «Фундаментальные основы баллистического проектирования»: в 2 т. СПб.: Изд-во БГТУ, 2010. Т. 2.

2. Понятский В.М., Кушников Д.В., Федорищева В.Г. Автоматизированная технология генерации программы среде MATLAB для реализации алгоритмов управления рулевого привода // Изв. ТулГУ. Технические науки. Вып. 2. Проблемы специального машиностроения. 2011. С. 357-362.

V.M. Ponyatsky

GENERATION FROM MODEL MATLAB A S-CODE FOR THE MICROPROCESSOR REALISING THE CONTROL ASSEMBLY OF A DRIVE

Application of the is model-focused approach of designing of the difficult dynamic systems based on use of dynamic models is considered, at synthesis of the С-code in the environment of Matlab algorithm of management for a steering drive of the flying machine.

Key words: algorithm of management, the servo-driver, program generation, microprocessor system.

Получено 18.10.11

УДК 621.833

А.С. Кобелев, канд. техн. наук, нач. сектора (Россия, Владимир, ОАО «НИПТИЭМ»), Р.В. Алалауев, канд. техн. наук, доц.,

Ю.В. Иванов, д-р техн. наук, проф.,

АСИНХРОННЫЙ ЭЛЕКТРОДВИГАТЕЛЬ С БОЛЬШИМ ЦЕНТРАЛЬНЫМ ОТВЕРСТИЕМ ДЛЯ МНОГООБОРОТНОГО ЭЛЕКТРОПРИВОДА

Сформулированы требования к конструкции асинхронного электродвигателя с большим центральным отверстием для перспективного многооборотного электропривода. Приведены результаты расчета основных размеров и обмоточных данных электродвигателя, а также эскиз его компоновки.

Ключевые слова: многооборотный электропривод, асинхронный двигатель, проектирование.

В соответствии с требованиями к многооборотным электроприводам на базе силовых трансмиссий 7РПМ-88/230 и ВЗП электродвигатель должен иметь технические характеристики, приведенные в табл. 1.

247