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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 23.01.2009, 00:15  
xinod
Временная регистрация
 
Регистрация: 13.07.2006
Сообщений: 90
Сказал спасибо: 10
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
xinod на пути к лучшему
По умолчанию

Далее складываемсигналы Uвых(nT)пропорциональной и интегральной части и опять ограничиваем выход на уровне ограничения интегратора. Диф. часть надо будет еще повспоминать (опять проклятое пиво ..)... Но она Вам явно понадобится - тепловой объект - довольно инерционаая зараза - иногда нужна форсировка... Правда реализовывать можно по разному.
И главное не забывать про период квантования. Скорее всего надо реализовывать в функции обработки прерывания таймера - главное выдержать промежутки вызова ПИДа - т.е. Т.
Реклама:
xinod вне форума  
Непрочитано 23.01.2009, 04:02  
ua_gruzin
Вид на жительство
 
Регистрация: 11.12.2006
Сообщений: 317
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
ua_gruzin на пути к лучшему
По умолчанию

xinod, спасибо, завтра подолбу на свежую голову... может и подойдет

Еще вопрос.
Сумму инт (сумму ошибок) когда обнулять или ограничивать его надо? (ведь можно досуммировать до бесконечности )
ua_gruzin вне форума  
Непрочитано 23.01.2009, 14:37  
ua_gruzin
Вид на жительство
 
Регистрация: 11.12.2006
Сообщений: 317
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
ua_gruzin на пути к лучшему
По умолчанию

Мда, еще один вопрос.
И так.
Примером имеем ПИД регулятор с настройками:
П=0.5% на градус Цельсия
И = 200 сек
Д = 0 (пускай ноль, пока не рассматриваем)
Полоса интегрирования равна 10 градусов Цельсия.
Период запуска регулятора равен 2 сек.
Ошибка в установившемся режиме не превышает 1 градус Цельсия

И так, поправте если я не прав:

1. максимум интегральной суммы ошибки (integral:=integral+error) будет состоять с суммы 100 ошибок (коэффициент "И" делится на период запуска регулятора)?


2. Сумма n ошибок в integral не должна превышать значение полосы интегрирования (в нашем случае 10 градусов). Если выше - то тогда сумма равна 10 градусов, если ниже, равна -10 градусов?
if integral › 10 then integral:= 10
if integral ‹ -10 then integral:=-10

Или это максимальное значение ошибки не должно превышать значение полосы интегрирования?
if error › 10 then error:= 10
if error ‹ -10 then error:=-10
integral:=integral+error

Или при выходе ошибки за пределы полосы интегрирования должна сумма онулятся (отключает тем самым интегральное звено)?
if error › 10 then integral:=0
else
integral:=integral+error
if error ‹ -10 then integral:=0
else
integral:=integral+error


3. Ошибка вычисляется каждый раз при запуске регулятора с периодом в 2 сек?
error:=set_position - current_position


4. Регулятор за 200 секунд должен выйти на необходимую величину отработав ошибку. Следующий запуск регулятора должен произойти только после того, как будет выход за ошибку в установившемся режиме?
ua_gruzin вне форума  
Непрочитано 24.01.2009, 00:35  
LDZ
Временная регистрация
 
Регистрация: 16.06.2006
Адрес: Даугавпилс
Сообщений: 52
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
LDZ на пути к лучшему
По умолчанию

Привет. Тоже хочу разобраться с ПИДом. К сожалению с моделированием не знаком, потому, если прогоните не обижусь. Расскажу, что знаю. Лучше ПИД разделить на составные части. Итак возьмём П. Для наглядности нагреем нагреватель с 20 до 200 градусов. Управлять напряжением на нагревателе будем 10 битным ШИМом.
P = (setpoint - currentpoint);
P = 200 - 20 = 180;
Явно мало. Поэтому в формуле есть некий коэффициент - Kp.
Для примера - будем греть до 150 полной мощностью, а затем её снижать.
Kp = 1023 / 50 ~ 20
Получаем
P = (setpoint - currentpoint) * Kp = (200 - 20) * 20 и т.д.
и ограничиваем сверху 1023, а снизу пока 0.
Это моделируется ? Подбором Kp и ограничения снизу можно получить неплохое качество регулирования.
В данном случае ШИМ = P.
LDZ вне форума  
Непрочитано 24.01.2009, 01:52  
ua_gruzin
Вид на жительство
 
