Четверг, 21.11.2024

В помощь радиолюбителю
Приветствую Вас Гость
Главная | Регистрация | Вход | RSS
Умный дом » Автоматика для дома
Цифровая комнатная метеостанция


Владимир Макаров.

Цифровая комнатная метеостанция.

(хроно-термо-гигро-барометр)

Как поется в известной песне «Главней всего погода в доме…». Конечно автор под погодой имел ввиду душевное состояние супругов живущих под одной крышей. Но если подходить к этой фразе буквально, то она о том, что под крышей кроме душевного должен быть и климатический комфорт. Предлагаемое устройство обеспечивает измерение и отображение на светодиодном индикаторе температуры и относительной влажности воздуха в помещении, значения атмосферного давления и текущего времени.

Станция снабжена датчиком движения, который включает ее при появлении человека в зоне действия датчика. Этот режим позволяет экономить потребляемую энергию и использовать в качестве источника питания гальванические батареи. Кроме того, этот режим удобно использовать в спальне - выключенный дисплей станции не будет раздражать своим свечением. В этом случае для включения станции будет достаточно выполнить движение рукой или ногой.

Внешний вид станции показан на рисунках (Рисунок 1 и Рисунок 2).

Рисунок 1.
Внешний вид станции

Рисунок 2.
Внешний вид станции (обратная сторона)

Видео с демонстрацией работы станции представлено ниже:


 

Электрическая схема.

Схема электрическая принципиальная представлена на рисунке 3.

highslide.js

Рисунок 3.
Схема электрическая принципиальная.

Станция собрана на микроконтроллере ATmega8. Цепочка R1С1 обеспечивает начальный сброс (Reset) микроконтроллера при включении. Предусмотрено внутрисхемное программирование МК через разъем XP3 «SPI программатор».
Фьюзы МК ATmega8: HIGH=0xD9, LOW=0xE4.

В качестве дисплея используется четырех-разрядный 7-сегментный индикатор типа CL5642BN c общим анодом и двухточечным («:») разделителем часов и минут. Катоды сегментов индикатора подключены к МК через ограничительные резисторы. МК обеспечивает динамическую индикацию поочередно включая транзисторные ключи VT3…VT6.

Хронометр собран на микросхеме DS1307 по штатной схеме включения. Точность хода часов обеспечивается кварцевым резонатором Y1 с частотой 32768Гц. При отсутствии основного питания (5 Вольт) непрерывность хода часов обеспечивается резервным источником питания на гальваническом элементе CR2032 (3 Вольта). Взаимодействие МК с микросхемой DS1307 осуществляется по шине TWI (I2C). Линии шины TWI «подтянуты» к питанию VCC2 резисторами R20, R21. Установка часов и минут обеспечивается кнопками SA1 («Часы+»), SA2 («Минуты+»), SA3 («Установка»). При этом необходимо в момент начала цикла отображения данных на дисплее нажать и удерживать кнопку «Установка». Нажатием или нажатием с удержанием кнопок «Часы+» или «Минуты+» устанавливается время хронометра. При отпускании кнопки «Установка» в микросхему DS1307 в соответствующие ячейки запишутся значения часов и минут, отображенные на дисплее, а в ячейку секунд запишется значение 0. Таким образом можно точно синхронизировать время с внешними эталонными источниками точного времени (например, от вещательных радиостанций или телевидения).

К шине TWI также подключена плата барометра BMP180. Программа устройства считывает калибровочные коэффициенты, устанавливаемые производителем, и учитывает их при расчете атмосферного давления.

Измерение температуры осуществляется датчиком DHT11. МК управляет датчиком по последовательному однопроводному двунаправленному интерфейсу. Линия интерфейса «подтянута» к питанию VCC2 резистором R19.

Для экономного расходования энергии батарей микроконтроллер большую часть своего времени пребывает в состоянии глубокого сна («power-down»). При этом МК перед засыпанием обесточивает все измерительные датчики, подключенные к VCC2 (хронометр, датчик атмосферного давления, датчик влажности и температуры). Обесточивание датчиков обеспечивается ключами на транзисторах VT1 и VT2.

Для пробуждения МК в схему станции включен датчик движения HC-SR501. Его задача – вывести МК из состояния сна. При срабатывании датчик посылает сигнал МК, который пробуждается сам и подает питание VCC2 на периферийные датчики (хронометр, датчик атмосферного давления, датчик влажности и температуры). Ключ на транзисторе VT7 обеспечивает инверсию сигнала датчика движения для согласования с МК. Переключатель «Движение» позволяет отключить датчик движения, для еще большей экономии энергии батарей. В этом случае альтернативную команду на пробуждение МК можно подать нажатием кнопки «Установка».

Питание станции осуществляется от двух альтернативных типов источников: от трех батарей типа АА или от сетевого источника питания 5 Вольт по шине USB. Для переключения между источниками питания необходимо установить переключатель «Питание» в одно из положений: «USB» или «Батарея». При питании от батарей ток потребления станции в режиме сна составляет не более 200мкА, что при емкости батареи 2000мАч соответствует 10000 часам (более одного года) непрерывной работы.

