"Программа для измерения температуры

Программа для измерения температуры

Доступна новая версия Termo USB с управлением по шине USB.

Программа предназначена для измерения температуры, а также управления нагревателями и охладителями в сети 1wire, состоящей из термодатчиков DS18В20( DS1820) и исполнительных устройств(далее переключатели) DS2413. Управление шиной 1wire производится через последовательный порт компьютера СОМ. Для сопряжения порта СОМ с шиной 1wire используется несложный адаптер самостоятельного изготовления. 
Простота и небольшие затраты на построение сети 1wire позволяет использовать ее в быту, для целей контроля температуры и управления бытовыми нагревателями и охладителями. Программа не использует никаких драйверов сторонних производителей и не устанавливает собственных, только стандартный драйвер порта СОМ. Не производится никаких записей в реестр.
Программа функционирует под управлением Windows XP/2000, Windows 7. Для работы под W2000 требуется установка графической библиотеки Microsoft gdiplus.dll, которая имеется в свободном доступе или ее можно закачать отсюда. Все подробности использования программы далее. Все справочные материалы, упоминаемые в описании программы доступны на сайте. 

Загрузить программу можно здесь http://www.plati.ru/asp/pay.asp?idd=938586, либо обратиться к автору.

Александр Левчук dslev@yandex.ru

Возможности программы

 Программа позволяет:

Примечание. Программа обновлена до V1. 14.

Подготовка аппаратных решений

Перед установкой и запуском программы следует подготовить и проверить аппаратные решения. Для этого прежде всего самостоятельно изготовляется адаптер порта. Использование адаптеров фирмы Dallas DS9097U ограничивается их высокой ценой, которая может превысить все затраты на датчики и переключатели для небольшой сети из 8-10 пар датчик/переключатель.  Кроме экономических ограничений существуют и сложности для самостоятельного изготовления аналога  DS9097U на основе микросхемы DS2480B. Подробней ознакомиться с устройством DS9097U можно в разделе дополнительной документации. Оказалось, что проще и значительно дешевле решить проблему на основе самостоятельной разработки простого адаптера,  используя недорогие микросхемы широкого применения. В сети есть много всяких конструкций и описаний подобных устройств. Однако проверка некоторых конструкций показала их недостаточную устойчивость при работе с несколькими датчиками, другие имели значительную обвеску, что не позволяло разместить их в корпусе стандартного разъема DB-09.  Поэтому была разработана собственная схема преобразователя уровней сигнала на двух микросхемах, которая обеспечила качественное формирование сигналов для порта СОМ. Ознакомьтесь с  подробным описанием вариантов схемы на этой странице.  Окончательный вариант схемы, используемый совместно с программой, показан на рисунке 1.

Рис. 1

При использовании компонентов для поверхностного монтажа вся конструкция может быть размещена в корпусе разъема DB-09.

На CD40107(аналог 561ЛА10) собран формирователь уровня шины 1wire, на микросхему подается питание от входа 78L05(+12в).  На LM339  собран компаратор с гистерезисом и порогом срабатывания 1 вольт, что позволяет блокировать влияние помех небольшой амплитуды. Для упрощения схемы компаратора в качестве источника отрицательного напряжения используется выход порта RTS. Такое решение имеет и отрицательную сторону, так как становится невозможным параллельная работа выходов DTR и RTS для увеличения нагрузочной способности порта, но отпадает необходимость в создании источника отрицательного напряжения для компаратора, что резко уменьшает габариты конструкции. Также преобразователь становится несовместим с программами, которые  настраивают драйвер порта СОМ на выдачу положительного напряжения на выходе RTS для совместной работы с выходом DTR, что бывает достаточно редко. Потребление тока преобразователя по выходу RTS составляет 2, 5 миллиампера, а по выходу DTR 3 миллиампера. При работе на кабель длиной более 10 м, следует установить керамический конденсатор С1.

Адаптер,собранный по схеме на рис. 1, работает и с переходником USB PL2303_Prolific. Этот переходник формирует напряжения +/-6 вольт и стабилизатор 7805 не будет формировать напряжение +5 вольт для питания шины, его можно заменить на стабилитрон, как показано на схеме ниже. Возможно придется уменьшить номинал резистора R7.

