Разработка аппаратного обеспечения

КУРСОВАЯ РАБОТА

по дисциплине:

Разработка информационно-управляющих систем

на тему

«Применение микроконтроллеров Atmel в системах автоматического регулирования температуры»

Пояснительная записка

 

 

Студенты группы ИВМ–19                                     Танин П. В., Иванов К. А.

 

Руководитель канд. техн. наук, доцент                                    Ломанов А. Н.

 

 

Рыбинск 2020



Задание

Разработать систему автоматического регулирования температуры на базе микроконтроллера Atmel ATmega128 в составе платы BigAVR. Разработать программу, реализующую связь с микроконтроллером через COM-порт, построение графика температуры и логирование.

Оглавление

1 Анализ технического задания. 4

2 Анализ системы.. 5

2.1 Время нагрева. 5

2.2 Поддержание температуры.. 6

2.3 Колебательность. 6

2.4 Перерегулирование. 6

3 Разработка аппаратного обеспечения. 7

4 Разработка программного обеспечения для микроконтроллера. 9

4.1 Декомпозиция задачи. 9

4.2 Алгоритмы.. 10

5 Разработка программного обеспечения для мониторинга данных с микроконтроллера. 21

5.1 Декомпозиция задачи. 21

5.2 Алгоритмы.. 22

6 Руководство пользователя. 37

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

Список источников. 42

Приложение А. Код программы для микроконтроллера. 43

Приложение Б. Код программы мониторинга температуры.. 73

 


 



Анализ технического задания

    Согласно техническому заданию, главным назначение разрабатываемого устройства является поддержание заданной температуры на объекте управления. Для этой цели предназначен интерфейс [1, стр. 30]. Расчет управляющих сигналов для нагрева и охлаждения объекта целесообразно вычислять на микроконтроллере, используя ПИД-регулятор. Текущие показания температуры определяются при помощи преобразования значения, считанного через АЦП с делителя напряжения [1, стр. 40]. Скорость вращения вентилятора определяется по времени между прерываниями, вызываемыми возрастающим фронтом с датчика.

Полученные данные передаются через com-порт на компьютер, где они могут быть отображены во временном графике и сохранены в лог. Для этого потребуется разработать протокол передачи данных через UART.

Для подстройки работы ПИД-регулятора необходимо предусмотреть возможность изменения его коэффициентов. Отображение текущих коэффициентов, а также значения температуры можно осуществить через LCD1602, входящий в состав BigAVR.

Согласно описанию [1, стр. 36], для объекта управления возможны три режима нагрева, отличающиеся по мощности. Индикацию текущего режима осуществим при помощи светодиодов, а также добавим индикатор питания.

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

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


 

   2 Анализ системы

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

Оптимальными параметрами будем считать такие, которые обеспечивают нагрев и поддержание температуры объекта за время, которое может незначительно превышать расчетное время нагрева объекта. При этом необходимо, чтобы отсутствовало сильно выраженное перерегулирование и колебательность, а также стремилась к нулю статическая ошибка. Рассмотрим отдельно каждый параметр и отклонение.


Время нагрева

    Согласно [1, стр. 8], для нагрева количество тепловой энергии, подводимой к объекту в единицу времени, должно превышать количество энергии, теряемой объектом за счет теплообмена с окружающей средой. Следовательно, зная характеристики электрического нагревателя и нагреваемого объекта можно определить приблизительное время, необходимое для нагрева и принять его за оптимальное значение. Имея оптимальное значение, можно c некоторой точностью выбрать ограничение, которое будет определять, достаточно ли быстро выполняется нагрев при текущих коэффициентах. Нагрев будем считать завершенным в тот момент, когда установится значение температуры, вблизи с заданным значением, которое может изменяться с небольшим разбросом.

Поддержание температуры

    Основной задачей ПИД-регулятора является поддержание температуры, однако из-за неправильной настройки может наблюдаться слишком большая статическая ошибка. Для данной задачи необходимо определить порог оптимального значения, а также наибольшее допустимое отклонение от заданной температуры, до которого уставка будет считаться выполненной (наибольшую регистрируемую статическую ошибку). Дополнительно нужно ввести количество отсчетов или время, в котором температура не должна меняться больше, чем задано погрешностью.

Колебательность

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

Перерегулирование

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

 


 


Разработка аппаратного обеспечения

    Из анализа технического задания следует, что микроконтроллеру ATmega128 будут подключен дисплей LCD1602, 4 светодиодных индикатора, некоторое количество кнопок. Чтобы свести к минимуму количество кнопок, в дальнейшем программно реализуем меню для редактирования значений параметров. Потребуется одна кнопка для отображения меню и выхода из него, две для навигации по меню, по одной для выбора и отмены. Кнопки изменения значения продублируем кнопками навигации, кнопкой меню будем осуществлять циклический переход по разрядам выбранного параметра. Включая отдельную кнопку переключателя подачи питания, получаем шесть кнопок.  

 К одному из каналов АЦП будет подключен делитель напряжения с термистором, к входу с внешним прерыванием – датчик скорости вращения вентилятора, также будут заняты выходы OC1A и OC1B для управления нагревом и охлаждением через ШИМ-сигналы и нулевой канал UART для связи с компьютером.

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

Рисунок 3.1 – Схема подключения компонентов к микроконтроллеру


 





double arrow
Сейчас читают про: