ПредишенСледващото

В "термостата - по-малко не е така" се разви към следващия етап на миниатюризация. Почти без промяна през физически размер, той все пак става още по-лесно в дизайна на веригата и броя на функции стане още по-!

функция на устройството е, че всички режими се контролират от един-единствен бутон. и, както се вижда от нашите експерименти с Толедо, това е много удобно. Предвид непреодолимо желание за измерване на температурата в десети от градуса, и реализира тази възможност чрез комбиниране термометър диапазон от -55,0 ° С до + 125.0 ° С с трицифрен дисплей седем сегмент. Това е вторият акцент устройството: десети показват само в диапазона от -9.9. + 99.9 ° С, и други температури са показани без десети. Мисля, че това е най-доброто решение. Третата функция - не е нова: термостат две праг режим (т.е., хистерезис) с antiphase изходи, която позволява на устройството да се поддържа температура от -50 ° С до + 99 ° С чрез контролиране както на нагревател и охладител (Fan ).

Схема на термостата

Фигурата показва диаграма на термостата. Това е елементарно, строго погледнато, това не е напълно завършена единица, но само основата му: фазата на добивите електрозахранването и да излезе с такива.

Микроконтролера DD1 тип Atiny26. DA2 сензор - DS18S20 (ако има такива DS1820 - във форма и той), тя може и трябва да доведе до окабеляването на правилното място далеч от горещите компоненти, които могат да нарушат четения. 5V мощност може да се получи от всеки източник - показано на Схема стабилизатор DA1 тип 7805 (или KREN05A). Индикатор - трицифрен 7-сегмента "динамичен" (с общи аноди или катоди - така или иначе). В моя случай това е индикатор за "китайски" тип "пръстен", неговата Pinout определи експериментално, така че номерата на ПИН, не са изброени, но само маркирани сегменти. Бутон SB1 - само по себе си също. Фърмуерът се реализира в сегмента динамичен дисплей, така че броят на текущата ограничаване резистор се свежда до три, т.е. свеждане до минимум на тяхната устойчивост трябва да се ограничи тока през сегмента на индикатора в нито един по-голям от 30 mA.

Изходи OUT1 и OUT2 са в състояние да дадат (или получавате) ток 40 mA, така че крайното стъпало може да бъде всеки - от ниска консумация на енергия, за да висока мощност реле pyativoltovogo ключ транзистор. Тези изходи работят винаги в опозиция.

Програмата е написана на езика С, текстът е на разположение, съставен с помощта WINAVR. При съставяне на задължително трябва да включва максималната оптимизиране на размера на кода. в противен случай паметта на микроконтролера не се вписва. Между другото, в текущата версия остава безплатно в продължение на около 12% от програмата памет - има шанс да се добави в програмата има някои полезни свойства. Между другото, много скоро ще бъде направено: в фърмуера ще бъдат въведени допълнителни режим "гранични" нива на контрол на температурата (по искане на един от посетителите на сайта).

За тези, които не са готови да се справят с изходния код, има 2 варианта готов фърмуер - за показатели с общ анод и катод. Преди да се зареди (или след) е необходимо да инсталирате Fyuz микроконтролер CKSEL = 0100. т.е. активирате вградения RC-осцилатор 8 MHz, а останалите могат да бъдат оставени в Fyuz предварително зададен при фабричното й състояние. Отделно от фърмуер, достъпен изходен код.

Също така на разположение за изтегляне на версия на фърмуера във формата на печатната платка 5 Sprint Layout (за SMD компоненти и каза: "неназован" настройката индикатор бутон борда е директно от източника на захранване 5В). Снимки събрани от потребителя Толедо (без стабилизатор DA1 - чип само за скала) са дадени по-долу:

АРВ изследвания - добре, само една малка термостат

АРВ изследвания - добре, само една малка термостат

Изглед от предната

Ето как работи устройството. Има 5 функционални режими:

  1. Температурен дисплей.
  2. Посочете горния праг термостат.
  3. Указание за необходимостта от по-ниския праг на термостата.
  4. Корекция на горния праг.
  5. Корекция на долния праг.

Правилното управление на температурата. т.е. сравняване на текущата температура с праговите стойности и формиране съответния изходни сигнали, които са постоянно в някоя от разглеждания режим. Включване ниво при по-високи температури на изхода се получава, когато температурата надвиши горния праг, и когато температурата се понижава - когато понижи под долната, т.е. разликата между стойностите на праговете имат термостат хистерезис.

В първия режим, дисплеят показва само текущата температура.

При втората и третата режими на дисплея съответните термостат прагове. За прагови стойности са посочени само в цели градуси. За да може да се различи една от друга стойност в първия показател цифри подчертана сегменти А и D, съответно, към горните и долните прагове.

Преминаване през първите три режима чрез кратко натискане на бутона, само стабилен режим №1 - други автоматично се прехвърлят към него, ако бутонът не е натиснат повече от 2,5 секунди.

От прагове могат да преминат режими индикация за режимите на съответните прагови промени, ако е натиснат за повече от 2,5 секунди. От този момент, един интересен (т.е. най-голямото събитие на операцията на един бутон). В момента, в режим на промяна прагова стойност веднага мига съответния сегмент А или D на първата дисплей (индикация праг корекция) на, и в същото време е натиснат клавиша, има бърза промяна в стойността си. След като изчака на прага на "превишаване" на желаната стойност, освободете бутона. След това кратко натискане можете да регулирате стойността на бърза промяна в обратна посока. Ако задържите бутона, промяната в грешната посока - това е необходимо, за да го освободи и натиснете отново за дълго време.

Ще обясня примера. Да приемем, определени прагове -5 и +15 градуса, за да ги направи -2 и 2. Включване на горния режим корекция праг чрез натискане и задържане на бутона във втория режим. След 2.5 секунди стойност започва да се променя бързо нагоре. След като изчака да се появи на дисплея 15. освобождаване на бутона. Ако сте нещастен и индикаторът 16 - няма проблем: натиснете бутона за кратко и се намалява с 1, т.е. 15. стане необходимо. Бътън не е докоснал 2.5 секунди - трептене сегмент А е прекратен - отново активиран режим 2. Бутон за кратко, като по този начин, включително режим 3. Сега бутонът и чака дълго време, докато се превърне по-нисък режим на корекция праг. След сегмента проблесна D. стойност започва да намалява бързо - изчакайте, докато достигне стойността -2, и отпуснете бутона. Подхлъзнах? - това няма значение! С натискане на бутона за кратко се връща един proskochennomu степен. Освен това - както и преди: Не пипайте бутона 2.5 секунди, а след включването на ключа за избор на режим за корекция не е докоснал - в момента на автоматичен режим на превключване 1 ще се съхранява новите праговите стойности.

Опитвам се да се формулира корекция алгоритъм в едно изречение. В режим на корекция, променете стойността е на стъпки от 1 градус, с кратко натискане на бутон се променя стойността на само една стъпка, и продължително натискане води до ускорено промяна, след което се оттегли обратен знак. Надявам се, че всичко е ясно. Както и да е, за да свикне с този алгоритъм е съвсем проста, и се надявам, че ще ви бъде удобно.

Подкрепете проекта - споделете линка, благодаря!