Христианский форум обо всем
Добро пожаловать на форум!

Писать сообщения можно без регистрации. И создавать темы тоже.

Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Начать новую тему   Ответить на тему

Предыдущая тема Следующая тема Перейти вниз

Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Сообщение автор SPadmin в Пн Ноя 01, 2010 5:42 am

Простой терморегулятор / термометр на ATtiny2313 и DS18B20

* Измерение температуры от -55°С до +125°С (шаг 0,1°С)
* Установка температуры от -55°С до +124°С (шаг 0,1°С !!!).
* Гистерезис от 0,1°С до 25°С

Схема терморегулятора:



Пояснение к схеме:
На схеме показан второй вариант включения термодатчика, если он не захотел работать по однопроводной шине (что встречается очень редко). Обратите внимание, что подтягивающий резистор на 11 выводе должен быть именно 4,7кОм. Уменьшение или увеличение может привести к нестабильной работе датчика в случае включения по однопроводной схеме.

Индикатор можно применять как с общим анодом, так и с общим катодом - просто разные прошивки.

"*" обозначены компоненты необходимые для защиты от статического электричества, но их можно не устанавливать.

Управление терморегулятором:
1. Кнопками "+" и "-" устанавливают температуру включения нагрузки (на экране в первом сегменте отобразится символ подчёркивания "_").
2. При одновременном нажатии обеих кнопок устройство переходит в режим изменения гистерезиса (на экране в первом сегменте отобразится символ "d").
3. Длительное удержание одной из кнопок приводит к ускоренному перебору значений.
4. При отсутствии нажатий на кнопки в течении 5 секунд прибор переходит в режим отображения измеренной температуры, при этом происходит запоминание изменённых параметров в энергонезависимую память.

Индикация в терморегуляторе:
1. В первом сегменте отображается точка, если Т < Т уст., т.е. нагрузка включена. Точка отображается во всех режимах, даже при изменении установленной температуры или гистерезиса (если сохраняется условие Т < Т уст.).
2. В этом же сегменте будет отображаться знак минуса "-" при отрицательной температуре.

1. Пример работы терморегулятора в режиме нагрева:

* Установим температуру = 25,5°С, гистерезис (dT) = 1,2°С.
* Текущая температура 20 градусов. (PD2 = 1, PD3 = 0, горит "точка").
* Такое состояние будет сохранятся пока температура не достигнет Т уст. + dТ = 26,7°С.
* Когда температура достигнет 26,7°С состояние выводов поменяется (PD2 = 0, PD3 = 1, не горит "точка")
* Такое состояние будет сохранятся пока температура не опустится до Т уст. = 25,5°С.
* Когда температура опустится до 25,5°С состояние выводов поменяется (PD2 = 1, PD3 = 0, горит "точка")
* И так далее....

2. Пример работы термостата в режиме охлождения:

* Установим температуру = -5,2°С, гистерезис (dT) = 1,5°С.
* Текущая температура 20 градусов. (PD2 = 0, PD3 = 1, не горит "точка").
* Такое состояние будет сохранятся пока температура не упадёт до Т уст. = -5,2°С.
* Когда температура упадёт до -5,2°С состояние выводов поменяется (PD2 = 1, PD3 = 0, горит "точка")
* Такое состояние будет сохранятся пока температура не поднимется до Т уст. + dТ = 6,7°С.
* Когда температура поднимется до 6,7°С состояние выводов поменяется (PD2 = 0, PD3 = 1, не горит "точка")
* И так далее....

Таким образом термостат можно применять для использования как в нагревательных целях (тепловентилятор, обогревательный котёл, инкубатор и т.д.), так и для охлаждения (холодильник, морозильник, и т.д.).

Программу прошивки для терморегулятора можно скачать на сайте: http://hardlock.org.ua/viewtopic.php?f=9&t=10 или http://eldigi.ru/site/term/18.php

Автор термостата: Юрий. Е-mail: hardlock (пёсик) bk Сайт автора: http://hardlock.org.ua/


Последний раз редактировалось: SPadmin (Пт Мар 18, 2011 6:14 am), всего редактировалось 8 раз(а)
avatar
SPadmin
Admin

