Программируемый на неделю комнатный термостат.

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
asup
Встал на лапы
Сообщения: 133
Зарегистрирован: Сб янв 23, 2010 14:30:30
Откуда: Украина, Харьковская область
Контактная информация:

Re: Программируемый на неделю комнатный термостат.

Сообщение asup »

Victor_P. писал(а):Horik
может просто по питанию проблемы, блокировочные (или как их там правильно называют) конденсаторы по 0.1мк под каждой МС на питании сидят?


У меня на плате блокировочные только после и до КРЕНы строят, но никаких сбоев не разу не было.
Ramzes
Родился
Сообщения: 7
Зарегистрирован: Пт апр 04, 2008 20:56:06

Re: Программируемый на неделю комнатный термостат.

Сообщение Ramzes »

Horik писал(а):Прошивал STK-200 в Pony Prog,

В Pony Prog, надо обратить внимание на фуз биты для программирования AVR. Не всегда сходяться (инвертирует) с установкой фуз бит других программаторов, в частности CodevisionAVR.

Спасибо, Игорь Владимирович за нужное устройство.
Можно ли добавить в устройство, управление циркуляционным насосом по разнице температур обратки и подачи? При этом можно отказаться от настроек термостата на каждый день, а ограничиться: рабочие дни (понедельник-пятница) и выходные (суббота-воскресенье). Думаю, что ритм жизни у многих не столь разнообразен.
Аватара пользователя
Игорь Владимирович
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб дек 12, 2009 00:49:45
Откуда: Украина, г. Житомир

Re: Программируемый на неделю комнатный термостат.

Сообщение Игорь Владимирович »

Можно добавить, но в текущей конфигурации памяти мало осталось, а если менять алгоритм на будни и выходные, то надо программу полностью перелопачивать. Я, увы, заниматься этим не хочу, да и не то уже устройство получается.

Если разбираетесь в програмировании, правьте исходник самостоятельно. :wink:
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Re: Программируемый на неделю комнатный термостат.

Сообщение Vitalik_Nic »

Пытаюсь в исходник добавить еще один порт для управления подсветкой дисплея, чтобы включалась подсветка при нажатии любой
кнопки и горела еще на протяжение где то 30 секунд после последнего нажатия кнопок.
Здесь в куске программы void main(void) есть функция t1_start(), перед каждой функцией я включаю порт РС3, подсветка включилась

PORTC |=1<<3
t1_start(); // Старт отсчета на выход

