Многоканален термостат на arduino uno. Вентилатор с Arduino, който зависи от температурата. Компоненти на PID регулатор

Схематичната диаграма на домашен четириканален термостат с температурен дисплей, изграден на базата на Arduino UNO, LM325 и с дисплей 1602A, ви позволява да контролирате четири отделни товара.

Тук описваме подобрена версия на устройството, което освен пасивно измерване и индикация на температура, може да управлява и четири нагревателя, за да поддържа зададена температура на четири различни места, където в първата версия беше възможно само измерване на температурата.

Работата на четириканален термометър и неговата програма е описана много подробно в предишната статия (L.1), така че тук ще говорим само за промени за осъществяване на работата на четириканален термостат.

Схематична диаграма

Схематичната диаграма е показана на фиг. 1.

Ориз. 1. Принципна схема на термостат на Arduino UNO, LM325 с дисплей 1602A.

За разлика от първата схема (L.1), тук има четири транзисторни ключа, заредени върху намотките на релето K1-K4, които управляват четири различни нагревателни устройства (H1-H4). Контролните команди за тези клавиши идват от четири цифрови порта D9-D12 на платката ARDUINO UNO.

програма

Програмата е показана в таблица 1.

Маса 1.

Първата разлика е, че са предвидени портове за управление на нагревателите. Това са портове D9-D12, те са посочени тук:

pinMode(12, ИЗХОД);

pinMode(11, ИЗХОД);

pinMode(10, ИЗХОД);

pinMode(9, ИЗХОД);

Можете да изберете други свободни цифрови портове, след свързване на индикатора остават D8 и D13. Но авторът избра тези: D9, D10, D11, D12. Втората разлика е, че функцията за сравнение на if се използва за управление на нагревателите. В редове:

ако (темп< -15)digitalWrite(12, HIGH);

if(temp > -15)digitalWrite(12, LOW);

ако (tempi< 1)digitalWrite(11, HIGH);

if(tempi > ​​​​1)digitalWrite(11, LOW);

ако (temp2< 20)digitalWrite(10, HIGH);

if(temp2 > 20)digitalWrite(10, LOW);

ако (temp3< 10)digitalWrite(9, HIGH);

if(temp3 > 10)digitalWrite(9, LOW);

Тези редове показват при каква температура, какво логическо ниво трябва да бъде на съответния порт. Например, ако температурата на първия сензор (T1) е под -15°C, ще има логична такава на порт D12. Когато температурата на втория сензор (T2) е под 1°C, ще има логичен такъв на порт D11.

Когато температурата на третия сензор (TZ) е под 20°C, ще има логичен такъв на порт D10. Когато температурата на четвъртия сензор (T4) е под 10°C, ще има логичен такъв на порт D9. Разбира се, можете да зададете напълно различни температури - всякакви, необходими за конкретното приложение на това устройство.

Освен това, вече в готовото устройство, те могат лесно да бъдат сменени, ако е необходимо. За да направите това, трябва да свържете персонален компютър към USB порта на платката ARDUINO UNO и да заредите програма с други данни за температурните прагове. По принцип за това можете да осигурите USB конектор на тялото на готовото устройство.

Обикновено в „типичния“ термостат има хистерезисна верига, тоест верига, която създава разлика между температурата, при която нагревателят се включва, и температурата, при която се изключва. Това е необходимо, за да не се включва/изключва нагревателят много често. Това е особено важно, ако нагревателят се управлява от електромагнитно реле.

Тъй като контактите на релето не са предназначени за този режим на работа и могат бързо да се повредят от изгаряне поради искри. Но хистерезисът въвежда грешка в работата на термостата. Тук беше решено да не се създава хистерезис, а за да се гарантира, че контактите на релето не се превключват твърде често, просто забавете работата на устройството. За да направите това в реда:

Времето за показване е увеличено до три секунди. В резултат на това измерванията се повтарят с период от три секунди и във всеки случай релето не може да превключва повече от веднъж на всеки три секунди.

