Універсальний клімат-контроль

Привіт усім читачам. Хочу поділитись з Вами своєю розробкою «універсального клімат-контролю». Універсальність полягає втому, що дану розробку можна використовувати в усіх засобах кліматичного регулювання та спостереження (інкубатори, грибниці, винні погриби , теплиці, теплі підлоги…). Температура задається в проміжку від 0,0С до +99,9С з кроком 0,1С.Термостабілізація напряму залежить від типу нагрівника(інерційність по теплу) і теплоізоляції системи. Наприклад: в інкубаторі з чотирма датчиками температури, лампочками розжарення 4*75вт послідовно включених та корпуса 500*500*500мм з пінопласту 100мм — температура трималась з точністю до 0,05С.

Дана система має енергонезалежну пам'ять EEROM в яку вносяться налаштування на 30 днів, де кожен день в свою чергу має 6 налаштувань (температура, вологість, кут повороту, період повороту, температура провітрювання системи, період провітрювання системи),мікросхема відліку часу містить незалежне резервне живлення. Плата оснащена 7-сегментним дисплеєм та кнопками. Зручність в налаштуванні та контролю полягає в підключенні до ПК. Що дає змогу спостерігати за зміно в часі, відображенні на графіку та збереженні даних в файл.

Дана система вимірює і регулює температуру та вологість, містить два незалежних PWM, що керуються чотирма Даласовськими датчиками температури DS18B20 (по два датчика на канал). На даний прилад поставлено мікросхему реального часу DS1307, завдяки чому досить точно відраховується час впродовж місяця.

 

Універсальний клімат-контроль

 

Універсальний клімат-контроль

 

Принцип роботи клімат-контролю. При включенні приладу мікроконтролер опитує входи и перевіряє периферію, зчитує данні з цифрових датчиків і присвоює їм порядкові номера відносно їхнього універсального вшитого заводського адресу.

УВАГА: Підключати и відключати датчики температури DS18B20 тількипри виключеному живленні МК.

Як було вказано вище прилад має два незалежних канали керування температурою. Процес керування полягає у визначеннікоефіцієнта заповнення ШИМ (Широтно Імпульсної Модуляції) відносно температури каналу . В даному приладі розроблено автоматично апроксимоване значення заповнення ШИМу на 5-10сек. вперед (що досить зручно для нагрівників з великою тепло-інертністю), та підбору оптимальної величини коефіцієнта заповнення ШИМ (зручно для підігріву) завдяки чому, зведено до мінімуму коливання температури.

 

 


 

Алгоритм опрацьовування даних полягає в наступному : прилад зчитує адреса датчиків, нумерує їх (щоб знати, яка пара датчиків належить якому каналу), зчитує температуру з 1 датчика, зчитує температуру з 2 датчика, вираховує температуру між датчиками, звіряє з температурою установки, і тільки після цього вираховує коефіцієнт заповнення ШИМ. Якщо температура датчика dT1 відрізняється від температури датчика dT2 або між датчиками dT3 та dT4, то на виході PIN_6 або PIN_8 (Mixer1 або Mixer2 ) установлюється логічна одиниця. Для більшої універсальності також є вихід PIN_15 (Mixer) на якому виставляється лог.1, коли відрізняється середні температури між парами датчиків Tср.1(Т1,Т2) і Tср.2(Т3,Т4), де Tср.1=(Т1+Т2)/2 і Tср.2=(Т3+Т4)/2.

 

Керування і контроль вологості так само відбувається постійно. Датчик вологості використовується резистивний SYH-2RS.

Це зроблено з декількох причин:

1) SYH-2RS — резистивний, повітряний датчик вологості. При потребі вимірювати вологість грунту можливо замінити саморобним датчиком вологості (дві оцинковані пластини, цвяхи…) наперед проекспериментувавши з відстанню розміщення їх у вологому ґрунті, щоб їх опір не виходив за рамки SYH-2RS.

2) SYH-2RS — відносно дешевий і точний датчик, що має багато сумісних аналогів.

 

Головна функція «Установка температури»

В данійфункції користувач повинен встановити потрібну йому температуру у відповідний день. Це температура, якої потрібно досягнути в системі. Температура задається в проміжку від 0,0С до +99,9С. Точність 0,1С. Коли температура досягає встановленого значення, коефіцієнт заповнення ШИМ - зменшується і навпаки при опусканні температури цей коефіцієнт заповнення -зростає.

Функція «Вологість»