Сообщения : 225
Дата регистрации : 2010-08-13

Посмотреть профиль http://sooo.2x2forum.ru

Вернуться к началу Перейти вниз

Re: Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Сообщение автор SPadmin в Пн Ноя 01, 2010 5:52 am

Список деталей для терморегулятора:

1. Микроконтроллер Attiny2313 = 1 шт.
2. Цифровой сегментный индикатор, 12 контактов, 4х7 = 1шт.
3. Датчик температуры DS18B20 = 1 шт.
4. Регулятор напряжения 5 вольт (78L05) (линейный или импульсный) = 1 шт.
5. Диод 1N1448 100 вольт = 1 шт.
6. Транзистор KT817 = 1 шт.
7. Резистор постоянный 470 Ом, 0,125 ват (корпус чип или цилиндрический) = 8 шт.
8. Резистор постоянный 4,7 кОм, 0,125 ват (корпус чип или цилиндрический) = 1 шт.
9. Резистор постоянный 1 кОм, 0,125 ват (корпус чип или цилиндрический) = 1шт
10. Конденсатор 0,1 мКф, 16 вольт = 2 шт.
11. Реле 12 вольт, нагрузка 250 вольт, .. Ампер (рекомендую сделать питание от 5 до 10 вольт и реле соответственно, потому что от 12 вольт очень сильно греется стабилизатор 78L05. При питание от зарядного для мобильных нет необходимости ставить стабилизатор напряжения и конденсаторы) = 1 шт.
12. Кнопки = 2 шт.
13. Стеклотекстолит 2-сторонний (основание платы) = 1 шт.

Защита от статического электричества*

1. Стабилитрон 5,1 вольт = 2 шт.
2. Конденсатор электролитический 10 мКф, 16 вольт = 2 шт.
3. Резистор 100 Ом = 1 шт.

*от зарядки телефона 5 вольт терморегулятор работает стабильно без этих штук. Схема получается ещё проще убираем кондеры и стабилизатор на входе.


Последний раз редактировалось: SPadmin (Ср Ноя 23, 2011 6:09 pm), всего редактировалось 2 раз(а)
avatar
SPadmin
Admin

Сообщения : 225
Дата регистрации : 2010-08-13

Посмотреть профиль http://sooo.2x2forum.ru

Вернуться к началу Перейти вниз

Re: Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Сообщение автор SPadmin в Пн Ноя 15, 2010 12:59 pm

Первый прототип термостата, температура на улице 6,9 градусов:



Вид с задней панели, съёмный микроконтроллер attiny2313. Детали терморегулятора залиты силиконом (защита от короткого замыкания и влаги). Три клеймы: датчик температуры DS18B20; питание с выходом на нагрев; кнопки и выход на охлождение.



Последний раз редактировалось: SPadmin (Пт Мар 18, 2011 6:03 am), всего редактировалось 1 раз(а)
avatar
SPadmin
Admin

Сообщения : 225
Дата регистрации : 2010-08-13

Посмотреть профиль http://sooo.2x2forum.ru

Вернуться к началу Перейти вниз

Re: Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Сообщение автор SPadmin в Пт Мар 11, 2011 9:37 pm

Как правило датчики температуры DS18B20 точно откалиброваны. Но если случилось, что датчик показывает температуру не точно её можно откорректировать:

В середине процедуры timer1_ovf_isr начиная со строки 372 (версия прошивки 3.2 с коментариями) до строки 394 должно получиться так(выделено жирным, +0 измените на +1 или -1):

if (T & 0b10000000) //если отрицательная температура
{
Ff = ~Ff + 1; //инвертируем значение дробной части и добавляем адын.
Ff = Ff & 0b00001111; //убираем лишние биты

if (!Ff) //если дробная часть равна "0"
{
T--; //значение температуры уменьшаем на адын
}

Tnew = 1000 - (((~T & 0xFF) * 10) + (Ff * 10 / 16)); //вычисляем значение температуры если T < 0.
//Формат хранения - смотри строку 58 этого файла.
}
else
{
Tnew = 1000 + (T * 10) + ((Ff * 10) / 16); //вычисляем значение температуры если Т > 0.
//Формат хранения - смотри строку 58 этого файла.
}
Tnew = Tnew + 0; //коррекция показаний датчика. +1 = +0,1°C; -1 = -0,1°C ну и т.д.
}
else
{
w1_write(0x44); //выдаём в шину 1-wire код 0xCC, что значит "Convert T"
}