Подробности

Всички електромагнитни релета K1-K4 могат да се използват с 12V намотки и контакти, достатъчно мощни за управление на определени нагреватели.

Изходните етапи могат да бъдат направени с помощта на други схеми, например с помощта на оптомистори. В този случай светодиодите на оптосимиторите или така наречените „твърдотелни релета“ са свързани към съответните портове на платката ARDUINO UNO чрез токоограничаващи резистори.

Каравкин В. РК-08-17.

Литература: 1. Каравкин В. - Четириканален термометър на ARDUINO UNO, RK-06-17.

Основната задача на контролера на хладилника е да поддържа зададената температура в камерата. Температурният контролер ще направи това чрез промяна на електрическото захранване на модула на Пелтие.

В предишния урок разработихме регулатор на мощността. Връзката между регулаторите на мощността и температурата изглежда така.

  • Температурният регулатор получава измерената температура, сравнява я със зададената температура и изчислява зададената стойност на мощността за регулатора на мощността.
  • Регулаторът на мощността генерира ШИМ, съответстваща на определената мощност.

Ние изградихме регулатора на мощността съгласно интегралния закон за регулиране. За стабилизиране на температурата ще използваме по-сложен алгоритъм за управление - пропорционално-интегрално-производен (PID) регулатор.

ПИД контролер.

В предишния урок говорих подробно за. Той подчерта неговите предимства и недостатъци.

Регулатор, работещ на този принцип, има висока точност. Останалите критерии за качество на регулиране - бързина и стабилност - не са на ниво.

За да се постигне висока производителност по всички критерии, е необходимо да се използва регулатор, който комбинира различни регулаторни закони.

Пропорционално-интегрално-производният (PID) контролер е точно такова устройство. Той генерира изходен сигнал, който е сбор от три компонента с различни характеристики на предаване. Благодарение на това PID регулаторът осигурява високо качестворегулиране и ви позволява да оптимизирате управлението според индивидуалните критерии.

Следните участват в генерирането на изходния сигнал на PID контролера:

  • Пропорционален компонент– стойността е пропорционална на грешката на несъответствието (разликата между определените и реалните стойности на контролирания параметър).
  • Интегриращ компонент– интеграл на грешката на несъответствието.
  • Диференциращ компонент– производна на грешката на несъответствието.

Математическата форма на писане на закона за PID контролера е:

o(t) = P + I + D = K p e(t) + K i ∫e(t)dt + K d de(t)/dt

  • o(t) – изходен сигнал;
  • P – пропорционален компонент;
  • I – интегриращ компонент;
  • D – диференциращ компонент;
  • Kp, Ki, Kd – коефициенти на пропорционални, интегриращи, диференциращи връзки;
  • e(t) – грешка при несъответствие.

В схематична форма PID регулаторът може да бъде представен по следния начин.

Блоковата схема на PID регулатора на напрежение U изглежда така.

  • Измереното напрежение Ureal(t) се изважда от дадения Uset.
  • Получената грешка при несъответствие e(t) се подава към пропорционалните, интегриращите и диференциращите връзки.
  • В резултат на сбора на компонентите се получава управляващото въздействие o(t), което се прилага към управляващия елемент.

При внедряване на PID контролер в софтуера, изчисленията на изходния сигнал се извършват на редовни интервали. Тези. Контролерът е дискретен във времето. Затова по-нататък ще използвам изрази: предишно състояние на сигнала, предишна стойност и т.н. Говорим за състоянието на системата в предишната точка на измерване на времето.

Компоненти на PID регулатор.

Отново. Изходният сигнал на PID регулатора е сбор от три компонента:

  • пропорционален;
  • интегриране;
  • разграничаване.

Пропорционален компонент.

P(t) = K p * e(t)

