Например TDA7294

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

Текущее время: Чт фев 26, 2026 10:49:50

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1950 ]     ... , , , 63, , , ...  
Автор Сообщение
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 20:41:11 
Встал на лапы

Зарегистрирован: Вс апр 10, 2011 08:17:13
Сообщений: 87
Рейтинг сообщения: 0
С последней прош.при первом включении(сразу после прошивки МК)на индикаторах 8.80 8.80 и тишина.При последующих вкл.-выкл.изменений нет.Пробовал ставить другой PIC-ничего не меняется.Интересно,где эта собака зарылась?


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 20:45:22 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
kuchar писал(а):
Попробовал последнюю прош.ВСЕ ПО-ПРЕЖНЕМУ

Попробовал на макете - таже фигня. Правда на макете у меня индикация другая и индикатор один, так что часть прошивки я менял.
Покопался в прошивке. Пришел к выводу, что неправ компилятор. Странно, что Proteus симулирует нормально. Переписал спорные фрагменты кода, проверьте.


Вложения:
Termometr.zip [3.95 KiB]
Скачиваний: 270
Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 21:33:12 
Встал на лапы

Зарегистрирован: Вс апр 10, 2011 08:17:13
Сообщений: 87
Рейтинг сообщения: 0
Вот теперь включается и выключается без проблем-пробовал вплоть до дребезга в розетке,хотя и планирую питать от аккумулятора.При вкл. на индикаторах прочерки, одновременно звучит прерывистый сигнал и через секунду высвечивается температура.Вот только с алгоритмом не все понятно или это все еще тест?


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 21:39:13 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
kuchar писал(а):
...Вот только с алгоритмом не все понятно или это все еще тест?

Нет, это не тест. Описание работы я выкладывал. Если нужно что-то изменить, или что-то не так работает - пишите. Я сделал как понял.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 21:52:16 
Встал на лапы

Зарегистрирован: Вс апр 10, 2011 08:17:13
Сообщений: 87
Рейтинг сообщения: 0
Soir,я не совсем верно описал работу в зоне действия гистерезиса:например,задали температуру 38 гр.игистер.1гр.Необходимо,чтобы при превышении верхнего порога звучал сигнал тревоги и выключалось реле,а если падает ниже нижнего-то только сигнал,ведь нету смысла выключать то,что и так отключено,раз не растет температура.Если это так ,то большего не смею желать.Спасибо.


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 22:08:34 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
bratt писал(а):
...я сначала попробую просто поменять микроконтроллер...

Попробуйте еще вот эту прошивку. Какие-то бока с компилятором, кое-что подправил, вдруг это оно.


Вложения:
Termometr.zip [3.06 KiB]
Скачиваний: 229
Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 22:23:33 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
kuchar писал(а):
Необходимо,чтобы при превышении верхнего порога звучал сигнал тревоги и выключалось реле,а если падает ниже нижнего-то только сигнал,ведь нету смысла выключать то,что и так отключено,раз не растет температура.Если это так ,то большего не смею желать.Спасибо.

Изменил, сигнализации по снижению температуры не было.
Только не понял выражение
kuchar писал(а):
...если падает ниже нижнего-то только сигнал,ведь нету смысла выключать то,что и так отключено,раз не растет температура...

В момент, когда температура ниже нижнего реле будет включено. Его тоже надо выключать? Замерзнут ведь цыплята.


Вложения:
Termometr.zip [4.06 KiB]
Скачиваний: 241
Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 22:33:12 
Встал на лапы

Зарегистрирован: Вс апр 10, 2011 08:17:13
Сообщений: 87
Рейтинг сообщения: 0
Нет,конечно.Именно об этом я и писал,что если температура падает ниже установленной на величину гистерезиса,то нету смысла выключать реле.Скорей-наоборот.А сигнал в этом случае говорит о неисправности в цепях нагревателя.Сейчас погоняю последний вариант в обоих каналах и отпишусь.


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 24, 2011 23:09:23 
Встал на лапы