Користувач встановлює потрібну йому вологість відносно певного дня. Вологість задається в проміжку 35% - 95% з кроком 5% (границі датчика SYH-2RS). Цього цілком достатньо для приміщення чи інкубатора. Припустимо ви поставили 55%. Якщо вологість є менше вказаної на 5% включається подача води (установлюється лог.1 на PIN_10 VOLOGIST). Якщо вологість є більше вказаної на 5% включається витяжка повітря (установлюється лог.1 на PIN_7 VUTAJKA). Щойно вологість повернеться в проміжок від 50% до 60% (-5%<<уст>>+5%) дані виводи (VOLOGIST або VITAJKA) виключаються (лог.0).

Функція «Поворот».

Яка відбувається: 1) періодично - відносно певного проміжку часу (від 0год. до 24год.);

2) певну величину кута (кількість імпульсів) від 0* до 360*.

Ці дві величини користувач налаштовує по потребі та бажанні. Вони задаються окремо на кожен день, відповідно вони можуть бути різним або взагалі відсутніми (установлюється - 0*). Якщо поворот відсутній (тобто поставлено 0*), то на виходіPIN_9 (POVOROT) буде стояти лог.1 поки не замкнуться контакти горизонтального положення (POLOGENIE HORIZONTAL).

Крім того, є ще одна потрібна функція «Провітрювання»

Функція провітрювання включитися 1 раз в добу, якщо „час провітрювання” в меню або відповідній графі таблиці значення відмінне від 0, на виставлений період в хвилинах. При цьому система буде керуватися температурою виставленою в графі „провітрювання”. Дана функція використовується для короткочасного нагріву чи охолодження один раз в добу на (виставлений користувачем) проміжок часу.

При першому запуску пристрою розроблена корисна функція «Тесту та Юстування»

Функція тествикористовується для нумерування датчиків температури. Так як пристрій сам нумерує датчикі відносно їх специфічного заводського номера, нам потрібно знати під яким номером відповідний датчик або пари датчиків Т1 і Т2 та Т3 і Т4. Номерація нам потрібна тому, що пристрій обчисляє середню температуру, про що було розказано вище. Зайти в режим тесту дуже просто, після включення пристрою потрібно натиснути клавішу „+”. На дисплеї перестане висвічуватись змінна индикація (номер дня, температура, вологість..), а стабільно показуватиме температуру одного з датчиків наприклад .

Якщо датчик несправний або є обрив в проводі на дисплеї будуть світитись (крокозяблики J або 255 ). Для того щоб пронумерувати датчики потрібно натиснути і утримувати кнопку „ОК” на дисплеї висвітиться номер датчика наприклад - це 1датчик температури. Для того щоб знайти номер наступного натискаєм знову клавішу „+” і знову утримуємо „ОК” на дисплеї  і так дальше. Для виходу потрібно натиснути „ВАСК”

Функція юстування використовується для провірки датчика вологості, а також це зручно для налаштування саморобного датчика вологості (груту, тканини, …). Зайти в режим юстування теж дуже просто, після включення пристрою потрібно натиснути клавішу „-”. На дисплеї перестане висвічуватись змінна индикація (номер дня, температура, вологість..), а стабільно показуватиме вологість .

Для виходу потрібно натиснути „ВАСК” або „ОК”.

 

МЕНЮ

Післявключення пристрою на дисплеї по черзі буде з’являтись переривчаста індикація, де буде відображатись:

номер дня  , середня температура 1 і 2 датчика температури , вологість , середня температура 3 і 4 датчика температури .

Це робочий режим пристрою, індикація змінюється з частотою 2-3 сек.

Вхід в МЕНЮ

В меню працюємо 4 клавішами:

„ОК” – вхід в меню, підменю або для підтвердження налаштувань;

„ВАСК” – вихід з меню або підменю;

„+” — збільшує величину на 1;

„—„ — зменшує величину на 1.

Для входу в меню настройок потрібно натиснути клавішу „ОК” на дисплеї з’явиться напис  і зникне переривчасте переключення дисплея.

 

Вибір дня для коригування та внесення даних : входимо в меню настройок, як розказувалось вище. Тобто потрібно натиснути клавішу „ОК” на дисплеї з'явиться напис .

Це номер дня в якому ви хочете внести зміни, якщо потрібно змінити день, це робиться за допомогою клавіш „ + ” та „ - „. Меню є закільцьоване, тобто дата та інші налаштування ходять по колу. Наприклад: натискаємо клавішу „ОК”, на дисплеї зявиться напис , це означає, що ми можемо зайти і змінити налаштування 1 дня. Якщо нам потрібно змінити налаштування дня під номером 2 , потрібно натиснути клавішу „+ „ ми опиняєтесь на 2 дні  і так далі. Одже вибравши день в якому ми хочемо внести зміни натискаємо знову клавішу „ОК” і опинимося в підменю дня, де знаходяться наступні налаштування:

1) - установка температури, яка повинна витримуватись даної доби;

