Всем Доброго дня! Данная тема начиналась с viewtopic.php?p=1082830#p1082830, но так как там уже невозможно что то найти продолжим в отдельной теме, а терморегулятор, благодаря Soir , получился отличный, за что еще раз огромное спасибо! Сейчас терморегулятор стал трех позиционным, регулирование при помощи исполнительного механизма, который изменяет положение заслонки. А теперь снова к Soirу последняя прошивка viewtopic.php?p=1330779#p1330779, работает, только параметр F не изменяет своего значения, как установил в сервисном меню так и остается, регулирование проходит нормально, время выполнения программ соответствует реальному.
А теперь снова к Soirу последняя прошивка viewtopic.php?p=1330779#p1330779, работает, только параметр F не изменяет своего значения, как установил в сервисном меню так и остается...
Чтобы F менялся в автоматическом режиме, коэффициент n должен быть больше 0. Посмотрите формулу. Или все равно не работает?
Тогда все работает, изменяется только больше от заданного в сервисном меню правильно?
Да, в сервисном меню задается минимальное значение. Максимум ограничен 100 (могу подвинуть в ту или другую сторону, можно сделать доступным для установки в сервисном режиме). Если n=0, то F всегда, как задано в настройках. Если n>0, то F автоматически меняется в зависимости от рассогласования по формуле. Собственно, этот вариант управления мною был разработан "в темную", так как не имею возможности хоть сколь-либо проверить его работу в реальных условиях. Если такой способ не позволяет добиться нормального регулирования температуры, Вы пишите, будем вместе думать, как улучшить его работу.
Собственно, этот вариант управления мною был разработан "в темную", так как не имею возможности хоть сколь-либо проверить его работу в реальных условиях.
Этого мало. Я вам посоветую ПИД-регулятор запрограммировать. Дело в том, что П-регулятор (а у вас именно он, пропорциональный регулятор) не сводит ошибку рассогласования к нулю (и при наличии фазовых задержек обеспечит колебательный режим работы системы, что вам вряд ли надо). К нулю её может свести ПИ-регулятор (пропорционально-интегральный). В этому случае интеграл ошибки медленно вытянет ошибку в ноль. Но это замедляет реакцию системы на внешние события. Ускорить может производная ошибки. Так получается ПИД-регулятор (пропорционально-интегральный). Книжку Бесекерского "Теория систем автоматического управления" я вам советовать не буду, а вот методику настройки ПИД-регулятора прибора "Параграф" дам - там всё просто.
Этого мало. Я вам посоветую ПИД-регулятор запрограммировать...
Да, спасибо за замечание, полностью согласен. По просьбе tbogdan алгоритм работы предыдущего устройства не менялся. За время, что прошло с момента его разработки, в моем арсенале появились и ПИД-регуляторы, которые действительно себя оправдывают. Пусть tbogdan проведет полевые испытания, посмотрим, что получилось. А далее от результата...
Всем доброго дня! Может кому еще пригодится, выкладываю два варианта программного терморегулятора, для небольшой муфельной печи (до 2 кВт.) который уже отработал отлично. Большое спасибо автору прошивки и схемы Soirу И второй вариант , который только начинаем осваивать, для регулирования горелки ELCO EK3.45, на жидком топливе. Во втором варианте пока использовал готовый регулятор от печи только изменил прошивку, которую переделал Soir, и добавил разъем для подключения трех каналов регулирования и управления горелкой, потом доделаем все на плате. Пока все.
Попробовал, и что могу сказать, регулятор работает с очень большими выходами за пределы регулирования, инерционность камеры большая, горелка через несколько минут выходит на 100% мощность, идет разогрев. При достижении установленной температуры работа горелки продолжается на полной мощности, соответственно температура увеличивается, при достижении установленной температуры + гистерезис начинается уменьшение мощности горелки и снова большое отклонение, начинается колебательный процесс, при установленной температуре 200 градусов отклонение достигает 50-70.
Попробовал, и что могу сказать, регулятор работает с очень большими выходами за пределы регулирования...
Предусмотренные настройки недостаточны? Понедельник день тяжелый, во вторник посмотрю. По совету da-nie попробуем применить ПИД-регулятор... Только уже не получится:
tbogdan писал(а):
...оставив алгоритм и программу прежней...
Работа программ останется без изменений, но настройки параметров регулирования будут другие.
Работа программ останется без изменений, но настройки параметров регулирования будут другие.
Думал будет для Вас проще переделать программу, но вышло не так. Схему пока не изменять, но это так желательно, контролер можно заменить на ATmega168 ATmega328, если будет мало памяти. А программ (не более 5), то нужно программирование времени разогрева и таймер, то есть, так как было. И еще, а нет ли какой то возможности выводить текущею температуры в файл чтоб сформировать график.
da-nie писал(а):
Непременно попробуйте. Только настройте его под изделие.
Какие нужны параметры чтоб предварительно настроить или определить диапазоны изменения параметров ПИД
ПИД-регулятор, пробная версия. Работу программы не менял, только алгоритм управления клапаном. Принцип работы:
F – длительность управляющего импульса, подающегося на исполнительный механизм клапана. Может принимать значения от 1 до 100, цена одного деления 20 мс. Таким образом, длительность импульса может быть в пределах от 20 мс до 2 с. Расчет F ведется по алгоритму: error_new = SP - PV; – определение ошибки error_summa = error_summa + error_new; – накопление ошибки. error_summa ограничивается не больше Er и не меньше -Er, F = (error_new + (error_new - error_old)*di/ti + error_summa*ti/In)/ Pr; error_old = error_new – запоминание ошибки. Если текущая температура ниже текущего задания, то формируется импульс на открытие клапана. Если текущая температура выше текущего задания, то импульс на закрытие клапана. Формула почти та же, что и в документе, выложенном da-nie. Обозначение коэффициентов другое, связано с ограниченными возможностями семисегментного индикатора. Я думаю, сопоставлением идентифицируете кто есть кто.
Попытки хоть как-то прогнать в Proteus успеха не имели, то есть регулятор реагирует, но насколько правильно трудно сказать. Надо на реальном объекте опробовать, тогда уже ясно будет какие коэффициенты куда тянуть, что добавить или убавить, может и ошибки выявятся...
Описание, прошивка, проект в Proteus (схема не менялась, ресурсов МК более, чем достаточно) во вложении.
Soir спасибо! Еще раз спасибо! попробовал, пока вроде все работает, сейчас немного задержка за доработкой самой камеры. Сложно подобрать параметры, все очень долго.
Всем доброго дня! Soir,все нормально, температура регулирования в пределах нормы (до +/- 10С),потом попробую снять графики чтоб более наглядно. Есть только одно замечание, при включении регулятора начальное задание SP для первой программы ( 0 ), принимается за нуль, текущая температура выше ( например +24С ), и регулятор подает команды на уменьшение мощности, было бы хорошо если начальная температура для первой программы принималась текущая ( PV ).
температура регулирования в пределах нормы (до +/- 10С)
А что вы регулируете? Я управлял с помощью разных регуляторов системой термостабилизации для одного занятного приборчика, с тепловыделением 25 Вт. К сожалению, охлаждение было возможно только по корпусу, поэтому наружная температура была около 15-25 C. Стабилизировалась температура 37 С с использованием 100 Вт нагревателя с возможностью задания (и поддержания) на обмотках нагревателя кожуха системы термостабилизации с помощью ШИМ температуры с точностью 0.1 С. Так вот, в статическом режиме ошибка температуры внутри прибора (не кожуха системы термостабилизации) составляла +-0.01 C. В переходных процессах она доходила до 0.5 C при изменении наружной температуры скачком на 10 C.
...температура регулирования в пределах нормы (до +/- 10С)...
Да, многовато. Это в статическом режиме или при разогреве? Конечно, сотых и десятых не будет, разрешающая способность 1 градус, но 10 это много. Конечно, во многом зависит от конструкции, но думаю 2-3 градуса было бы нормальным результатом. Со своей стороны готов доработать, пока правда не знаю что именно.
tbogdan писал(а):
Есть только одно замечание, при включении регулятора начальное задание SP для первой программы ( 0 ), принимается за нуль, текущая температура выше ( например +24С ), и регулятор подает команды на уменьшение мощности, было бы хорошо если начальная температура для первой программы принималась текущая ( PV ).
А в прошивке так и есть... Просматривая прошивку выявил, что первая программа (P0) как-то неадекватно себя ведет, буду разбираться. И нужно кое-что подчистить от старой версии регулятора, в т.ч. и в алгоритме регулирования. Так что я поправлю прошивку, потом Вы снова проверите, а затем будем работать над более точным поддержанием температуры.
Доработал прошивку, кое-какие недочеты выявил, надеюсь стала лучше. Из настроек убрал один лишний параметр (с). Поправил описание. Чтобы добиться более точного поддержания температуры, наверно следует увеличить скорость работы регулятора (уменьшить параметр ti). Сейчас минимально возможный 1 сек. Я его специально делал большим, с учетом того, что управляется заслонка электродвигателем, чтобы слишком часто его не дергать. Если для каких-то настроек Вы видите, что предела недостаточно - пишите, я расширю в ту или другую сторону, или сделаю более тонкую настройку (например, с десятыми).
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения