КП_МПС_Абрамов. Микропроцессорное устройство управления регулятором температуры по заданному закону
![]()
|
2.2 Блок управления термостатом В курсовом проекте блок управления термостатом состоит из вентилятора, нагревателя и электронных схем, с помощью которых можно будет программно включать и выключать вентилятор и нагреватель для изменения температуры по заданному закону. В данном случае к проектируемой МПС требуется подключить только один датчик, предназначенный для ввода текущего значения температуры термостата. В разрабатываемой системе также должно осуществляться управление вентилятором и нагревателем. В данном случае достаточно применить мощный ключ, управляемый одним из битов порта микроконтроллера. На рисунке 2.3 показана структура блока управления термостатом. ![]() Рисунок 2.3 – блок управления термостатом. Объекты управления: В – вентилятор Н – нагреватель ![]() ![]() Рисунок 2.4. Блок коммутации ![]() Пульт управления будет включать в себя две кнопки: - кнопка «Сброс»; - кнопка «Пуск». Кнопка «Сброса» предназначена для установки МП в начальное состояние. Кнопка «Пуск» предназначена для формирования команды ОЭВМ о начале процесса управления изменением температуры по заданному закону. ![]() Рисунок 2.5 - Структурная схема пульта управления 2.4 Четырёхразрядный индикатор Для визуального отображения температуры в термостате будет использоваться 4-разрядный индикатор. Для управления индикатором в схему контроллера будут включены 2 4-разрядных порта вывода. Принцип управления индикатором - динамический. На рисунке 2.6 показана структура блока индикации. ![]() Рисунок 2.6 - Структурная схема блока индикации. DС - дешифратор (преобразует двоично-десятичный код в код ССИ); ЭК - электронные ключи для организации динамического принципа управления; ![]() ![]() принципиальной Для выполнения заданных функций разрабатываемого контроллера его структурная схема (см. рисунок 2.1), включает следующие аппаратные средства: - микропроцессорный блок на базе ОЭВМ; - модуль памяти; - блок управления и индикации; - блок ввода и оцифровки температуры; - блок управления термостатом. ![]() Согласно техническому заданию на курсовой проект контроллер управления регулятором температуры необходимо реализовать на базе ОЭВМ. Тип ОЭВМ был выбран в разделе «Анализ технического задания» - AT89C51. Основные характеристики микроконтроллера АТ89С51 следующие: восьмиразрядный ЦП, оптимизированный для реализации функций управления; встроенный тактовый генератор; адресное пространство памяти программ - 64 К; адресное пространство памяти данных - 64 К; внутренняя память программ - 4КБ (FLASH-память); внутренняя память данных - 128 байт; дополнительные возможности по выполнению операций булевой алгебры (побитовые операции); 32 двунаправленные и индивидуально адресуемые линии ввода/вывода; 2 шестнадцатиразрядных многофункциональных таймера/счетчика; полнодуплексный асинхронный приемопередатчик; векторная система прерываний с двумя уровнями приоритета и шестью источниками событий [1]. Условное графическое обозначение и расположение выводов микросхемы AT89C51 - на рисунке 3.1. ![]() ![]() Рисунок 3.1 - Условное графическое обозначение и назначение выводов микросхемы AT89C51 Назначение выводов микросхемы AT89C51: GND - потенциал общего провода («земли»); Vсс - основное напряжение питания +5В; XTAL1, ХTAL2 - выводы для подключения кварцевого резонатора; RST - вход общего сброса микроЭВМ; PSEN - разрешение внешней памяти программ; выдается только при обращении к ПЗУ; ALE - строб адреса внешней памяти; ЕА - отключение внутренней программной памяти; Через порт 0 (в мультиплексном режиме) выводится младший байт адреса, а также выдается и принимается в микроконтроллер байт данных при работе с внешней памятью программ/данных. Задаются данные при программировании внутренней памяти программ и читается ее содержимое; ![]() Порт 1 предназначен для задания младшего байта адреса при программировании и проверке ПЗУ микросхемы. Порт 3 имеет следующие альтернативные функции: Р3.7 - строб чтения из внешней памяти данных (Read Data for External Memory,); P3.6 - строб записи во внешнюю память данных (Write Data for External Memory,) P3.5 - внешний вход T/C1 (Timer/Counter 1 External Input, T1); P3.4 - внешний вход T/C0 (Timer/Counter 0 External Input, T0); P3.3 - вход внешнего прерывания 1 (External Interrupt 1 Input Pin); P3.2 - вход внешнего прерывания 0 (External Interrupt 0 Input Pin); P3.1 - выход данных передатчика последовательного порта (Serial Port Transmit Pin, TxD); P3.0 - вход данных передатчика последовательного порта (Serial Port Receive Pin, RxD). Каждый порт является фиксатором - защелкой и может адресоваться как побайтно, так и побитно. Для работы МП необходимо наличие в составе МПС генератора тактовых сигналов, вырабатывающего тактовые импульсы для синхронизации работы МП и других компонентов МПС. В ОЭВМ MCS-51 имеется встроенный генератор тактовых импульсов. Частота внутреннего ГТИ определяется кварцевым резонатором, подключаемым к выводам ХTAL1 и ХTAL2. Выбираем кварцевый резонатор с частотой fBQ=12 МГц. ![]() Микроконтроллер AT89C51 имеет совмещенную шину адреса и данных. Поэтому для выделения младшего байта адреса необходимо использовать внешний регистр, запись информации в который будет происходить по стробу адреса внешней памяти ALE. Для обслуживания прерываний в микроконтроллере имеется два входа на запрос прерывания INT0 и INT1. Для связи разрабатываемой МПС с внешними устройствами возможно применение отдельных регистров с соответствующими дешифраторами адресов. Назначение выводов портов сведем в таблицу 1. ![]()
Схема микропроцессорного блока приведена на рисунке 3.2. ![]() Рисунок 3.2 – Схема микропроцессорного блока ![]() 3.2 Проектирование блока управления и индикации Пульт управления в разрабатываемой системе имеет лишь две кнопки: «Сброс», осуществляющая перезапуск МПС, и «Пуск», нажатие которой сигнализирует о начале очередного цикла работы системы. Кнопка «Сброс» подключается через супервизор питания на вход RST. Кнопка «Пуск» подключается ткже через супервизор питания к входу порта Р3.2 микроконтроллера. Схема кнопки «Сброс» и «Пуск» приведены на рисунках 3.3 и 3.4 соответственно. ![]() Рисунок 3.3 – Кнопка «Сброс» ![]() Рисунок 3.4 – Кнопка «Пуск» Теперь рассмотрим блок индикации. В данном курсовом проекте будем применять схему с динамической индикацией, что позволит значительно сократить аппаратную часть при незначительном усложнении программной части. Динамический принцип организации интерфейса семисегментного индикатора (ССИ) предполагает наличие двух портов вывода. ![]() Через один порт должно выводиться данные, формирующие высвечиваемый символ, а через другой – данные о том, какой разряд индикатора должен быть подсвечен. Но при использовании специальных микросхем (дешифратора кодов ССИ) и при условии, что в курсовом проекте используются четыре микросхемы ССИ, можно обойтись одним портом вывода (4 разряда- для определения символа, которым загорится микросхема ССИ, 2 - для выбора подсвечиваемого разряда). Два разряда будут подключено непосредственно без управления. В качестве порта вывода применим порт P1 микроконтроллера. В качестве преобразователей двоично-десятичного кода в семиэлементный будем использовать микросхему дешифратора К514ИД2, так как тип индикатора с общим катодом. ![]() Рисунок 3.5 – Микросхема К514ИД2 На входы D1-D4 подается двоичная комбинация, определяющая код символа, который необходимо отобразить. В качестве индикаторов будем использовать четыре МС АЛС330А. Микросхема АЛС330А представляет собой одноразрядный семи сегментный индикатор на светоизлучающих диодах, включенных по схеме с общим анодом. Параметры ИМС АЛС330А приведены в таблице 2. ![]()
МС К514ИД2 обеспечивает выходной ток для всех диодов 10 мА. Прямой ток индикатора 10 мА. Поставим ограничительные резисторы между выходами микросхемы дешифратора и катодами индикатора. В принципе, можно обойтись без ограничительных резисторов, так как элементы согласованы по нагрузочной способности. Для отображения температуры отведем два первых семисегментных индикатора, а на остальные два подадим такую комбинацию нулей и единиц, чтобы они постоянно отображали знак температуры °С. Схема блока индикации приведена на рисунке 3.6. ![]() Рисунок 3.6 – Блок индикации ![]() 3.3 Проектирование блока ввода и оцифровки показаний термодатчика В термостате будет использоваться датчик AD22100K. Основные параметры датчика: Температурный диапазон от 0 до 100 ºС; Типовая погрешность при 25ºC ± 5 % Uout = (U +/ 5B) * [ 1,375B + (22,5 mB/ºC) * TA] Для питания данного термодатчика следует выбрать высокостабильный источник опорного напряжения с Uвых = 5 В. Исходя из максимального значения температуры термостата согласно заданию, вычислим максимальное выходное напряжение термодатчика: Uoutmax = 1375 mB + 22,5 mB/ºC * 25 ºC = 2050 mB = 2,05 B ![]() 3.4 Выбор АЦП В качестве АЦП выбираем К1113ПВ1. Микросхемы представляют собой функционально законченный 10-разрядный АЦП, сопрягаемый с микропроцессором. Обеспечивает преобразование как однополярного напряжения (вывод 15 соединяется с выводом 16) в диапазоне 0...9,95 В, так и биполярного напряжения в диапазоне -4,975...+4,975 В в параллельный двоичный код. В состав ИС входят ЦАП, компаратор напряжения регистр последовательного приближения (РПП), источник опорного напряжения (ИОН), генератор тактовых импульсов (ГТИ), выходной буферный регистр с тремя состояниями, схемы управления. Выходные каскады с тремя состояниями позволяют считывать результат преобразования непосредственно на шину данных микропроцессора. По уровням входных и выходных логических сигналов сопрягаются с ТТЛ схемами. В ИС выходной ток ЦАП сравнивается с током входного резистора от источника сигнала и формируется логический сигнал РПП. Стабилизация разрядных токов ЦАП осуществляется встроенным ИОН. Тактирование РПП обеспечивается импульсами встроенного ГТИ с частотой следования 300...400 кГц. Установка РПП в исходное состояние и запуск его в режим преобразования производится по внешнему сигналу "гашение и преобразование". По окончанию преобразования АЦП вырабатывает сигнал "готовность данных" и информация из РПП поступает на цифровые входы через каскады с тремя состояниями. Условно графическое обозначение К1113ПВ1 показано на рисунке 3.7. ![]() ![]() Рисунок 3.7 – Микросхема К1113ПВ1. Условно графическое обозначение. Первый и второй выходы АЦП задействованы не будут. Остальные выходы подключим к шинному формирователю. Так как UREF данного АЦП = 10,24В, сигнал от термодатчика следует усилить для обеспечения минимальной погрешности. Требуемый коэффициент усиления найдем из частного UREF и Uoutmax: K = UREF / Uoutmax = 10,24 / 1,9375 = 4.99 Округлим полученный результат до 5. Данное число и будем использовать в качестве коэффициента усиления. В качестве шинного формирователя будем использовать восьмиканальный формирователь с тремя состояниями на выходе и асимметричным управлением АП6. Схема блока ввода и оцифровки температуры показана на рисунке 3.8. ![]() АП6 Рисунок 3.8 – Блок ввода и оцифровки температуры. ![]() Uвх.АЦП = К * ( 1,375В + Кт * ТА) ТА = (Uвх.АЦП – К * 1,375В) / К * 22,5 мВ/ºС Uвх.АЦП = N * UREF / (2n - 1), где N – двоичный эквивалент входного напряжения АЦП. Uвх.АЦП = N * 10240 / 255 = N * 40,157 ТА = (N * 40,157 мВ – К * 1375 мВ) / (К * 22,5 мВ/ºС) = 0,35695* N - 61,1 ТА ≈ 0,4 * N – 61 Для усиления сигнала построим усилитель с помощью операционного усилителя К140УД17. ![]() Рисунок 3.9 – Усилитель сигнала температурного датчика Необходимый нам коэффициент усиления равен 5. Исходя из формулы k=1+R3/R2 рассчитаем необходимые номиналы резисторов. Примем R1=1кОм, тогда R3=4кОм. Для сопоставления двоичным кодам с выхода АЦП определенным значениям температуры, необходимо зашить в ПЗУ таблицу соответствия. ![]() Рисунок 3.10 – Схема блока ввода и оцифровки ![]() |