Научная статья на тему 'РАЗРАБОТКА И ОТЛАДКА СРЕДСТВАМИ MATLAB УПРАВЛЯЮЩИХ ПРОГРАММ РУЛЕВОГО ПРИВОДА'

РАЗРАБОТКА И ОТЛАДКА СРЕДСТВАМИ MATLAB УПРАВЛЯЮЩИХ ПРОГРАММ РУЛЕВОГО ПРИВОДА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
18
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РУЛЕВОЙ ПРИВОД / УПРАВЛЯЮЩАЯ ПРОГРАММА / ВСТРОЕННЫЕ СИСТЕМЫ / РАЗРАБОТКА / ОТЛАДКА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Понятский Валерий Мариафович, Фимушкин Валерий Сергеевич, Кушников Дмитрий Вячеславович, Федорищева Вера Георгиевна, Петрушин Александр Владимирович

Рассматриваются основные этапы проектирования и отладки программного обеспечения, реализующего алгоритмы управления рулевым приводом. В качестве инструментального средства предлагается использовать среду динамического моделирования Matlab.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Понятский Валерий Мариафович, Фимушкин Валерий Сергеевич, Кушников Дмитрий Вячеславович, Федорищева Вера Георгиевна, Петрушин Александр Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «РАЗРАБОТКА И ОТЛАДКА СРЕДСТВАМИ MATLAB УПРАВЛЯЮЩИХ ПРОГРАММ РУЛЕВОГО ПРИВОДА»

Электронный журнал «Труды МАИ». Выпуск № 62

www.mai.ru/science/trudy/

УДК 681.51

Разработка и отладка средствами шаНаЪ управляющих программ рулевого привода

В.М. Понятский, В.С. Фимушкин, Д.В. Кушников, В. Г. Федорищева, А.В. Петрушин, Д.Ю. Шидловский

Аннотация

Рассматриваются основные этапы проектирования и отладки программного обеспечения, реализующего алгоритмы управления рулевым приводом. В качестве инструментального средства предлагается использовать среду динамического моделирования МаАаЬ.

Ключевые слова

рулевой привод; управляющая программа; встроенные системы; разработка; отладка

1. Введение

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

2. Методика генерации С-кода для встроенных процессоров

В развитие технологий, изложенных в [1, 2, 3], предлагается методика генерации С-кода для встроенных процессоров из моделей Simulink, включающая следующие этапы:

этап 1 - создание Simulink-модели в соответствии с заданным алгоритмом и ее отладка;

этап 2 - доработка Simulink-модели с учетом дискретных преобразований сигналов;

этап 3 - преобразование Simulink-модели в модель для расчетов c фиксированной точкой;

этап 4 - генерация С-кода из модели Simulink для встроенного процессора с интеграцией сгенерированного С-кода в среду разработки программ процессора;

этап 5 - тестирование сгенерированного С-кода.

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

С помощью предлагаемой методики реализован алгоритм управления рулевым приводом для цифрового сигнального процессора TMS320VC5509A фирмы Texas Instruments.

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

^2

Рис. 1. Модель рулевого привода в Simulink

Модель динамического контура рулевого привода (рисунок 1) создана в соответствии с математическим описанием с помощью блоков библиотеки Simulink.

Управляющий электромагнит описан следующей системой дифференциальных уравнений:

Ти —- + / — К^иТР — К0-—;

э Л Э ТР ° ё?

^. +— кв.

л

л?

ё 2 а

м

+ /

УЭМ

ёа

у 2 -и УЭМ ё?2 ё?

где итр - входное напряжение; / - ток; Мюм - развиваемый момент поворота струйного

устройства; МСТРуэи - момент сухого трения; ам - угол поворота струйного устройства;

ЛУЭМ - момент инерции струйного устройства; КЭ, Ка - коэффициент передачи по

входному напряжению и по угловой скорости поворота струйного устройства; Т , Т -

постоянная времени по току и по развиваемому двигательному моменту; /юм, СПР -

коэффициент вязкого трения и жесткость пружины. На координату аМ наложено ограничение.

Струйное распределительное устройство:

М + Спра М + М

ёа

М

ёг

—М

X —-

-а.

а.

где X - отклонение струйного устройства.

Блок управления рулевого привода, из которого будет генерироваться С-код, преобразуется в подсистему Ви (рисунок 2).

Рис. 2. Simulink-модель рулевого привода с блоком управления в виде подсистемы

BU

Внутренняя структура блока управления рулевым приводом приведена на рисунке 3.

1

Gain

F2

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

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

Рис. 4. 81шиНпк-модель рулевого привода с учетом преобразования сигналов

Constantl

Рис. 5. 81шиНпк-модель блока управления рулевым приводом с учетом преобразования сигналов

На этапе 3 с использованием пакетов Fixed Point Toolbox и Simulink Fixed Point осуществляется преобразование непрерывной модели Simulink в модель для расчетов с фиксированной точкой. На рисунке 6 приведена окончательная модель блока управления рулевым приводом, преобразованная для расчетов с фиксированной точкой и готовая к генерации С-кода.

Constant1

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

На этапе 4 проводится генерация С-кода из подсистемы блока управления рулевым приводом, преобразованной для расчетов с фиксированной точкой. На этом этапе осуществляется интеграция MATLAB со средой разработки программ процессора, для которого генерируется С-код. Для этого в пакете Embedded Coder есть специальный инструмент Embedded Targets. На рисунке 7 показана Simulink-модель блока управления рулевым приводом с блоком Custom Board для интеграции со средой Texas Instruments Code Composer Studio.

Gain

Рис. 7. Simulink-модель блока управления рулевым приводом с блоком Custom Board

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

программном симуляторе процессора.