2) - установка вологості, яка повинна витримуватись даної доби;

3) - установка кута та періоду повороту з яким відбувається дана функція, яка повинна витримуватись даної доби;

4) - установка температури та тривалості провітрювання, яка повинна витримуватись даної доби;

5) - установка доби (від якої доби починаємо відлік).

Як і в попередньому випадку вибравши потрібний підпункт меню (клавіші „+” та „-„) натискаємо клавішу „ОК” для входу в установку.

Установка температури: вибираємо , натискаємо клавішу „ОК”. На дисплеї відображається установка температури для даної доби, яка є збережена в EEPROM, наприклад:

.

За допомогою клавіш „+” та „-„ ми змінюємо установку температури на величину 0,1 градуса (наприклад на дисплеї було 

натискаємо 1 раз клавішу „+” отримуємо  і так далі). Для виходу з підменю натискаємо клавішу „ОК” або „ВАСК”.

Зверніть увагу в даній функції температура зберігається автоматично, тому при виході із меню за допомогою клавіші „ВАСК” данні всерівно збережуться.

Установка вологості: вибираємо , натискаємо клавішу „ОК”. На дисплеї відображається установка вологості для даної доби, яка є збережена в EEPROM (наприклад  - 75%). За допомогою клавіш „+” та „-„ ми змінюємо установку вологості на величину 5 процента (наприклад на дисплеї було  натискаємо 1 раз клавішу „+” отримуємо  і так далі ). Для виходу з підменю натискаємо клавішу „ОК” або „ВАСК”.

Зверніть увагу в даній функції вологість зберігається автоматично, тому при виході із підменю за допомогою клавіші „ВАСК” данні всерівно збережуться.

Установка кута та періоду повороту : вибираємо , натискаємо клавішу „ОК”. На дисплеї відображається установка величини кута на яку відбуватиметься поворот для даної доби, яка є збережена і фіксована в EEPROM з кроком в 45 град. :

1) - поворот відсутній(установки в часу немає);

2)- поворот 45 град.(1 імпульс) ;

3)- поворот 90 град.(2 імпульси);

4)- поворот 135 град. (3 імпульси);

5)- поворот 180 град. (4 імпульси);

6)Р 225 - поворот 225 град. (5 імпульсів);

7)- поворот 270 град. (6 імпульсів);

8)- поворот 315 град. (7 імпульсів);

9)- поворот 360 град. (8 імпульсів).

За допомогою клавіш „+” та „-„ ми вибираємо установку кута на який потрібно проводити поворот і натискаємо клавішу „ОК”. Ми таким чином заходимо в підменю установки часу  (в годинах) для встановлення періоду через який відбудеться наступне включення повороту. Так само за допомогою клавіш „+” та „-„ ми змінюємо установку часу на величину 1 година і тиснемо клавішу „ОК”, для підтвердження та повертаємося в підменю вибору величини кута. Для повернення в меню або виходу натискаємо „ВАСК”.

Тепер можна обговорити вимірювання кута і звідки взялось крок в 45 градусів. З самого початку розробки приладу була проблема в вимірюванні величини кута. Для універсальності було задумано розробити програму так, щоб користувач сам вибирав чим він буде вимірювати величину кута (геркони, мікрики, кінцевики, отопара чи датчик хола з колесом та зубами, або енкодером). Ця проблема на сам перед була розв'язана з погляду легкості налаштувань користувачеві. Відповідно від енкодера прийшлось відмовитись, так як за умовами використання похибка кута в 5 градусів є не суттєва (при потребі зв'язуйтесь можлива розробки і під енкодер за домовленістюJ). Вирішення проблеми таке: 1 імпульс на контакті входу МАХ/МІН рівний 45 градусам. Тобто з меню приладу можна виставити максимум 360 градусів, що рівне 8 імпульсам (так наприклад в інкубаторі цього більш ніж достатньо). За допомогою програми інтерфейсу на ПК можливо виставляти до 250 імпульсів або 11250 градусів J, але про це пізніше.

Наприклад: вибираємо , натискаємо клавішу „ОК”, вибираємо  натискаємо „ОК” , на дисплеї  натискаємо 3 рази клавішу „+” отримуємо .Для підтвердження натискаємо клавішу „ОК”. Ми знову повертаємося в установку кута  (це зроблено для власної перевірки), якщо все вірно тиснемо „ВАСК” для виходу. В такому випадку на виході POVOROTбуде стояти лог.1 поки на вході МАХ/МІНне пройде 2 імпульси тривалістю не менше 0,1 сек. (анти-дребежіння контактів!).

