Статьи » Разработки |
2021-12-24 в 13:09
Началось все с того, что на работе мы постоянно спорили по поводу температуры и влажности в комнате, а от этого зависело использование отопительных приборов, так как аргументировать некоторым коллегам их включение без измерительного прибора было довольно сложно, я решил его собрать из подручных компонентов. Сидеть зимой при температуре в помещении ниже 19 градусов было совсем некомфортно. Звезды совпали для создания устройства выходного дня, в столе лежит новая Attiny 2313 в DIP корпусе, DHT — 22 и 8×2 LCD 1602 дисплей. Схема электрическая принципиальная разработана в программе Dip Trace с условно бесплатной лицензией: Для быстрого моделирования я использовал breadboard, соединил проводники согласно схеме электрической принципиальной и принялся писать микропрограмму. Для отладки использовался LCD 16 x 2, так как у него пины расположены в один ряд и его проще соединять на монтажной плате. Изначально я хотел сделать работу от двух сенсоров внутренний — DHT22, внешний DS18B20, но памяти программ в 1 Кб катастрофически не хватало, пришлось отказаться от идеи с внешним датчиком. В итоге написана прошивка на языке Си в среде Atmel Studio 7.0 только для работы с DHT — 22. Также в целях экономии места и средств было принято решение тактировать микроконтроллер от встроенного генератора на 8 МГц, для домашнего использования и устройства данного формата вполне приемлемо. Для этого из схемы была исключена цепочка С3, С4, Y1. Вот так выглядела отладочная модель:
Но постоянно загружать правки программы в реальное железо без внутрисхемного отладчика дело неблагодарное, и для ускорения процесса я создал компьютерную модель в программе Proteus 8. Схема устройства: После окончательных правок, микропрограмма была загружена в микроконтроллер и я наконец увидел результат: Особенность микропрограммы, написанной на языке Си, заключается в том, что удалось необходимый функционал уместить в память объемом 1 Кб, вывод Atmel Studio показывает следующий результат: Печатная плата не проектировалась. Сборка производилась на распаячной макетной плате, так как в этом проекте минимум соединений и необходимо было собрать устройство за пару часов. Плата установлена в корпус KRADEX Z70. Микропрограмма написана на языке Си в Atmel Studio 7. Исходный код, схему электрическую принципиальную для Dip Trace и файл симуляции схемы можно найти в моем репозитории на GitHub. Для программирования микроконтроллера был использован флешер USB-ASP и программа eXtreme Burner - AVR. Вы должны установить FUSE биты только для тактового генератора (внутренний 8 МГц или внешний кварцевый резонатор на 8 МГц). Остальные биты оставьте по умолчанию! Список компонентов:
Устройство проверено с несколькими термометрами, на изображении ниже термогигрометр от Xiaomi. Расхождения между ними минимальны. Устройство питается от внешнего блока питания на 5В, разъем питания на плате применен Mini-USB. Термогигрометр работает больше года в домашних условиях и проявил себя с положительной стороны, принося пользу. Вы также можете посетить мой Instagram и мой небольшой блог об электронике и программированию. Не пропустите обновления! Подписывайтесь на нашу группу Вконтакте. Так же у нас есть Telegram канал. Вам понравился наш материал? Поделитесь с коллегами! Просмотров: 453. Оценка статьи: 5.0 из 5. Уже оценило 2 читателя Вам может быть это интересно
|
Всего комментариев: 0 | |