Рис. 8. Интегрированная среда разработки программ процессоров Texas Instruments Code Composer Studio с загруженным проектом программы для выполнения на симуляторе процессора

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

Другим способом тестирования сгенерированного кода является тестирование с процессором в контуре, так называемое PIL-тестирование. В режиме PIL-симуляции сгенерированный из модели блока управления код выполняется на микроконтроллере (его эмуляторе или программном симуляторе) в пошаговом режиме. Тестовые сигналы из Simulink-модели и результаты их выполнения на микропроцессоре (эмуляторе процессора)

передаются по каналу JTAG. Результаты выполнения кода на микропроцессоре (эмуляторе или программном симуляторе процессора) сравниваются с результатами моделирования исходной модели.

Для генерации кода на компьютере вместе с пакетом MATLAB должна быть установлена интегрированная среда разработки программ специализированного процессора (например, для процессоров Texas Instruments - среда Code Composer Studio), подключен микропроцессор или его эмулятор.

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

Рис. 9. Simulink-модель рулевого привода с PIL-блоком блока управления Модель механической части рулевого привода получена из 3D-модели САПР SolidWorks с помощью CAD-транслятора SimMechanks Link [4].

б)

Рис. 10. Модель механической части рулевого привода: a - в SolidWorks, б - в MATLAB

Схема подключения модели механической части к контуру рулевого привода показана на рисунке 11. Для учета скорости наполнения и опорожнения рабочих полостей силовых цилиндров введено апериодическое звено с коэффициентом передачи КтеЛ и постоянной времени Tg.

Рис. 11. Подключение модели механической части к модели рулевого привода

Tg характеризует скорость наполнения и опорожнения рабочих полостей силовых цилиндров рулевого привода и определяется по формуле:

т-г _ ^ т

в _

Ш т Л ,

где 5ш - максимальный угол поворота рулей, рад; шш - максимальная скорость поворота рулей, рад/с: л - безразмерная величина. Коэффициент КтеЛ и коэффициент обратной связи К обеспечивают адекватность переходных процессов в исполнительном двигателе рулевого привода без и с механической частью по амплитуде и уровню колебательности.

На рисунке 12 приведены результаты Р1Ь-тестирования блока управления рулевого привода

а)

б)

Рис. 12. Результаты РГЬ-тестирования алгоритма управления рулевым приводом: а без учета механической части; б - с учетом механической части

4. Заключение

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

Библиографический список

1. Понятский В.М., Кушников Д.В., Федорищева В.Г. Методика генерации из моделей Matlab текста программ на языке С для процессоров встроенных систем. 11-я международная конференция «Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта (CAD/CAM/PDM - 2011) ». Москва, 18-20 октября 2011г. Сборник материалов / Под ред. Артамонова Е.И. М: Институт проблем управления РАН, 2011. С. 83-87.

2. Понятский В.М., Гусев А.В., Фимушкин В.С. и др. Компьютерные технологии проектирования приводов летательного аппарата с использованием САПР SolidWorks и МАТЬАВ. Всероссийская научно-техническая конференция «Фундаментальные основы баллистического проектирования». Санкт-Петербург, 28 июня - 2 июля 2010 г. Сборник материалов. Т.2 / Под ред. д.т.н. проф. Кэрта Б.Э.- СПб.: Балт. гос. техн.ун-т , 2010. С. 165 -170.

3. Понятский В.М., Кушников Д.В., Федорищева В.Г. Автоматизированная технология генерации программы в среде МА^АВ для реализации алгоритмов управления рулевого привода Изв. ТулГУ. Сер. «Проблемы проектирования и производства систем и комплексов». Тула: ТулГУ, 2010, Вып.11. С. 462-467.

4. Гусев А.В., Колесников Г.И., Понятский В.М. и др. Технология проектирования приводов летательного аппарата с использованием SolidWorks и MATLAB. VIII Всероссийская юбилейная научно-техническая конференция «Проблемы совершенствования робототехнических и интеллектуальных систем летательных аппаратов». Москва, МАИ, 21-23 июня 2010г. Сборник докладов. М: Изд-во МАИ-ПРИНТ, 2010. С.422-426.

Сведения об авторах

Понятский Валерий Мариафович, начальник сектора ОАО «Конструкторское бюро приборостроения», к.т.н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ОАО «КБП», ул. Щегловская Засека, 59, Тула, 300001;

тел.: (4872) 46-94-16; e-mail: kbkedr@tula.net,granat@home.tula.net

Фимушкин Валерий Сергеевич, начальник отделения ОАО «Конструкторское бюро приборостроения», к.т.н.

ОАО «КБП», ул. Щегловская Засека, 59, Тула, 300001; тел.: (4872) 46-94-16; e-mail: kbkedr@tula.net

Кушников Дмитрий Вячеславович, начальник сектора ОАО «Конструкторское бюро приборостроения».

ОАО «КБП», ул. Щегловская Засека, 59, Тула, 300001; тел.: (4872) 46-94-16; e-mail: kbkedr@tula.net

Федорищева Вера Георгиевна, ведущий инженер-программист ОАО «Конструкторское бюро приборостроения».

ОАО «КБП», ул. Щегловская Засека, 59, Тула, 300001; тел.: (4872) 46-94-16; e-mail: granat@home.tula.net

Петрушин Александр Владимирович, ведущий инженер-исследователь ОАО

«Конструкторское бюро приборостроения».

ОАО «КБП», Щегловская Засека, 59, Тула, 300001;

тел.: (4872) 46-94-16; e-mail: kbkedr@tula.net

Шидловский Дмитрий Юрьевич, инженер ЗАО «СофтЛайн Трейд»,

Дербеневская наб., 7, строение 8, Москва, 115114;

тел.: (495) 232-00-23; e-mail: dmitry.shidlowskiy@sl-matlab.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.