Яндекс.Метрика

Цифровой термометр на LM35 с диапазоном +90 ... -50 С 

 

В Интернете можно найти множество простых схем цифровых термометров, использующих широко распространенный в наше время и довольно популярный датчик температуры LM35.

Популярность этого датчика объясняется многими причинами. Ниже приведены его основные характеристики:

  • Калибруется непосредственно в градусах Цельсия
  • Линейный коэффициент преобразования +10.0 мВ/ºС
  • Гарантируемая точность 0.5 ºС (при +25 ºС)
  • Заявленный рабочий диапазон от -55 ºС до +150 ºС
  • Подходит для дистанционных измерений
  • Низкая стоимость вследствие подстройки на уровне кристалла
  • Работает от 4 до 30 В
  • Потребляемый ток менее 60 мкА
  • Малый саморазогрев, 0.08 ºС в неподвижном воздухе
  • Типичная нелинейность всего ± ¼ ºС
  • Низкое выходное сопротивление, 0.1 Ома при нагрузке 1 мА.

 

Для большого числа разнообразных применений, учитывая низкую стоимость, распространенность и простоту включения, LM35 - совсем неплохой выбор.   

 

 На нашем сайте тоже есть вариант такого термометра (Простой цифровой термометр), схема которого была первоначально опубликована на сайте http://www.voltsandbytes.com . К сожалению, этот термометр, как и многие аналогичные при всей своей простоте имеет один существенный недостаток. Он не умеет измерять отрицательные температуры. Дело в том, что для измерения отрицательных температур LM35 требует либо биполярного питания (рис.1) либо применения специальной схемы с измерением дифференциального сигнала (рис. 2).

 
Рисунок 1. Схема включения с биполярным питанием.

 
Рисунок 2. Схема включения с дифференциальным выходом.

 

И та и другая схемы, мягко говоря, не совсем удобны для подключения к микроконтроллеру. В первом случае схема измерения должна уметь измерять отрицательные напряжения, соответствующие отрицательным температурам, а это требует дополнительных затрат. Во втором случае дело обстоит проще, но под рукой должен быть микроконтроллер, имеющий АЦП с дифференциальным входом (например, ATTiny261). При этом расходуется два входа АЦП микроконтроллера.

Предлагаемая мною схема цифрового термометра является логическим развитием Простого Цифрового Термометра (вернее, его версии на ATTiny261). Она использует несколько измененный вариант включения LM35 с дифференциальным выходом. Изменение схемы включения было произведено с целью уйти от применения дифференциального выхода. Схема включения LM35 приведена на рис. 3.

 
    


Рисунок 3. Схема включения LM35

Как видно из рисунка, выходной сигнал измеряется (вольтметром) относительно общего провода. Резистор R1 и транзистор Q1(включенный как диод) образуют схему смещения уровня вывода GND датчика температуры или схему «расщепления» питания. При этом потенциал нижнего вывода резистора R2 оказывается отрицательным по отношению к GND LM35 и, датчик может работать как с положительными, так и с отрицательными температурами.

 Измерение выходного сигнала, как уже говорилось выше, осуществляется относительного общего провода питания. При нулевом значении температуры выходное напряжение составляет 0.69В (при использовании транзистора BC857A). Снижение температуры ниже нуля вызывает уменьшение выходного напряжения (10 мВ на 1 ºС). Подъем температуры выше нуля приводит к росту выходного напряжения.

Схема термометра приведена на рис.4.

  

Рисунок 4. Схема цифрового термометра.

 

Сигнал с датчика температуры подается непосредственно на вход АЦП микроконтроллера. В качестве источника опорного напряжения микроконтроллера служит внутренний источник с напряжением 2,56 В. Используется 10 бит АЦП. Это позволяет получить дискретность измерения температуры 0,25 ºС. И, хотя, в данном варианте термометра на индикацию выводятся десятые доли градуса, большого смысла в этом нет, так как уже «инструментальная» погрешность измерения (без учета  погрешности самого датчика) в силу ограниченности разрядной сетки АЦП уже больше 0.25 ºС.

 

Исходный код программы (для CodeVision AVR v1.25.9 и ниже), схема термометра и проект для Proteus находятся в файле Digital_thermometer_with_LM35.rar


.

 

Данная разработка не претендует на полноту и была сделана с целью показать один из вариантов работы с датчиком температуры LM35. Любые изменения, доработки и т.п., а также вопросы (пока только через avrdoc@yandex.ru) приветствуются. 

 

Бесплатный хостинг uCoz