Например TDA7294

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

Текущее время: Вт янв 27, 2026 18:39:19

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1950 ]     ... , , , 76, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Чт мар 01, 2012 02:15:19 
Прорезались зубы

Карма: 5
Рейтинг сообщений: 8
Зарегистрирован: Пн янв 16, 2012 02:06:36
Сообщений: 214
Откуда: Луганск
Рейтинг сообщения: 0
Soir писал(а):
версия 4.3 - ПИД регулятор.

Ни фига себе, я Вас достал.Изображение Уже до ПИД дошли. Класс!!!!Изображение Быстрей бы домой. Ужасно хочется испытать.
Soir писал(а):
Соответствие коэффициентов условным обозначениям при индикации (в скобках величины по умолчанию):
Tint -> in (20)
Tquant -> ti (2)
Tdiff -> di (5)
Zp -> Pr (1)
St (5) как был, так и остался.

Изображение А кто такие in, ti, di и Pr?Изображение Это теперь нужно пятью установками оперировать?Изображение
Ладно, сейчас поиском пошарю. Я знаю что ПИД, это круто, но в принцип работы, не вникал. Не думал, что мы до него докатимся. Что-то мне подсказывает, что на изучение этих пропорционально- интегрально-дифференциальных составляющих, у меня уйдут годыИзображение

P.S. Для таких как я нашел интересную статейку. Кстати там и какой-то полный код ПИД контроллера приведен
А еще, если я правильно понял, они говорят что для терморегулятора, дифференциальная составляющая не нужнаИзображение


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

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

Это неважно. В EEPROM все записано правильно. Ошибок здесь нет.
В Proteus точно все работает корректно? Может я логику где-то неправильно прописал? Я не помню зачем, но в прошивке прописано при включении устройства Out_1 логический ноль, а Out_2 единица. Дальше (примерно через 2 секунды) по температуре... Это правильно?
Я увеличил время инициализации датчика при включении. Первое считывание данных с датчика дает 85 градусов. В прошивке это учтено, но на всякий случай еще добавил одно измерение перед запуском алгоритма работы реле.


Вложения:
Termometr_v14_CA.zip [2.61 KiB]
Скачиваний: 199
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Чт мар 01, 2012 16:38:57 
Встал на лапы

Зарегистрирован: Пт фев 03, 2012 19:39:32
Сообщений: 103
Рейтинг сообщения: 0
To Soir!

Чтобы нам не запутаться распишу все заново.
Процесс это нагрев с испарением и конденсацией.

По Т1 управляется Out1
Out1 = 0 вода на конденсацию выключена
Out1 = 1 клапан включает воду
По Т2 управляется Out2
Out2 = 0 нагрев разрешен
Out2 = 1 нагрев блокируется
Выв 2 МК (BUZ) назовем его Out3 управляет кулером тиристора
Out3 = 0 кулер включен
Out3 = 1 кулер выключен

Алгоритм работы:

Рост температуры
Т меньше Т1
Out1 = 0
Out2 = 0
Out3 = 0
Т достигло Т1
Out1 = 1
Out2 = 0
Out3 = 0
Т достигло Т2
Out1 = 1
Out2 = 1
Out3 = 0
Через 1 мин
Out1 = 0
Out2 = 1
Out3 = 1
Дальнейшее снижение Т на работу не влияет до перевыключения питания, т.е. до следующего цикла работы.


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

Зарегистрирован: Пт фев 03, 2012 19:39:32
Сообщений: 103
Рейтинг сообщения: 0
To Soir!

PS. При несправности датчика Out2 = 1

Цитата:
Первое считывание данных с датчика дает 85 градусов.

Наверное это не нужно. Пусть все зависит только от Т1 и Т2.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Чт мар 01, 2012 18:14:05 
Друг Кота

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

Очень правильное решение, я проверю, что и как...
variaevg писал(а):
Soir писал(а):
Первое считывание данных с датчика дает 85 градусов.

Наверное это не нужно. Пусть все зависит только от Т1 и Т2.

Тут не спрашивается нужно или не нужно, это особенность датчика. Вы не проверяли прошивку, эффект памяти остался?

Чт мар 01, 2012 17:32:31
P.S.
В общем просмотрел, алгоритм соответствует, кроме состояния выходов непосредственно при включении. Изменил. Проверьте.


Вложения:
Termometr_v14_CA.zip [2.61 KiB]
Скачиваний: 207
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Чт мар 01, 2012 19:09:18 
Встал на лапы

Зарегистрирован: Пт фев 03, 2012 19:39:32
Сообщений: 103
Рейтинг сообщения: 0
To Soir!
Прогнал последнюю прошивку на макетке, результат:
1-е включение - все как положено.
2-е включение (T меньше Т1):
Out1 = 1
Out2 = 1
Out3 = 0
Через 1 мин
Out1 = 0
Out2 = 1
Out3 = 1
Отключаю датчик
Out1 = 1
out2 = 1
Out3 = 1


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

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