Конструкция переходника выполнена в SprintLayout 5.0. Плата изготовляется на двухстороннем текстолите, медь со стороны деталей не удаляется и соединяется с землей в точках перехода, отверстия зенкуются.

В качестве варианта можно использовать схему без CD40107 и 7805. CD40107 заменяется на транзистор, а 7805 на резистор и стабилитрон 5 вольт. Конденсатор 10 мкф, 6,3 в. Схема показана ниже. Вариант схемы с транзистором не работает с переходником USB-COM, который упоминался выше.

Проверка адаптера

После изготовления адаптера, его желательно проверить до подключения к компьютеру. Для этого необходимо иметь источник напряжения +/- 9-12 вольт  и тестер. Подключаете источник к контактам разъема 4 и 7. Не забудьте подключить "землю" источника к контакту 5. На шине 1wire должно быть напряжение 5 вольт, на контакте разъема 2 (Rx) - отрицательный потенциал близкий к напряжению источника, при замыкании шины 1wire на землю на этом контакте появиться положительное напряжение такой же величины. Подайте положительное напряжение от источника через резистор 1ком на контакт 3 разъема, на шине появиться практически нулевой потенциал. Проверьте напряжение питания шины на выходе 78L05. После проверки можно подключать адаптер к компьютеру Полную проверку адаптера можно провести с помощью утилиты UTERMO, которая свободно доступна, а ее описание находиться здесь.

Нагрузочная способность адаптера

Каждый датчик температуры в режиме преобразования может потреблять ток до 1,5 ма. С учетом того, что максимальный потребляемый ток от выхода DTR достигает 20 ма и датчики работают параллельно, к адаптеру можно подключить до 8-10 датчиков. Ток потребляемый переключателем DS2413 имеет минимальное значение 3,5 микроампера,  а  максимальное 70 микроампер (в режиме управления). Переключатели управляются последовательно, с учетом этого фактора считаем, что 10 переключателей на шине 1wire, будут потреблять не более 0,1ма. В результате можно обеспечить работу сети из 8-10 датчиков температуры и не менее 10 -20 переключателей исполнительных устройств, что вполне обеспечит потребности индивидуального пользователя сети без применения внешнего источника питания для шины 1wire. Питание цепей исполнительных устройств производится от собственных источников и должно быть гальванически развязано с шиной 1wire.

Переключатель DS2413 и кабельные соединения

Каждый переключатель DS2413 имеет два канала управления, каждый из которых заканчивается полевым транзистором с открытым стоком, обеспечивающим ток до 20ма и максимальным выходным напряжением 28 вольт. Такие параметры дают возможность непосредственно управлять мощными оптосимисторами и другими устройствами с оптической развязкой. Переключатели DS2413 построены по схеме, показанной на рисунке 2.  Питание внутренних цепей устройства осуществляется непосредственно от шины 1wire (паразитное питание).

Рис. 2

DS2413 позволяет контролировать срабатывание выходных транзисторов как по цепям стоков так и по цепям затворов, что повышает надежность управления исполнительными устройствами.  DS2413 выполнен в корпусе только для поверхностного монтажа, его удобней всего разместить в разъеме, который будет подключаться к исполнительному устройству, что позволит менять исполнительные устройства не затрагивая компоненты шины 1wire. Схема соединения  устройств показана на рисунке 3. Устройство, управляющее нагрузкой Rн, показано условно. Типы корпусов и их цоколевка приведены в документации на устройства.