Зарегистрирован: Вс апр 10, 2011 08:17:13
Сообщений: 87
Рейтинг сообщения: 0
Ув.SOIR.Я в восторге!!! :beer: На таком контроллере и такой функционал.Думал,чудес не бывает-не прав.
Большое спасибо за подарок к Новому Году!А реальные испытания ближе к весне.Думаю,что спать я в период инкубации буду нормально.Кто выводил птицу-знает,что это такое и как бывает обидно ,когда после месяца ожиданий все пропадает из-за всяких провалов и перепадов в сети...
Всех с наступающими праздникамии и всех благ.


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вт дек 27, 2011 13:20:06 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Всем доброго дня!
Soir, снова я с ATmega8.
Изображение
Максимально все что удалось получить с последней прошивкой (от 23дек.)
Скорее всего данный алгоритм не подходит для более точного поддержания температуры.
Спасибо за проделанную работу, меня устраивает полностью, на более высоких температурах разброс в пределах допустимого.
Soir,еще раз БОЛЬШОЕ спасибо, с наступающими праздниками, Мира Вам и спокойствия, будьте всегда таким!!!
Изображение


Вложения:
Комментарий к файлу: платы, схема, последняя прошивка
TermoATmega8_test.zip [123.12 KiB]
Скачиваний: 464


Последний раз редактировалось tbogdan Пн янв 02, 2012 21:54:55, всего редактировалось 1 раз.
Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Ср дек 28, 2011 21:57:27 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
tbogdan писал(а):
...Скорее всего данный алгоритм не подходит для более точного поддержания температуры...

Можете опробовать еще один вариант прошивки.
1. Ввел коэффициент пропорциональности. Величина, на которую меняется мощность, теперь зависит от этого коэффициента. Если его установить в 0, то эта опция работать не будет. Формула расчета в описании, описание во вложении, вложение в...
В принципе я вводил этот коэффициент, чтобы увеличить реакцию устройства на отклонение от заданной величины. Может оказаться, что надо совсем на оборот. Если работа устройства ухудшится, я сделаю этот коэффициент замедляющим или "двухсторонним", то есть на ускорение и на замедление скорости изменения выходной мощности.
2. Вижу Вы используете параметр St по максимуму, поэтому увеличил ему потолок до 50%. Наверно это уже бессмысленно, мощность достигнет 100% за два приема, но на всякий случай.
P.S.
При смене прошивки нужно сбросить EEPROM.


Вложения:
Termo_ATMEGA8_1.zip [14.97 KiB]
Скачиваний: 298
Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб дек 31, 2011 22:56:33 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
С Новым Годом!
Мира всем и согласия!!!

Soir, получилось!!!!
Вот картинка
Изображение
Есть несколько замечаний,
--Хаотические показания температуры, 3-5 градусов, пока не знаю нестабильность усилителя или наводка.
--Если температура не достигла установленной до конца программы, следующая за ней программа принимает значения как начало отсчета и за установленное время разогревает до конечной температуры, хотя желательно чтоб в данном случаи (пример), происходил нагрев до 250 градусов и дальше стабилизация до окончания программы
--Желательно, кнопку OFF/ON сделать с задержкой, защита от случайного отключения и сбоя программы.
--И еще какие то проблемы с записью EEPROM установок, еще до конца не разобрался, установки в режиме SET при выходе сохраняются только когда устройство находится в режиме ON, что не очень удобно.
С П А С И Б О!!!!


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вс янв 01, 2012 13:04:19 
Встал на лапы

Зарегистрирован: Вс апр 10, 2011 08:17:13
Сообщений: 87
Рейтинг сообщения: 0
С Новым Годом всех.
Soir,погонял последнюю прошивку для т-рег.с двумя индикаторами,все работает,но есть одно замечание:реле включено,когда температура ниже нижнего порога,затем по достижении верхнего(c учетом гистерезиса)оно выключается,а вот снова включается
когда темп. упадет ниже нижнего порога,а желательно,чтобы оно включалось и в зоне действия гистерезиса.Посмотрите при случае,пожалуйста.С ув.


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вс янв 01, 2012 14:22:27 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
tbogdan писал(а):
Есть несколько замечаний...
--Хаотические показания температуры, 3-5 градусов, пока не знаю нестабильность усилителя или наводка.

