Данное устройство — это первый пробный шаг к большому проекту «Умный дом»

 

ВОЛЬТМЕТР - ТЕРМОМЕТР с передачей данных на ПК

 

Изначально была разработана несложная постановка задачи:

- Устройство должно монтироваться на ДИН-рейку;

- Разрабатываемое устройство должно получать данные от температурных датчиков (от 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

V=1

 

Пример работы в программе Proteus:

ВОЛЬТМЕТР - ТЕРМОМЕТР с передачей данных на ПК

 

ВОЛЬТМЕТР - ТЕРМОМЕТР с передачей данных на ПК

 

ВОЛЬТМЕТР - ТЕРМОМЕТР с передачей данных на ПК

Скачать [896,36 Kb] (cкачиваний: 248) печатные платы, прошивку, проект Proteus, программу для ПК



   
va11 # 1
 
 
У вас между дальней комнатой и устройством расстояние метров 5, наверное. Нормально работают DB18B20 на такой длине? Какой кабель используете?


   
igor_efremenko # 2
 
 
Рекомендую ознакомиться с этим документом:
http://www.gaw.ru/pdf/Dallas_Sem/ibutton/app/IB2_AN132ru.pdf


   
va11 # 3
 
 
Интересно, спасибо.


   
Ankuls # 4
 
 
почему именно на DS18S20 а не на DS18B20?


   
Stepane # 5
 
 
нет файликов изображений в архиве типо Plan1.bmp ругается програмка что не находит их в папке, странно....


   
vk # 6
 
 
извините за дилетантский вопрос, но не могли бы Вы указать номиналы резисторов в блоке питания и маркировку стабилитрона?


   
Lectrik # 7
 
 
"Данное устройство — это первый пробный шаг к большому проекту «Умный дом»"

Была за прошедшие пол года попытка сделать второй шаг? lol


   
Gipsy # 8
 
 
Ага, тоже интересно, был второй шаг? :)


Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25