Программный терморегулятор на ATmega8

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
maxvalin
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Сб мар 30, 2013 18:18:34
Откуда: Калининград
Контактная информация:

Re: Программный терморегулятор на ATmega8

Сообщение maxvalin »

Спасибо огромное , заказываю недостающие элементы и собираю, после прошивки и запуска отпишусь как оно в железе себя все ведет))
:beer:
Реклама
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

Доброго дня всем.
Soir, хочу Вас попросить о помощи с настройкой или корректировкой этой прошивки.
(стр.7 Ср июл 31, 2013 15:08:11 прошивка - Termo_ATMega8.zip [5.26 KiB])
Прошло более пол года с момента изготовления терморегулятора для муфельной печи.
За это время прилично так поганял терморег. С печью 4 кВт и 2 кВт и вот какой итог;
В бытовой сети работа его «незаметна» (разве что, эл.счетчик мотает), наличие программ, плавный пуск – всё это просто супер.
Теперь о недостатках его работы.
Пример: Выставил температуру 800 град., печь без загрузки, разогревается за установленное время до 800град и, перелетает на 9-10 град при самых удачных настройках ПИД, при неправильных – на 15-18 град. Проблема в том, что при продолжительной работе эти 9-10 град. повторяются. После достижения 800 град продолжается нагрев но с постепенным затиханием и при достижении 809град происходит отключение(это сигнализирует светодиод). Температура падает до уст.800град. и при 798-799 град. включ. и плавно повышаться мощность но за это время температура опускается до 793град, не ниже. Далее разогрев продолжается, уменьшается мощность и при 809град откл. – повторяюсь уже. Но почему жарит до 809, а не до 800?
Считаю что, снижение мощности при разогреве должно происходить, скажем, с 790град чтобы не перелетать и удержанием в близи 800, ну как то так. Для ПИДа гулящая температура в 17 градусов слишком много.
Настройки ПИД делал и по справочникам и в слепую, большой разницы нет. Может абсолютно не правильно делаю настройки? Но тогда это очень сложно.
Всё из практики – такой вывод.
Soir, если появится желание и время, не откажите в помощи, пожалуйста
Реклама
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Программный терморегулятор на ATmega8

Сообщение Soir »

petro2002 писал(а):...если появится желание и время...
Займусь, со временем правда, не очень. Но Вы мне сначала скажите, не хватает пределов установки какого-то коэффициента? Или самые оптимальные настройки не на предельных значениях? Ну и вообще, приведите эти оптимальные коэффициенты, мне будет легче разобраться. Вылеты идут только в сторону превышения температуры или симметрично?
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

хватает пределов установки какого-то коэффициента?
П - примерно посредине 40, И - 60, Д - лучше установить 0.
Т.е. возможность регулировки есть. Если это необходимо первым делом, то сделаю еще замеры.

Вылеты идут только в сторону превышения температуры или симметрично?
при установке 800 град - греет до 810, затем охлаждение до 799 и после того, плавно включается, но по инерции спадает до 793, останавливается и повышает снова до 810. Колебания невозможно остановить, т.к. при нагреве, проходит отметку 800 и продолжает греть, но уже с уменьшением мощности. Благо, стоит светодиод, по нему видно.
Вот если бы, то, что происходит после 800, передвинуть на 790. Т,е. - нагрев до 790 и затем уменьшать мощность постепенно и дотягивая до 800. (801). Убрать этот промежуток-гистерезис при охлаждении с 810 до 799.
Как удержать на заданной температуре - может включениями при снижении до 799 из 801 ?
Спасибо.
Реклама
Эиком - электронные компоненты и радиодетали
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Программный терморегулятор на ATmega8

Сообщение Soir »

petro2002 писал(а):...Если это необходимо первым делом, то сделаю еще замеры...
Пока этой информации достаточно, спасибо. Немножко освобожусь, посмотрю прошивку.
petro2002 писал(а):...Вот если бы, то, что происходит после 800, передвинуть на 790. Т,е. - нагрев до 790 и затем уменьшать мощность постепенно и дотягивая до 800
Вот это и должна делать составляющая Д, но Вы её в 0... Посмотрю может в прошивке что не так...
Реклама
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