Няма памет, т.е. стойността на изходния сигнал не зависи от предишното състояние на системата. Просто следната грешка, умножена по коефициент, се предава на изхода. Изходният сигнал компенсира отклонението на контролирания параметър. Колкото по-голяма е грешката на несъответствието, толкова по-голям е сигналът. Ако грешката е 0, изходният сигнал също е 0.

Пропорционалният компонент не е в състояние напълно да компенсира грешката. Това се вижда от формулата. Изходният сигнал е Kp пъти грешката. Ако грешката при несъответствие е 0, тогава изходният сигнал на контролера е 0. И тогава няма с какво да се компенсира.

Следователно в пропорционалните регулатори винаги има така наречената статична грешка. Той може да бъде намален чрез увеличаване на коефициента Kp, но това може да доведе до намаляване на стабилността на системата и дори до автотрептения.

Недостатъците на пропорционалните контролери включват:

  • наличие на статична грешка в регулирането;
  • ниска стабилност с нарастващ коефициент.

Има значително предимство:

  • Регулиране на висока скорост. Отговорът на пропорционален контролер на последваща грешка е ограничен само от времето за вземане на проби на системата.

Рядко се използват регулатори, работещи само по пропорционалния закон.

Основната задача на пропорционалния компонент в PID регулатора е да увеличи производителността.

Интегриращ компонент.

I(t) = K i ∫e(t)dt

Пропорционално на интеграла на грешката на несъответствието. Като вземем предвид времевата дискретност на контролера, можем да запишем следното:

I(t) = I(t -1) + K i * e(t)

  • I(t-1) – стойност на I в предишната точка на вземане на проби.

Грешката за несъответствие се умножава по коефициент и се добавя към предишната стойност на интегриращата връзка. Тези. изходният сигнал се натрупва през цялото време и увеличава въздействието си върху обекта с течение на времето. По този начин грешката на несъответствието е напълно компенсирана дори при малки стойности на грешката и коефициента Ki. В стабилно състояние изходният сигнал на контролера се осигурява изцяло от интегриращия компонент.

Недостатъците на интегралния регулатор включват:

  • ниска производителност;
  • посредствена стабилност.

Достойнство:

  • Възможност за пълно компенсиране на грешка при несъответствие при всяко усилване.

В практиката често се използват интегриращи регулатори (само интегриращ компонент) и пропорционално-интегриращи регулатори (интегриращи и пропорционални компоненти).

Основната задача на интегриращата връзка в PID регулатора е да компенсира статичната грешка и да осигури висока точност на управление.

Диференциращ компонент.

D(t) = K d de(t)/dt

Пропорционално на скоростта на промяна на следната грешка. Един вид индикатор за ускоряване на грешката при несъответствие. Диференциращият компонент предвижда отклонения на контролирания параметър в бъдеще и противодейства на това отклонение. Като правило компенсира забавянето на въздействието на регулатора върху обекта и повишава стабилността на системата.

Като се вземе предвид времевата дискретност на контролера, диференциращият компонент може да се изчисли, както следва:

D(t) = K d * (e(t) - e(t -1))

Той показва колко се е променила стойността на грешката на несъответствието за една времева единица от дискретността на контролера.

Няма регулатори, състоящи се от едно диференциращо звено.

Основната задача на разграничителната връзка в PID регулатора е да повиши стабилността.

Настройка на PID контролера.

Качеството на управление на PID регулаторите до голяма степен зависи от това колко оптимално са избрани коефициентите. Коефициентите на ПИД регулатора се определят практически в система с реален обект чрез подбор. Има различни методи за настройка. Ще говоря само за общи принципи.

За качеството на регулиране се съди по преходния отговор на регулатора. Тези. според графиката на промените в контролирания параметър във времето.

Към традиционните точки от последователността за настройка на PID контролера бих добавил, че на първо място е необходимо да се реши кои критерии за качество на управлението са за предпочитане.