Если их раньше не было, а с новой прошивкой появились, то возможно причина наводок в резко меняющейся нагрузке. У Вас установлен шаг изменения (St) 50%. Кстати при таком шаге коэффициент пропорциональности не работает. Он настроен так, чтобы St не превышал 50%.
Можете поэкспериментировать, уменьшив St как раньше, до 20% и понаблюдать за стабильностью показаний.
Ну и я, кажется, упоминал о возможных нестабильных показаниях и предлагал усреднять... Предложение в силе. Только уточните зависимость и частоту изменений.
tbogdan писал(а):
--Если температура не достигла установленной до конца программы, следующая за ней программа принимает значения как начало отсчета и за установленное время разогревает до конечной температуры, хотя желательно чтоб в данном случаи (пример), происходил нагрев до 250 градусов и дальше стабилизация до окончания программы

Сделать завершение предыдущей программы за счет времени следующей или следующую отложить, до выхода первой на режим?
Может проще задавать достаточное время с некоторым запасом?
tbogdan писал(а):
--Желательно, кнопку OFF/ON сделать с задержкой, защита от случайного отключения и сбоя программы.

Задержка есть для всех кнопок. Состояние кнопки определяется каждые 4 мсек. Если нажатое состояние определяется программой не менее 10 раз подряд (итого, время ~40 мсек), то кнопка только тогда считается нажатой. Обычно этого хватает для подавления дребезга с одной стороны, а с другой стороны не тормозит работу кнопок. Если есть ложные срабатывания - скажите, я увечу это время. Кроме того, кнопки Start и Set имеют блокировку от длинного нажатия. То есть, чтобы кнопка сработала повторно, ее нужно отпустить и нажать снова.
Если есть влияние наводок - попробуйте установить параллельно кнопкам конденсаторы.
tbogdan писал(а):
--И еще какие то проблемы с записью EEPROM установок, еще до конца не разобрался, установки в режиме SET при выходе сохраняются только когда устройство находится в режиме ON, что не очень удобно.

Что-то напутал при добавлении коэффициента пропорциональности. Исправил, проверьте.


Вложения:
Termo_ATMega8.zip [4.97 KiB]
Скачиваний: 223
Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вс янв 01, 2012 23:11:08 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Опробовал при разных установках, наилучшее при h=1, St=20, d=1, c=1, n=0.5
Изображение
Soir писал(а):
Задержка есть для всех кнопок. Состояние кнопки определяется каждые 4 мсек.

о кнопке OFF/ON, я имел в виду не дребезг, а чтоб вкл./выкл. надо придержать , например, 1 сек., это только для OFF/ON, остальные все нормально.
Soir писал(а):
]Сделать завершение предыдущей программы за счет времени следующей или следующую отложить, до выхода первой на режим?
Может проще задавать достаточное время с некоторым запасом?

при разных загрузках печи получается разное время, иногда не хватает несколько минут для завершения программы
если можно сделать так, когда выставлена стабилизация, то SP не расчитывается а принимает установленное значение для этой программы. (например Р0=300, Р1=300 то SP для Р1 равно 300)
Soir писал(а):
Можете поэкспериментировать, уменьшив St как раньше, до 20% и понаблюдать за стабильностью показаний.
Ну и я, кажется, упоминал о возможных нестабильных показаниях и предлагал усреднять... Предложение в силе. Только уточните зависимость и частоту изменений.

С этой прошивкой вроде нормально, последний разряд меняется +/- 1 иногда +/- 2
С уважением!


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Пн янв 02, 2012 13:11:26 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
tbogdan писал(а):
о кнопке OFF/ON, я имел в виду не дребезг, а чтоб вкл./выкл. надо придержать , например, 1 сек., это только для OFF/ON, остальные все нормально.

Понятно, сделал 0,76 сек. Такое время получилось из-за лени что-то менять в программе. Надо другое - скажите.
tbogdan писал(а):
если можно сделать так, когда выставлена стабилизация, то SP не расчитывается а принимает установленное значение для этой программы. (например Р0=300, Р1=300 то SP для Р1 равно 300)