Иду включать паяльник...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Чт мар 01, 2012 20:40:34 
Открыл глаза
Аватар пользователя

Зарегистрирован: Ср сен 14, 2011 21:00:14
Сообщений: 68
Откуда: Тюмень
Рейтинг сообщения: 0
Soir Здравствуйте уважаемый :)
Терморегулятор Ваш прошёл полевые испытания.Сейчас готовится маленькая серия с эстетическим внешним видом. Однако в ходе испытаний выявился мелкий недочёт, а именно - мигает цифра, младшего разряда ( думаю если она задерживается дольше,чем период измерения или такта или что то в этом духе). Может может как нибудь исправить этот недостаток ?.

_________________
Электроника - наука о контактах


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

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

Дайте ссылку, с какого поста брали прошивку. Посмотрю обязательно на днях, быстро не обещаю, на работе завал. Вчера так и не дошел до паяльника.


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

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

Иду включать паяльник...

Попробуйте вот этот вариант. Похоже снова Proteus не обращает внимание на грехи компилятора.


Вложения:
Termometr_v14_CA.zip [2.6 KiB]
Скачиваний: 233
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Пт мар 02, 2012 14:09:05 
Встал на лапы

Зарегистрирован: Пт фев 03, 2012 19:39:32
Сообщений: 103
Рейтинг сообщения: 0
To Soir!
Все стало ОК! Спасибо.
Пару вопросов:
1. Пробовал подключать Выв 4 МК и общий и на +5 через 1к не заметил разницы, как правильнее?
2. МК прошит на индикатор ОА. Если поставить ключи n-p-n и индикатор ОК будет правильно работать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Пт мар 02, 2012 18:53:21 
Встал на лапы

Зарегистрирован: Пт фев 03, 2012 19:39:32
Сообщений: 103
Рейтинг сообщения: 0
To Soir!
Цитата:
МК прошит на индикатор ОА. Если поставить ключи n-p-n и индикатор ОК будет правильно работать?

Извеняюсь за глупый вопрос. Поразбирался и пришел к выводу:
Если прошивка ОА, то ключи p-n-p и инвертировать вызоды D.


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

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

В последнем варианте вывод 4 никуда подключать не надо. Если подключили ошибки не будет, будет лишняя трата одного резистора.
variaevg писал(а):
2. МК прошит на индикатор ОА. Если поставить ключи n-p-n и индикатор ОК будет правильно работать?

Не совсем так. Надо ставить инверторы на все выводы индикатора. А инверторы можно собрать на тразисторах как одной, так и другой проводимости, а также и на другой элементной базе. Дабы не заморачиваться, Вы мне просто скажите, надо прошивку под ОК? Программно это все решается гораздо проще и не требует материальных затрат.


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

Зарегистрирован: Пт фев 03, 2012 19:39:32
Сообщений: 103
Рейтинг сообщения: 0
To Soir!
Решил вообще не ставить ключи, плата зажатая и разводка усложняется.
Если не сложно хотелось ба прошивку на ОК.
С интересом слежу за Вашей доводкой прошивки совместно с Nics13, завтра-послезавтра подключусь к испытаниям.


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

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

Ключи могут понадобиться, если недостаточная яркость индикатора.
variaevg писал(а):
Если не сложно хотелось ба прошивку на ОК.

Несложно. Во вложении.


Вложения:
Termometr_v14_CC.zip [16.06 KiB]
Скачиваний: 291
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Сб мар 03, 2012 13:09:57 
Прорезались зубы

Карма: 5
Рейтинг сообщений: 8
Зарегистрирован: Пн янв 16, 2012 02:06:36
Сообщений: 214
Откуда: Луганск
Рейтинг сообщения: 0
Здравствуйте, Уважаемый Soir!
Дома ИНЕТ пропал. Игрался 2 дня, последней версией. Со своей системой, пока результатов не добился. Уж очень она у меня тормознутая и после каждого изменения установок, требуется уйма времени на проверку. Зато, с более быстрыми системами, работает, просто изумительно. Быстро стабилизируется и держит до 0,2*С. Со своей, я уверен, тоже со временем добьюсь результата. Только напишите, пожалуйста, как у Вас будет время, краткий мануальчик, для этой прошивки. Я так и не разобрался, где там чего, и в чем измеряется.
Tint -> in (20) - это наверное интегральная составляющая
Tquant -> ti (2) -?
Tdiff -> di (5) - это я так понимаю дифференциальная
Zp -> Pr (1) - ?
St (5) - это время (как и было)
Можно ли в нашем варианте, использовать тот способ настройки, что предлагается в статье, которую я приводил раньше?
СТАТЬЯ


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

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