Окремо потрібно обговорити кут рівний  тобто 0 градусів, в цьому випадку функція поворот не буде виконуватись, а буде утримуватись початкове (вихідне) положення (наприклад горизонтальне), яке керується датчиком POLOGENIE GORIZONTAL. Тобто на виході POVOROT буде стояти лог.1 поки датчик POLOGENIE GORIZONTAL не буде лог.0 (замкнутий) або навпаки, якщо на датчику POLOGENIE GORIZONTAL буде стояти лог.1 (розімкнутий) то на виході POVOROT буде стояти лог.1 поки не замкнеться датчик POLOGENIE GORIZONTAL (стане лог.0).

Установка температури та тривалості провітрювання: заходимо в меню, вибираємо  натискємо „ОК”. Дане підменю містить два підпункти, перехід між якими здійснюється за допомогою клавіш „+” та „-„:

1) - установка тривалості провітрювання, в хвилинах;

2) - установка температури провітрювання, в градусах.

Вибравши відповідне підменю натискаюмо клавішу „ОК”, таким чином ми заходимо в установку даного підменю і відповідно коригуємо вибрану величину за допомогою клавіш „+” та „-„.

Установка доби (з якої доби починаєм відрахунок) : заходимо в меню, вибираємо за допомогою клавіш „+” або „-„ порядковий номер доби і наскаємо клавішу „ОК” (заходимо в установку доби). Тоді знову за допомогою клавіш „+” та „-„ шукаєм напис  і натискаємо „ОК”, на дисплеї висвітиться підтвердження  і автоматично вийде з меню в робочий стан.

Зв'язок з пристроєм через СОМ

В ручну вводити більш ніж 160 значень даних є незручно. Тому було розроблено програмне забезпечення для зв’язку з пристроєм через СОМ порт (RS232) та USB. Сказати по правді підключення по USB до кінця ще не готове (немає бажання і терпіння писати драйвер J). Пристрій чудесно працює з перехідником USB-RS232. Програмне забезпечення перевірено на платформах Windows Xp/ME/vista/7/8 32-х бітних системах.

 

Універсальний клімат-контроль


ФОТО ГОТОВОГО ПРИСТРОЮ :

 

Універсальний клімат-контроль

 

 

Універсальний клімат-контроль


 

Універсальний клімат-контроль

 

Датчик вологості


Універсальний клімат-контроль

 

Датчики температури DS18B20

 

Універсальний клімат-контроль

 

Датчики температури та вологості.

 

Універсальний клімат-контроль

 

Універсальний клімат-контроль

 

Універсальний клімат-контроль


Плата звязку RS232 на MAX232.


Універсальний клімат-контроль

 

Программа для ПК 

 

Універсальний клімат-контроль

 

Універсальний клімат-контроль

 

Універсальний клімат-контроль


Застосування в міні тепличці.

Скачать [437,11 Kb] (cкачиваний: 127) проект с прошивкой и программой

Обсуждение на ФОРУМЕ

Демонстраційне відео:




   
rgb # 1
 
 
Большая работа. Спасибо.


   
Mutter # 2
 
 
графіки яким засобом малюєш? є десь в неті приклади?


   
dimon-k714 # 3
 
 
Цитата: Mutter
графіки яким засобом малюєш? є десь в неті приклади?

Привіт. В Делфі є бібліотека Chart або ось дивись https://www.youtube.com/watch?v=uWyNfQsT6X4

Цитата: rgb
Большая работа. Спасибо.

Сергій, робота дійсно велика зайняла не мало, не багато - 1 рік. Дякую!!


   
alex06541 # 4
 
 
а печатки в laY немає?


   
Gipsy # 5
 
 
Excellent !!!
Але якщо універсальний, то чому нижче 0 не працює? Може комусь потрібен буде не самогонний апарат, а морозильна камера ? ;)
З того самого 18В20 від"ємні температури як я пам'ятаю не проблема отримати ;)
А в загальному - Excellent !!!


   
dimon-k714 # 6
 
 
Цитата: alex06541
а печатки в laY немає?


Ні нажаль печатки ще немає, це стартовий вариант! Пізніше думаю зроблю.

Цитата: Gipsy
Excellent !!!
Але якщо універсальний, то чому нижче 0 не працює? Може комусь потрібен буде не самогонний апарат, а морозильна камера ? ;)
З того самого 18В20 від"ємні температури як я пам'ятаю не проблема отримати ;)
А в загальному - Excellent !!!


Замовлення було на додатні інтервали температур, переписати можливість є. Бажання уже немає, так і попит на потреби використання на відємних температурах менший.


   
BOOST # 7
 
 
Кому треба контроллер холодильної установки той іде в магазин і купує контроллер Данфос або аналогічні зе невелику ціну, в ньому там все є і добре продумано smile


Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25