Например TDA7294

Форум РадиоКот • Просмотр темы - Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб июл 26, 2025 04:32:50

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 103 ]    , , , 4, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Вс ноя 22, 2015 22:49:30 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 1
Вот пришлось вернуться к своей старой конструкции. Занимался дома ремонтом и решил сделать на балконе емкость для хранения овощей и др. запасов в зимнее время, чтобы место свободное не пустовало в холода. Опыт подобный уже имелся, вот и решил повторить, правда условия для этого на балконе хуже, чем если бы это лепить в лоджии. Что получилось можно посмотреть на фотках. Но вопрос не в этом. Вначале планировал использовать термостат как есть, без переделок, лежит же долго, использовал редко, эпизодически, но потом было решено делать капитально и собрал конструкцию специально под эту конкретную задачу. Попытки поправить прошивку, в конечном итоге, привели к полному ее переписыванию с самого начала и до завершения всех задумок. Lavr12 и другие повторившие конструкцию, писали о некоторых недостатках, многое постарался учесть, но не все.
Мигание нагрузки в момент включения питания победить не удалось. Это нужно изменять схему включения оптопары на управлении симистором, связано с особенностями порта РА4 (с открытым коллектором). При включении питания РА4 подтянут к +5В резистором, до момента инициализации портов он находится в 3-м состоянии, естественно на управляющий транзистор подается высокий уровень, он то и включает кратковременно симистор. Очень короткий импульс, но иногда действительно заметный глазом. Решил ничего не менять, так как при включении, даже при управлении компрессором холодильника, он не успеет среагировать, не говоря об использовании нагревателей, им вообще никак это не вредит.
Мерцание индикатора при опросе датчика убрал.
Опрос датчика сделал реже, один раз за 2 секунды.
Добавлен контроль CRC и индикация отказов обращения к датчику.
Добавлены режимы работы по таймерам в случаях отказа датчика
Изменил алгоритм опроса кнопок. Добавил "плавный разгон" при длительном удержании кнопок "плюс" и "минус".
Изменена процедура установки температуры и ее сохранение в памяти.
Гистерезис теперь считается только в сторону уменьшения от уст. температуры.
И другие мелочи, о которых можно прочитать в текстовом файле комментария...

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


Вложения:
Foto_termo-1.rar [476.77 KiB]
Скачиваний: 525
Foto_termo-2.rar [547.34 KiB]
Скачиваний: 444
Комментарий к файлу: Прошивки от 20.11.2015
Term_DS18B20_Ver3.rar [265.18 KiB]
Скачиваний: 633


Последний раз редактировалось Хатуль_мадан Вс ноя 22, 2015 22:55:30, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Вт ноя 24, 2015 22:10:39 
Электрический кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 17
Зарегистрирован: Вт авг 17, 2010 11:58:06
Сообщений: 1096
Откуда: Казань
Рейтинг сообщения: 0
Хатуль_мадан
у меня возникло желание собрать вот такую схемку (надоело менять лампочки) http://radio.aliot.com.ua/?p=720 .В этой схемке тоже наблюдались моргания ,о чём ему писали собравшие.Если есть желание,то свяжитесь с ним и может чего путного подскажет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Ср ноя 25, 2015 06:48:14 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 0
Что то не понял, а какая связь с лампочками?
Моргания были на светодиодном индикаторе в момент опроса датчика. Сейчас все устранено.
Если это к управлению нагрузкой, то тут нет смысла городить контроль перехода через ноль.
Оптопара уже содержит такой узел и переключение нагрузки происходит именно при нулевом токе.
Лампочки в качестве нагревателей я использовал в своей первой конструкции зимнего хранилища,
но тут решил отказаться из-за следующих причин:
низкая надежность нити накала;
легко разбить;
большие габариты;
лишний свет не идет на пользу;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Ср ноя 25, 2015 08:06:57 
Электрический кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 17
Зарегистрирован: Вт авг 17, 2010 11:58:06
Сообщений: 1096
Откуда: Казань
Рейтинг сообщения: 0
Значит я не внимательно прочитал,где и в чём была причина морганий.Извиняюсь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Вс мар 13, 2016 13:30:13 
Родился

