многоточечного
мониторинга температуры.
Цель проекта - разработка системы многоточечного мониторинга температуры, причем наблюдение за температурой должно быть доступным любым компьютером локальной сети (рис.1). Проект выполнен на базе Цифрового термометра с выводом показаний на компьютер. Схема контроллера температуры осталась без изменений, но изменилась его управляющая программа и программы мониторинга на компьютере.
Рис.
1. Обобщённая схема мониторинга температуры.
В качестве
датчиков температуры используются микросхемы
цифрового термометра DS18S20, которые по
протоколу 1-Wire
опрашиваются
контроллером на основе PIC16F84A.
Далее показания температуры контроллер
подаёт на СОМ порт компьютера. Программа TermoHost.exe,
написанная на Visual
Basic
6.0, позволяет считывать и отображать
показания всех термометров, а также в одной
из сетевых папок хранит показания
температуры за последние 12 часов (Data.txt)
и показания текущих значений температур (Current.txt),
которые обновляются каждые 5 сек. В случае
превышения температуры заданного порога,
программа рассылает сообщения Net
Send
на предварительно выбранные этой же
програмой компьютеры,
предупреждая об аварийной ситуации.
На компьютеры 1,2,….N (рис.1), на которых необходимо следить за температурой, устанавливается клиентская программа TermoGraf.exe, которая считывает файлы данных Data.txt и Current.txt и отображает их в удобном для пользователей виде графиков и диаграмм.
Как говорилось,
контроллер температуры по однопроводному
интерфейсу 1-Wire
считывает показания температуры с 6
датчиков DS18S20,
размещенных в отслеживаемых
зонах технологического оборудования.
Каждый датчик имеет уникальный
48-битный номер, записанный с помощью лазера
в ПЗУ в процессе производства. Этот номер
используется для адресации устройств.
Предварительно необходимо
проинициализировать все эти датчики. Для этого у
контроллера предусмотрен режим
“Инициализация”, в который
необходимо войти выключением-включением
напряжения питания при нажатой потайной
кнопке S1.
Потайной она сделана для исключения
случайного стирания данных.
В принципе, режим “Инициализация” можно бы было исключить путем процедуры опроса серийных номеров всех одновременно подключённых к 1-Wire линии датчиков, но при этом мы бы потеряли информацию о том, где именно какой датчик находится, что неприемлемо.
Рис.2. Внешний вид контроллера температуры.
Для
DS18S20 температура представляется в виде 9-битного
значения. Дискретность представления
температуры составляет 0.5°C. Можно бы было
довести её до 0.1°C, но пока в такой точности
нет необходимости.
Контроллер
также хранит в EEPROM
памяти значение
порога. Это значение выбирается кнопками SW1,SW2.
В режим установки порога необходимо войти
при одновременном нажатии любой из кнопок SW1,SW2
и включении питания контроллера.
В
основном режиме измерения-отображения
температуры нажатием кнопок
SW1,SW2
выбирается номер отображаемого на
индикаторе датчика. Цифра 0 соответствует
отображению пороговой температуры.
Номер отображаемого на индикаторе датчика никак не влияет на передачу данных на СОМ порт. На него всегда подаются 6 значений измеренной температуры и значение порога. Информация передается 1 раз в секунду.
Рис.3.
Принципиальная схема контроллера
температуры.
Контроллер температуры реализован на микросхеме PIC16F84A, выпускаемой фирмой Microchip. Порт RB задействован под динамическую индикацию на 2 разряда: RB0 выбирает индицируемую цифру, RB1..RB7- код выводимых цифр на семисегментный индикатор, выводы порта RA0,RA3-для индикации режимов устройства, RA1-опрос кнопок SW1 и SW2, RA2- опрос термодатчиков, RA4- выводит информацию на СОМ-порт компьютера.
На рис.4 показано окно программы TermoGraf. Текущие показания всех шести датчиков температуры представлены в виде диаграммы. Нажатием кнопок 1…6 справа от диаграммы можно вызвать график температуры этого датчика в течение 12 последних часов. Полоса прокрутки внизу позволяет по графику выбрать конкретный отсчёт (показать координаты время-температура для любой точки графика). Для ознакомления можно скачать программу TermoGraf с файлами реально снятых данных. В программе для простоты отпущены некоторые несущественные функции.
Рис.4. Окно клиентской программы TermoGraf
Бетаверсия программы TermoGraf (11.2кб)
Автор
проекта: Гирлин
Андрей, г.Сургут, E-mail: giran@mail15.com