Сделал, не проверял.
tbogdan писал(а):
С этой прошивкой вроде нормально, последний разряд меняется +/- 1 иногда +/- 2

А я ничего и не менял в этой части, начиная с первого варианта прошивки...
Хотя наверно надо, учитывая, что гистерезис у Вас 1 град, а скорость регулирования высокая...
Вобщем, для пробы вариант с усреднением значений. Частота смены показаний осталась прежняя - каждые 0,5 сек. Измерения проводятся 10 раз в течении 0,5 сек суммируются и делятся на 10. Прошивка Termo_ATMega8_2.hex. И еще в ней уменьшил предел установки температуры до 1000 град. Максимальная измеряемая температура ведь 1000 град?


Вложения:
Termo_ATMega8.zip [10.1 KiB]
Скачиваний: 256
Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Пн янв 02, 2012 13:40:37 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
kuchar писал(а):
...а вот снова включается
когда темп. упадет ниже нижнего порога,а желательно,чтобы оно включалось и в зоне действия гистерезиса.Посмотрите при случае...

Посмотрел при случае... Давайте подробнее...
Температура стала больше установленной + гистерезис - реле выключилось. Когда оно должно включиться? Когда температура станет ниже установленной + плюс гистерезис? То есть уменьшится на 0,1 градус? Температура тут же опять поднимется и реле снова выключится и т.д. На 0,1 градус температура может меняться также в следствие влияния случайных факторов, если температура близка к установленной реле должно все это отщелкивать? Именно для того, чтоб такого не было и сделан гистерезис. Гистерезис для работы реле убрать, оставить только для сигнализации? Или я неправильно понял? Может нужно два гистерезиса, отдельно для сигнализации, отдельно для реле. Или если в данном устройстве гистерезис "двухсторонний", то использовать его половинки? Например. Установлена температура 40 градусов, гистерезис 1 градус. Тогда реле будет выключаться при 41 град, включаться при 40, а сигнализация при 39 (ну и при 41, разумеется).


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Пн янв 02, 2012 22:09:54 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Soir,надеюсь что это последние изменения, работает отлично,
показания измерителя стабильны, (+\- 1)
то что я писал о нестабильных показаниях, причина была банальная, наводка на термопару при контакте с корпусом печки, изолировал термопару и все прошло.
Пока пусть поработает, возможно будут еще какие-то вопросы.
Хочу поблагодарить, за терпение и проделанную работу.
Еще раз СПАСИБО!!!
Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вт янв 03, 2012 07:13:57 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
tbogdan писал(а):
надеюсь что это последние изменения, работает отлично...
Пока пусть поработает, возможно будут еще какие-то вопросы...

И какой вариант прошивки финальный? Хочу удалить лишнее, чтоб не путаться.


Вернуться наверх
 
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вт янв 03, 2012 08:15:48 
Встал на лапы

Зарегистрирован: Вс апр 10, 2011 08:17:13
Сообщений: 87
Рейтинг сообщения: 0
Soir писал(а):
Например. Установлена температура 40 градусов, гистерезис 1 градус. Тогда реле будет выключаться при 41 град, включаться при 40, а сигнализация при 39 (ну и при 41, разумеется).

Ув.Soir. Именно так.Я не смог правильно сформулировать ситуацию.Поскольку данный терморегулятор используется в основном для контроля температуры,а не для ее поддержания,
то он должен отследить превышение температуры,например 38гр.При установленном гистерезисе в 1гр.,т.е. при 39гр.он отключит нагрузку,подаст сигнал тревоги,
что он и делает.Здесь все правильно,это критическая для него ситуация.А дальше темп. падает и при 38гр.он должен включить нагрузку и выключить сигнал.Дальше,
если темп.упадет до 37гр.,должен подать сигнал(реле конечно включено).А на последней прошивке при 39гр. он работает правильно,но включает реле при 37гр.,а
не при38гр.,т.е.он блокирует работу основного терморегулятора,который выставлен на 38 гр. с гистерезисом 0,1гр.Вроде правильно?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1950 ]     ... , , , 63, , , ...  

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


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

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


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