Содержание к диссертации
Введение
Глава 1. Методы и средства построения систем векторного управления асинхронным электроприводом 10
1.1 Способы построения цифровых систем управления асинхронным электроприводом 10
1.2 Аппаратные средства реализации цифровых систем векторного управления асинхронным электроприводом 18
1.3 Программные средства разработки цифровых систем управления асинхронным электроприводом 24
1.4 Выводы по главе 27
Глава 2. Разработка модифицированной структуры расширенного фильтра калмана для системы векторного управления асинхронным электроприводом 29
2.1 Математические методы получения оценки угловой скорости вращения ротора асинхронного электродвигателя 29
2.2 Разработка модифицированной математической модели расширенного фильтра калмана для системы векторного управления асинхронным электроприводом 46
2.3 Разработка модифицированной математической модели наблюдателя потокосцепления ротора асинхронного электродвигателя 57
2.4 Выводы по главе 59
Глава 3. Разработка программно-аппаратного комплекса для исследования различных методов определения угловой скорости вращения ротора асинхронного электродвигателя 61
3.1 Исследование работы модифицированного расширенного фильтра калмана в составе системы векторного управления асинхронным электроприводом с помощью математического моделирования в среде matlab simulink 61
3.2 Разработка программно-аппаратного комплекса для тестирования работы модифицированного расширенного фильтра калмана для системы векторного управления асинхронным электроприводом 79
3.3 Выводы по главе 89
Заключение 90
Список сокращений и обозначений 92
Список использованной литературы 99
- Аппаратные средства реализации цифровых систем векторного управления асинхронным электроприводом
- Программные средства разработки цифровых систем управления асинхронным электроприводом
- Разработка модифицированной математической модели расширенного фильтра калмана для системы векторного управления асинхронным электроприводом
- Разработка программно-аппаратного комплекса для тестирования работы модифицированного расширенного фильтра калмана для системы векторного управления асинхронным электроприводом
Введение к работе
Актуальность темы. В настоящее время сложившейся тенденцией в области управления асинхронным электроприводом является использование без-датчиковых цифровых систем управления. Анализ продукции как зарубежных, так и отечественных производителей силовой полупроводниковой техники позволяет сделать вывод об активной разработке бездатчиковых систем управления - это касается не только асинхронных электроприводов, но и других типов электроприводов. Например, такие фирмы как Texas Instruments (США), Freescale Semiconductor (США), Analog Devices (США) выпускают бездатчико-вые системы управления электроприводами. В России разработкой и производством систем управления электроприводами различных типов занимаются: ЗАО «Чебоксарский завод электрооборудования» (г. Чебоксары, Чувашская Республика), ООО «НПФ ВЕКТОР» (г. Москва), ФГУП «ВЭИ» (г. Москва), НИ ТПУ (г. Томск). Среди ученых, работающих в этом направлении, следует отметить Козаченко В.Ф., Виноградова А.Б., Усольцева А.А.
Однако анализ работ по теме диссертационного исследования показал, что сложно обеспечить требуемую точность оценки угловой скорости вращения ротора как в динамических, так и установившихся режимах работы электродвигателя на низких скоростях вращения в диапазоне от 2% до 20% номинальной частоты вращения. Остаются проблемы, связанные с экономией памяти микроконтроллера. В связи с этим, актуальной задачей является разработка модифицированного расширенного фильтра Калмана (РФК) в виде отдельного программного модуля, который можно было бы использовать в системах без-датчикового управления асинхронным электроприводом в режиме реального времени для повышения качественных и эксплуатационных показателей систем управления электроприводом.
Также актуальной проблемой является разработка программно-аппаратного комплекса, который позволил бы проводить контроль и диагностику функционирования различных видов наблюдателей состояния без необходимости использования электропривода.
Цель диссертационной работы - повышение точности оценки угловой скорости вращения ротора в бездатчиковой системе векторного управления на низких скоростях от 2% до 20% номинальной частоты вращения за счет модификации РФК, сокращение объема используемой памяти микроконтроллера для цифровой системы управления электроприводом за счет выбора алгоритмов расчета.
Для достижения поставленной цели необходимо решить следующие основные задачи:
1. Разработать математическую модель РФК с улучшенными точностными характеристиками для оценки скорости вращения ротора в широком диапазоне и исследовать его работу в составе цифровых систем управления асинхронным электроприводом.
2. Разработать программно-аппаратный комплекс для проектирования, отладки и тестирования цифровых систем управления асинхронным электроприводом.
Методы исследования. Для решения поставленных задач использовались методы математического моделирования, теории электропривода, теории дифференциальных уравнений, теории матричного исчисления, теории управления, принципы программной инженерии.
Научная новизна диссертационной работы состоит в следующем:
-
Обосновано использование расширенного фильтра Калмана для оценки скорости вращения ротора электродвигателя в бездатчиковой цифровой системе управления асинхронным электроприводом.
-
Разработан модифицированный расширенный фильтр Калмана, позволяющий повысить точность оценки угловой скорости вращения ротора в динамических и установившихся режимах на низких скоростях от 2% до 20% номинальной частоты вращения, отличающийся тем, что в уравнение для расчета вектора состояния дополнительно введены координаты вектора потокосцепле-ния ротора, которые также используются в системе управления асинхронным электроприводом для координатных преобразований.
-
Разработан наблюдатель потокосцепления ротора асинхронного электродвигателя (и его математическая модель), отличающийся от известных аналогов уравнением пропорционально-интегрального регулятора потокосцепле-ния ротора, что позволяет упростить математическую модель наблюдателя за счет исключения вспомогательных расчетов.
-
Разработан алгоритм модифицированного расширенного фильтра Кал-мана, который был реализован в виде специализированого Simulink-блока в среде Matlab. Это позволяет вести отладку на математической модели объекта управления и исследовать различные режимы работы цифровой системы управления асинхронным электроприводом, в которой вместо датчика скорости используется модифицированный расширенный фильтр Калмана.
На защиту выносятся следующие положения и результаты:
-
Расширенный фильтр Калмана (и его математическая модель), который выполнен в виде программного модуля для оценки угловой скорости вращения ротора асинхронного электродвигателя, и позволяет исключить датчик скорости из системы управления асинхронным электроприводом.
-
Модифицированный расширенный фильтр Калмана (и его математическая модель), отличающийся тем, что в уравнение для расчета вектора состояния дополнительно введены координаты вектора потокосцепления ротора, которые также используются в системе управления асинхронным электроприводом для координатных преобразований, что позволяет, за счет этого введения, повысить точность оценки угловой скорости вращения ротора асинхронного электродвигателя.
-
Наблюдатель потокосцепления ротора асинхронного электродвигателя (и его математическая модель), отличающийся от известных аналогов уравнением пропорционально-интегрального регулятора потокосцепления ротора, что
позволяет упростить математическую модель наблюдателя за счет исключения вспомогательных расчетов.
-
Алгоритм реализации математической модели модифицированного расширенного фильтра Калмана, особенностью которого является использование алгоритма Краута для вычисления матрицы усиления фильтра. Этот алгоритм позволяет получить результаты расчета без записи промежуточных данных, за счет чего уменьшается необходимый объем оперативной памяти микроконтроллера.
-
Результаты исследования и сравнения характеристик блоков оценки скорости вращения ротора, выполненных на базе расширенного фильтра Кал-мана и разработанного модифицированного расширенного фильтра Калмана, полученные на цифровых моделях систем управления асинхронным электроприводом в среде Matlab.
-
Разработанные и реализованные алгоритмы работы программно-аппаратного комплекса для проектирования, отладки и тестирования цифровых систем управления асинхронным электроприводом, которые позволяют упростить проектирование, отладку и тестирование цифровых систем управления асинхронным электроприводом благодаря возможности исследования различных методов определения угловой скорости вращения ротора асинхронного электродвигателя.
Достоверность и обоснованность результатов обеспечена сопоставлением результатов математического моделирования и результатов, полученных на этапе экспериментальных исследований с помощью разработанного программно-аппаратного комплекса.
Научная значимость выполненных исследований:
1. Предложена модификация РФК, которая позволяет повысить точность оценки скорости в диапазоне от 39% до 4% для скоростей от 10 рад/с до 120 рад/с.
Практическая значимость выполненных исследований:
-
РФК и модифицированный РФК, выполнены в виде программных модулей, которые можно использовать для реализации цифровых систем управления асинхронным электроприводом.
-
Разработан программно-аппаратный комплекс и алгоритмы его работы, которые позволяют упростить проектирование, отладку и тестирование цифровых систем управления асинхронным электроприводом благодаря возможности исследования различных методов определения угловой скорости вращения ротора асинхронного электродвигателя.
Реализация и внедрение результатов работы. Теоретические и экспериментальные результаты исследований были использованы на ряде предприятий (ОАО «Электровыпрямитель», ООО «Элавт-МГУ», МГУ им. Н.П. Огарева) при разработке и проектировании цифровых систем управления асинхронным электроприводом. Получено 3 акта о внедрении результатов диссертационного исследования.
Апробация работы. Основные результаты работы докладывались и обсуждались на следующих научно-технических конференциях: ежегодной научной конференции «Огаревские чтения» (г. Саранск, 2012); на VI международной математической школе-семинаре «Математическое моделирование, численные методы и комплексы программ» имени Е.В. Воскресенского (г. Саранск, 2013); на III Международной конференции «Проблемы управления, обработки и передачи информации (АТМ-2013)» (г. Саратов, 2013); на 6 международной конференции EDERC2014 «European Embedded Design in Education & Research» (Италия, г. Милан, 2014).
Публикации. По теме диссертации опубликовано 8 печатных работ, в том числе 4 - в журналах, рекомендованных ВАК РФ. Получено 5 свидетельств об официальной регистрации программы для ЭВМ.
Структура и объем работы. Диссертация состоит из введения, трех глав, заключения, списка литературы из 99 наименований и 2 приложений. Объем работы - 113 страниц основного текста, включающего 39 рисунков и 3 таблицы.
Аппаратные средства реализации цифровых систем векторного управления асинхронным электроприводом
Векторное управление существует в двух основных вариантах: прямое векторное управление и косвенное векторное управление. При прямом векторном управлении необходимо оценивать положение обобщенного вектора потокосцепления статора или обобщенного вектора потокосцепления ротора, или обобщенного вектора потокосцепления намагничивания. В системах косвенного векторного управления для выполнения координатных преобразований необходима оценка частоты скольжения ротора. Системы косвенного векторного управления в значительной степени зависят от изменения параметров АЭД [97].
На базе систем векторного управления М. Депенброк (в 1984 г.) [19, 47] и независимо от него И. Такахаши и Т. Ногучи (в 1986 г.) [90] разработали метод управления АЭП, который называется метод прямого управления моментом. Системы прямого управления моментом ориентированы в первую очередь на транспорт, на использование в кранах, лифтах, т.е. там, где первостепенной задачей является создание заданного крутящего момента.
В системах прямого управления моментом необходима оценка углового сектора, в котором находится вектор потокосцепления, в то время как в СВУ используется оценка углового положения и амплитуды вектора пото-косцепления. Таким образом, в системах прямого управления моментом требуется наличие качественного наблюдателя электромагнитного момента и потокосцепления, причем предпочтительнее использовать наблюдатель с обратной связью, т.к. идентификаторы без обратной связи очень чувствительны к изменению параметров электродвигателя. В системах прямого управления моментом применяется оптимальная схема переключения ключей инвертора, поэтому в ней не используются координатные преобразования как в СВУ и, кроме того, такой привод способен обеспечить быструю реакцию на изменение крутящего момента. Работы [39, 74, 76, 80] посвящены способам улучшения метода прямого управления моментом.
Стремление удешевить и повысить надежность электропривода послужило причиной возникновения систем бездатчикового управления, в которых отсутствуют датчики некоторых физических величин. Величины, необходимые для работы системы управления, такие как: угловая скорость вращения ротора, магнитный поток ротора, электромагнитный момент, - не измеряются, а вычисляются по математической модели электродвигателя, в которой используются измеренные c помощью датчиков токи и напряжения в обмотках статора. Отсутствие различных тахогенераторов, энкодеров, резольверов повышает надежность электропривода, уменьшает его стоимость, облегчает процесс монтажа, снижает затраты на обслуживание электропривода [34, 35, 97].
Мировые производители микроконтроллерной техники предлагают на рынке большой ассортимент МК для реализации бездатчиковых электроприводов. Среди отечественных фирм компания ОВЕН выпускает векторные преобразователи частоты, содержащие программируемый логический контроллер, с помощью которого можно реализовать СВУ для регулирования скорости и позиционирования электропривода. Фирма Texas Instruments выпускает демонстрационный комплект для разработки бездатчиковых электроприводов под торговой маркой TMDSHVMTRPFCKIT [69] (без автоматического определения параметров АЭД) и TMDSHVMTRINSPIN [70] (с автоматическим определением параметров АЭД). В [34] приведено описание реализации бездатчиковой системы прямого векторного управления, в работе [35] – системы косвенного векторного управления. Комплект 3PHASELV-KIT [58] фирмы Freescale Semiconductor предназначен для разработки СУ бесколлекторными электродвигателями постоянного тока и синхронных машин с постоянными магнитами.
Фирмой Analog Devices производится комплект ADSP-CM408F EZ-KIT Lite [59] для управления синхронными машинами с постоянными магнитами.
Существующие комплекты различных фирм для разработки цифровых систем управления имеют существенные ограничения на их использование, которые делают их непригодными для создания на их базе новых бездатчи-ковых систем. К числу таких ограничений относится: 1. Невозможность изменения программного обеспечения, поставляемого вместе с комплектом. 2. Отсутствие заявленной функциональности в программных библиотеках. 3. Ограничения на задание параметров и режимов работы АЭД. 4. Закрытый программный код приложений, поставляемых в комплекте. Все вышесказанное стимулирует разработку отечественных систем проектирования, поэтому актуальна разработка программно-аппаратного комплекса, с помощью которого можно было бы проводить исследование цифровых систем управления электродвигателями различных типов на математических моделях силовых устройств без использования реального оборудования.
Бездатчиковые СУ АЭП при использовании методов адаптивной фильтрации, различных методов идентификации параметров электродвигателя способны подстраиваться под изменение параметров АЭД в процессе его работы, учитывать технологический разброс параметров при замене электродвигателя, обеспечить устойчивость привода к многочисленным возмущениям, сопутствующим технологическому процессу.
Программные средства разработки цифровых систем управления асинхронным электроприводом
Наблюдатели можно использовать и для оценки параметров АЭД - это зависит от того, какая математическая модель ОУ применяется в наблюдателе.
Для адаптивных наблюдателей полного порядка матрицу А задают зависящей от ar(t), что делает их похожими на идентификаторы с адаптивной моделью. Затем адаптивный механизм использует s(t) для получения оценки УСВР. Такой наблюдатель обладает недостатком, который заключается в том, что матрица усиления может быть очень чувствительной к ошибкам из мерений, особенно на низких скоростях. Эту проблему можно устранить путем задания отдельной матрицы усиления для скоростей ниже определенного уровня, что ведет к увеличению объемы вычислений. Также наблюдатель зависит от точности задания параметров АЭД.
Наблюдатель Люенбергера применим только для линейных ОУ. Для нелинейных систем составляют расширенный наблюдатель Люенбергера. Для этого наблюдателя необходимо предварительно составить характеристическое уравнение по желаемым корням, чтобы определить матрицу усиления – таким образом можно настраивать чувствительность к изменению параметров АЭД, скорость сходимости оценки, время отклика при изменении скорости. Преимущество расширенного наблюдателя Люенбергера в том, что настройка работы наблюдателя в переходных режимах с помощью желаемых корней характеристического уравнения не ухудшает его работу в установившемся режиме.
Фильтр Калмана используют для определения вектора состояния линейных стохастических систем. Для нелинейных систем составляют расширенный фильтр Калмана (РФК). Фильтр называется расширенным, когда матрицу состояния дополняют (расширяют) для оценки переменной, которую нельзя непосредственно измерить. К недостаткам можно отнести то, что РФК не гарантирует минимальную дисперсию в оценке. Для настройки РФК необходимо определить матрицу ковариации ошибок измерений и матрицу кова-риации для возмущений в ОУ. Фильтр может стать неустойчивым при несоответствии матриц ковариации характеристикам реальных случайных возмущений. Кроме того, алгоритм РФК содержит сложные математические преобразования, для выполнения которых требуется высокопроизводительный МК. Преимущество РФК в том, что изменения параметров обмоток статора АЭД учитываются с помощью обратной связи по току.
Эксперты в области разработки бездатчиковых СУ АЭП полагают, что в ближайшем будущем ожидается увеличение на рынке электроприводов до ли идентификаторов, использующих для оценки параметров АЭД нейронные сети. Нейронные сети обладают рядом уникальных особенностей [12]: 1. Нейронные сети способны обучаться выполнению задачи с помощью подаваемых на вход сети обучающих сигналов. 2. Нейронные сети способны выполнять задачи (хотя и на худшем уровне), если часть структуры сети оказывается поврежденной. Нейронные сети могут иногда сохранять свою работоспособность, даже если отдельная часть архитектуры сети вовсе перестает функционировать. 3. Нейронные сети могут быть реализованы в виде массовых параллельных структур, которые потенциально могут предложить более эффективную производительность по сравнению с моделями, выполняющими последовательные вычисления.
По сравнению с адаптивными идентификаторами у нейронных сетей адаптивный механизм может быть заложен в их архитектуру - таким образом обеспечивается устойчивость нейронной сети к изменению параметров АЭД и ошибкам измерений.
Рассмотрим один из вариантов построения нейронной сети для оценки УСВР. Используя формулу дифференцирования назад, уравнения (9) и (10) можно представить в виде: Возможны и другие варианты построения архитектуры нейронной сети, например, элементы могут быть организованы в некоторой упорядоченной по уровням (слоям) иерархии. Однако, для таких сетей необходимо проводить обучение с применением специальных алгоритмов, например, алгоритма обратного распространения ошибок, что может занять длительное время. Более простые сети способны адаптироваться непосредственно в процессе своей работы. Многослойные сети способны обеспечить качественную оценку даже на очень низких скоростях.
Подводя итог обзора, следует отметить, что общей особенностью многих бездатчиковых способов определения скорости ротора АЭД является их зависимость от параметров двигателя, которые изменяются, например, под действием температуры, насыщения магнитопровода. Таким образом, большое практическое значение имеют методы идентификации параметров АЭД [37]. Кроме того, информация о процессах в АЭД может содержать случайные ошибки измерений, а сама наблюдаемая система может быть подвержена воздействию случайных возмущений [5]. В этом случае задачу определения вектора состояния системы именуют задачей фильтрации [4, 5]. Для нелинейных систем применяют такие математические методы как расширенный фильтр Калмана. Однако, классические алгоритмы фильтрации не всегда достаточно эффективны на практике, поскольку заложенная в основу алгоритма модель требует точного соответствия реальным характеристикам наблюдаемого объекта [4]. Поэтому инженерная практика использования классических алгоритмов выявила необходимость их совершенствования на случай недостаточной точности модели наблюдаемой системы. Устойчивые процедуры оценивания вектора состояния АЭД непосредственно влияют на качество СУ АЭП, что в свою очередь в значительной мере определяет энергоэффективность бездатчикового привода.
Таким образом, следует разрабатывать такие структуры наблюдателей, которые могли бы обеспечить качественное и устойчивое управление АЭП, при минимальном количестве и точности параметров АЭД.
Разработка модифицированной математической модели расширенного фильтра калмана для системы векторного управления асинхронным электроприводом
Входными данными для модифицированного РФК являются проекции токов и напряжений обмоток статора на оси неподвижной системы коорди нат, проекции потокосцепления ротора на оси неподвижной системы координат. Входные данные получаются в результате моделирования СВУ в Sim-ulink, при котором проекции токов и напряжений обмоток статора записываются через 50 мкс, т.е. шаг дискретизации для разработанного наблюдателя принимался равным 50 мкс. По полученным значениям токов и напряжений рассчитываются в Matlab проекции потокосцепления ротора с помощью модели модифицированного наблюдателя потокосцепления ротора. Затем все результаты моделирования обрабатываются и к ним добавляются служебные данные для моделирования страничной организации памяти. Служебные данные представляют собой набор статусов для банков и страниц: пустой банк – EMPTY_BANK, текущий банк – CURRENT_BANK, обработанный банк – USED_BANK, пустая страница – BLANK_PAGE, страница с данными – DATA_PAGE, текущая страница – CURRENT_PAGE, обработанная страница – USED_PAGE. В процессе расчета модифицированного РФК во время чтения исходных данных из флэш-памяти статусы банков и страниц будут обновляться, чтобы обеспечить проход по всему набору исходных данных.
Модифицированный РФК был реализован в виде программного модуля на языке Си. Программа и исходные данные для нее загружаются в разные специально выделенные области флэш-памяти [86] с помощью сmd-файла, отвечающего за разметку памяти МК. Процесс расчета организован таким, образом, что данные для расчета и программа выгружаются в оперативную память МК, т.к. обращение к ней занимает меньше времени. Для удобства обработки и передачи данных из Matlab, исходные данные для программы и результаты расчета имеют тип uint16 по размеру слова памяти МК.
Флэш-память МК устроена таким образом, что ячейку памяти невозможно перевести из состояния 0 в состояние 1. Это означает, что результаты расчета весьма проблематично записать на место исходных данных, поэтому доступный объем флэш-памяти был разделен на две части. Всего на хранение данных было выделено 228825 слов флэш-памяти, из них: 183010 слов отведено для хранения исходных данных вместе со служебными данными и 45815 слов – для результатов расчета наблюдателя УСВР. Алгоритм работы программно-аппаратного комплекса представлен в Приложении А. Приведем далее пояснения по работе алгоритма.
В Блоке 2 устанавливается максимальная частота работы ЦП – 150 МГц. Инициализируются ножки ввода/вывода общего назначения для работы модуля SCI и для светодиодной индикации выполнения процесса расчета. Модуль SCI инициализируется для приема данных следующим образом: выставляется скорость передачи данных – 9600 бод, отключается контроль четности, устанавливается размер посылки – 1 байт, задается генерирование прерывания при заполнении буфера чтения. В Блоке 2 запрещается обработка ЦП маскированных прерываний, задается обработчик прерывания от буфера чтения модуля SCI, устанавливается количество дампов флэш-памяти с исходными данными – NUMBER_OF_MEMORY_DUMPS.
В Блоке 5 задаются значения параметров АЭД, перечисленные в таблице 1, а также основные переменные модифицированного РФК: матрица чувствительности; значения матриц ковариации Q, R и P ; начальная оценка вектора состояния АЭД.
Включение светодиода LD 2 в Блоке 11 означает начало процесса расчета модифицированного РФК.
В Блоке 13 из флэш-памяти переносятся данные в массив flash_Input_Data, размер которого составляет 252 значения. Затем в Блоках 14-20 выполняется обработка этого массива.
В Блоке 14 верхняя граница цикла равна 246, т.к. шаг цикла равен 5. Далее при обходе массива в Блоке 15 формируется набор из 6 значений, который затем передается в Блок 16: проекции фазных напряжений обмоток статора на оси неподвижной системы координат, проекции токов в обмотках статора на оси неподвижной системы координат, проекции вектора потокос-цепления ротора на оси неподвижной системы координат.
В Блоке 16 выполняется расчет модифицированного РФК и в Блоке 76 формируется набор результирующих данных – массив, содержащий оценку вектора состояния АЭД: проекции токов в обмотках статора на оси неподвижной системы координат, проекции вектора потокосцепления ротора на оси неподвижной системы координат, угловая скорость вращения ротора.
Исходя из объема экспериментальных данных, доступного размера флэш-памяти, удобства обработки данных было принято решение записывать результаты расчета во флэш-память в Блоке 19 не чаще чем через 4 набора результатов – за это отвечает условие в Блоке 18.
Выключение светодиода LD 2 в Блоке 21 означает окончание процесса расчета модифицированного фильтра Калмана.
В Блоке 22 результаты расчета модифицированного РФК, хранящиеся во флэш-памяти, выгружаются в отдельный файл, который затем используется для построения графиков в Matlab.
В Блоке 23 проверяется, является ли текущий номер дампа флэш-памяти последним из общего количества дампов флэш-памяти с исходными данными? Если да, то программа останавливается, если нет, то переходим к Блоку 24. Первый дамп с исходными данными предварительно записывается в отдельный файл и загружается во флэш-память с помощью директивы #pragma во время программирования МК. Если дампов больше одного, то все последующие дампы передаются по интерфейсу SCI.
Перед загрузкой нового набора исходных данных в Блоке 24 очищается флэш-память, отведенная под хранение исходных данных. Это не влияет отрицательно на работу алгоритма фильтрации, потому что все важные промежуточные данные хранятся в ОЗУ.
В Блоке 25 разрешается обработка прерываний, возникающих после заполнении буфера чтения модуля SCI.
В Блоке 28 выполняется обработка входных данных и их размещение во флэш-памяти. Передача нового набора исходных данных осуществляется на скорости 9600 бод по интерфейсу SCI с помощью графической формы, созданной в Matlab GUIDE. Эта форма показана на рисунке 3.23. Рис. 3.23 – Графическая форма для передачи данных по интерфейсу SCI из
Matlab во флэш-память МК
Разработанная форма обладает рядом интерактивных элементов, облегчающих работу пользователя: реализовано меню пользователя с поддержкой быстрых клавиш; статусная строка, отражающая состояние передачи данных.
Была реализована страничная организация исходных данных, чтобы минимизировать время, затрачиваемое на обращение к памяти, в процессе расчета, т.е. страница с данными загружается в оперативную память перед началом расчета модифицированного РФК. За основу реализации была взята программа из [50], которая была существенно доработана с учетом специфики работы программно-аппаратного комплекса. Как показано на рисунке 3.22 исходные данные размещаются в 723 страницах. Была выбрана такая конфигурация, при которой одна страница занимает 252 слова памяти, 8 страниц формируют банк данных. Запись во флэш-память возможна только с использованием специального Flash API. Алгоритм страничной организации памяти представлен в Приложении Б. Приведем далее пояснения по работе алгоритма.
Разработка программно-аппаратного комплекса для тестирования работы модифицированного расширенного фильтра калмана для системы векторного управления асинхронным электроприводом
Модифицированный РФК был реализован в виде программного модуля на языке Си. Программа и исходные данные для нее загружаются в разные специально выделенные области флэш-памяти [86] с помощью сmd-файла, отвечающего за разметку памяти МК. Процесс расчета организован таким, образом, что данные для расчета и программа выгружаются в оперативную память МК, т.к. обращение к ней занимает меньше времени. Для удобства обработки и передачи данных из Matlab, исходные данные для программы и результаты расчета имеют тип uint16 по размеру слова памяти МК.
Флэш-память МК устроена таким образом, что ячейку памяти невозможно перевести из состояния 0 в состояние 1. Это означает, что результаты расчета весьма проблематично записать на место исходных данных, поэтому доступный объем флэш-памяти был разделен на две части. Всего на хранение данных было выделено 228825 слов флэш-памяти, из них: 183010 слов отведено для хранения исходных данных вместе со служебными данными и 45815 слов – для результатов расчета наблюдателя УСВР. Алгоритм работы программно-аппаратного комплекса представлен в Приложении А. Приведем далее пояснения по работе алгоритма.
В Блоке 2 устанавливается максимальная частота работы ЦП – 150 МГц. Инициализируются ножки ввода/вывода общего назначения для работы модуля SCI и для светодиодной индикации выполнения процесса расчета. Модуль SCI инициализируется для приема данных следующим образом: выставляется скорость передачи данных – 9600 бод, отключается контроль четности, устанавливается размер посылки – 1 байт, задается генерирование прерывания при заполнении буфера чтения. В Блоке 2 запрещается обработка ЦП маскированных прерываний, задается обработчик прерывания от буфера чтения модуля SCI, устанавливается количество дампов флэш-памяти с исходными данными – NUMBER_OF_MEMORY_DUMPS.
В Блоке 5 задаются значения параметров АЭД, перечисленные в таблице 1, а также основные переменные модифицированного РФК: матрица чувствительности; значения матриц ковариации Q, R и P ; начальная оценка вектора состояния АЭД.
Включение светодиода LD 2 в Блоке 11 означает начало процесса расчета модифицированного РФК.
В Блоке 13 из флэш-памяти переносятся данные в массив flash_Input_Data, размер которого составляет 252 значения. Затем в Блоках 14-20 выполняется обработка этого массива.
В Блоке 14 верхняя граница цикла равна 246, т.к. шаг цикла равен 5. Далее при обходе массива в Блоке 15 формируется набор из 6 значений, который затем передается в Блок 16: проекции фазных напряжений обмоток статора на оси неподвижной системы координат, проекции токов в обмотках статора на оси неподвижной системы координат, проекции вектора потокос-цепления ротора на оси неподвижной системы координат.
В Блоке 16 выполняется расчет модифицированного РФК и в Блоке 76 формируется набор результирующих данных – массив, содержащий оценку вектора состояния АЭД: проекции токов в обмотках статора на оси неподвижной системы координат, проекции вектора потокосцепления ротора на оси неподвижной системы координат, угловая скорость вращения ротора.
Исходя из объема экспериментальных данных, доступного размера флэш-памяти, удобства обработки данных было принято решение записывать результаты расчета во флэш-память в Блоке 19 не чаще чем через 4 набора результатов – за это отвечает условие в Блоке 18.
Выключение светодиода LD 2 в Блоке 21 означает окончание процесса расчета модифицированного фильтра Калмана.
В Блоке 22 результаты расчета модифицированного РФК, хранящиеся во флэш-памяти, выгружаются в отдельный файл, который затем используется для построения графиков в Matlab.
В Блоке 23 проверяется, является ли текущий номер дампа флэш-памяти последним из общего количества дампов флэш-памяти с исходными данными? Если да, то программа останавливается, если нет, то переходим к Блоку 24. Первый дамп с исходными данными предварительно записывается в отдельный файл и загружается во флэш-память с помощью директивы #pragma во время программирования МК. Если дампов больше одного, то все последующие дампы передаются по интерфейсу SCI.
Перед загрузкой нового набора исходных данных в Блоке 24 очищается флэш-память, отведенная под хранение исходных данных. Это не влияет отрицательно на работу алгоритма фильтрации, потому что все важные промежуточные данные хранятся в ОЗУ.
В Блоке 25 разрешается обработка прерываний, возникающих после заполнении буфера чтения модуля SCI.
В Блоке 28 выполняется обработка входных данных и их размещение во флэш-памяти. Передача нового набора исходных данных осуществляется на скорости 9600 бод по интерфейсу SCI с помощью графической формы, созданной в Matlab GUIDE. Эта форма показана на рисунке 3.23. Рис. 3.23 – Графическая форма для передачи данных по интерфейсу SCI из Matlab во флэш-память МК Разработанная форма обладает рядом интерактивных элементов, облегчающих работу пользователя: реализовано меню пользователя с поддержкой быстрых клавиш; статусная строка, отражающая состояние передачи данных.
Была реализована страничная организация исходных данных, чтобы минимизировать время, затрачиваемое на обращение к памяти, в процессе расчета, т.е. страница с данными загружается в оперативную память перед началом расчета модифицированного РФК. За основу реализации была взята программа из [50], которая была существенно доработана с учетом специфики работы программно-аппаратного комплекса. Как показано на рисунке 3.22 исходные данные размещаются в 723 страницах. Была выбрана такая конфигурация, при которой одна страница занимает 252 слова памяти, 8 страниц формируют банк данных. Запись во флэш-память возможна только с использованием специального Flash API. Алгоритм страничной организации памяти представлен в Приложении Б. Приведем далее пояснения по работе алгоритма.
В Блоке 2 устанавливается количество обработанных банков с исходными данными. В Блоке 3 устанавливается количество обработанных страниц с исходными данными. Во время подготовки дампов с исходными данными первый банк и первая страница банка имеют статус CURRENT_BANK и статус CURRENT_PAGE соответственно. Остальные банки и страницы имеют статус EMPTY_BANK и статус DATA_PAGE соответственно.
После заполнения массива flash_Input_Data, текущий статус страницы -CURRENT_PAGE меняется на статус USED_PAGE. Если счетчик обработанных страниц Page_Counter_Input_Data равен 7, то текущий статус банка – CURRENT_BANK меняется на статус USED_BANK, а для банка, следующего за текущим банком, статус EMPTY_BANK меняется на статус CURRENT_BANK.