Данное устройство — это первый
пробный шаг к большому проекту «Умный дом»
Изначально была
разработана несложная постановка задачи:
- Устройство должно монтироваться на ДИН-рейку;
- Разрабатываемое устройство должно получать данные от температурных
датчиков (от 1 до 10 шт) по шине 1-Wire и значение сетевого
напряжения (~220В ±50В). Полученные
данные должны передаваться в ПК по через USB, а так же отображаться
на индикаторе самого прибора.
- При включении отобразить на
несколько сек. количество найденных термодатчиков.
- Диапазон измеряемых/отображаемых
температур составляет от -99° до 99°
- В устройстве должны быть предусмотрены следующие параметры, которые
должны сохраняться в энергонезависимой памяти и корректироваться с ПК:
1)Коэффициент умножения/шкалы (для
корректировки точности измерения сетевого напряжения)
2)Способ передачи/отображения данных
на ПК, например:
a)Напряжение;
Температура1;Напряжение;Температура2; … Напряжение; Температура N
b)Напряжение;
Температура1;Температура2; … Температура N
3)Время обновления данных
Схема проекта в Proteus:
Для данного проекта был разработан блок питания с двумя
выходами: 1) стабилизированное питание
+5 В для питания микроконтроллера и платы индикации; 2)
нестабилизированное +4 В, которое изменяется пропорционально напряжению
сети;
Блок питания на Рисунке 1 выполнен на базе балластного конденсатора и не имеет
гальванической развязки с МК, поэтому дальнейшее использование дано БП было
решено прекратить. Блок питания на Рисунке 2 — выполнен на базе 9-вольтового
трансформатора.
Оба
блока питания имеют подстроечный резистор для грубой корректировки аналового
значения напряжения сети (для более точной — используется программный
коэффициент).
Так
же обе платы разработаны для установки в стандартный корпус для ДИН-рейки,
размером 2 слота.
Сам
контроллер так же разработан для установки в стандартный корпус для ДИН-рейки,
размером 2 слота и выполнен из двух плат: плата МК (Рисунок 3) и плата индикации (Рисунок
4).
Блок устройства имеет на борту: вход
двойного питания (стабилизированного и пропорционального 220); Выход USB и вход 1-WIRE термодатчиков DB18B20 (возможное подключение от 0шт. до 10шт.).
Данное устройство может работать
полностью автономно, без ПК, однако, согласно постановки задачи…. это не
интересно — интересно всё видеть на экране ПК.
Таким образом для данного устройства
была разработана программа для ПК, которая собирает данные, анализирует их,
ведёт архив, строит графики и выводит данные на мнемосхему, согласно
располжению термодатчиков.
При успешном подключении программы к
контроллеру программа производит опрос устройства и чтение состояния датчиков с
последующим выводом данных в места, указанные пользователем в прошлый раз:
Экран настроек программы:
При установке «Подключаться к контроллеру при старте
программы» - программа автоматически будет пытаться подключиться к устройству.
При
опции "Create HTML” — программа сформирует WEB-страничку, и при настроенном на данном компьютереIIS (Internet Information Server) — можно будет просматривать данные с любого ПК в локальной сети.
В прочем, при правильной настройке — эти данные можно
будет просматривать безопасно и через Internet.
На
закладке «Данные контроллера» - отображается текущий режим работы и лог работы
программы:
На
вкладке «Графики» - отображается архив:
Данные программы (её настройки) сохраняются в
структурированном файле настроек программы:
[SHEMA]
MnemoSh=Plan1.bmp
[Interface]
PORT=COM2
CONNECT=1
GetStat=1
[COLORS]
Temperature_P=$008000FF
Temperature_M=clBlue
Voltaj_Normal=$0070E703
Voltaj_Otklon=clRed
BackGround=clWhite
TransparentBG=0
[VOLTAJ]
Normal=220
Otklon=4
[DATCHIKI]
XY_V=760 x 450
28-322A4B=322 x 161
28-B23F4B=524 x 259
28-68A94=516 x 39
28-241394=744 x 39
28-123D94=135 x 145
28-5AF593=757 x 185
28-A5794=242 x 359
28-DD3994=432 x 575
AdaptName-28-322A4B=Кухня
AdaptName-28-B23F4B=Зал
AdaptName-28-68A94=Спальня
AdaptName-28-241394=Корридор
AdaptName-28-123D94=Лоджия1
AdaptName-28-5AF593=Лоджия2
AdaptName-28-A5794=Улица
AdaptName-28-DD3994=Детская
[COMMON]
ClaerLog=0
Debug=0
DateTime=0
Arhiv=1
NullCikle=0
Create_HTML=1
[HTML]
DataImage=C:\Inetpub\wwwroot\images\Image.bmp
HTML_Page=C:\Inetpub\wwwroot\data.htm
[GRAFIK]
T1=1
T2=0
T3=0
T4=0
T5=0
T6=0
T7=0
T8=0
T9=0
T10=0
Пример работы в программе Proteus:
Скачать [896,36 Kb] (cкачиваний: 248) печатные платы, прошивку, проект Proteus, программу для ПК
|