Uploaded by Evertit

РГЗ основы микропроцессорной техники

advertisement
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
____________________________________________________________________
Кафедра электроники и электротехники
РАСЧЁТНО-ГРАФИЧНСКОЕ ЗАДАНИЕ
«Разработка ПО для микропроцессорного устройства на базе МК типа
STM32F410RBT6»
по курсу «Микропроцессорные устройства»
Выполнил:
Студент гр. РП4-01, РЭФ
Шинкарёв Е. А.
«___» _______ 2024 г.
_________________
(подпись)
Проверил:
д.т.н.
Баховцев И. А.
«___»_______ 2024 г.
_________________
(подпись)
Новосибирск
2024
Цель работы: Разработать ПО, реализующее регулятор-стабилизатор
температуры объекта на базе микроконтроллера STM32F410RBT6.
Исходные данные
 число входных аналоговых сигналов – 2: один сигнал задания
температуры (0,2 – 2,5 В, что соответствует 20⁰ – 250⁰), второй – сигнал
обратной связи по температуре объекта нагрева (0 – 3 В);
 тип регулирования температуры – релейный: при достижении заданной
температуры плюс 1⁰ нагреватель отключается (=0), при спадании фактической
температуры ниже заданной минус 1⁰ нагреватель включается (=1);
 при включении/выключении нагревателя необходимо зажечь/потушить
светодиод;
 при достижении температуры объекта более 270⁰ устройство должно
генерировать звуковой сигнал частотой 1 кГц до тех пор, пока не отключат
устройство или температура не начнёт уменьшатся.
Анализ задания
Для обработки входных аналоговых сигнал используем встроенный АЦП
микроконтроллера, для формирования сигналов выходных индикаторов
(светодиод и спикер) используем порты ввода-вывода.
Описание используемых аппаратных средств
На Рисунке 1 представлена распиновка платы МПСУ. Будут
задействованы следующие порты:
 PC1 в выходном режиме – выходной сигнал спикера для индикации
достижения температуры объекта значения, превышающего 270⁰;
 PB13 в выходном режиме – выходной сигнал светодиода для индикации
включения нагревателя;
 PA1 – первый канал АЦП для обработки сигнала задания температуры;
 PB1 – девятый канал АЦП для обработки сигнала обратной связи по
температуре, к этому каналу подключен потенциометра.
2
Рисунок 1 – Порты ввода/вывода
Расчёт параметров программного обеспечения
Максимальное значение показаний АЦП (АЦП
разрешающую способность 12Б):
V
3
N ADC  4095 IN  4095  4095.
VREF 
3
настроен
на
Описание алгоритма работы МПС
В начале работы программы инициализируются порты ввода вывода (для
светодиода и спикера), они настраиваются на работу в режиме выхода без
притяжек и с высокой скоростью. После этого инициализируется АЦП, а также
необходимые порты ввода-вывода. Оба канала настраиваются на работу с
разрешающей способностью 12Б с одним преобразованием, выравниванием
данных вправо, временем выборки 3 цикла, предделителем частоты 2 и без
прямого доступа к памяти. Первый канал АЦП инициализируется как
регулярный в дискретном независимом режиме, девятый канал –
инжектированный в автоматическом режиме.
После окончания инициализации начинается бесконечный цикл основной
работы, в котором сбрасывается флаг высокой температуры, затем
опрашиваются
флаги
окончания
преобразования
регулярных
и
инжектированных каналов АЦП (регистр SR флаги ADC_SR_EOC и
ADC_SR_JEOC), после чего сбрасывается флаг переполнения АЦП (регистр SR
3
флаг ADC_SR_OVR). Далее, если был выставлен флаг окончания
преобразования регулярных каналов, происходит его сброс, опрос данных
канала 1 АЦП (данные задания на температуру объекта), пересчёт его данных в
температуру и будет выставлен флаг начала нового преобразования регулярны
каналов. После этого, если был выставлен флаг окончания преобразования
инжектированных каналов, происходит его сброс, опрос данных канала 9 АЦП
(данные обратной связи о температуре объекта) и пересчёт его данных в
температуру.
Затем, если температура задания превышает текущую температуру
объекта более чем на один градус, то будет установлен высокий уровень на
порте PB13, благодаря чем зажжётся светодиод, сигнализирующий о
включении нагревателя. Если же температура задания меньше текущей
температуры объекта хотя бы на один градус, то на выводе PB13 будет
установлен низкий уровень напряжения, кроме того, если текущая температура
превышает предельно допустимую температуру объекта (270⁰), то будет
выставлен флаг высокой температуры (high_temp_flag), если условие не
выполнится, то флаг высокой температуры будет сброшен.
После этого проверяется значение флага высокой температуры, если он
выставлен, то произойдет инвертирования состояния порта PC1, к которому
подключен спикер, генерирующий звуковые сигналы, если флаг высокой
температуры сброшен, то на выводе PC1 будет выставлен низкий уровень
напряжения.
Затем выполниться цикл с ограниченным числом итераций,
обеспечивающий задержку длительностью 0,5мс для ограничения скорости
выполнения бесконечного цикла с целью формирования звукового сигнала
частотой 1 кГц.
4
Начало
GPIO_INIT()
2
1
Нет
Флаг
ADC_SR_JEOC
выставлен?
Нет
Да
Сброс флага
ADC_SR_JEOC
Нет
Сброс флага
переполнения
ADC_SR_OVR
Выставить флаг
высокой
температуры
Чтение данных
АЦП ОС по
температуре
Чтение флагов
ADC_SR_EOC и
ADC_SR_JEOC
Температура объекта
превысила
максимально
допустимую?
Да
ADC1_INIT()
Бесконечный
цикл
3
Сбросить флаг
высокой
температуры
Температура задания
больше температуры
объекта более, чем на
1 градус?
Нет
Выставлен флаг
высокой
температуры?
Да
Нет
Флаг
ADC_SR_EOC
выставлен?
Да
Включить
нагреватель
(зажечь светодиод)
Инвертировать
состояние вывода
спикера
Да
Сброс флага
ADC_SR_EOC
Чтение данных
АЦП о задании на
температуру
Запуск нового
преобразования
АЦП
1
Температура задания
меньше температуры
объекта более, чем на
1 градус?
Выключить спикер
Да
Задержка 0,5 мс
Выключить
нагреватель (выкл
светодиод)
2
Бесконечный
цикл
3
Конец
Рисунок 2 – Блок-схема алгоритма работы главной функции
5
Текст основной программы
Текст основной программы представлен на Рисунках 3 – 5.
Рисунок 3 – Текст основной программы
6
Рисунок 4 – Текст основной программы
Рисунок 5 – Текст основной программы
7
Вывод
В ходе расчётно-графической работы написано программное обеспечение
в среде Keil µVision 5, реализующее регулятор-стабилизатор температуры
объекта на базе микроконтроллера STM32F410RBT6, составлены описания и
блок-схемы к программе.
8
На Рисунке 6 представлена структурная схема, отображающая используемые
аппаратные средства.
Рисунок 6 – Схема, отображающая используемые аппаратные средства
На Рисунке 7 представлен пример изменения температуры объекта
относительно температуры задания и состояния портов ввода-вывода, управляющих
спикером и нагревателем.
Рисунок 7 – Пример изменения состояний выводов, управляющих нагревателем и
спикером, в зависимости от изменения температуры объекта
Download