Зарегистрирован: Пт апр 18, 2008 22:25:15
Сообщений: 4
Откуда: Саратов
Рейтинг сообщения: 0
Доброго времени суток. Собрал схему на выложенной печатной плате. Собрал на pic16f84a и индикаторах с общим катодом по схеме из архива. Прошивка из последних. Температуру показывает, нагрузкой не управляет. В пределах работы П-регулирования работает нормально. Если отключить режим или измеренная температура меньше гистерезиса только короткие импульсы примерно раз в две секунды. Подскажите куда копать? Пробовал шить первой версией работает нормально, но индикатор работает не правильно.


Вложения:
LCD-OC.PNG [30.93 KiB]
Скачиваний: 558
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Пн мар 14, 2016 07:56:42 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 0
По описанию проблемы, вроде программа виновата. Но вот только что подправил модель под ваш вариант и проверил работу, никаких косяков не обнаружил, все работает как и задумано. Живьём проверять не на чем, нет ни индикаторов, ни такого МК. Немного непонятно, значит в режиме пропорционального регулирования все в норме, а при его отключении нагрев не включается вообще? Я такого обнаружить не смог. Может неправильно выключаете П-регулирование, или случайно включен режим холодильника ( тогда включение будет с большой задержкой и при превышении температуры). Можно попробовать в П-регулировании уменьшить гистерезис до нуля, тогда термостат будет работать в пороговом режиме, температура ниже установленной- сразу включение нагрева, если выше то выключение. Думаю не забыли подтягивающий резистор на порт РА4 т.к. у него выход с открытым коллектором. Больше не знаю что можно предположить. Мой первый вариант термостата был на PIC16F84A но индикатор с ОА, работает нормально. У всех вариантов программы одинаковый алгоритм работы, разница только в инверсии выходов для индикаооров, это никак не влияет на управление нагревом.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Пн мар 14, 2016 19:47:14 
Родился

Зарегистрирован: Пт апр 18, 2008 22:25:15
Сообщений: 4
Откуда: Саратов
Рейтинг сообщения: 0
Спасибо за ответ!
Наверное путано написал. Если отключить режим пропорционального управления, то происходит кратковременное включение нагрузки (менее секунды) с частотой примерно 2 секунды до температуры порога отключения. Гистерезис пробовал менять от 0,1 до 4 градусов. В режиме охлаждения аналогично. Но если включить режим пропорционального управления и например установить гистерезис в 1 градус происходит следующее: кратковременное включение нагрузки до температуры на один градус меньше порога отключения, нормальная работа пропорционального регулирования до порога отключения. Датчик нагревал рукой или поднося к паяльнику

Первый вариант прошивки пробовал залить, работает нормально, но при опросе датчика небольшое мигание и индикатор не пойми что показывает.

Проверю еще раз подтягивающий резистор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Пн мар 14, 2016 21:08:56 
Родился