В предишния урок, когато проектирахме регулатор на мощността, се интересувахме преди всичко от точността и стабилността. И дори изкуствено намалихме производителността. Някои регулатори работят при условия на значителен шум и стабилността е по-важна за тях, докато други изискват висока производителност дори за сметка на точността. Критериите за оптимизация могат да варират. Като цяло PID контролерите са конфигурирани така, че да гарантират, че всички критерии за качество на контрола са на високо ниво.

Компонентите на PID контролера се конфигурират отделно.

  • Изключват се интегриращите и диференциращите връзки и се избира коефициентът на пропорционалната връзка. Ако регулаторът е пропорционално-интегриращ (няма диференцираща връзка), тогава се постига пълна липса на трептения в преходната характеристика. При настройка на контролера на висока скорост може да останат трептения. Диференциалното звено ще се опита да ги компенсира.
  • Диференциалната връзка е свързана. Неговият коефициент има за цел да елиминира колебанията в контролния параметър. Ако това не успее, намалете пропорционалния коефициент.
  • Благодарение на интегриращата връзка грешката за остатъчно несъответствие се премахва.

Настройката на PID контролера е итеративна по природа. Тези. точките за избор на коефициенти могат да се повтарят многократно, докато се постигне приемлив резултат.

Поради тяхната висока производителност и гъвкавост, PID контролерите се използват широко в системите за промишлена автоматизация.

В следващия урок ще разработим PID температурен регулатор.

Той ще сподели с вас своя опит в създаването на интелигентен контролер за въртене на вентилатора, използващ термичен сензор, LCD дисплей и, разбира се, Arduino.

Преди няколко месеца прочетох редица статии за Arduino и се заинтересувах много от това устройство и скоро реших да го купя. Трябва да се отбележи, че съм далеч от микроелектрониката, така че ми хареса платката преди всичко поради относителната лекота на използване. След като се занимавах със светодиоди и системи „Hello world“, исках да направя нещо практично и в същото време да се запозная по-добре с възможностите на Arduino. Имайки предвид необичайно горещото лято на 2010 г., възникна идеята да се сглоби по-хладен регулатор на скоростта в зависимост от температурата с всички свързани характеристики, показани на LCD. Надявам се, че тази схема или нейните варианти ще бъдат полезни за някого, затова реших да публикувам моите скици.

За тази схема ще ни трябва:

  • Всъщност самата дъска Ардуиноили подобни;
  • Дъска за хлябза сглобяване на компоненти на верига;
  • Дисплей WH1601A-NGG-CT с включен регулиращ резистор 20 kOhmили подобни;
  • резистори – 220 ома, 10 kOhm, 4,7 kOhm;
  • Биполярен транзистор SS8050Dили подобни;
  • Цифров датчик за температура DS18B20;
  • Диод 1N4148или еквивалентно;
  • Вентилатораксиален трижилен (12V), например - компютър;
  • Конектор жак хранене 2,1/5,5 мм.

Охладителя на компютъра има три проводника, като два от тях - червен (+12V) и черен (GND) се използват за захранване, а третият (жълт) е свързан към оборотомер, изграден върху елемент на Хол. За съжаление, 5V от платката явно не са ни достатъчни, но 6 цифрови изхода на Arduino могат да работят в режим PWM (те са маркирани на самата платка с бели квадратчета или буквите PWM), така че можем да регулираме подаването на сигнал от платката към релето, което ще отговаря за промяната на напрежението, подадено към вентилатора.

Ще получаваме информация за оборотите от третия проводник от оборотомера, използвайки модифициран метод, базиран на внедряването прекъсва, който за повечето Arduinos може да стигне до цифрови пинове 2 (прекъсване 0) и 3 (прекъсване 1). Между другото, Arduino Mega има 4 допълнителни пина с възможност за получаване на прекъсвания.

