Электросат
menu
person

06:35
Цифровой датчик температуры

Автор разработки: Jakeselectronics

Схема принципиальная Цифровой датчик температуры

Выпускаемая фирмой Maxim микросхема DS18B20 представляет собой прямой преобразователь температуры в цифровой код с однопроводным интерфейсом 1-Wire. Для подключения микросхемы необходим лишь один вывод контроллера и один подтягивающий резистор, в отличие от аналоговых датчиков, которые, в общем случае, нуждаются в операционных усилителях и нескольких резисторах.
 

 


Программный интерфейс цифровых датчиков с интерфейсом 1-Wire также несложен. Если для аналоговых датчиков необходим АЦП с источником опорного напряжения и, возможно, операционный усилитель, для прямого преобразователя температуры с однопроводным интерфейсом Dallas требуется только точное соблюдение временной последовательности сигналов. В принципе, программа должна быть достаточно простой. Все что она делает – считывает информацию из датчика DS18B20 и отображает ее на 4-разрядном 7-сегментном дисплее. Но когда дело доходит до программирования, обнаруживается, что все несколько сложнее, чем кажется на первый взгляд. Вы сами почувствуете это, взглянув на файл .ASM.

Сначала программа инициализирует микроконтроллер PIC16F628A: конфигурирует входы и выходы, обнуляет нулевой банк ОЗУ, устанавливает в исходное состояние бит выбора столбца дисплея и конфигурирует TIMER 2. TIMER 2 используется для прерывания бесконечного цикла программы и обновления информации на светодиодном дисплее.

После включения питания микроконтроллер начинает опрос датчика температуры DS18B20. Вся процедура занимает чуть меньше половины общего объема программной памяти. Считав значение температуры и записав его в ОЗУ, микроконтроллер преобразует 12-битное целое в десятичное число и записывает его в четыре регистра общего назначения, расположенные в пространстве ОЗУ.

К примеру, посмотрим, как будет представлена в регистрах температура «95.8»:


HUNS register = 0 [регистр сотен]
TENS register = 9 [регистр десятков]
ONES register = 5 [регистр единиц]
TENTHS register = 8 [регистр десятых]

Содержимое этих регистров будет использоваться подпрограммой обработки прерываний для обращения к таблице кодировок.

Программа работает в бесконечном цикле, производя считывание температуры чуть чаще, чем 1 раз в секунду.

Основные характеристики датчика температуры:

Скорость выборки более одного значения в секунду
Дисплей регенерируется по прерываниям от TIMER 2
В программе предусмотрена возможность увеличения количества датчиков, подключаемых к общей шине 1-Wire
Диапазон измеряемых температур –55.0…127.9 °С

 

 

Перечень компонентов

 

 

Обозначение
на схеме
Тип
Количество
Описание
U1
PIC16F628A
1
Микроконтроллер.
(Возможна замена на PIC16F627A или PIC16F648A)
U2
DS18B20
1
Цифровой датчик температуры
D1 … D4
 
4
7-сегментные светодиодные индикаторы с общим катодом
Q1 … Q4
BC548
4
NPN транзисторы
R1 … R4
10 кОм
4
Резисторы
R5 … R11
470 Ом
7
Резисторы
R12
330 Ом
1
Резистор
R13
4.7 кОм
1
Резистор
C1, C2
0.1 мкФ
2
Многослойные керамические конденсаторы

 

 

 

Скачайте прикрепление к "Цифровой датчик температуры"

Источник: http://www.rlocman.ru/shem/schematics.html?di=92581



Похожие материалы:

Категория: PIC и AVR | Просмотров: 7020 | Добавил: саня | Теги: датчик, цифровой, температуры | Рейтинг: 0.0/0