Зарегистрирован: Пт апр 18, 2008 22:25:15
Сообщений: 4
Откуда: Саратов
Рейтинг сообщения: 0
продублировал подтягивающий резистор, изменений нет


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Вт мар 15, 2016 08:15:56 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 0
Попробуем еще раз разобраться, чтобы хоть знать, где копать.
Какой файл прошивки применяете, с коммутацией для анодов, или катодов?
Если стоят транзистры в цепях катодов индикатора (инверсия), то нужен 16F84_Led-OA_comm_anode c переключением разрядов высокими уровнями на выходе. Эта прошивка проверена и в железе, работала без проблем. Есть ли возможность удалить транзисторы в цепях катодов индикатора и переключить эти катоды непосредственно на соответствующие ножки МК? Прошивка при этом должна быть16F84_Led-OС_comm_cathode. Будут ли какие изменения в работе? И вообще, есть ли уверенность в исправности самого МК? Бывали случаи неисправности только некоторых ног портов.
При температуре ниже установленной, происходит кратковременное включение нагрева, с периодом опроса датчика (2 сек). А на сколько кратковременно, можете глянуть осциллографом прямо на РА4 выходе порта? Получается в процессе работы, датчик опрашивается, происходит анализ и включение нагрева, а потом что то заставляет его выключиться. Не перегружен ли выход с МК? Можно отключить все от этой ноги и посмотреть, что происходит с выходом в этом случае. Просто странное поведение. Собрано пара таких термостатов и ни на одном такого не наблюдал, на разных МК и прошивки 16F84_Led-OA_comm_anode и 16F628_Led-OA_comm_anode.
Да, небольшой отчет о зимнем холодильнике на балконе по прошествии зимы (пост выше на этой странице). В январе, когда у нас температуры за окном опускались ниже -24...-26 термостат отлично держал установленные +4 градуса с гистерезисом 0.2 гр. При этом периодичность включений нагрева была 11...12 минут и сам нагрев в среднем по 70...90 секунд. При температурах на улице до -8 градусов, включений нагрева не замечал вообще, а температура внутри почти всегда была на градус два выше установленной. Пока за эти полгода эксплуатации ни разу не зафиксировано каких либо сбоев в работе датчика и самого термостата, не знаю, как будет в дальнейшем. Повышения ежемесячного расхода электроэнергии тоже не заметил, может просто зима была теплой. Доедаем второй мешок картошки. :-) По внешнему виду, как будто ее только что туда засыпал, с осени существенных изменений нет. В общем, результатом доволен.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Чт мар 17, 2016 21:01:32 
Родился

Зарегистрирован: Пт апр 18, 2008 22:25:15
Сообщений: 4
Откуда: Саратов
Рейтинг сообщения: 0
Автору респект! Уменьшил номинал подтягивающего резистора (R2) до 1,6К и все заработало как надо. VT5 - BC846 - возможная причина.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Чт апр 21, 2016 14:13:08 
Открыл глаза

Зарегистрирован: Чт май 01, 2014 22:09:14
Сообщений: 53
Рейтинг сообщения: 0
Спасибо автору.... Неплохая конструкция. Но при использовании в инкубаторе...возникли проблемы с повышенными показаниями на 1.5-2 градуса.... Конечно думаю про датчик и про саморазогрев..... Как можно избавится от этой неприятности. Поскольку при повышении на 0.5 градуса он все равно недогревает, а на 0.8 начинает перегревать. Может попробывать фантомное питание,? Автор не могли бы вы переделать прошивку с опросом датчика раз в 10-15 секунд?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Пт апр 22, 2016 10:47:35 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 0
Саморазогрев возможен, но маловероятен. Сейчас опрос идет раз в 2 сек. Все интервалы привязаны к этому периоду, изменить можно, но надо ли? Возможно сам датчик имеет отклонение, может попробовать его заменить? У меня есть один, который показывает в меньшую сторону, например температуру тела всегда показывает 35.8 ... 36.2 градуса, занижено, но стабильно. Можно попробовать ввести поправочный коэффициент, но нет уверенности что он линеен во всем диапазоне температур. Про недогрев или перегрев думаю можно поэкспериментировать с гистерезисом, или вовсе выставить его нулевым. Тут наверно в большей степени сказывается инерционность нагревателя и всей системы в целом. Попробуйте еще подобрать резистор подтягивающий однопроводку с датчика, R1 по схеме. Может ток там завышен?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Ср май 04, 2016 21:15:18 
Потрогал лапой паяльник
Аватар пользователя

Карма: 4
Рейтинг сообщений: 88
Зарегистрирован: Вт апр 17, 2012 17:26:02
Сообщений: 383
Откуда: Евпатория
Рейтинг сообщения: 0
Mожно как-либо увеличить максимальное значение гистерезиса с 4 до 15-25 градусов?Думаю 4х градусов для управления бойлером будет маловато,слишком часто будет включаться-отключаться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Чт май 05, 2016 11:48:42 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 0
Вода будет остывать довольно долго на 4 градуса. За всю ночь может остыть градусов на 20. И что плохого, если бойлер включится лишний раз в час? Сделать можно, вот только думаю надо ли, наоборот уменьшил. В первых версиях было 8 или 16 градусов (1 байт в формате датчика).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Чт май 05, 2016 12:08:25 
Потрогал лапой паяльник
Аватар пользователя