Сега трябва да позиционирате цифров температурен сензор, чиито данни ще използваме за регулиране на напрежението, подавано към цифровия изход с ШИМ, и следователно за „отваряне“ на канала за напрежение на вентилатора. Сензорите на Dallas имат собствена библиотека на Arduino - DallasTemperature, която по-късно ще свържем в скицата. Библиотеката трябва да бъде разопакована в директорията arduino-0018/libraries/.

Последното нещо, което остава е свържете LCD, където ще изведем цялата актуална информация за температурата и скоростта на вентилатора. Тъй като използвах екрана WH1601A за изграждането, може да има известни проблеми с показването на линии. За да ги елиминираме, ще използваме библиотеката LiquidCrystalRus, която също трябва да бъде разопакована в директорията arduino-0018/libraries/.

//Свържете библиотеката за температурния сензор#включи //Свържете библиотеката за LCD#включи #define PowerPin 9 // щифт за управление на мощността на вентилатора#define HallSensor 2 // щифт за сензор за скорост на вентилатора (прекъсване)#define TempPin 7 // щифт за температурен датчик LiquidCrystalRus lcd (12, 11, 10, 6, 5, 4, 3); //Свържете LCD DallasTemperature tempSensor; int NbTopsFan, Calc, fadeValue; //целочислени променливи за изчисленияплаващ нрав; //реална променлива за съхраняване на температурата typedef структура ( // Въведете нов тип променливи за феновете char fantype; неподписан int fandiv; )спецификация на вентилатора; //Масив от променливи от нов тип fanspec fanspace=((0,1),(1,2),(2,8)); //Променлива, отговорна за избора на типа сензор на вентилатора (1 – еднополярен сензор на Хол, 2 – биполярен сензор на Хол)овъглен вентилатор = 2; //Тази функция ще се извиква всеки път, когато прекъсваме void rpm() (NbTopsFan++;) // Функция за изчисляване на приложеното напрежение към цифров щифт с ШИМ void temp() (fadeValue = min(int(temper*7),255); // Умножете температурата по коефициента, // вземете цяло число от продукта } // Защото максималната стойност на ШИМ е 255, тогава няма смисъл да се доставя повече - вземете минимума от двеневалиден настройвам() (tempSensor.begin(TempPin); //Стартирайте температурния сензор lcd.begin(16, 2); //Задаване на LCD характеристики lcd.setDRAMModel(LCD_DRAM_WH1601); //И тип дисплей pinMode (HallSensor, INPUT); // Конфигуриране на ПИН за получаване на прекъсвания attachInterrupt(0, rpm, RISING); //Свързваме прекъсване номер 0 към нашата функция и то ще се изчислява всеки път, когато сигналът се промени) невалиден цикъл() (температура = tempSensor.getTemperature(); // Вземете температурата temp(); // Изчисляване на подаденото напрежение към ШИМ analogWrite(PowerPin, fadeValue); // Захранване NbTopsFan = 0; // Нулирайте променливата, съдържаща оборотите, до нулазабавяне (1000); //Изчакайте 1 секунда Calc = ((NbTopsFan * 60)/fanspace.fandiv); //Изчислете стойността на RPM за 60 секунди, разделена на множителя на вентилатора lcd.print(Calc, DEC); //Изведете изчислената стойност в десетична форма lcd.print(" rpm - " ); lcd.print(temper); //Изходна температура lcd.home(); )

Четейки първата част от заглавието, много от вас вероятно си помислиха - още един термостат на многострадалния Arduino. И... Вярно е - да, това е друг термостат за друг бойлер, друга къща, но това е само отчасти вярно - в статията не искам да се концентрирам върху самото устройство - наистина има много от тях (статии ). Разбира се, ще опиша термостата, но бих искал да говоря повече за това как свързах самия микроконтролер към котела. Така че, за тези, които се интересуват, моля...

Как започна всичко

