Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств.

Ответ
Опции темы

ПИД аля по болгарски

Непрочитано 17.09.2008, 09:31   #41
Popeye
Почётный гражданин KAZUS.RUN
 
Аватар для Popeye
 
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
Popeye на пути к лучшему
По умолчанию

NOPROBLEM, спасибо за труд. Надюсь ПИД многим станет понятнее. Явно некоторые, я в частности трудно въезжаем, а ПИД надобен, хочеш не хочеш. Товар пошел в производство, если что то не так и придется исправлять отпишусь.
Удачи!
Popeye вне форума   Ответить с цитированием
Непрочитано 17.09.2008, 13:36   #42
NOPROBLEM
Почётный гражданин KAZUS.RUN
 
Аватар для NOPROBLEM
 
Регистрация: 11.07.2006
Адрес: Москва, Тушино
Сообщений: 3,709
Сказал спасибо: 778
Сказали Спасибо 994 раз(а) в 552 сообщении(ях)
NOPROBLEM на пути к лучшему
По умолчанию

Вообще-то я никогда не использую при регулировании такое вычисление производной и почти никогда не использую значение с датчика в чистом виде. Дело в том, что случайные помехи обычно вызывают при этом бурную реакцию регулятора. Чтобы его успокоить можно применять сглаживание, как значений с датчика, так и производной до такой степени инерционности, которая физически свойсвенна измеряемой величине. Такой КИХ-фильтр можно реализовать, складывая в разной пропорции задержанные на несколько тактов (сохраненнные в кольцевом буфере) предыдущие значения. Один из таких фильтров иллюстрирует подавление импульсной помехи в измерении и при дифференцировании. Коэффициенты округлены до целого числа для ускорения умножения

-- Прилагается рисунок: --
__________________
От ложного знания к истинному незнанию!
NOPROBLEM вне форума   Ответить с цитированием
Непрочитано 19.09.2008, 20:09   #43
Goshman
Частый гость
 
Регистрация: 28.02.2005
Сообщений: 12
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Goshman на пути к лучшему
По умолчанию

Спрошу в этой же теме...

Преамбула. Досталось наследство в виде ряда аппаратов, использующих в своем составе элементы Пельтье (ЭП) для охлаждения продукта/(камеры, а затем продукта). Температуры до -80 гр.С. В некотрых аппаратах контролируется скорость охлаждения, в некотрых - заданная температура. До меня применили классический ПИ-регулятор, на выходе которого был ШИМ для импульсного источника напряжения. При этом регулятор с одними и теми же настройками не мог отрабатывать весь диапазон температур. В результате область регулирования была разбита на поддиапазоны (в некоторых аппаратах до 4-х штук) с разными настройками.
Амбула. Я столкнулся с тем, настройки КАЖДОГО поддиапазона очень часто варьировались от аппарата к аппарату (одной и той же модели). Это связано с тем, что выход блока питания прямопропорционально связан с напряжением в питающей сети, разбросом характеристик применяемых ЭП и т.д. Более того, в одном аппарате я так и не смог эти настройки подобрать. В результате был написан релейный регулятор. Подход к уставке с обеих сторон определяется скоростью наростания/спада температуры и их ускорением для определения управляющего воздействия. Получился достаточно громоздкий, но рабочий во всем диапазоне температур алгоритм. Серьезный его недостаток заключается в явно выраженной синусоидальной форме значения контролируемого процесса (на это обращают внимание заказчики, и мне это тоже не нравится), хоть и в допускаемых пределах; много буферов хранения промежуточных данных (в ремонтных аппаратах стоят процессоры раннего типа - мало ОЗУ).
Недавно наткнулся на эту ветку. Попалась ссылка на http://learncontrol.com/pid/code.htm Попробовал, вставил в программу, приняв Deriv = Reset = 1, а Gain = 10 (половина максимума управляющего воздействия). Удивительно, но этот алгоритм отработал во всем диапазоне температур с перерегулированием всего навсего 20% и ошибкой 5% (это допускается). Потом попробовал в 2 раза уменьшить период квантования (с 20 до 10 секунд) - алгоритм пошел в разнос. Вообще постоянная времени варьируется при разных температурах от аппарата к аппарату в широких пределах (я лично наблюдал от 10 до 40 секунд). Возник вопрос. Как то можно "научить" программу выбирать правильный период квантования, или "подправлять" коэффициенты при составляющих ПИД-регулятора, или забить и использовать уже отработаный релейный регулятор?

