УМНОЕ РАБОЧЕЕ МЕСТО: УПРАВЛЕНИЕ ТЕМПЕРАТУРОЙ

     простые интересные РАДИОСХЕМЫ сделанные своими руками

» ДАТАШИТ
Например: TDA2050


» РАДИОБЛОГИ
Модернизация переговорного устройства домофона
О доработке и ремонте проигрывателей винила
Схема сирены сигнализации с аккумулятором
Самый маленький SMD RGB LED куб
Автозапуск двигателя автомобиля на ATTiny13
Светодиодная лампа Camelion: ремонту не подлежит
Оксид-иодид висмута (BiOI) - основа будущих солнечных батарей
Часы настольные на ИН-14 индикаторах - схема и фото


Радиосхемы » Компьютерные схемы

УМНОЕ РАБОЧЕЕ МЕСТО: УПРАВЛЕНИЕ ТЕМПЕРАТУРОЙ

      

Здравствуйте уважаемые любители электроники! Цель второй части проекта "Умное рабочее место" - комфортный температурный режим, при помощи источника охлаждения - вентилятора и датчика температуры. В этой части, мы подключим цифровой температурный датчик DS18b20 к ARDUINO UNO, и в зависимости от показаний датчика будем увеличивать или уменьшать обороты вентилятора, применяя ШИМ. Вообще-то этот механизм слегка "затёрт до дыр", но не использовать сей ресурс в проекте было бы ошибкой. И потом, данные датчики можно параллелить по принципу "мастер-работяга", можно сделать мини сплит-систему, диапазон в котором работает датчик - в качестве исполняющего механизма можно использовать не только охлаждение воздуха, но и его подогрев.

Управляющая программа

В стандартном скетче библиотеки ONEWIRE (DS_1820Temperature), закомментируем ненужное. В коде считываем переменную celsius - выводим значение в терминал. В условие if - задаём условие, при каком значение изменять количество оборотов вентилятора, посредством широтно-импульсной модуляции. Создадим три диапазона и присвоим каждому уровень (LOW, MIDDLE, HIGH), текущее состояние выводим в терминал (приведу часть кода который сам дописывал):

celsius = (float)raw / 16.0;
  //fahrenheit = celsius * 1.8 + 32.0;
  Serial.print("  Temperature = ");
  Serial.print(celsius);
  Serial.println(" Celsius ");
  delay(10);
  //Serial.print(fahrenheit);
  //Serial.println(" Fahrenheit");
    if (celsius>25) 
    {
    analogWrite(9,250) ;
     Serial.print("  FAN LEVEL HIGH ");
  }
  else if (24.50<=celsius&&celsius<=25)
  {
    analogWrite(9,170) ;
     Serial.print("  FAN LEVEL MIDDLE ");
     //delay(10);
  }
  else if (24<=celsius&&celsius<24.50) 
  {
    analogWrite(9,85) ;
     Serial.print("  FAN LEVEL LOW ");
  }
  else 
  {
    analogWrite(9,0) ;
    Serial.print("  FAN LEVEL CLOSED ");
  }
   delay(1000);
}

Схема контроллера температуры

УМНОЕ РАБОЧЕЕ МЕСТО: УПРАВЛЕНИЕ ТЕМПЕРАТУРОЙ, СХЕМА

Схемотехника - между выходом DS18b20 и + питания ставится резистор номиналом 4.7 кОм. К PWM ARDUINO (9 PIN) подключаем осциллограф смотрим скважность. В терминале лицезреем температуру и уровень оборотов.

Отладочная часть - собираем схему на монтажной плате проверяем работу режимов:

УМНОЕ РАБОЧЕЕ МЕСТО: УПРАВЛЕНИЕ ТЕМПЕРАТУРОЙ

За текущим состоянием температуры и режимом работы вентилятора смотрим в программе - терминала:

      

Низкая,средняя и высокая температура

Механизм прошёл испытание, подробности реализации можно посмотреть по видеоролику. 

Видео

Спасибо за внимание, возможно какая-то часть из этого проекта Вам будет интересна и полезна, с уважением ко всем радио-электронщикам "Радиосхем": Тольяттинский эмбеддер (1945).

   Форум

   Обсудить статью УМНОЕ РАБОЧЕЕ МЕСТО: УПРАВЛЕНИЕ ТЕМПЕРАТУРОЙ


Схемы наши, лайки ваши - всё по честному. Оцените:


ЖУЧОК НА КТ368

ЖУЧОК НА КТ368     Простой проверенный ФМ жучек шпиону-новичку.

СХЕМА СИГНАЛИЗАТОРА ПОКЛЁВКИ

СИГНАЛИЗАТОР ПОКЛЁВКИ     Схема и фотографии простого сигнализатора поклёвки для рыбалки.

ТИРИСТОРНЫЙ РЕГУЛЯТОР НАПРЯЖЕНИЯ

     Схема несложного универсального регулятора напряжения на мощном тиристоре.

РАДИОЛЮБИТЕЛИ РОССИИ

РАДИОЛЮБИТЕЛИ РОССИИ     Результаты опроса про возраст и род занятий посетителей нашего сайта.


» ПОИСК СХЕМ

» РАДИОЭЛЕМЕНТЫ


Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2018, "Радиосхемы". Все права защищены. Почта