АННОТАЦИЯ 3
Введение 3
1. Микроконтроллер ATmega8 7
1.1. Микроконтроллер 7
1.2. Характеристики и область применения 7
2. Датчик температуры DS18B20 9
2.1. Интерфейс One-Wire 10
2.2. Часы реального времени DS3231 14
3. Интерфейс I2C 15
3.1. Принцип работы интерфейса I2C. 16
3.2. Адресация в интерфейсе I2C. 16
4. Практическая реализация 18
4.1. Подключение одного датчика температуры 18
4.2. Подключение двух датчиков температуры 19
4.3. Подключение n датчиков температуры 21
4.4. Подключение DS3231 к ATmega8 и вывод на LCD экран 25
5. Создание печатной платы 27
5.1. Проектирование 27
5.2. Подготовка заготовки 29
5.3. Лазерно-утюжная технология 29
Заключение 31
Приложение А. Подключение одного датчика температуры 34
Приложение Б. Подключение двух датчиков температуры 35
Приложение В. Команда Search ROM 36
В современном мире автоматизация и контроль параметров окружающей среды играют ключевую роль в промышленности, энергетике, системах «умного дома», медицине и других областях. Одним из важнейших параметров, требующих постоянного мониторинга, является температура. Её контроль необходим для обеспечения безопасности, повышения энергоэффективности и оптимизации технологических процессов.
Датчики температуры используются для широкого спектра промышленных, научных, медицинских и бытовых целей, и они различаются по конструкции и/или принципам работы, чтобы лучше соответствовать их конкретному применению [1]. Для многих применений достаточно использовать один датчик температуры, но иногда требуется группа датчиков для оптимизации, например, конструкции холодильника, вентиляции помещения [2] или гидропонной теплицы.
Традиционные аналоговые датчики температуры обладают рядом недостатков, таких как низкая точность, подверженность помехам и необходимость калибровки. В отличие от них, цифровые датчики, такие как DS18B20, обеспечивают высокую точность измерений, устойчивость к внешним воздействиям и простоту интеграции в цифровые системы управления.
Микроконтроллеры, в свою очередь, являются основой современных встраиваемых систем. Они позволяют не только собирать данные с датчиков, но и обрабатывать их, управлять исполнительными устройствами и передавать информацию на дисплеи или в более сложные системы.
Возможности и цена микроконтроллеров позволяют им заменить практически все цифровые микросхемы, предназначенные для управления электроникой. В тех областях, где производительности не хватает, используются модифицированные микроконтроллеры с функциями быстрого вычисления определённых задач. Микроконтроллеры используются в автомобилях, наручных электронных часах, тетрисах, плеерах, сотовых телефонах и т.д. Возможности по перепрограммированию (прошиванию) микроконтроллеров позволяют исправлять допущенные ошибки и/или наращивать функциональность устройств [3, 4].
Микроконтроллеры семейства AVR, в частности ATmega8, широко применяются в системах автоматизации благодаря оптимальному соотношению производительности, энергопотребления и стоимости [5]. Их использование в сочетании с цифровыми датчиками позволяет создавать компактные и надежные системы мониторинга. Анализ современных публикаций показывает, что сочетание микроконтроллера ATmega8 с датчиками DS18B20 представляет собой перспективное направление для создания недорогих, но эффективных систем контроля температуры [6]. Особенно это актуально для образовательных проектов, где важно сочетание наглядности, доступности компонентов и возможности демонстрации различных аспектов программирования микроконтроллеров [7].
ATmega8 - один из наиболее распространённых микроконтроллеров семейства AVR(Advanced Virtual RISC), который сочетает в себе доступность, низкое энергопотребление и достаточную вычислительную мощность для решения широкого круга задач.
Важным преимуществом ATmega8 является наличие всех необходимых периферийных интерфейсов, включая поддержку протоколов 1-Wire и I2C [8]
Целью данной работы является создание системы автоматического измерения температуры с использованием микроконтроллера ATmega8, цифровых датчиков DS18B20 и LCD-дисплея, а также разработка печатной платы для её реализации.
Для достижения поставленной цели необходимо решить ряд задач. В ходе изучение теории были решены следующие задачи:
1) знакомство с архитектурой и особенностями микроконтроллера ATmega8;
2) изучение принципов работы цифровых датчиков температуры DS18B20 и протокола 1-Wire;
3) анализ методов взаимодействия микроконтроллера с LCD-дисплеем.
Программная реализация.
1) Разработка алгоритма автоматического обнаружения датчиков на шине 1-Wire.
2) Реализация считывания и обработки данных о температуре.
3) Организация вывода информации на LCD-дисплей.
4) Добавление системы оповещения при выходе температуры за допустимые пределы.
Аппаратная реализация.
1) Проектирование электрическую схему системы.
2) Разработка печатной платы с использованием программы EasyEDA.
3) Изготовление платы методом ЛУТ (лазерно-утюжной технологии).
4) Сборка и тестирование устройства.
Тестирование и оптимизация:
1) Проверка на работоспособность системы с различным количеством датчиков.
2) Оценка точности измерений и стабильности работы.
Объект и предмет исследования.
Объект исследования - микроконтроллерные системы сбора и обработки данных с цифровых датчиков температуры.
Предмет исследования - методы программирования ATmega8 для работы с DS18B20 и LCD-дисплеем, а также проектирование печатных плат для подобных систем.
Методы исследования
В ходе работы применялись следующие методы:
1) Теоретический анализ - изучение документации на микроконтроллеры, датчики и протоколы передачи данных.
2) Программирование - написание кода на языке C с использованием среды Microchip Studio.
3) Моделирование - отладка схемы в Proteus перед физической реализацией.
4) Экспериментальный метод - сборка и тестирование устройства, измерение его характеристик.
5) Технология ЛУТ - изготовление печатной платы в лабораторных условиях.
Научная и практическая значимость
Научная значимость работы заключается в разработке универсального алгоритма для автоматического обнаружения и опроса нескольких датчиков DS18B20 на одной шине 1-Wire, а также в оптимизации взаимодействия микроконтроллера с LCD-дисплеем.
Практическая значимость состоит в том, что:
Разработанная система может быть использована в учебных целях для изучения микроконтроллеров и цифровых датчиков. Также она применима в реальных проектах, таких как системы мониторинга температуры в теплицах, серверных, системах отопления и т. д.
Методика проектирования и создания печатных плат может быть полезна при создании других электронных устройств.
В ходе выполнения работы была разработана и реализована система для работы с цифровыми термодатчиками DS18B20 на основе микроконтроллера Atmega8 с использованием протокола 1-Wire. Основной задачей было обеспечить автоматическое обнаружение нескольких датчиков, их идентификацию и последующее считывание данных температуры.
Был разработан алгоритм поиска уникальных адресов устройств с применением команды Search ROM. Реализация функции позволила эффективно находить несколько устройств на одной шине и сохранять их адреса в памяти микроконтроллера. Дополнительно была создана логика для обработки развилок и конфликтов адресов, что делает систему универсальной и устойчивой к различным конфигурациям подключений. Часы реального времени было решено убрать из схемы из-за ненадобности.
Программа успешно считывает данные температуры с каждого датчика и выводит их на дисплей.Результаты работы:
1) Разработан код для сканирования шины 1-Wire и обнаружения подключённых устройств.
2) Реализован алгоритм считывания и декодирования данных с датчиков температуры.
3) Построена система отображения информации на LCD-дисплее, обеспечивающая пользовательский интерфейс.
4) Разработана система Alarm с использованием светодиодов.
5) Разработана и изготовлена печатная плата.
1. Temperature Sensor Market by Product Type (Thermocouples, RTDs, Thermistors, Temperature Sensor ICs, Bimetallic, Infrared, and Fiber Optic Temperature Sensors), Output, End-User Industry, and Region - Global Forecast to 2027. MarketsandMarkets, март 2020. [Электронный ресурс]. (дата обращения: 22.03.2025).
2. Hints for Selecting the Correct Temperature Sensors for Your Application. Measurement Tips. Agilent Technologies, Santa Clara, CA, USA, 2008. Vol. 1. 4 p.
3. Белов А. Б. Конструйрование устройств на микроконтроллерах. — М.: Наука и техника, 2005. — 255 с.
4. Бродин В. Б., Шагурин И. И. Микроконтроллеры: справочник. — М.: ЭКОМ, 1999. — 395 с.
5. Atmel Corporation. ATmega8 Datasheet. — 2016. — 68 p.
6. Смирнов Е. Р. Микропроцессорные системы измерения температуры. — М.: Энергоатомиздат, 2023. — 184 с.
7. Anderson P. Teaching Embedded Systems with AVR Microcontrollers // Journal of Engineering Education. — 2022. — Vol. 111, No. 2. — P. 345¬362.
8. Johnson M. Embedded System Interfaces Design. — New York: Wiley, 2021. — 480 p.
9. Microchip Technology Inc. Техническое описание микроконтроллера
ATmega8: Даташит. — 2002. [Электронный ресурс]. URL:
https://www.promelec.ru/fs/sources/e4/09/f3/32/e79e1c9c5417d1d11d1a7cc 7.pdf (дата обращения: 22.03.2025).
10. Maxim Integrated Products. DS18B20: 1-проводной датчик температуры:
Даташит. — 2006. [Электронный ресурс]. URL:
http://arduino.roadplanner.ru/datasheets/DS18B20.pdf (дата обращения:
22.03.2025).
11. Radiokot. Описание интерфейса 1-Wire: Статья. — 2007. [Электронный
ресурс]. URL: https://www.radiokot.ru/articles/13/ (дата обращения:
22.03.2025).
12. Maxim Integrated Products. DS3231: Реальное время/календарь с
кварцевым кристаллом/TCXO: Даташит. — 2010. [Электронный
ресурс]. URL: http://arduino-kid.ru/sites/default/files/2019-04/DS3231.pdf (дата обращения: 22.03.2025).
13. Philips Semiconductors. I2C manual: Даташит. — 2003. [Электронный ресурс]. URL: https://sysadminmosaic.ru/_media/i2c/an10216.pdf (дата обращения: 22.03.2025).
14. Radiohlam. Поиск устройств на шине One-Wire: Статья. — 2016.
[Электронный ресурс]. URL: https://radiohlam.ru/1-wire_scan/ (дата
обращения: 22.03.2025).