Теперь когда не будет синхро, то желательно переставить сигналы
сегмент D на PD3/INT1 (5)
OFF на PC5 (28)
HEATER на PB5 (19)
плату будет легче развести.
И не сочтите за наглость, еще при установке таймера первой программы (Р0) в нулевое значение
нагрев, желательно чтобы проходил до установленной температуры без учета времени и дальше по программе,
если так можно.
tbogdan писал(а):Теперь когда не будет синхро, то желательно переставить сигналы
сегмент D на PD3/INT1 (5)
OFF на PC5 (28)
HEATER на PB5 (19)
плату будет легче развести.
Изменил. По ходу исправил мелкие ошибки. Путаюсь в работе кнопок. Проверьте все режимы.
tbogdan писал(а):...при установке таймера первой программы (Р0) в нулевое значение
нагрев, желательно чтобы проходил до установленной температуры без учета времени и дальше по программе,
если так можно.
Это еще не переварил... То есть, нагрузка сразу врубается на полную мощность? Учитывая инерционность системы будет перегрев. Или как это "без учета времени"?
Это еще не переварил... То есть, нагрузка сразу врубается на полную мощность? Учитывая инерционность системы будет перегрев. Или как это "без учета времени"?
Soir Спасибо!
давайте пока не будем ничего не менять, проверим в работе.
Небольшой отчет.
Собрал на работу для управления отопителем.Когда погода не сильно холодная то при включеной печке становится душновато.Отключишь и через несколько минут становится как то некомфортно.Вот и дергаешь тумблером туда - сюда.Предложеный Soir режим с гистерезисом понравился.Поставил температуру 20гр. и гистерезис 1 и в кабине сидеть одно удовольствие.
Всем доброго дня!
Собрал схему терморегулятора, предложенную Soir, на ATmega8
есть несколько ошибок в работе
1- нет возможности в сервисном режиме изменить количество программ (параметр Pr всегда 0)
2- переход в сервисном режиме от установки к установки проходит как то не понятно, с большой задержкой,
то есть нажимая "SET" переход к другой установке проходит через несколько секунд.
3- разогрев не происходит так как коэффициент выходной мощности всегда очень низкий (1%)
tbogdan писал(а):Собрал схему терморегулятора, предложенную Soir, на ATmega8
есть несколько ошибок в работе...
Да, есть косяки... Буду исправлять.
Неудачно выбрана стратегия работы кнопок. Это касается совмещения функций в кнопке DISPLAY. Я внес изменения в прошивку и в описание работы. Все режимы не проверял, это за Вами, у меня не хватает времени. Если такой вариант не подходит, давайте свои идеи по работе кнопок. Может Вкл. перенести на кнопку Сброс. Первое нажатие Вкл., второе Сброс...
Soir спасибо!
1. количество программ в сервисном режиме устанавливается но выполняются все 20, независимо сколько выставлено.
2. при нажатии сброс цифры мерцают
3. при входе в сервисный режим, если первая была нажата кнопка SET происходит вход в режим установки h а дальше не переключается, а если первой была нажата DISPLAY, тогда все нормально.
4. при быстром наборе температуры и выходе за верхний предел, пока не будет пересчитан SP, нагреватель остается включен.
Вкл./ стоп можно сделать так как Вы рекомендуете одной кнопкой, но обязательно надо сделать индикацию режима в каком находится регулятор, или отдельным индикатором на каком то выводе, свободен 18 (РВ4), или "OFF" на индикаторе, чередующий с показом температуры.
Пример платы.
Soir и еще, если можно уменьшить опорное напряжение примерно до 2.5В, чтоб была возможность поставить отдельный прецизионный стабилизатор, измерение и регулирование до 1000 - 1200 градусов, не более.
tbogdan писал(а):1. количество программ в сервисном режиме устанавливается но выполняются все 20, независимо сколько выставлено.
Изменения количества программ вступают в силу после их записи в EEPROM (через 10 сек после завершения манипуляций с настройками) и после отключения-включения питания. В новой прошивке этот момент реализуется при нажатии кнопки ON/OFF при старте термостата.
tbogdan писал(а):2. при нажатии сброс цифры мерцают
Должно уйти, проверьте.
tbogdan писал(а):3. при входе в сервисный режим, если первая была нажата кнопка SET происходит вход в режим установки h а дальше не переключается, а если первой была нажата DISPLAY, тогда все нормально.
Изменена работа кнопок. Описание во вложении, проверяйте.
tbogdan писал(а):4. при быстром наборе температуры и выходе за верхний предел, пока не будет пересчитан SP, нагреватель остается включен.
Очевидно Ваш нагреватель слишком мощный для такого алгоритма, давайте свой.
tbogdan писал(а):Вкл./ стоп можно сделать так как Вы рекомендуете одной кнопкой, но обязательно надо сделать индикацию режима в каком находится регулятор, или отдельным индикатором на каком то выводе, свободен 18 (РВ4), или "OFF" на индикаторе, чередующий с показом температуры.
Вынес светодиод. Можно, конечно, индикацию ON/OFF засунуть в перебор DISPLAY или SET, как скажете.
tbogdan писал(а):и еще, если можно уменьшить опорное напряжение примерно до 2.5В, чтоб была возможность поставить отдельный прецизионный стабилизатор, измерение и регулирование до 1000 - 1200 градусов, не более.
tbogdan писал(а):и еще, если можно уменьшить опорное напряжение примерно до 2.5В, чтоб была возможность поставить отдельный прецизионный стабилизатор, измерение и регулирование до 1000 - 1200 градусов, не более.
С этим чуть позже разберусь...
Давайте разберемся.
В данной прошивке в качестве опорного напряжения используется внешнее напряжение, подаваемое на вход AREF (pin 21). В нашем случае +5V. Шкала прибора 0-5000. Вы можете подать на вход AREF другое напряжение, в пределах от 2,5 до 5,0V. Шкала прибора при этом сохранится - 0-5000. То есть, при подаче напряжения на вход АЦП от 0 до AREF показания прибора будут от 0 до 5000.
Если Вам просто нужна другая шкала, можно внести изменения в прошивку под Ваши требования.
Есть еще вариант использования внутреннего опорного напряжения 2,56V. На вход AREF цепляется конденсатор для уменьшения влияния помех. Со шкалой та же история...
Можно также использовать AVCC c подключением конденсатора на вход AREF...
Вот и все варианты. На каком остановимся?
P.S.
Шкалу лучше уменьшить, все равно АЦП лишь 10 бит... Точнее будут показания.
Soir я Вам признателен за работу которую Вы делаете, СПАСИБО!
4. при быстром наборе температуры и выходе за верхний предел, пока не будет пересчитан SP, нагреватель остается включен.
Очевидно Ваш нагреватель слишком мощный для такого алгоритма, давайте свой.
Алгоритм подходит нормально, я имитировал перегрев, пробовал как поведет себя регулятор.
Есть еще вариант использования внутреннего опорного напряжения 2,56V. На вход AREF цепляется конденсатор для уменьшения влияния помех. Со шкалой та же история...
Точности внутреннего опорного напряжения хватит, так что можно подключить внутренний источник опорного напряжения с конденсатором на AREF, плата у меня так и сделана.
Шкалу сделать от 0 до 1000 градусов.
попробую только после выходных
tbogdan писал(а):Точности внутреннего опорного напряжения хватит, так что можно подключить внутренний источник опорного напряжения с конденсатором на AREF, плата у меня так и сделана.
Шкалу сделать от 0 до 1000 градусов.
Изменил прошивку. Напряжение на входе АЦП должно быть в пределах 0-2,5V.
Кстати. Выходное сопротивление источника сигнала должно быть не более 10 кОм. У Вас на схеме R14 100 кОм.
Ну и еще. Если показания будут прыгать, говорите, будем что-то усреднять, увеличивать количество замеров и т.д.
Доброго дня ! Soir, не сочтите за наглость, но хотел попросить еще несколько изменений в прошивке,
более удобно будет, если количество заданных программ в сервисном меню, будет соответствовать и в режиме установок (SET).
В данной прошивке, количество программ отрабатывается то что задано в сервисном меню,
но в режиме установок перебираются все 20.
Все таки желательно сделать обязательное отключение нагревателя, при превышении текущей температуры над установленной.
И еще, если можно, озвучить конец программы и переход на другую, и само собой окончание работы.
Выход сделать на бузер с встроенным генератором, чтоб было проще, свободные остались только PB6 (9) и PB7 (10). Soir, получился не плохой регулятор, может лучше будет если переместите в новую тему, а то в этой теряется не подходит название.
После испытаний выложу платы и вид устройства.
Еще раз БОЛЬШОЕ спасибо!!!!
tbogdan писал(а):...более удобно будет, если количество заданных программ в сервисном меню, будет соответствовать и в режиме установок (SET).
В данной прошивке, количество программ отрабатывается то что задано в сервисном меню,
но в режиме установок перебираются все 20.
Изменил.
tbogdan писал(а):Все таки желательно сделать обязательное отключение нагревателя, при превышении текущей температуры над установленной.
Тут давайте подробнее. Нагреватель отключается, а программа продолжает работать? Или отключается все устройство? В общем нужен алгоритм поведения в таком случае.
tbogdan писал(а):И еще, если можно, озвучить конец программы и переход на другую, и само собой окончание работы.
Выход сделать на бузер с встроенным генератором, чтоб было проще, свободные остались только PB6 (9) и PB7 (10).
Добавил. Включение питания один короткий. Запуск/остановка - один короткий. Завершение программы - два коротких. Завершение всего цикла - три длинных. Можете предложить свою "музыку". Обратите внимание на нагрузку вывода под Buzzer, возможно надо усилитель (транзисторный ключ).
Ну и, как я понял, используется внутренний тактовый генератор, кварц не нужен.
tbogdan писал(а):...может лучше будет если переместите в новую тему, а то в этой теряется не подходит название.
Если есть желание - создавайте тему, мне как-то... Только дайте ссылку, чтобы я мог отвечать на вопросы, если таковые будут.
схемa и соответственно прошивка устройства типа двухканального термостата с двумя каналами по нагрузке (типа один датчик на один канал), три кнопки управления, один 3-й индикатор с общим анодом, датчик температуры 18В20 , диапазон регулироки температуры термостата 0 - 125 град. С , гистерезис 1 - 20 град, везде шаг температуры 1 град. микроконтроллер или PIC16F84 если его хватит или ATTiny2313