Карма: 4
Рейтинг сообщений: 88
Зарегистрирован: Вт апр 17, 2012 17:26:02
Сообщений: 383
Откуда: Евпатория
Рейтинг сообщения: 0
При условии,что ночью нет расхода горячей воды,то да, она и на 10 градусов не остынет,а днем,когда то посуду помоешь,то еще че-нибудь на 4 градуса остывать будет очень быстро.
Нужно еще не забывать что датчик в конструкции бойлера находится в нижней трети емкости,куда поступает холодная вода,так что остывать он будет еще быстрее,чем горячая вода в верхней половине бойлера.
Не совсем понял про 1 байт в формате датчика,по какому адресу он находится чтобы попробовать на программаторе его изменить?Насколько я разобрался в теме этот параметр не в ЕЕПРОМ находится?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Чт май 05, 2016 18:37:55 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 0
Нет, переменная гистерезиса находится в епром, а ограничение ее максимума в программе. Формат температуры с датчика это 12 битное число, где младшие 4 бита это десятые доли градуса. Значит оставшиеся 4 старшие бита, в байте установки гистерезиса, могут содержать максимум 16 целых градусов. Если надо гистерезис 20 градусов, то в математике расчетов надо выделять на эту переменную 2 байта, или отказываться от дробных долей градуса.
Не пойму зачем все это надо. Израсходовал 5 литров горячей воды, датчик остыл и включился нагрев, как только эти 5 литров снова нагреются, произойдет отключение нагрева. К тому же в бойлере граница между холодной и горячей водой четко выражена, они не смешиваются. Поэтому изменение гистерезиса вообще ничем не поможет, верх может быть нагрет более 50 гр, а внизу холодная вода 10 гр. Так гистерезис теперь более 40 градусов выставлять? Тут только менять положение датчика в бойлере, другого пути не знаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Пт май 06, 2016 11:19:16 
Потрогал лапой паяльник
Аватар пользователя

Карма: 4
Рейтинг сообщений: 88
Зарегистрирован: Вт апр 17, 2012 17:26:02
Сообщений: 383
Откуда: Евпатория
Рейтинг сообщения: 0
Менять положение датчика датчика в бойлере не вариант.
А вот иметь возможность играться гистерезисом в более широких пределах,хотя бы 15 градусов...Универсальность конструкции от этого точно не пострадает. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Пт май 06, 2016 11:41:34 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 0
Не вопрос :))
Как только соберёте регулятор, увеличу гистерезис до 15 градусов. Сообщите тип МК и индикатора, чтобы не плодить кучу прошивок.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Пт май 06, 2016 13:53:18 
Потрогал лапой паяльник
Аватар пользователя

Карма: 4
Рейтинг сообщений: 88
Зарегистрирован: Вт апр 17, 2012 17:26:02
Сообщений: 383
Откуда: Евпатория
Рейтинг сообщения: 0
Так собран уже,поменять индикатор на 4х разрядный и все,силовые элементы едут из Китая,а пока можно контролировать работу по светодиодам или какой-нибудь временный вариант придумать типа высоковольтный полевик и диодный мост. :)
Индикаторы 4х разрядные есть ARK SR420361N OK.ПИК 628А,а то на фото отсвечивает :)

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20
СообщениеДобавлено: Пт май 06, 2016 14:55:10 
Держит паяльник хвостом
Аватар пользователя

Карма: 19
Рейтинг сообщений: 150
Зарегистрирован: Ср мар 03, 2010 11:48:00
Сообщений: 997
Откуда: Уфа
Рейтинг сообщения: 1
Держите. dT максимально 15,2 гр.


Вложения:
Termostat_DS18B20_16F628_LED-OA_dT_15.rar [2.1 KiB]
Скачиваний: 358
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 103 ]    , , , 4, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y