Назад

  Аппаратно-программный комплекс

многоточечного  мониторинга температуры.

  Цель проекта -  разработка системы многоточечного мониторинга температуры, причем наблюдение за температурой должно быть доступным любым компьютером локальной сети (рис.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 до 6. При этом уникальные 48-битные номера всех 6 датчиков  записываются  в EEPROM память микросхемы PIC16F84.

В принципе, режим “Инициализация” можно бы было исключить путем процедуры опроса серийных номеров всех одновременно подключённых к 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

 Назад

Hosted by uCoz