http://hardlock.org.ua/viewtopic.php?f=9&t=10&start=400


Последний раз редактировалось: SPadmin (Пн Апр 11, 2011 5:03 am), всего редактировалось 2 раз(а)
avatar
SPadmin
Admin

Сообщения : 225
Дата регистрации : 2010-08-13

Посмотреть профиль http://sooo.2x2forum.ru

Вернуться к началу Перейти вниз

Re: Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Сообщение автор SPadmin в Сб Мар 19, 2011 3:15 am

Терморегулятор в корпусе от эл.коробки:
Электронный термометр показывает температура воздуха +25,5 С.


Установка гистерезиса 6 градусов:


Температура включения нагревателя +20 С


Вид изнутри:
avatar
SPadmin
Admin

Сообщения : 225
Дата регистрации : 2010-08-13

Посмотреть профиль http://sooo.2x2forum.ru

Вернуться к началу Перейти вниз

Схема подключения терморегулятора к питанию 5 вольт

Сообщение автор Unmasker в Пт Дек 16, 2011 7:52 pm

Так как питание от зарядки для сотового телефона. То нет необходимости в защите от электростатического напряжения. Схема упрощается. Но зарядку нужно брать фирменную. Микроконтроллер работает от 3,5 в до 5,5 в. Например зарядка Nokia 5 вольт.
Китайской (дешёвой) может не хватить для реле. Реле много кушает.

Unmasker

Сообщения : 292
Дата регистрации : 2010-08-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Сообщение автор Unmasker в Ср Сен 05, 2012 10:52 pm

Фьюзы для терморегулятора. Галачки как в Ponyprog.

ATTiny2313
CKSEL3…0 = 0000 – Внешний тактовый сигнал;
CKSEL3…0 = 0010 – Внутренний тактовый генератор – частота 4 МГц(на схеме выше выставлен внутренний генератор).
CKSEL3…0 = 0100 – Внутренний тактовый генератор – частота 8 МГц;
CKSEL3…0 = 1101 – Внешний тактовый генератор – кварц частотой от 3 до 8 МГц;
CKSEL3…0 = 1111 – Внешний тактовый генератор – кварц частотой больше 8 МГц.

CKOUT = 1 – ножка микроконтроллера работает как обычный порт ввода-вывода;
CKOUT = 0 – на ножку микроконтроллера выдается сигнал тактового генератора.

SUT – задает скорость запуска микроконтроллера.
После снятия «сброса» (или подачи питания) программа, записанная в микроконтроллер, начинает работать не мгновенно. Микроконтроллер выжидает некоторое время, для того, чтобы нормально запустился тактовый генератор, установилось напряжение питания и т.д. Время ожидания до запуска программы и задают биты SUT1…0. Чаще всего нам не критична скорость запуска, поэтому советую ставить на максимум.
SUT1..0 = 11 – максимальное время запуска (чуть больше 65 mS). На время запуска еще влияет CKSEL0, но это уже детали …

RSTDISBL –разрешает использовать ножку Reset как еще один порт ввода-вывода. Иногда нужная вещь, но нужно знать - после программирования RSTDISBL микроконтроллер уже нельзя будет прошить последовательным программатором! Поэтому без особой надобности не трогайте его.
RSTDISBL = 1 – ножка сброса работает как сброс;
RSTDISBL = 0 – ножка сброса работает как еще один порт ввода-вывода, последовательное программирование отключено.

SPIEN – разрешение на последовательное программирование. По умолчанию запрограммирован (0) – разрешено последовательное программирование.
SPIEN = 0 – разрешено последовательное программирование;
SPIEN = 1 – запрещено последовательное программирование.