При выборе сетевого источника питания следует учитывать, что пиковый ток потребления станции (во время измерения и при включенном дисплее) не превышает 100мА. Поэтому можно использовать практически любое зарядное устройство.

При питании от шины USB иногда целесообразно обеспечить постоянное измерение значений датчиками и отображение данных на дисплее. Для этого необходимо установить переключатель «Дисплей» в положение «Вкл». В этом случае МК не будет переводится в состояние сна.

 

Печатные платы.

Печатные платы разработаны в программе Dip Trace. Они выполнены на одностороннем фольгированном стеклотекстолите. Расположение деталей на основной печатной плате показано на рисунке (Рисунок 4). На рисунке перемычки со стороны монтажа выделены цветными ломаными линиями. Печатная плата со стороны дорожек показана на рисунке (Рисунок 5).

highslide.js

Рисунок 4.
Печатная плата (вид со стороны радиодеталей).

highslide.js

Рисунок 5.
Печатная плата (вид снизу, зеркальное отображение).

 

Кнопки и переключатели пульта управления станцией установлены на отдельной печатной плате (Рисунок 6 и Рисунок 7).

Рисунок 6.
Печатная плата Пульта управления (вид сверху).

Рисунок 7.
Печатная плата Пульта управления (вид со стороны дорожек).

 

Гнездо для подключения USB кабеля установлено на отдельной плате, купленной на AliExpress (Рисунок 8).

Рисунок 8.
Плата с гнездом USB.

 

Монтаж.

Станция смонтирована в корпусе универсальной коробки для кабельных каналов «Промрукав» - IP42; 400V; полистирол ГОСТ Р 50827.1-2009 ТУ 3464-001-97341529-2012 Артикул 40-0460.

На передней стороне корпуса прорезаны окна для дисплея и датчика движения. На тыльной стороне корпуса размещен датчик влажности и температуры DHT11, кнопки и переключатели пульта управления.

Батарея питания – три элемента AA 1.5 Вольт каждый размещены в специализированном держателе – «кроватке» .

Размещение радиодеталей на печатной плате показан на рисунке (Рисунок 9).

highslide.js

Рисунок 9.
Внешний вид размещения деталей на плате.

 

Архив к статье «CTBH.rar» содержит:

     1.   Папку CTBH – файлы проекта на Си в среде Atmel Studio 7.
     2.   CTBH.dch – схема электрическая принципиальная в формате Dip Trace.
     3.   CTBH.dip – печатная плата устройства в формате Dip Trace.
     4.   CTBH_Buttons.dip – печатная плата Пульта управления в формате Dip Trace.
     5.   CTBH.hex – загрузочный файл для МК.

Удачи Вам в творчестве и всего наилучшего!

Скачать архив.

 



Категория: Автоматика для дома | Просмотров: 31935 | Добавил: MVS

Понравилась статья - нажми на кнопку!

 Нравится 

Всего кликов: 101

Назад

Поделись с друзьями:





Добавлять комментарии могут только зарегистрированные пользователи.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться или войти на сайт под своим именем.


Всего комментариев: 14
* * 14) Добавил: Анатолий1970 Анатолий (07.10.2024 21:22) [Материал]

Здравствуйте! Хотелось бы повторить эту метеостанцию, но такого индикатора не найду/не имею.  Если это возможно, просьба выслать мне модифицированную прошивку под стандартный индикатор. Читал, что bobr1969 сделал такую.

* * 13) Добавил: Александр3583 Александр (01.06.2021 18:48) [Материал]

Полная ерунда.Часы не запускаются. Работает все кроме часов.

* * 12) Добавил: Александр3583 Александр (05.06.2020 18:18) [Материал]

Доброго вечера всем!Возникла проблема с дисплеем. Соответственно вопрос: кто-нибудь может подправить прошивку под дисплей с точками на 3 и 4 сегменте?

* * 11) Добавил: MVS Владимир (26.01.2020 20:39) [Материал]

Для bobr1969. Очень рад. Прошивку присылать не надо. Может кто-нибудь и обратиться к Вам за прошивкой, прочитав Ваш комментарий. Желаю удачи! С уважением, Макаров Владимир

* * 10) Добавил: MVS Владимир (26.01.2020 20:36) [Материал]

Для bluz71241. Спасибо за то, что нашли причину неравномерного свечения разрядов. Сейчас занимаюсь совершенствованием устройства в части ввода корректирующих коэффициентов на температуру, влажность и атм. давление. Дополнительно: атм. давление будет усредняться по методу скользящего среднего. Найденную Вами ошибку и исправлю. Видимо, будет новая статья. Насчет будильника и включения радио - такой функциональности пока не будет. С уважением, Макаров Владимир

* * 9) Добавил: bluz71241 Alexandr Stepanov (24.12.2019 06:34) [Материал]

Здравствуйте.Захотелось собрать такую вещь,но мне нужен еще будильник,что бы по нему включалось радио.Переключатель дисплей можно убрать ,пусть горят постоянно.Добавить подстройку хода часов и общий катод.