Рис. 3

    Кабельные соединения до 30м могут выполнены обычным кабелем не имеющим витых пар, при увеличении длины кабеля может потребоваться замена на кабель с витыми парами. Достаточно двух витых пар для выполнения соединения.  Длинная линия может потребовать настройки адаптера. Если кабель имеет большую длину (предельная 300м) может потребоваться уменьшение номинала резистора R6 (рис.1) или замены его на активный источник тока и возможно подключение внешнего источника питания для шины 1wire. Подключение внешнего источника к адаптеру не требует никаких изменений схемы, достаточно подключить источник положительного напряжения +10 - 12 вольт к входу микросхемы 78L05 и контакту "земля". Внешний источник для исполнительного устройства DS2413 может находиться как на стороне компьютера (внешний источник адаптера), так и на стороне исполнительного устройства. Во втором случае следует обратить внимание на качество источника, так как в цепи питания могут появиться помехи при включении мощных потребителей, которые могут проникнуть на шину 1wire и вызвать сбой в работе датчиков температуры.

При питании DS2413 со стороны компьютера потребуется еще один проводник в кабеле, но поскольку кабель обычно имеет четное число проводников, то этот способ питания не вызовет проблем. Чтобы не изготовлять отдельный источник, можно использовать источник +5в от свободного порта USB.

Документация (datasheet).

  1. DS18B20
  2. DS2413
  3. DS2480B
  4. DS9097U

Запуск и главное окно программы

После установки программы в вы бранную папку следует подключить проверенный адаптер к порту Сом. Программа автоматически определяет наличие адаптера на одном из четырех портов Сом1-Сом4.  После запуска программы отображается ее главное окно, показанное на рис. 4.

Рис.4

Главное окно содержит вкладку текущих измерений "Current" на которой сразу начинается отображение измерений для всех датчиков температуры в сети. Масштаб графика по координате X,Y корректируется автоматически, в зависимости от максимальных значений массива измерений. Для каждой точки графика можно вывести ее формуляр, в котором указано имя датчика, температура и полная дата измерений. Эти данные отображаются на графике при щелчке левой кнопкой мыши по точке измерений. Массив текущих измерений ограничен исходя из удобства прокрутки графика. После достижения предельного размера отображение текущих данных начинается с новой точки. Под графиком отображается дата и время первой и последней точки измерений, а также общее время наблюдения. По мере накопления данных производится автоматическая прокрутка таким образом, чтобы последнее измерение находилось в области видимости. При щелчке по полосе прокрутки происходит переход в ручной режим прокрутки, когда можно просмотреть массив данных от начала до мамента перехода в ручной режим прокрутки. Для восстановления режима автоматической пркрутки служит кнопка "А" на панели инструментов. Для установки цвета координатной сетки и цвета фона графика служат две кнопки на панели инструментов  .

    Слева от окна графика находится окно в котором отображается дерево файлов данных. Текущий файл записывается в течении суток, если в наблюдениях есть перерыв, то при очередном запуске программы запись файла текущих суток продолжается. Создание файлов данных производится посуточно в папке appdata. Эта папка автоматически  создается при первом запуске программы в директории, где размещается файл Termo.exe. В папке appdata автоматически создаются папки для года измерений и месяцев измерений. Там же находится файл текущих установок программы setting.stg, который не отображается в дереве файлов. Окно дерева файлов может быть в любой момент закрыто или открыто кнопкой  на панели инструментов. Если файл не содержит данных за текущие сутки, он удаляется при закрытии программы. Из программы нельзя удалять файлы данных, этот режим недоступен во избежание случайной потери данных.

Управление программой

Окно регулировок программы

    Окно регулировок открывается при активизации вкладки "Adjustments". При первом запуске программы, когда еще нет файла пользовательских настроек окно, выглядит как показано на рис. 5.

Рис.5

Примечание.
Ввод данных в редактируемые поля обязательно должен завершаться нажатием клавиши ENTER.