Първо искам да кажа, че изобщо не съм програмист и никога досега не съм имал работа с истински микроконтролер. Първото ми запознанство с AVR MK (и с MK като цяло) беше още в гимназията, когато исках да разбера как всъщност работи това мистериозно нещо. Прочетох няколко статии и оттогава имам само фрагменти в паметта си, които могат да бъдат описани само с две думи - DDR и PORT - и дотук познанията ми свършиха. След това имаше университет, 5-та година - "Програмиране на микроконтролери", където всички се запознахме с MSC51 във виртуална среда. Вече имаше прекъсвания, таймери и всичко останало. Е, с това количество знания стигнах до проблема. Нека приключим с тази автобиографична бележка и да преминем към по-интересната част.

И така, всъщност откъде започна създаването на термостата?След като инсталирах автономна отоплителна система с газов котел, аз, както мнозина, срещнах обичайните проблеми - температурата в къщата беше много зависима от времето навън - замръзване - това е студено в апартамента, трябва да повишите температурата на охлаждащата течност в батериите, стана по-топло - напротив. Такива танци с тамбура не ми отиваха много, защото... настройката на котела беше усложнена от факта, че беше монтиран зад врата, а вратата беше подпряна от микровълнова печка, върху която лежеше куп боклук. Е, схванахте идеята - игла в яйце, яйце в патица и т.н.

Този проблем беше решен много просто - с датчик OTC (Outside Temperature Compensation), който е свързан към котела и му позволява автоматично да регулира температурата на охлаждащата течност в зависимост от външната температура. Проблемът изглеждаше решен, но четенето на сервизното ръководство за котела (Ferolli Domiproject C24D) бързо потъпка надеждите ми - свързването на външен температурен датчик не е предвидено в този модел. Всичко? Всичко. И сега сигурно можехме да го довършим, но лятото при гръмотевична буря пак изгоря контролната платка в котела по все още неясен за мен начин и при разговор със сервиза (платката беше по-късно ремонтиран), попитах дали е възможно да свържа OTC към моя котел? Той отговори, че се свързват с помощта на външни термостати. Това се запечата в паметта ми, но не се концентрирах върху него, докато не настъпи студеното време, а след това проблемът беше същият.

Разглеждайки същите сервизни инструкции, но с цел да видя как е свързан термостата, забелязах, че „регулаторът OpenTherm“ е свързан към същите клеми. Тогава разбрах – това е ТО! Търсене в Google за „OpenTherm Arduino“ отново ме разочарова – нищо особено разумно. Имаше монитор за съобщения, но не е това - нямам какво да слушам - просто ми трябва термостат.

Нека първо изградим нещо просто на Arduino. IN глава 12ние вече изобретихме термостати, използващи чисто аналогови компоненти. Сега нека видим как можем да включим цифровите технологии в този полезен бизнес.

Вече споменахме (вж глава 18), че AVR контролерите включват 10-битов многоканален ADC. На платките Arduino неговите щифтове са специално маркирани като аналогови входове (с буквата Ас числа от нула до пет). Моля, имайте предвид, че те могат да се използват и като обикновени цифрови с номера от 14 до 18 и ние ще ги използваме в това си качество. Ще използваме един от тези входове за измерване на температурата и ще управляваме връзката на товара от един от цифровите изходи.

Като цяло ще ни трябва:

□ Arduino Uno платка (всяка друга ще свърши работа);

Имам термистор като температурен датчик. Подходящ, например, съществуващ

□ “Amperke” В57164‑К 103‑J с номинално съпротивление 10 kOhm при 25 °C - характеристиките му са дадени в глава 13като илюстрация на свойствата на термисторите;

□ променлив резистор 10 kOhm, постоянен резистор 620 ома;

□ изпълнително реле – електромагнитно (задължително с усилващ транзисторен ключ, виж по-долу) или полупроводниково.