Вот это и должна делать составляющая Д, но Вы её в 0...
Читаю вот рекомендации по настройке: "...в случае с двигателем или термосистемой диференциальная не нужна". Вот и запутался. Пробовал и с ней, но тоже не получилось. Может плохо пробовал?
Но может пока без неё? Как в некоторых рекомендациях - только ПИ.
Спасибо!
Реклама
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Программный терморегулятор на ATmega8

Сообщение da-nie »

Колебания невозможно остановить, т.к. при нагреве, проходит отметку 800 и продолжает греть, но уже с уменьшением мощности. Благо, стоит светодиод, по нему видно.
Полагаю, у вас интегральная составляющая слишком большая. Поэтому и самовозбуждается система.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

Сейчас поставил П- 40, И-20, Д-0. Разогрев до 811, охлаждение до 798, - вкл. нагрев но падает до 792 и затем повышение.
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

При открывании дверцы на несколько сек - падение до750 , затем залетает аж на 820.
Снижается до 798- включает, но падает до 792. Вторая волна - перелёт до 814, третья -
до 810.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Программный терморегулятор на ATmega8

Сообщение Soir »

У меня пока нет времени заняться проверкой прошивки. Пробуйте настраивать параметр Д.
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Программный терморегулятор на ATmega8

Сообщение da-nie »

При открывании дверцы на несколько сек - падение до750 , затем залетает аж на 820.
Всё верно. Регулятор не обещает вам, что температура всегда будет оставаться неизменной, что бы ни случилось - обеспечивается лишь затухающий переходный процесс и минимальное перерегулирование (если всё верно настроено). При изменении воздействия происходит перерегулирование. Оно тем больше, чем больше было воздействие.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

Всё верно. Регулятор не обещает вам, что температура всегда будет оставаться неизменной, что бы ни случилось - обеспечивается лишь затухающий переходный процесс и минимальное перерегулирование (если всё верно настроено). При изменении воздействия происходит перерегулирование. Оно тем больше, чем больше было воздействие.
Да ладно с, открыванием дверцы. В режиме полного спокойствия (без откр. дверцы) температура "пляшет" +_10 градусов. Как бы ни настраивал. Думаю, можно настроить для полностью закрытой системы (типа реактор) с мин. расбросом. Есть звдача управлять муфельной печью, загрузка-выгрузка-удержание. Главное, остановить нагрев при достижении установки, а не продолжать греть с постепенным замедлением.
Не перегреть, для этого есть микроконтроллеры.
Перегрев 15 градусов, спуск до _ 7 град. - так может управлять и термостат от утюга!

С китайским REX-C100 справляюсь довольно быстро и погрешность +_3 градуса, при автонастройке +_1. Настройка чисто интуитивная, по признакам. Он работает (реагирует) иначе. Никогда небыло перегрева. Вот цель, для этого есть ПИД.
Спасибо.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Программный терморегулятор на ATmega8

Сообщение Soir »

petro2002 писал(а):С китайским REX-C100 справляюсь довольно быстро и погрешность +_3 градуса, при автонастройке +_1. Настройка чисто интуитивная, по признакам. Он работает (реагирует) иначе. Никогда небыло перегрева.
Тогда к чему все это творчество? Оставьте китайский, работает отлично...
petro2002 писал(а):Вот цель, для этого есть ПИД.
Обращаю внимание, в аббревиатуре "ПИД" есть буква Д.
--
Теперь по делу. Открыл проект (он у меня в папке "В стадии разработки", то есть я его считаю незавершенным, наверно ждал результатов испытаний...), пока никаких "грехов" не вижу. Но для тестирования ускорил работу регулятора. То есть, регулятор сейчас в 4 раза чаще обрабатывает данные и производит коррекцию выходной мощности. Это только в режиме стабилизации. В других оставил все как есть. Разве что случайно зацепил... Поэтому настраивать нужно заново. Попробуйте, от результата пойдем дальше. Может наоборот, его замедлять нужно...
Вложения
Termo_ATMega8.zip
Прошивка.
(5.28 КБ) 163 скачивания
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

Всем здрасте!

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