С уважением, Goshman
Goshman вне форума   Ответить с цитированием
Непрочитано 20.09.2008, 00:29   #44
tauP10
Почётный гражданин KAZUS.RUN
 
Регистрация: 26.08.2006
Сообщений: 1,404
Сказал спасибо: 1
Сказали Спасибо 89 раз(а) в 69 сообщении(ях)
tauP10 на пути к лучшему
По умолчанию

Сообщение от Goshman
Потом попробовал в 2 раза уменьшить период квантования (с 20 до 10 секунд) - алгоритм пошел в разнос
Имхо, это отчасти по той причине что сигнал обратной связи – температура, величина не зависящая от периода квантования в вашем алгоритме.
Посмотрите что происходит на примере с интегральной компонентой , уменьшив dt в 2 раза при численном интегрировании (суммированием) выходной значение интегральной компоненты на периоде интегрирования (от 0 до T) возрастет в 2 раза! Чего нет при математическом интегрировании. Вы же в цикле просто суммируете ошибку в 2 раза чаще , наверняка не умножив её на дополнительную величину, пропорциональную периоду квантования. Таким образом получается избыточный рост коэффициента при интегральной компоненте.

Цитата:
Как то можно "научить" программу выбирать правильный период квантования, или "подправлять" коэффициенты при составляющих ПИД-регулятора, или забить и использовать уже отработаный релейный регулятор?
Можно научить «не зависеть» от периода квантования, умножая ошибку на dt для интегральной компоненты I=I+Ki*Prop*dt в цикле,
А для дифференциальной компоненты разделив на dt :
Kd*Diff/dt.
Если период квантования задается например в цикле функцией delay(dt) (или иным эквивалентным способом) , то этот метод поможет избавиться от проблем с периодом квантования и его сильным влиянием на работу алгоритма. Посмотрите еще раз как это лаконично сделано в алгоритме приведенном вверху 3-й страницы этой темы.

А подправлять коэффициенты компонент можно например по принципам изложенным в
http://logic-bratsk.ru/radio/pid/irt/main1_10.htm
или http://www.pidregulator.com/chapter3page17.html (Циглера - Николса)

Надеюсь что Вы также прочли хорошую книжку, выложенную в этой теме вверху 4-й страницы уважаемым NOPROBLEM-ом.
tauP10 вне форума   Ответить с цитированием
Непрочитано 20.09.2008, 01:40   #45
NOPROBLEM
Почётный гражданин KAZUS.RUN
 
Аватар для NOPROBLEM
 
Регистрация: 11.07.2006
Адрес: Москва, Тушино
Сообщений: 3,709
Сказал спасибо: 778
Сказали Спасибо 994 раз(а) в 552 сообщении(ях)
NOPROBLEM на пути к лучшему
По умолчанию

Сообщение от Goshman
Вообще постоянная времени варьируется при разных температурах от аппарата к аппарату в широких пределах (я лично наблюдал от 10 до 40 секунд).
С уважением, Goshman
Полагаю, что такой разброс требуемых настроек может объясняться разной теплоизоляцией и термическим сопротивлением от ПТ к рабочему телу. Нелинейность при изменении температуры я наблюдал при более чем 1000С, но там начинает сказываться излучение, а оно пропорционально 4 степени температуры. Кстати, там получилось отлично, путем построения в процессе настройки гладкой функциональной (полином 2 степени по 3 точкам температуры) зависимости коэффициентов от температуры. Но у Вас вроде нелинейность может быть только от образования/таяния льда в каких-то зазорах, больше мне ничего на ум не приходит. Но если нелинейность велика, то классические методы настройки Вам плохо помогут, только метод "Научного Тыка"
Цитата:
Возник вопрос. Как то можно "научить" программу выбирать правильный период квантования, или "подправлять" коэффициенты при составляющих ПИД-регулятора, или забить и использовать уже отработаный релейный регулятор?
Как уже заметил уважаемый tauP10, изменение периода квантования просто меняет масштаб оценки скорости, поскольку по определению она равна dT/dt. Смена периода эквивалентна (в 1 приближении) смене коэффициента при при дифф. составляющей (или Td).
А вот подправлять коэффициенты в процессе работы по результатам регулирования (амплитуде ошибки температуры) ИМХО очень разумно, особенно при Вашем избытке времени . Думаю, хорошо будет реализовать непрерывную настройку всех трех коэффициентов по Симплекс методу оптимизации. Он не требует сложных вычислений и вполне реализуем на МП, где присутствуют подпрограммы целочисленного умножения и деления.
Удачи!
__________________
От ложного знания к истинному незнанию!
NOPROBLEM вне форума   Ответить с цитированием
Непрочитано 21.09.2008, 12:06   #46
Popeye
Почётный гражданин KAZUS.RUN
 
Аватар для Popeye
 
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
Popeye на пути к лучшему
По умолчанию

ИМХО если температура далека от желаемой охладители на максимум. Если близка тупо уменшить время квантования-вычисления нового ШИМа, до 1сек скажем или меньше, до 0,1сек примерно. И ограничить шаг изменения ШИМа до около 1-2% от максимума. Написал, Вам проверять......
Удачи!
Popeye вне форума   Ответить с цитированием
Непрочитано 21.09.2008, 13:32   #47
NOPROBLEM
Почётный гражданин KAZUS.RUN
 
Аватар для NOPROBLEM
 
Регистрация: 11.07.2006
Адрес: Москва, Тушино
Сообщений: 3,709
Сказал спасибо: 778
Сказали Спасибо 994 раз(а) в 552 сообщении(ях)
NOPROBLEM на пути к лучшему
По умолчанию

Сообщение от Popeye
ИМХО если температура далека от желаемой охладители на максимум. Если близка тупо уменшить время квантования-вычисления нового ШИМа, до 1сек скажем или меньше, до 0,1сек примерно. И ограничить шаг изменения ШИМа до около 1-2% от максимума. Написал, Вам проверять......
Удачи!
Вся проблема в том, что если выключишь охладитель при нужной температуре, то она еще некоторое время продолжает снижаться. Просто охладитель, чтобы охлаждать, должен быть холоднее объекта. А после выключения температура выравнивается, естественно еще охлаждая объект. Вот и приходится ловить эту разницу и выключать при более высокой температуре (релейное управление), либо анализировать скорость охлаждения и выключать с ее учетом (ПД-регулятор). Но беда в том, что при разных температурах и у разных экземпляров настройки должны быть разные Подозреваю, что они еще и со временем меняться должны учитывая либо старение, либо разные наполнения камер... Вот тут и думается, что процесс постоянной настройки коэффициентов регулятора есть не только кардинальный, но и единственно разумный выход
__________________
От ложного знания к истинному незнанию!
NOPROBLEM вне форума   Ответить с цитированием
Непрочитано 22.09.2008, 19:25   #48
Goshman
Частый гость
 
Регистрация: 28.02.2005
Сообщений: 12
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Goshman на пути к лучшему
По умолчанию

Основная проблемма возникла с передачей аппаратов в отдел производства. И связана она с тем, что для каждого аппарата могут применяться свои настройки регулятора. Квалификации сборщика может быть недостаточно (по мнению начальства) для их корректного определения. Собственно для этого я и применил "релейный" регулятор, в котором контролируемый праметр подводится к уставке с определенной скоростью сверху и снизу, а необходимая мощность вычисляется еще и по ускорению параметра. Работает, сам подстраивается, неплохо отрабатывавет возмущения типа изменения расхода воды через радиаторы ЭП. Но, он громоздкий и есть недостатки что я уже описывал выше. ПИД-регулятор более красив и технологичен, но присутствует сложность настройки. Сейчас в виду недостатка времени реализовал оба алгоритма с возможностью выбора одного из них. Со временем (если оно появится) попробую настройки ПИД-регулятора править "на лету". Хотя, посмотрев предложенную литературу, думаю, что эта задача нетривиальная.
Goshman вне форума   Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПИД регулятор на AVR ua_gruzin Микроконтроллеры, АЦП, память и т.д 52 22.03.2012 15:52
ПИД регулятор masterpc Производственное оборудование 14 05.03.2007 16:24
ПИД регулятор на AVR mishutka Микроконтроллеры, АЦП, память и т.д 40 31.12.2006 03:11
Пид-регулятор и AVR French Микроконтроллеры, АЦП, память и т.д 1 06.10.2004 23:30


Часовой пояс GMT +4, время: 14:01.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.