* * 8) Добавил: bobr1969 Борис (20.12.2019 20:55) [Материал]

Добрый вечер Владимир. Заинтересовался Вашей разработкой. Хорошая штука. Повторил всё работает,но не нашёл такого индикатора,нашел подобный HS410561K-D30,но у него точки подключены к 3-му и 4-му разряду.Переделал немного Вашу прошивку и всё заработало. Большое спасибо. Если надо скину.

* * 7) Добавил: belokota Константин Белокопытов (08.08.2019 14:35) [Материал]

Понятно, жду с нетерпением. Спасибо!

* * 6) Добавил: MVS Владимир (08.08.2019 14:18) [Материал]

Добрый день, Константин! Здравые предложения. Добавлю массив на 30 значений атмосферного давления, интервал между измерениями - 1 минута. Усреднение по методу "скользящего среднего" - запоминаются только последние 30 значений. Новое измерение выталкивает из массива (стека) самый старый отсчет. Тогда, пожалуй, можно будет получить похожий на правду "плавный" результат. Насчет прямых корректировок (+/-) давления, влажности и температуры я тоже согласен. Надо сделать. А вот часы точные, с часовым кварцем и резервным питанием, останутся такими же. Когда сделаю? Пока планирую на сентябрь.

* * 5) Добавил: belokota Константин Белокопытов (08.08.2019 11:50) [Материал]

Здравствуйте! Усреднить измерения - это хорошая идея, но здесь надо учитывать какие измерения усреднять. Например одно измерение вечером, потом станция спит и следующее измерение утром. НО ведь за это время давление может реально сильно измениться. Вероятно, было бы не плохо сделать что бы станция  измеряла давление непрерывно и уже эти измерения усреднять в зависимости от  интервала между измерениями. Я конечно понимаю, что придётся менять многое в алгоритме работы станции.  Но может это было бы правильнее, ведь всё таки она больше нужна для измерений, а не простоя. А датчик движения путь тушит только дисплей. И ещё очень хорошо было бы добавить возможность коррекции показаний температуры, влажности и давления в диапазоне от -9 до +9 с шагом 1. Ну а если ещё и коррекция хода часов, то это было бы вообще замечательно. Хотя, на часы мы и сейчас можем повлиять с помощью подбора кварцевого резонатора, а вот на погодные величины никак не можем.

* * 4) Добавил: MVS Владимир (06.08.2019 21:15) [Материал]

Добрый день, Константин! По Вашему сигналу я провел эксперимент на своем образце станции. Вы правы. Данные действительно меняются, и я бы сказал "стремительно".
По этой ссылке я выложил видео эксперимента: https://youtu.be/fqn_2otaMZc
Первые 2 измерения после включения показали 739, потом 10 минут стабильно отсвечивал 742. Думал, что датчик вошел в режим. Не тут-то было. На 11-той минуте уехал на 746. Там продержался 2 с половиной минуты - скатился до 740 
... и вот уже в течение 30 минут показывает 740. 
Мне сложно ответить, что происходит. Но выбросы  - точно есть. 
Это или атмосфера действительно себя так ведет, что сказывается на самочувствии метеозависимых людей, или это чудачит датчик. 
Моя программа только читает данные и показывает на дисплее. Можно конечно сгладить эти выбросы программно по "методу скользящего среднего" -  
запоминать и усреднять последние 30...40 измерений.
Если есть идеи, пишите.

* * 3) Добавил: belokota Константин Белокопытов (06.08.2019 09:06) [Материал]

Здравствуйте! Я собрал станцию, но наблюдаю какие то странности при показаниях атмосферного давления. Например при активации станции, она несколько раз показывала значение 742, а через пару минут 736, через пару минут 739. Показания настенного барометра 743. Я сделал питание Vcc 2 постоянно включенным, но это не сильно повлияло на ситуацию, но всё же показания субъективно стали стабильнее. Датчик BMP180 менял, поставил конденсатор на питании 100 мкФ, и припаял на плату датчика конденсатор 0,1 мкФ по питанию. но всё это не помогает. Вы можете что то посоветовать в этой ситуации?

* * 2) Добавил: MVS Владимир (29.07.2019 14:55) [Материал]

Добрый день, Константин! После момента подачи питания на датчики первым опрашивается таймер реального времени, который имеет свой автономный источник питания. Отображение времени длится около двух секунд, а перед отображением времени отображается "Заставка" (в виде прямоугольника). Я считаю, что времени для разогрева других датчиков вполне достаточно. Но точнее надо смотреть по описаниям этих датчиков. Если вопрос является критичным для Вас, то можете вообще оставить датчики подключенными к питанию. При этом питать все устройство необходимо от сети. Важно гасить индикатор, чтобы ночью не раздражал своим светом. Эта функция должна остаться. 
С уважением, Макаров Владимир

* * 1) Добавил: belokota Константин Белокопытов (29.07.2019 14:27) [Материал]

Здравствуйте! Не будет ли негативно влиять на точность измерений станции тот факт что датчики находятся в отключенном состоянии до пробуждения станции? Не нужен ли датчикам предварительный прогрев для выхода "на режим"?