Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


8052
Система контроля температуры | Полная принципиальная схема с пояснениями

Система контроля температуры | Полная принципиальная схема с пояснениями

Вот простой в изготовлении индикатор-контроллер температуры, который можно соединить с катушкой обогревателя для поддержания температуры в помещении. Система контроля температуры основана на микроконтроллере Atmega8535, что делает ее динамичной и быстрой, и использует LCD модуль для отображения и две клавиши для увеличения или уменьшения заданных значений.

Схема системы контроля температуры

Схема системы контроля температуры

Рис. 1 показана схема системы терморегулирования. Он состоит из микроконтроллера Atmega8535, датчика температуры LM35, регулятора 7806, модуля LCD и нескольких дискретных компонентов.

Сеть переменного тока напряжением 230 В, частотой 50 Гц понижается трансформатором X1 для получения вторичного выходного напряжения 9 В, 500 мА. Выходной сигнал трансформатора выпрямляется двухполупериодным мостовым выпрямителем, состоящим из диодов D1–D4, фильтруется конденсатором C1 и регулируется микросхемой IC 7806 (IC1). LED1 действует как индикатор питания постоянного тока. Резистор R1 действует как ограничитель тока. Аккумуляторная батарея напряжением 4,8 В обеспечивает резервное питание.

ATmega8535 — это 8-битный CMOS-микроконтроллер с низким энергопотреблением, основанный на усовершенствованной RISC-архитектуре AVR. ATmega8535 имеет такие функции, как 8 КБ внутрисистемной программируемой флэш-памяти (т.е. возможности чтения-while-записи), 512-байт EEPROM, 512-байт SRAM, 32 линии ввода/вывода общего назначения, 32 рабочих регистра общего назначения, три гибких таймера/счетчика со функцией сравнения. режимы, внутренние и внешние прерывания, последовательно программируемый USART, байт-ориентированный двухпроводный последовательный интерфейс, 8-канальный 10-битный аналого-цифровой преобразователь (ADC) с дополнительным дифференциальным входным каскадом с программируемым усилением, программируемый сторожевой таймер с внутренним генератором, последовательный порт SPI и шесть программно выбираемых режимов энергосбережения. режимы.

Рис. 2: Односторонний PCB фактического размера для индикатора-контроллера температуры
Рис. 3. Расположение компонентов для PCB

Загрузите PCB и PDF-файлы компоновки компонентов: нажмите здесь

Ядро AVR сочетает в себе богатый набор команд с 32 рабочими регистрами общего назначения. Все 32 регистра напрямую подключены к арифметико-логическому устройству (АЛУ), что позволяет получить доступ к двум независимым регистрам с помощью одной инструкции, выполняемой за один такт. В результате архитектура становится более эффективной с точки зрения кода while, обеспечивая пропускную способность до десяти раз быстрее, чем обычный микроконтроллер компьютера со сложным набором команд (CISC).

Вывод PA0 порта A микроконтроллера используется как ADC для интерфейса датчика температуры, который преобразует сигналы в цифровой эквивалент. Конденсатор C5 защищает вход ADC от колебаний напряжения, а резистор R6 используется в качестве ограничителя тока.

Порт D используется для подключения модуля LCD, который отображает заданное значение эталонной температуры и текущую температуру. Выводы порта D от PD0 до PD2 подключены к контактам 4–6 (RS, R/W, EN), а контакты PD4–PD7 и D4–D7 модуля LCD соответственно. Контрастность контролируется предустановкой VR1. Резистор R3 ограничивает ток подсветки LCD.

Выводы PC0 и PC1 порта C используются для сопряжения переключателей S4 и S5 для уменьшения и увеличения настройки температуры в соответствии с температурой в помещении.

Вывод PB0 порта B используется для управления реле с помощью транзистора T1.

Катушка обогревателя помещения подключается к контактам реле RL1. Светодиод 2 подключается параллельно реле и указывает состояние включения реле и нагревателя. D6 действует как безынерционный диод. Кристалл 4 МГц, подключенный между контактами 12 и 13 микроконтроллера, обеспечивает базовую тактовую частоту микроконтроллера. Переключатель S3 используется для ручного сброса.

Список компонентов системы контроля температуры

Температура, измеренная с помощью LM35, сравнивается с эталонным значением. Если измеренная температура выше эталонного значения на 1°С, нагреватель выключается, а if измеренная температура ниже эталонного значения на 1°С, нагреватель включается.

Всякий раз, когда температура окружающей среды ниже эталонной температуры на 1°C, на выводе PB0 устанавливается высокий уровень. Из-за этого транзистор Т1 переходит в насыщение и реле срабатывает. Нагреватель, подключенный к сети переменного тока через нормально разомкнутые (НО) контакты реле, повышает температуру окружающей среды. Аналогичным образом, когда температура окружающей среды превышает эталонную температуру на 1°C, на выводе PB0 устанавливается низкий уровень, транзистор T1 отключается, реле обесточивается и нагреватель отключается от сети. Это приводит к снижению температуры до эталонного значения. Таким образом, схема работает как индикатор-регулятор температуры.

Односторонний PCB реального размера для индикатора-контроллера температуры на базе микроконтроллера показан на рис. 2, а расположение его компонентов - на рис. 3.

Программное обеспечение

Программное обеспечение написано на языке C и скомпилировано с использованием компилятора CodeVision AVR C. Исходная программа преобразуется компилятором в шестнадцатеричный код. Запишите этот шестнадцатеричный код в микроконтроллер Atmega8535 AVR. Исходная программа хорошо прокомментирована и проста для понимания.

Сначала объявите, что порт D микроконтроллера используется для связи с модулем LCD, а затем включите файлы заголовков, такие как mega8535.h, lcd.h, Delay.h и stdio.h. После этого определите обоснованное внешнее опорное напряжение, а затем подпрограмму для микроконтроллера для считывания цифрового эквивалентного входа.

Функция lcd_init(16) инициализирует строку LCD размером 16x2__.

Функция lcd_clear() очищает LCD и устанавливает позицию отображаемого символа в строке «0» и столбце «0».

Функция lcd_gotoxy(0, 0) устанавливает текущую позицию отображения в столбце «0» и строке «0».

Функция Delay_ms(50) генерирует задержку в 50 миллисекунд.

Цикл работает для получения температуры, считывания температуры, преобразования ее в градусы Цельсия и последующего отображения в модуле LCD.

Загрузить исходный код: нажмите здесь


Категория: Устройства на микроконтроллерах | Добавил: Администратор (20.05.2026)
Просмотров: 105 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026