while (!(btn_ok)) // Выполнять если "ОК" не нажата
{
#asm ("cli")
if(btn_right) // Нажато "вправо"
{
if(++menu.state==3) menu.state=1;
tsk_clr();
PORTC |=1<<3
t1_start();
temp_adj(menu.state);
};

if(btn_left) // Нажато "влево"
{
if(--menu.state==0) menu.state=2;
tsk_clr();
PORTC |=1<<3
t1_start();
temp_adj(menu.state);
}; ......

А вот как отключить ни как не пойму
возможно нужно дописать в

void t1_start (void)
{
TCNT1H=0x00; // Регистры таймера
TCNT1L=0x00;
TCCR1A=0x00; // Регистры контроля
TCCR1B=0x05; // F_osc./1024

отключения PORTC &= ~(1<<3)
как сделать проверку когда таймер закончит считать и переключит порт в 0

Возможно я что то не так думаю или делаю (знаний в МК пока никаких, но элементарные познания есть)
Аватара пользователя
Victor_P.
Поставщик валерьянки для Кота
Сообщения: 2168
Зарегистрирован: Сб окт 10, 2009 10:34:07
Откуда: Україна, Хорол

Re: Программируемый на неделю комнатный термостат.

Сообщение Victor_P. »

Vitalik_Nic писал(а):Пытаюсь в исходник добавить еще один порт для управления подсветкой дисплея, чтобы включалась подсветка при нажатии любой
кнопки и горела еще на протяжение где то 30 секунд после последнего нажатия кнопок.

неплохая идея

Vitalik_Nic писал(а):как сделать проверку когда таймер закончит считать и переключит порт в 0

или я что-то не так понял, или ты что-то не так спросил
но вродь таймер когда заканчивант считать (переполняется) генерирует прерывание и по нему уже и можно выполнить кусок кода

вообще конечно в этой прошивке память меги под завазку забита, о чем автор уже неоднократно писал, так что может просто не влезть ничего работающего
вот идея есть, вродь автор говорил, что считывание температуры (get_temp(void)) проводится каждую секунду
может добавить глобальную переменную unsined char, при инициализации и при нажатии любой кнопки сбрасывать ее в 0, а в теле функции get_temp добавить увеличение ее на 1 и проверку, как станет 30, гасить порт
но вот проблема с местом все равно остается
Мои паяльные станции: первая, вторая, фен.
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Re: Программируемый на неделю комнатный термостат.

Сообщение Vitalik_Nic »

В принципе получилось, почти, при нажатие кнопок (ок, down, up) зажигается подсветка дисплея
горит до тех пор пока не будет событие по таймеру стоп или пока не выйдем с меню настройки.
Вложения
66.c
(45.21 КБ) 858 скачиваний
Аватара пользователя
Игорь Владимирович
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб дек 12, 2009 00:49:45
Откуда: Украина, г. Житомир

Re: Программируемый на неделю комнатный термостат.

Сообщение Игорь Владимирович »

Посмотрите в процедуре обработки прерывания по таймеру 0.
Там есть кусок кода, отвечающий за обработку клавиатуры и все хорошо закомментировано.
Когда подтверждается нажатие кнопки, в глобальною переменную btn_tsk заносится значение нажатой кнопки, а в конвеере в основном цикле ожидается выполнение команды. Я думаю здесь можно организовать включение подсветки по нажатию кнопки.

После выполнения кода, отвечающего за кнопку, переменная btn_tsk обнуляется программно.

В этом же прерывании по таймеру 0 после нажатия кнопки сразу можно стартовать обратный отсчет (присваивать нужное значение переменной таймаута подсветки), и в нем же добавить цикл проверки этой переменной. Сначала минусовать 1, и потом, когда переменная равна нулю - выключить подсветку. Естественно надо добавить еще и код, чтобы переменная не минусовалась ниже 0.

Вот как-то так...
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Re: Программируемый на неделю комнатный термостат.

Сообщение Vitalik_Nic »

Делаем проще,
Есть функции "Старт таймера 1" и "Остановка таймера 1"
туда добавляем всего две строчки PORTC |=1<<3 и PORTC &= ~(1<<3),
для меня пока этого достаточно.
Дальше хочу добавить эффекты вывода информации на дисплей (слева на право, сверху вниз, и тому подобное)
так для .... чтоб было.
Вложения
термостат 1.c
(43.69 КБ) 826 скачиваний
Аватара пользователя
Игорь Владимирович
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб дек 12, 2009 00:49:45
Откуда: Украина, г. Житомир

Re: Программируемый на неделю комнатный термостат.

Сообщение Игорь Владимирович »

Хорошее решение. Можете добавить еще плавное управление яркостью подсветки дисплея посредством ШИМ.
Передвиньте кнопку с выхода таймера2 ОС2А и добавьте код

Секция #define
#define brightness_increase 5 // 1-255 прирост яркости LCD за раз (опр. скорость изменения уровня подсв.)

Секция Глобальные переменные
unsigned char brightness; // Яркость подсветки дисплея

Секция INIT
//Настроить Timer2 на режим Fast PWM, top 0xFF, System clock 4'000 kHz (без прескалера) -> частота ШИМ ~15,6 kHz

Секция прерывания по таймеру0
if(OCR1BL != brightness)
{
if (brightness > OCR2) // Ярче
{
temp=brightness-OCR2;
if( temp>=brightness_increase ) OCR2+=brightness_increase;
else OCR2+=temp;
}
else // Темнее
{
temp=OCR2-brightness;
if( temp>=brightness_increase ) OCR2-=brightness_increase;
else OCR2-=temp;
};
};

Теперь после изменения глобальной переменной brightness в любой точке программы яркость будет плавно добавляться или уменьшаться до заданного значения.
Аватара пользователя
belyay
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пн авг 25, 2008 10:24:51
Откуда: Россия, Магадан

Re: Программируемый на неделю комнатный термостат.

Сообщение belyay »

Добрый день, прошу помощи... собрал на макетке термостат
запускаю с начало в верхнем левом углу экрана высвечивается ".5"
потом 20.0|| (на верхней строке)
ПОН 00:00:80(на нижней строке)
если зайти в меню настройка часов то с верху моргаек кватратик на пустом поле а с низу дата.
Не знаю что может быть, может кодировка не подходит... :cry:
модель экрана "RAYSTAR RC1602B-GKY-CSX"
Аватара пользователя
belyay
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пн авг 25, 2008 10:24:51
Откуда: Россия, Магадан

Re: Программируемый на неделю комнатный термостат.

Сообщение belyay »

Сам разобрался, был подгоревший МК (епом непрошивался нормально) поменял на другой, все стало на свои места, осталось достать клапан.
azazar
Родился
Сообщения: 2
Зарегистрирован: Вт авг 31, 2010 18:28:50

Re: Программируемый на неделю комнатный термостат.

Сообщение azazar »

Помогите советом.Собрал данный термостат кстати нужная в хозяйстве вещь,постоянно выдает ошибку 1-W.Датчики менял,питание приходит,подтяжка 4к7 испрана.Такое чувство что прошивка криво становиться но почему?прошивки перепробовал и первую и исправленную,да ATmega 8 тоже менял.Еще странная вещь если посмотреть фьюзы прошитого контроллера то они уже стоят не так как прошивал.Что скажите?
Аватара пользователя
Satriani
Родился
Сообщения: 17
Зарегистрирован: Сб янв 02, 2010 08:18:26
Откуда: Симферополь, Крым

Re: Программируемый на неделю комнатный термостат.

Сообщение Satriani »

Была и у меня такая же ошибка, выше автор выложил фьюзы, я выставил как на картинке, прошил, у меня после этого девайс сразу заработал :)
Аватара пользователя
Balaganoff
Родился
Сообщения: 12
Зарегистрирован: Пт окт 30, 2009 21:54:06

Re: Программируемый на неделю комнатный термостат.

Сообщение Balaganoff »

belyay писал(а): осталось достать клапан.


Та-же проблема :cry:
Ума не приложу где его реально купить через инет.
Жизнь - краткий сон....
Аватара пользователя
Игорь Владимирович
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб дек 12, 2009 00:49:45
Откуда: Украина, г. Житомир

Re: Программируемый на неделю комнатный термостат.

Сообщение Игорь Владимирович »

Какой клапан нужен? Газовый нормально закрытый на низкое давление?

Такие имеются в сервисах каждой конторы по обслуживанию котлов. Поспрашивайте на таких конторах на предмет наличия Б/У клапанов без модуляционной катушки.
В них обычно по 2 соленоида безопасности + один соленоид открытия на 3/3 - 1/3 (малое и большое горение), либо только 2 соленоида на открытие (но это для спец апаратов, в домашних котлах исп. очень редко). Использование пары соленоидов - для повышения безопасности, хотя опять таки возможны конструкции с использованием одного основного соленоида.
Такие клапана обычно снабжаются еще и регулятором давления (редуктором) малого и большого горения, устройством компенсации давления в топке и т. д. - стандартный набор функционала клапана бытового котла.
Современные модели обычно снабжаются клапанами с наличием модулирующей катушки.

Пример - клапан "Honeywell" VK4100C. В него два соленоида, редуктор фиксированого давления + плавный старт (подъем давление газа на выходе). Фирменная автоматика включает клапан на время розжига напряжением =220В, а потом после получения сигнала пламени удерживает напряжение =100В. Хотя можно стабильно запитывать напряжением 220В.

Изображение

У меня, к стати, такой имеется.... :wink: Жаль только Краснодарский край далековато находится... :?
Вложения
166202_nagyarufoto.jpg
Клапан "Honeywell" VK4100C
(95.62 КБ) 4535 скачиваний
Аватара пользователя
Balaganoff
Родился
Сообщения: 12
Зарегистрирован: Пт окт 30, 2009 21:54:06

Re: Программируемый на неделю комнатный термостат.

Сообщение Balaganoff »

Игорь Владимирович писал(а):Какой клапан нужен? Газовый нормально закрытый на низкое давление?


Нет , Игорь Владимирович, мне нужен нормально открытый. Я хочу поставить его (не трогая штатной механической автоматики) на обычный котел, как это описал Pavel55.

Да все просто клапан устанавливается на место крана подачи газа, а кран ставиться ниже-ближе к горелке.Управление осуществляется через контакты терморегулятора.Терморегулятор можно использовать любой с точной зоной чуствительности(гистерезисом) это наиболее простая и дешевая.У меня она намного сложней т.к я начинал всю историю с регулирования скорость насоса.И сейчас аллогоритм следующий- тем.штатного регулятора по воде выставлена на 60 гр.(мне этого хватает при морозах до 30 ) Сначала идет регулировка скоростью насоса а если этой регуровки не хватает итемпература поднимается выше 1го гр.от заданной то поступает команда от 2х канального ПИД регулятора на вкл.клапана.Это сделано потому что уже было.Не уверен что нужно такое сложное регулирование,думаю будет досаточно одного клапана.Более подробно тема описна на www.mastercity.ru Нужно в поисковике набрать РЕГУЛИРОВАНИЕ ГАЗОВОГО КОТЛА ПО ВОЗДУХУ. Буду на даче пришлю фото.Да безусловно нужно прекрасно понимать что вы занимаетесь делом ПОВЫШЕННОЙ ОПАСНОСТИ.Я сам инженер КИПА.Успехов.
Жизнь - краткий сон....
Аватара пользователя
Игорь Владимирович
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб дек 12, 2009 00:49:45
Откуда: Украина, г. Житомир

Re: Программируемый на неделю комнатный термостат.

Сообщение Игорь Владимирович »

Нормально открытые клапана в котлах не используются!!!!!!

Подача газа на горелку - только в случае наличия электричества.

Можно использовать дежурную горелочку, а сигнал управления включением основного пламени на клапан снимать с термостата. В таком случае розжиг основного пламени будет автоматический.
Используйте газовую автоматику с термопарой (та что стоит в дубовом котле первоначально), а после нее поставьте вышеупомянутый клапан. Дежурное пламя и его контроль естественно нужно взять с первой газовой автоматики.
Борис Михайлович
Родился
Сообщения: 6
Зарегистрирован: Вс сен 12, 2010 08:00:15

Re: Программируемый на неделю комнатный термостат.

Сообщение Борис Михайлович »

Уважаемый автор, скажите пожалуйста, для чего в зипах прошивок есть файл с расширением rom :shock: Как его использовать? Извиняюсь за собственную некомпетентность(Начинающий).
Аватара пользователя
Игорь Владимирович
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб дек 12, 2009 00:49:45
Откуда: Украина, г. Житомир

Re: Программируемый на неделю комнатный термостат.

Сообщение Игорь Владимирович »

Это один из форматов дампа памяти, что и hex-файл. Компилятор генерит hex и rom файл в нагрузку.
Борис Михайлович
Родился
Сообщения: 6
Зарегистрирован: Вс сен 12, 2010 08:00:15

Re: Программируемый на неделю комнатный термостат.

Сообщение Борис Михайлович »

Ага, значит не париться по поводу его присутствия. :)) . А вот чтобы получить постоянный выходной сигнал на реле, нужно скомпилировать файл 66.с, при этом получится соответствующий hex ? Файл eep взять из архива? Если можно фуз биты для STK-200 Pony Prog.
Ответить

Вернуться в «Статьи»