Реализация оптимального управления в среде пакета matlab
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Для наглядного представления полученных в процессе работы алгоритма данных, все расчеты были выполнены в среде пакета MatLab. Была написана файл-функция Optimum_contr моделирующая работу блока оптимального управления и поведения системы в целом.

Структура программы имеет вид файл-функции, с несколькими подфункциями, описанными внутри данного файла. Такая организация позволяет запускать данную программу из командной строки интерпритатора MatLab.

Как было сказано выше, данная программа имеет ряд подпрограмм, описанных в основном файле.

Подпрограмма data_load() предназначена для загрузки начальных данных из файла.

Подпрограмма ident() производит вычисление параметров авторегрессионно-регрессионной модели с помощью метода МНК.

Для вычисления угловой скорости системы от угла существует подпрограмма calc_w(), которая вычисляет текущую скорость как разность текущего и предыдущего значений угла.

Подпрограмма upr() строит траекторию движения системы при заданном управлении в течении заданного количества шагов.

Подпрограмма u_calc() является основной частью системы. В ней производятся основные вычисления при выработке оптимального управления.

Подпрограмма znak() предназначена для определения начального знака управляющего параметра.

Подпрограмма countdot() определяет, в какую из областей пространства ошибок попадает фазовая точка системы в данный момент времени и вычисляет количество точек переключения управляющего параметра.

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

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

 

Выбор микроконтроллера

 

Выбор типа контроллера обуславливается несколькими факторами, а именно: производительностью арифметическо-логического устройства, ёмкостью оперативного запоминающего устройства и постоянного запоминающего устройства, доступностью ПО для создания программ и отладки, а также доступностью на российском рынке.

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

В настоящее время большое распространение получила продукция фирм: INTEL, MICROCHIP и ATMEL. Большинство микроконтроллеров MICROCHIP и ATMEL имеют FLASH память программ, что позволяет достаточно просто выполнять отладку программного обеспечения, а также его обновление. Микроконтроллеры ATMEL семейства АТ89 совместимы с семейством MCS-51, которое в настоящее время получило широкое распространение. Для MCS-51 разработаны и доступны библиотеки и системы создания программ и отладки. Среди микроконтроллеров ATMEL семейства АТ89 имеется контроллер AT89S8252, который допускает программирование непосредственно в оборудовании, в котором используется, что особенно удобно на этапе разработки и отладки.

Контроллер AT89S8252 работает с тактовой частотой 24 МГц, что обеспечивает производительность порядка двух миллионов операции в секунду, имеет встроенные операции умножения и деления, 8 Кбайт ПЗУ программ и 256 байт ОЗУ данных. Анализ основных характеристик контроллера AT89S8252 показывает его пригодность для решения задачи, поставленной в данной работе.

 



Дата: 2019-07-24, просмотров: 226.