Я пробовал реализовать формулу из статьи, но что-то плохо получается. Там есть явная ошибка, может есть и скрытые, копаться во всем этом нет ни времени ни желания. Кроме того, пределы установки коэффициентов нужно адаптировать под текущую задачу... Какого-то результата добился, можете поэкспериментировать, вдруг на Вашем устройстве все пойдет.
Соответствие коэффициентов из статьи символам индикатора:
pGain -> PG
iGain -> 1G
dGain -> dG
St назначение тоже самое.
Будет время, может еще позанимаюсь. Или может Вы мне скажете, что вот такого коэффициента недостаточно...


Вложения:
Termometr_16F628_PWM_v4.2.zip [4.25 KiB]
Скачиваний: 225
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вс мар 04, 2012 02:51:45 
Прорезались зубы

Карма: 5
Рейтинг сообщений: 8
Зарегистрирован: Пн янв 16, 2012 02:06:36
Сообщений: 214
Откуда: Луганск
Рейтинг сообщения: 0
Soir писал(а):
копаться во всем этом нет ни времени ни желания.

СПАСИБО ВАМ ОГРОМНОЕ!!!!! В любом случае, из такого количества прошивок, я 100% смогу подобрать ту, которая меня устроит. Главное, потом записать с какой прошивкой и с какими установками, работала моя система, чтоб к следующему году не забыть. :)))
Вы и так сделали столько работы, что мне уже, ей богу, стыдно. Завтра приеду с дачи, залью эту прошивку и поиграюсь, хотя у меня еще с предыдущей куча вариантов. Как я уже говорил, предыдущая, на более быстрых системах работает отлично, причем найти подходящие коэффициенты, довольно легко. Она совсем не капризна. Еще раз, СПАСИБО ВАМ!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вс мар 04, 2012 09:34:17 
Родился

Зарегистрирован: Чт фев 09, 2012 08:28:49
Сообщений: 11
Рейтинг сообщения: 0
Для Soir.
Здраствуйте. Благодарю за прошивку. Сейчас собрал примерно механику и установил регулятор на котел (кому интересно - в архиве фото, печатка самого контроллера без дисплея). Все работает нормально, но опять же есть вопрос по поводу времени импульсов St: не могли бы Вы добавить еще один импульс длительностью в 0.5 секунды, так как на даном редукторе 1 секунда многовато, сейчас ищу подходящий редуктор, этот для проверки работы "слепил" из старого будильника. Еще раз спасибо Вам за прошивку.


Вложения:
Kotel.rar [518.8 KiB]
Скачиваний: 237
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
СообщениеДобавлено: Вс мар 04, 2012 10:50:02 
Друг Кота

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

Да, вариантов получилось много, надеюсь, что-то да подойдет.
И тем не менее. Немного доработал последний 4.2. Сместил в меньшую сторону диапазоны установки коэффициентов и добавил возможность установки параметра Pr. В статье это iMax, iMin (iMax = Pr, iMin = -Pr). Там же читайте описание, что это такое.
Чтобы понятнее было, поясню ху из ху.
position - измеренная температура. У меня без запятой. То есть, если температура 25,3 град, то везде в расчетах берется 253, а запятая просто выводится на индикатор в нужном месте. Так мне удобнее и проще, а в расчетных формулах я это учитываю.
error - разница между заданной температурой и измеренной. Величины тоже без запятой. Если заданная 30,0 град, а измеренная 25,3, то error = 300-253=47.
dState - предыдущая измеренная температура. После завершения расчета коррекции мощности принимает значение текущей (dState = position), то есть запоминает текущую для следующего вычисления.
iState - накопление ошибки. Новая ошибка (с учетом знака) все время прибавляется к этому параметру. Накопленная ошибка не может стать бесконечно большой или малой, она ограничена параметрами iMax, iMin. Таким образом, если в начале расчета iState = 5, а error = 47, то iState = 5+47 = 52. По умолчанию Pr=10, то есть iState будет ограничено 10. iState = 10.
Дальше.
pTerm = pGain * error; пропорциональная составляющая.
iTerm = iGain * iState; интегральная составляющая.
dTerm = dGain * (position - dState); дифференциальная составляющая.
Результат вычислений (pTerm + iTerm - dTerm) прибавляется (с учетом знака) к текущей выходной мощности. Тут тоже есть ограничения: 0% - минимальная мощность, 100% - максимальная. Шаг изменения мощности - 1%.
Если что непонятно по формуле или вычислениям спрашивайте, попробую объяснить по-другому.
Если что непонятно по настройке регулятора - у меня не спрашивайте, "мануальчик" я не напишу. Я всего лишь прописал формулу из статьи в прошивку.
----------
Вс мар 04, 2012 16:05
Перезалил прошивку, исправил мелкие ошибки.


Вложения:
Termometr_16F628_PWM_v4.2.zip [24.84 KiB]
Скачиваний: 402


Последний раз редактировалось Soir Вс мар 04, 2012 17:05:35, всего редактировалось 1 раз.
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1950 ]     ... , , , 76, , , ...  

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


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

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


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

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


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