8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 76 77 78 79 80 81 82 ... 105

(«Пример показывает, как можно установить температурный предел и считать установленное

значение в компьютер.»)

begin

writelnCExample 1, ТН and TL are loaded with 35 and 25 deg C); writeln( Reading TH and TL temperature values from the DS1620"); write protocol(12);(*0Ch = запись команды настройки.*)

write protocol(0);(*00h = режим непрерывного измерения температуры.*)

write protocol(1);(*01h = команда записи верхнего температурного предела.*)

write temperature(35);(*85D = верхний предел в градусах Цельсия.*)

write protocol(2);(*02h = команда записи нижнего температурного предела.*)

write temperature(25);(*20D = нижний предел в градусах Цельсия.*)

write protocol(16l);(*A1h = команда считывания содержимого ЦПУ в ТН.*)

writeln( High temperature limit:,temperature:5:1," °C); («Считывание верхнего предела

температуры.*)

write protocol(162);(*A2h = команда считывания содержимого ЦПУ в TL.*)

writeln(Low temperature limit.,temperature:5• 1, °C); («Считывание нижнего предела

температуры.*)

end:

Procedure Example2; («Проверка других свойств.») begin

write protocol(12);

write protocol(01): («Запуск режима однократного измерения.») write protocol(34); (»22h = остановка режима однократного измерения.») writeln; repeat

write protocol(170); («AAh = команда считывания температуры.») gotoxy(8,10);

writeCDS1620 stopped, Old temperature measured by DS1620 [deg C]: ,temperature:5:1);

(«После остановки DS1620 считывается старое значение температуры.*)

delay(5000); until keypressed; readln;

write protocol(238); (*EEh = начало преобразования температуры.*) repeat

write protocol(170); (*AAh = команда считывания температуры.*) gotoxy(5,12);

write(DS1620 active, present temperature measured by DS1620 [deg С]. temperature:5:1);

(«Многократное измерение нового значения температуры.*) delay(5000); until keypressed; end;

(«Главная программа.«) begin

centronic address;

examplel,

example2; end.

6.4.2. Цифровой температурный датчик

Микросхема SMAR.TEC (LJK Technology) - это температурный датчик, который позволяет передавать в компьютер информацию о температуре только по одной


линии (рис. 6.36). На выход микросхемы подается ТТЛ/КМОП совместимый прямоугольный сигнал частотой 4 кГц и изменяемой скважностью, зависящей от температуры. По данным измерения скважности такого сигнала можно вычислить значение температуры. Для работы датчика не нужны АЦП, для сопряжения с внешним устройством используется только один провод. Диапазон измеряемой температуры от -45 до +130 °С. Общая погрешность измерения менее 2 "С во всем диапазоне. Напряжение источника питания от 4,75 до 7 В, ток потребления 200 мкА.

О 1 мкФ

Вид снизу

1- 5охад

2- питание

3- общий

Температурной датчик SMARTEC

Г

41-i

н5В

S1

GND

Контакта на экспериментальной плате параллельного парта

Рис. 6.36. Подключение температурного датчика SMARTEC к экспериментальной плате параллельного порта

Контакт 1 - это выход прямоугольного сигнала, контакты 2 и 3 соединены с положительным и отрицательным проводами источника питания. Скважность линейно зависит от измеряемой температуры и определяется по следующей формуле:

Скважность (%) = 0,320 + 0,00470 х температура (°С).

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

На рис. 6.36 изображено подключение температурного датчика к экспериментальной плате параллельного порта. Программа управления написана на языке ТР6.

Текст программы SMT.PAS

Program temperature SMT sensor

(«Последовательный выход данных (контакт 1) соединен с S1 *)

uses

Crt.dos,

{$1 с \ioexp\TPLIB1 PAS} var

C or F,l byte,

datax array[1 12] of byte,

umtx char,

Function temperature real,

(«Вычисление скважности и определение температуры *) var

lp.hp i total scan longint,


begin

lp =0;(«На входе 0, счетчик состояния сбрасывается.*)

hp:=0;(*На входе 1, счетчик состояния сбрасывается.*)

total scan.=300000, («Общее число опросов.*) for i:=1 to Total scan do begin

if port(P address+1) and 8=0 then lp:=lp+1, (*Если вход=0, то low count=low count+1 *) if port(P address+1) and 8=8 then hp:=hp+1; (*Если вход=1,

то high count=high count+1.*)

end,

temperature:=(hp/Total scan-0.32)/0.0047; end,

(«Главная программа.*) begin

Centronic address;(*Выбор параллельного порта.*)

repeat

gotoxy(10,10);

write(Temperature from the SMT temperature sensor: , temperature:52,°C); until keypressed; end

6.4.3. Жидкокристаллические температурные модули

Температурный модуль (Maplin FE33L) имеет встроенный температурный датчик и ЖК дисплей, которые установлены на миниатюрной печатной плате с 16-контактным ножевым разъемом. Печатная плата размещена в небольшом пластиковом корпусе вместе с элементом питания напряжением 1,5 В. Модуль не только измеряет и показывает температуру, но и отображает время. Потребление тока -15 мкА. Некоторые характеристики модуля приведены ниже:

О термометр: 3,5 разряда работают как индикатор градусов Цельсия или Фаренгейта. Диапазон измеряемой температуры от -20 до +70 °С с разрешающей способностью 0,1 "С. Точность ±1 °С в диапазоне 0-40 °С и ±2 °С для других диапазонов. Период дискретизации: выбирается 10 или 1 с. Сигнализирует о самой высокой и самой низкой температурах. При измерении температуры выходные данные выводятся последовательно в двоично-десятичном коде, формат которого представлен на рис. 6.38;

О часы: 3,5 разряда показывают часы и минуты. Точность 0,5 с/сут.;

О источник питания: одна батарея 1,5 В, работающая более года.

Экспериментальная схема изображена на рис. 6.37. Контакты 10 и 9 соединены с контактами S1 и S2 на экспериментальной плате параллельного порта через два транзисторных ключа. Программа на языке ТР6, приведенная ниже, считывает последовательные данные и преобразовывает их значение в температуру.

Текст программы TMODULE.PAS

Program Temperature LCD Module;

(♦Выход синхроимпульсов (контакт 10) соединен с S1. Линия инвертирована. Последовательный выход данных (контакт 9) соединен с S2. Линия инвертирована.*) uses crt.dos;



0 ... 76 77 78 79 80 81 82 ... 105