Регистрация: 11.12.2006
Сообщений: 317
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
ua_gruzin на пути к лучшему
По умолчанию

Мда...., не густо в нас знатоков ПИД регулятора

Ну хоть тупой вопрос...
Что будет віходом ПИД регулятора? Насколько я понял - будет "нечто" не привязано ни ко входу ни к выходу.

Для примера я подаю на вход значение температуры (Т заданное). На выходе должен получить что?

а) значение нарастающей температуры которая с перерегулированием приближается к заданной температуре.
(заданна для примера 100 градусов. на выходе будет последовательность 0,30,60,90,120,110,105,98,99,100,100,100,100)

б) некоторое процентное соотношение относительно входного сигнала (0.0 ,0.3, 0.6, 0.9, 1.2, 1.1, 1.05, 0.98, 0.99, 1.0, 1.0, 1.0, 1.0, 1.0 ) а дальше умножаешь на ту величину которую тебе нада (например на тот же 1024 значения 10-ти битки ЦАП или ШИМ)
ua_gruzin вне форума  
Непрочитано 24.01.2009, 02:58  
LDZ
Временная регистрация
 
Регистрация: 16.06.2006
Адрес: Даугавпилс
Сообщений: 52
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
LDZ на пути к лучшему
По умолчанию

На выходе "ПИД"а мы и получаем этот самый "ШИМ" который управляет этим самым нагревателем. А эту температуру "а" мы замеряем на нагревателе и используем для подсчета ошибки. Если взять только "П" колбасить будет немного дольше. Или вообще не выйдет на заданную температуру при малом "Kp". Необходимо подобрать коэффициент таким, чтобы температура попала в зону интегрирования. Здесь будет более точно регулировать "И" составляющая. Я так понимаю это дело.
LDZ вне форума  
Непрочитано 24.01.2009, 09:07  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию

Хотелось бы узнать,для какой цели вы хотите использовать ПИД регулирование.Если,например,для поддержки определённой температуре в котле,то можно воспользоваться следующей методой.
К примеру необходимо поддержка температуры в 70 градусов.Устанавливаете два значения температуры-верхнее t=70,2С и нижние t=69,8С.
До нижнего предела температуры нагрев идёт постоянно,в полосе регулирования питание ТЭНов осуществляется импульсным током,частота которого зависит от разности температуры в объёме и верхнего установленного.
Для более серьёзного предприятия можно приобрести ТРМ-10 фирмы ОВЕН
Vov123 вне форума  
Непрочитано 24.01.2009, 15:08  
LDZ
Временная регистрация
 
Регистрация: 16.06.2006
Адрес: Даугавпилс
Сообщений: 52
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
LDZ на пути к лучшему
По умолчанию

Ну, чайник ещё проще устроен. Давайте возьмём что посложнее. Например такое регулирование.
http://monitor.net.ru/forum/files/irsoft_668.gif
LDZ вне форума  
Непрочитано 25.01.2009, 16:46  
Kanava
Прописка
 
Регистрация: 11.09.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Kanava на пути к лучшему
По умолчанию

Короче самое простой способ:
выставляешь коэффициенты: P=2;I=1;D=0
Kanava вне форума  
Непрочитано 26.01.2009, 00:44  
xinod
Временная регистрация
 
Регистрация: 13.07.2006
Сообщений: 90
Сказал спасибо: 10
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
xinod на пути к лучшему
По умолчанию

Привет товарищу ua_gruzin - даю наколки по ПИДам:
1) _http://electronix.ru/forum/index.php?s=5ab5e9b1e2fb33a81c81840b722b3d47&showt opic=20413&st=0&p=149350&#entry149350
2) _http://electronix.ru/forum/index.php?showtopic=10330&st=15&p=69686&#entry6968 6
3) _http://electronix.ru/forum/index.php?showtopic=20413&st=0&p=149032&#entry1490 32
На первый взгляд все толково описано... само плохо могу объяснять, потому как изучал все самостоятельно.
xinod вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПИД-регулятор и Proteus oleg_harp Микроконтроллеры, АЦП, память и т.д 16 01.07.2009 23:37
ПИД регулятор 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, время: 15:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot