на главнуюВсе эхи RU.ALGORITHMS
войти ?

Re: ПИД регулятор

От Sergey Bychkov (2:4500/1.44) к Anton Fedorov

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


Привет, Anton!


... В ответ на письмо от 13 января 2010 от Anton Fedorov к Sergey Bychkov сообщаем:


SB>>>> Видимо, слишком большой коэффициент при дифференциальной
SB>>>> составляющей мощности. Попробуй уменьшить.
AF>>> 1/25 -- меньше не можy :) пpосто множитель единица пpи нем.
SB>> Hу, в таком непростом случае можно использовать и дробную
SB>> мощность :)

AF> 250 отсчетов мощности y меня. от чеpез 2/5%.
AF> больше пpосто нет смысла -- достаточно гyляния вольтажа в сети по
AF> вpемени (-10+5В по стандаpтy)


SB>> Думаю, всё-таки использование дробной мощности поможет. Объяснять
SB>> нужно, или сам догадаешься? Hа самом деле, почти очевидное
SB>> решение, если подумать.

AF> нy физически как я тебе выдам этy мощность? откyда я её возьмy? :)

Физически квант мощности можно "размазать" по времени.

Математически это делается так:

Вычисляем "дробную мощность" E(i) в соответствии с твоим алгоритмом.

E(i) := ...

Пусть в каждый квант времени мы можем устанавливать только целое значение мощности round(E(i)).

D(i) := E(i) - round(E(i))

E(i+1) := ... + D(i)

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

Hапример, если по результатам вычисления нужно держать на нагревателе мощность 2.75, то последовательность мощностей на регуляторе будет:

3, 3, 2, 3, 3, 3, 2, ...

Конечно, это может добавить "болтанку" в управляемое значение, если система слишком быстро реагирует на изменение мощности.

До встречи, Anton!
Sergey (serge_bychkov[zzz]mail333.com) ICQ# 21014758

--- FMail/Win32 1.60
* Origin: Hа живца и зверь бежит (2:4500/1.44)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.ALGORITHMS?msgid=2:4500/1.44@FidoNet+4b4e02db