Предлагат се за продажба модули, базирани на 5-волтови електромагнитни релета, специално пригодени за управление от изходи на Arduino. Самите електромагнитни релета изискват доста голям управляващ ток (и колкото по-мощно е релето, толкова по-мощно е; само релетата с най-ниска мощност могат да работят директно от логиката), следователно всички такива релейни модули трябва да имат превключвател на транзисторен усилвател. Например Amperka продава такъв модул, базиран на релето HLS8L‑DC5V‑S‑C. Ако не сте доволни от електромагнитно реле и се стремите към изключителна простота на веригата, тогава можете да потърсите полупроводникови релета - например CX240D5R от Crydom или подобни с работно напрежение 3-15 V са подходящи Техният управляващ ток е около 15 mA при 5 волта на входа, което е приемливо за AVR, тъй като техният управляващ вход може да бъде свързан директно към цифровия изход на Arduino. Вярно е, че при напрежение от 220 волта CX240D5R не може да превключи товар с мощност над киловат, но за тази задача не се нуждаем от повече.

Веригата на термостата на Arduino Uno е показана на фиг. 21.2.

Ориз. 21.2. Схемата на термостата е включена Ардуино Уно

В диаграмата намотката на релето K1 (с нормално отворени контакти) е конвенционално свързана директно към цифровия изход на Arduino - предполага се, че това е или споменатото по-горе полупроводниково реле с необходимите характеристики, или просто контролният вход на завършена платка на релеен модул. За да се следи състоянието на веригата, едновременно с нагревателя се активира светодиод. Програмата на термостата в съответствие с тази схема е изключително проста:

Стойностите на резистора се настройват към посочения термистор B57164‑K с номинално съпротивление от 10 kOhm при 25 °C (103‑J). В съответствие с програмата, релето ще работи близо до изходната стойност на ADC от 500. Това е приблизително средата на 10-битовия диапазон (цялата скала е 1024 градации), т.е. тази стойност ще бъде установена, когато горната и долната стойност съпротивленията са приблизително равни спрямо AO входа (напрежението на този вход тогава ще бъде приблизително 2,5 волта).

Моля, имайте предвид, че и двете функции аконе завършвайте с обичайното друго. За да се предотврати бърборенето, в програмата е въведен хистерезис: релето се включва, когато стойността на кода надвиши 510, и се изключва, когато падне до 490. Междувременно то ще поддържа предишното състояние. Двадесет единици код (какво има в глава 12ние се обадихме мъртва зона) съответстват на приблизително 10 миливолта, т.е. хистерезисът при температура в диапазона 30–40 градуса ще бъде малко по-малък от една десета от градуса (проверете го сами, като използвате таблица 13.1 от глава 13).

Задаването на температурата на реакция с помощта на резистор R2 с тези параметри е възможно в диапазона от приблизително 22 до 96 °C. Разбира се, на практика не се изисква такъв широк диапазон на регулиране, така че е препоръчително да се намали стойността на R2. Стойността на R1 е избрана така, че R1 и номиналната стойност на R2 се събират към съпротивлението на термистора при по-ниската стойност на желания температурен диапазон (в съответствие с таблица 13.1). За по-точно прилягане можете да калибрирате и променяте праговите стойности в програмата, като измервате установената температура с обикновен термометър.

Ако използвате други сензори в тази верига, не забравяйте за знака на температурния коефициент. Обикновен диод или транзистор в диодна връзка (както в схеми от глава 13) също имат отрицателен наклон на характеристиката, следователно за тях в програмата ще трябва да промените само числените стойности на прага на реакция. Но полупроводникови сензори като TMP35 (вижте. глава 13) или просто метални съпротивителни термометри (както в дизайна, направен от глава 17) имат положителен температурен коефициент, така че работните условия ще трябва да бъдат обърнати. И не само да промените „повече“ на „по-малко“ и обратно, но и да промените съотношението на праговете за хистерезис - в новата ситуация нагревателят ще трябва да се включи, ако стойността е по-малка от по-малкия праг, и да се включи изключено, ако е повече от по-голямото.


Връх