Окно содержит ряд органов управления:

  1. Первая группа органов управления - разнородная. В этой группе отображается имя порта с подключенным адаптером, состояние шины 1wire и поле отметки, разрешающее автоматическую запись файла данных. Если нет нужды в записи файла данных, то отметку следует снять сразу после запуска программы, иначе файл будет записан с первой порцией данных (100 измерений) или больше.

  2. Вторая группа органов управления включает поле для ввода периода измерений, и поле отображения времени, которое тратит операционная система на обслуживание одного цикла измерений. Цикл измерений включает в себя время на проведение измерений самим датчиком DS18B20, которое может достигать 750 миллисекунд при преобразовании в 12-ти разрядный код. Остальное время - затраты операционной системы, которые зависят от многих факторов в том числе и от производительности компьютера. Если временные затраты системы на один цикл измерений превышают период измерений тогда цикл измерений удлиняется и становиться несколько больше временных затрат системы. Необходимо контролировать этот параметр, если при измерениях важно соблюдать период измерений. Мигающий зеленый индикатор в строке состояния программы отображает процесс измерений.

  3. Третья группа органов управления состоит из двух списков, списка датчиков температуры и списка исполнительных устройств. Каждый из списков имеет некоторые поля, которые могут редактироваться для ввода данных. Режим редактирования в таких полях устанавливается двойным щелчком по полю (рис.6).

 

Ввод обязательно завершается клавишей ENTER. Если необходимо прервать редактирование, то следует сделать щелчок левой клавишей мыши и окно редактирования исчезнет без ввода данных. В списке датчиков редактируется два поля, имя датчика и цвет графика в окне текущих измерений.

Рис.6

Поле отметки датчика, перед его типом, служит для выбора датчика при отображении файла данных для удаления повторяющихся значений температур.
В списке исполнительных устройств  DS2413  редактируются поля ввода температур срабатывания и поле имени исполнительного устройства. Для каждого канала DS2413 в списке отображается состояние канала  в виде "лампочки" красного или синего цвета(включен/выключен), а также исправность канала в текстовом виде. При отсутствии питания выходных транзисторов DS2413 состояние канала становиться неопределенным, а данные состояния в списке недостоверными.
Связь датчиков температуры с исполнительными устройствами устанавливается по именам устройств. Каждому датчику температуры может быть сопоставлено несколько исполнительных устройств. Например, датчик "Нагреватель1" может управлять двумя DS2413 с именами "Нагреватель1" по два канала в каждом, всего четырьмя нагревателями, каждый со своими температурными значениями включения и выключения. Любой DS2413 может быть выведен из управления снятием пометки в списке либо установкой одинаковых значений температуры включения и выключения для канала. Также отсутствие имени DS2413 или его несоответствие имени какому либо датчику температуры выводит его из управления с установкой в выключенное состояние.
Для каждого канала DS2413 устанавливаются температуры включения и выключения, при этом считается, что если температура включения ниже температуры выключения (Твкл < Твыкл), то к каналу подключен нагреватель, в противном случае считается, что к каналу подключен охладитель. Логика управления зависит от типа устройства, если подключен нагреватель, то он будет включаться при окружающей температуре ниже Твкл  и выключаться при температуре выше Твыкл , в дальнейшем поддерживая температуру в указанных пределах. Если подключен охладитель (Твкл > Твыкл), то он не будет включаться при окружающей температуре ниже Твкл до тех пор пока температура не станет выше этого значения и будет выключаться при охлаждении окружающей среды до Твыкл , в дальнейшем поддерживая температуру в указанных пределах. Устанавливать температуру можно с точностью до двух знаков после запятой, учитывая, что погрешность измерения DS18B20 составляет 0,5 градуса в диапазоне температур –10°C до +85°C.

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

Воспроизведение файлов данных

Для воспроизведения файла данных, следует произвести двойной щелчок по иконке файла в окне дерева файлов, после этого откроется на новой вкладке окно аналогичное окну текущих измерений (Рис.7).

Рис.7

Количество открываемых файлов неограниченно, каждый файл открывается в своем окне. Полный путь к открытому файлу показывается в строке состояния.

Размер файла за сутки наблюдения может быть большим, поэтому для оперативного просмотра динамики изменения температур существует режим удаления одинаковых значений с точностью 0,5 градуса из массива отображения данных (не изменяя файл). Для этого на вкладке установок выбирается датчик температуры, а затем нажимается кнопка с буквой "М". После этого картинка приобретает вид, показанный на рис. 8.   Все возможности по получению информации из графика в этом режиме сохраняются.

Рис. 8

Условие загрузки программы находиться на странице http://www.plati.ru/asp/pay.asp?idd=938586 или у автора.

[в начало]

Главная Программы Termo USB