Наш прибор греет до отметки и затем (судя по яркости лампочки) замедляется и полностью отключается.
Охлаждение до отметки и минус 1 град., медленно включается и останавливает падение.
Вот сегодняшние результаты.
1) По умолчанию - П-6, И-2, Д-50. Уст. темпер. 700, перелёт и откл. при 715, далее по инерции до 738.
2) П-6, И-40, Д-10. Уст. темпер. 700, перелёт и откл. при 705, далее по инерции до 716. Охлаждение до 699, включ., но спад до 696.
3) П-5, И-80, Д-10. Уст. темпер. 700, перелёт и откл. при 704, далее по инерции до 714. Охлаждение до 699, включ., но спад до 696.
Повышая те или иные, разница очень маленькая, всегда жарит переходя отметку и до 705. Здесь выкл. и далее инерция.

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

Смотрю, пару человек уже скачали прошивку. Может кто настроил лучше?
Спасибо. С уважением.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Программный терморегулятор на ATmega8

Сообщение Soir »

petro2002 писал(а):Soir, вот если бы спад мощности начинался за некоторое время до отметки и слегка подпитывая а так он начинается только после, перегревая. Так я сказал, а насколько реально это?
За это должен отвечать параметр Д. Почему с ним хуже у Вас получается - не знаю, еще раз посмотрю на него в прошивке...
Попробуйте менять его при неизменных других параметрах, что получится...
---
Немного подчистил прошивку, ничего принципиального, но проверьте, может что изменилось.
Вложения
Termo_ATMega8.zip
Прошивка.
(5.16 КБ) 169 скачиваний
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

Проводил замеры с последней прошивкой. Вывод - ни единого раза нагрев не выключался ниже чем при 707 град. при уст. 700. Разные настройки, нагрев прекращается при 707-727. Включается при снижении до 699-695. Вот примеры, привожу их в порядке P I D - 5-80-70-нагрев до717, 5-50-70-716, 5-50-20-710, 30-50-20-727, 30-20-5-711, 30-10-5-713, 30-90-5-707, 5-90-5-708, 5-90-90-708, 90-90-90-708, 90-30-90-708, 50-30-90-709.
Перепробовал разные варианты, всегда перегрев, да ещё инерция в добавок. Ничего уже понять немогу, единственное - как передвинуть начало торможения до 700 град? Или поставить запрет на нагрев при достижении отметки.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Программный терморегулятор на ATmega8

Сообщение Soir »

petro2002 писал(а):Вывод - ни единого раза нагрев не выключался ниже чем при 707 град. при уст. 700.
Он в идеале и не должен выключаться полностью.
petro2002 писал(а):Перепробовал разные варианты, всегда перегрев, да ещё инерция в добавок.
Инерция появилась в последней прошивке или была и раньше? За инерцию отвечает параметр P. Сделайте его поменьше.
petro2002 писал(а): как передвинуть начало торможения до 700 град?
За торможение/ускорение отвечает параметр Д. Ставьте на максимум и сделайте несколько замеров с одними и теми же параметрами, по единичным замерам невозможно выявить закономерность. Увеличьте параметр pG. Если надо, я увеличу силу этих коэффициентов.
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

Он в идеале и не должен выключаться полностью.
Согласен, поддерживая минимальный перегрев.
Инерция появилась в последней прошивке или была и раньше?
Инерция была всегда и зависит, на сколько продолжался нагрев выше нормы.
Лучший показатель - нагрев до 704, инерция-715, спад с инерцией - 696.
Сейчас буду проводить замеры.
petro2002
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб фев 04, 2012 02:53:41

Re: Программный терморегулятор на ATmega8

Сообщение petro2002 »

Новые данные: P I D -2-20-99 нагрев до708, 10-20-99-710. 20-20-99-711. 30-20-99-710. 50-20-99-710. 2-20-80-711. 2-20-70-711. 2-20-60-710. 2-20-40-709. 2-20-20-710. 2-20-5-711.
Нагрев до 704 и инерцией до 710 и спадом до 694, лучшего добиться не удалось. Видно, что показатели не значительно изменяются.
Может взять первоисточник, да умножить эти коеффициенты на 10(усилить их действие)? Soir извините, может глупость говорю, в программировании я полный 0.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Программный терморегулятор на ATmega8

Сообщение Soir »

petro2002 писал(а):...множить эти коеффициенты на 10(усилить их действие)?
Я посмотрю, по-моему я их в свое время уменьшал...
Менять параметр P не пробовали?
Ответить

Вернуться в «AVR»