WDTON – включает Watch Dog Timer.
Для ответственных приложений, там, где недопустимо зависание программы (будь то ошибка программы или злостная помеха), применяют Watch Dog Timer. Это внутренний таймер микроконтроллера, работающий от своего независимого генератора. При переполнении этого таймера микроконтроллер сбрасывается и начинает выполнять программу с начала. Программист должен в тесте программы (обычно в главном цикле) вставить специальную команду обнуления этого таймера (WDR). Команда периодически выполняется и обнуляет таймер, не давая ему переполнится. Если микроконтроллер «повис» перестают выполняться команды обнуления, таймер переполняется и сбрасывает микроконтроллер.
WDTON = 1 – Watch Dog Timer – отключен (можно включить программно);
WDTON = 0 – Watch Dog Timer – включен (программно выключить нельзя).
В обычных приложениях не нужен.


BODLEVEL и BODEN – контроль напряжения питания микроконтроллера (Brown-out Detector).
Если питание микроконтроллера опуститься к минимально допустимому или чуть ниже, то работа микроконтроллерабудет нестабильной. Возможны ошибочные действия, потеря данных, случайное стирание EEPROM. Микроконтроллер умеет следить за уровнем своего питания (BODEN=0) и когда оно достигает уровня, который задается битами BODLEVEL, сбрасывается и держится в ресете пока уровень не поднимется до рабочего уровня. В некритических приложениях можно не использовать.

DWEN – бит, разрешающий работу DebugWire
– еще одного отладочного интерфейса. DebugWire однопроводный отладочный интерфейс работающий через ножку сброса, поэтому «не отнимает» у микроконтроллера ножки портов ввода-вывода.
DWEN= 1 – запрещен DebugWire ;
DWEN= 0 – разрешен DebugWire .

EESAVE – защита EEPROM от стирания.
При подаче команды полного стирания микроконтроллера (обычно осуществляется при каждом программировании кристалла) стирается и EEPROM. Если Вы хотите чтобы EEPROM оставалось нетронутой – активируйте этот фьюз. Это актуально если в EEPROM хранятся важные данные.
EESAVE = 1 – стирать EEPROM вместе с Flash;
EESAVE = 0 – оставлять EEPROM при очистке нетронутым.

AVR микроконтроллеры могут иметь бутлоадер – это область в конце памяти, в которой можно разместить загрузчик, который предназначен для загрузки и запуска основной программы.
BOOTRST – как раз и заставляет микроконтроллер запускаться с области бутлоадера.
BOOTRST = 1 – микроконтроллер запускает программу с нулевого адреса;
BOOTRST = 0 – микроконтроллер запускает программу с бутлоадера.

Источник: http://www.getchip.net/posts/068-kak-pravilno-proshit-avr-fyuzy-fuse-bit/

Unmasker

Сообщения : 292
Дата регистрации : 2010-08-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Сообщение автор SPadmin в Чт Ноя 28, 2013 1:28 am

Программа Sprint-Layout для переноса изображения на плату. Можно просто напечатать изображение на лист бумаги и перенести его утюгом на печатную плату. Смыть водой бумагу аккуратно стерев пальцами останутся ровные дорожки платы. Подправив маркером можно начинать травление.

Так же к этому изображению прикрепляю ссылку на печатную плату для терморегулятора на attiny2313 с клеймами для датчика температуры DS18B20.

Если в питание испульзуется зарядка для телефона 5 вольт, то не обязательно паять стабилизатор напряжения и кондесаторы, поэтому эти места можно убрать или прорисовать линию дальше по схеме.

Программа: Sprint-Layout http://yadi.sk/d/s3TGaIeQDRAyS
Макет печатной платы для программы: http://yadi.sk/d/D0sLyPw8DRDYp

Скрин печатной платы для терморегулятора:


Если ссылка на закачку не будет работать напишите мне по адресу: yura точка zav собака mail точка ru
avatar
SPadmin
Admin

Сообщения : 225
Дата регистрации : 2010-08-13

Посмотреть профиль http://sooo.2x2forum.ru

Вернуться к началу Перейти вниз

Re: Цифровой терморегулятор (термостат) / термометр (схема на attiny2313 и DS18B20)

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы можете отвечать на сообщения