| Ваш IP: 3.230.119.106 | Online(16) - гости: 8, боты: 8 | Загрузка сервера: 0.6 ::::::::::::

CJMCU LM75 — модуль датчика температуры (Arduino)

Модуль CJMCU LM75 представляет собой цифровой датчик температуры на ИМС LM75A. Датчик температуры использует шину I2C, что дает возможность подключения одновременно до 8 температурных датчиков.

  • Диапазон температур:  -55°C … +125°C (±2°C)
  • Разрешение: 11 бит
  • Напряжение питания: 2.8 В … 5.5 В

Дополнительно в модуле датчика имеется цифровой выход OS который может менять свое логическое состояние в зависимости от 2-х программируемых температурных отметок. OS — это выход с открытым стоком, для нормальной работы выхода на плате модуля установлен подтягивающий резистор и светодиод сигнализирующий состояние выхода. Максимальный выходной ток выхода 10 мА.

Для установки адреса на шине отвечают выходы, A0, A1 и A2, перед подключением необходимо установить перемычки к VDD или GND.

Начальный адрес I2C 0x48, перемычки адреса позволяют менять три младших разряда адреса:

  • BIN 1001000 = 0x48 | A0 = 0, A1 = 0, A2 = 0
  • BIN 1001001 = 0x49 | A0 = 0, A1 = 0, A2 = 1
  • BIN 1001010 = 0x50 | A0 = 0, A1 = 1, A2 = 0
  • BIN 1001011 = 0x51 | A0 = 0, A1 = 1, A2 = 1
  • BIN 1001100 = 0x52 | A0 = 1, A1 = 0, A2 = 0
  • BIN 1001101 = 0x53 | A0 = 1, A1 = 0, A2 = 1
  • BIN 1001110 = 0x54 | A1 = 0, A1 = 0, A2 = 0
  • BIN 1001111 = 0x55 | A0 = 1, A1 = 0, A2 = 1

Управление LM75 осуществляется при помощи 4 регистров:

Регистр Conf определяет режим работы выхода OS, режим работы — запись 8 бит

Если бит OS_COMP_INT равен 0, то выход OS работает следующим образом:

Если температура поднимается выше значения в регистре Tos — выход OS переходит в активное состояние. Он останется в этом состоянии до тех пор, пока температура не упадет ниже значения в регистре Thyst. Это режим называется OS comparator mode.

Если бит OS_COMP_INT равен 1, то выход OS работает следующим образом:

Если температура поднимается выше значения в регистре Tos — выход переходит в активное состояние. И остается в нем до тех пор, пока не будет прочитано значение регистра Temp. Когда регистр температуры будет прочитан, OS  переключается в неактивное состояние и находится в нем до тех пор, пока температура не станет ниже значения в регистре Thyst. Тогда он опять переходит в активное состояние, пока не будет прочитано значение регистра Temp. В этом режиме можно контролировать уход температуры за пределы обозначенного регистрами Tos и Thyst диапазона. Нижней границей будет Thyst, а верхней — Tos. Это режим называется OS interrupt mode.

Бит SHUTDOWN отвечает за спящий режим. Если SHUTDOWN равен 0, то устройство активно. Если SHUTDOWN = 1, то устройство переходит в спящий режим. При этом ток потребления снижается до 100 мкА.

Бит OS_F_QUE определяет кол-во измерений температуры после которого будет опрос регистров Tos и Thyst.

Бит OS_POL меняет полярность выхода OS.

Регистр Temp содержит значение измеренной температуры, режим работы — чтение 16 бит

Чтение регистра Temp производится в два этапа, сначала читаем старший байт, потом младший. Так как регистр содержит информацию об температуре с разрешением 11 бит, то 5 младших битов младшего байта игнорируются.

При этом старший байт содержит целое число градусов, а младшие байт дробную часть градуса (1 бит = 0,125°C).

Регистры Tos и Thyst содержат температурные значения для срабатывания выхода OS, режим работы — запись 16 бит

Регистр Tos отвечает за верхнее значение диапазона регулировки температуры, регистр Thyst за нижнее значение.

Значение температуры записываемое в регистры Tos и Thyst кратно 0,5°С, при этом передается число int получаемое путем умножения на 2 числа float температуры регулировки. Например если температура регулировки 25,5°С, то передается число int 51.

Регистры Tos и Thyst 16 бит, но передаваемое значение температуры 9 бит. При этом старший байт содержит целое число градусов, а младший байт дробную часть градуса (1 бит = 0,5°C).

При отключении питания данные регистров Tos и Thyst не сохраняются (по умолчанию Tos = 80°C, Thyst = 75°С).

Ниже показан скетч демонстрирующий работу цифрового датчика температуры. В монитор порта выводится значение измеренной температуры и логическое состояние выхода OS. Состояние выхода контролируется входом D2 который подключен к OS.

#include <Wire.h>

float thyst_x = 29.0;
float tos_x   = 30.0;

void setup(){
  Wire.begin();
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
  /// CONF REG
  Wire.beginTransmission(0x48);
  Wire.write(0x01);// conf reg
  Wire.write(0b00000000);// data 00000000
  Wire.endTransmission();
  
  ///  Thyst
  Wire.beginTransmission(0x48);
  Wire.write(0x02);
  Wire.write((int(thyst_x*2)) >> 1);
  Wire.write((int(thyst_x*2) & 1) << 7);
  Wire.endTransmission();
  
   ///  Tos
  Wire.beginTransmission(0x48);
  Wire.write(0x03);
  Wire.write((int(tos_x*2)) >> 1);
  Wire.write((int(tos_x*2) & 1) << 7);
  Wire.endTransmission();
}

void loop(){ 
  Serial.println( lm75() );
  Serial.println(digitalRead(2));
  delay(1000);
}

float lm75(){
   /// TEMP REG
  Wire.beginTransmission(0x48);
  Wire.write(0x00); // temp reg
  Wire.endTransmission();
  Wire.requestFrom(0x48, 2);
  while(Wire.available() < 2); 
  float value = (((Wire.read() << 8) | Wire.read()) >> 5)*0.125 ; 
  return value;
  }

В скетче указаны значения температуры регулирования:

float thyst_x = 29.0;

float tos_x   = 30.0;

Выход OS работает следующим образом — при включении датчика при температуре ниже 29°С выход OS активен, на его выходе лог. 1. Как только температура достигает 30°С выход OS переходит в неактивное состояние, на его выходе лог. 0. При достижении температуры ниже 29°С, выход OS снова переходит в активное состояние.

Температуры повысилась до 30 и выше °С, выход OS = 0

Температуры понизилась до 29 и ниже °С, выход OS = 1

lm75A.pdf

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Простое зарядное уст-во с регулируемым током зарядки

    Простое зарядное уст-во с регулируемым током зарядки

    На рисунке показана схема простого зарядного уст-ва автомобильных аккумуляторов с регулируемым током зарядки. Зарядное уст-во основано на стабилизаторе L200 регулятора. Основные параметры стабилизатора L200CV: Максимальное входное напряжение 40В Максимальная разница напряжений «вход-выход» 32В Выходное напряжение 2,8..36В Выходной ток до 2А Минимальное падение напряжения «вход-выход» (dropout) <2,5В Ток потребления (по выводу …Подробнее...
  • УНЧ на TDA1558Q

    УНЧ на TDA1558Q

    Напряжение питания 6…18В Максимальный ток нагрузки 4А Выходная мощность при Uп=14,4В и Rн=4Ом: КНИ=0,5% — 5Вт КНИ=10% — 6Вт Ток покоя 80мАПодробнее...
  • Недорогой узкополосный FM-приемник на 68…88МГц

    На рисунке показана схема простого приемника FM-диапазона, настройка на станцию осуществляется потенциометром Р2. Полевой транзистор Т1 обеспечивает усиление входного радиосигнала на 18дБ, запитывая входную цепь TDA7000 через разделительный конденсатор С5. Ряд конденсаторов вокруг микросхемы предназначен для формирования полосы пропускания около 70 кГц. Перестраиваемый генератор строится на базе варикапа D1. Напряжение …Подробнее...
  • Полицейская сирена на LM324

    Полицейская сирена на LM324

    Данная схема издает звук напоминающий полицейскую сирену. Схема основана на ОУ LM324 представляющий собой генератор ЗЧ. При нажатии на кнопку SA1 начнет быстро заряжаться С1, сирена начнет издавать звук. При размыкании контактов SA1  сирена будет работать до тех пор пока не разрядится через R2 конденсатор С1. Источник — http://www.eleccircuit.com/police-bicycle-siren-circuits/Подробнее...
  • Простой тестер проверки радиоэлементов

    При регулировке и настройке электронной аппаратуры применяют вспомогательные устройства: индикаторы состояний, «прозвоночные” приборы и тестеры, с помощью которых выполняют различные операции: от простейшей – по проверке целостности цепей до сложной – по измерению параметров радиоэлементов. Сложные тестеры необходимы, когда выполнена проверка работоспособности радиоэлемента и необходимо уточнить значения его параметров. Оценку …Подробнее...