Для наглядного представления полученных в процессе работы алгоритма данных, все расчеты были выполнены в среде пакета 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, просмотров: 259.