|
нужен простой алгоритм аппроксимации (но не ПИД) | ☑ | ||
---|---|---|---|---|
0
vde69
08.01.16
✎
15:23
|
собственно делаю один проект на ардуинке (для упрощения понимания будем говорить о температуре)
у меня есть уже оцифрованное значение обратной связи (температура) есть реле которое нужно включать и выключать, реле включает нагреватель. Система имеет инерционность (включили на 10 минут нагрев, за счет инерционности 5 минут имеем старую температуру и до 15ой минуты датчик показывает ее увеличение), то есть мне нужно заранее (от обратной связи) отключать и включать нагрузку. То есть мне нужно оперировать мощностью в пределах времени инерционности. ПИД алгоритмы хорошо ведут себя на неинерционных системах, что мне выбрать в качестве теоретической базы ??? (у меня инерционность может достигать нескольких часов). делать чистую таблицу соответствий - то же не хочется... |
|||
1
shuhard
08.01.16
✎
16:23
|
(0) раз у тебя есть тепловая ёмкость, разница температур и мощность нагревателя, то систему мощно считать в первом приближении линейной
|
|||
2
Mikeware
08.01.16
✎
16:55
|
(0) пид-регуляторы хорошо ведет себя на любых системах. Для инерционных систем инерция объекта (потоянная времени) читывается в интегральной составляющей
|
|||
3
Mikeware
08.01.16
✎
16:56
|
(1) совершенно не обязательно она будет линейной
|
|||
4
Irbis
08.01.16
✎
17:01
|
(3)+1, судя по описанию (наличие реле) — система очень не линейная. Автору придётся выбирать либо частоту авто колебаний в установившемся режиме, либо амплитуду.
|
|||
5
vde69
08.01.16
✎
17:37
|
ПИД - регулятор выдает аналоговый сигнал (на семистр), мне нужен дискретный (на реле)
|
|||
6
Irbis
08.01.16
✎
17:40
|
(5) Тогда добавляй что-то вроде компаратора и электронный ключ.
|
|||
7
Mikeware
08.01.16
✎
17:50
|
(5) это с какого перепугу ПИД обязан выдавать аналоговый сигнал? и с какого перепугу сигнал на симистор - является аналоговым?
|
|||
8
Mikeware
08.01.16
✎
17:58
|
кстати, дофига промышленных ПИД-регуляторов как раз с релейным выходом. например, те же ОВЕНовские ТРМ10.
|
|||
9
Mikeware
08.01.16
✎
18:03
|
Даже в описании овеновского ТРМ10 написано:
http://www.owen.ru/catalog/izmeritel_pid_regulyator_odnokanal_nij_oven_trm10/opisanie Прибор ОВЕН ТРМ10 рекомендуется применять для управления объектами, обладающими повышенной инерционностью, где обычное двухпозиционное регулирование не обеспечивает необходимую точность. При использовании в качестве терморегулятора ОВЕН ТРМ10 может управлять как процессом нагрева, так и процессом охлаждения объекта. |
|||
10
rphosts
08.01.16
✎
18:22
|
(0) а действительно что не ПИД или в крайнем случае таблица? Не, ну можно конечно построит систему диф. уравнений (которыми можно приближенно описать большинство процессов), потом построить мат.модель и начать её решать (исползуя приближение (ака апроксимация))... только зачем такой огород городить? ПИД вроде как раз под такие вещи заточен.
|
|||
11
Garykom
гуру
08.01.16
✎
18:41
|
(0) поподробнее раскрой а то слишком упростил
"мощность нагрева" для начала в каких пределах регулируется? или только включен/выключен? можно сделать простую линейную аппроксимацию (с учетом времени) или если слишком сильно врать будет то квадратичную или кубическую функцию |
|||
12
Это_mike
08.01.16
✎
19:14
|
(10) решить дифур - это, собственно, и получится ПИД.
(11) при такой постоянной времени у объекта - можно реализовать ШИМ с периодом пару десятков секунд. Т.е. считать, что регулировка плавная :-) |
|||
13
D_Pavel
08.01.16
✎
19:44
|
(0) Никаких дифур тут не надо. Тебе нужно знать:
1. текущую температуру (t1). Определяется не менее чем через 5 минут после отключения нагревателя. 2. требуемую температуру (t2) 3. на сколько градусов нагреется датчик если включить обогрев на 1 минуту (dt) (вычисляется экспериментально если модель сложная) по простой формуле (при условии что мощность нагревателя и теплоемкость объекта - константы и не зависят от температуры) получаем время работы обогревателя: время = (t2-t1)/dt |
|||
14
Это_mike
08.01.16
✎
21:34
|
Вот так вот сварщики начинают изучать тау...
Слышь, кловун, а что будет, если (0) проектирует, скажем, систему отопления. И рабочая точка - целевая температура - скажем, 95 градусов. И во время подогрева теплоносителя слегка, процентов на 20, падает теплосьем (ну, стих ветер и потерпело на улице). А в это время соседи топикстартера, не столь продвинутые и управляющие своими электрообогреватели вручную, выключили их и напряжение возрасло на допустимые 10 процентов. И что получится? :-) |
|||
15
Это_mike
08.01.16
✎
21:36
|
(14) естественно к (13)...
|
|||
16
Garykom
гуру
08.01.16
✎
21:39
|
(14) кто то бабла срубит, а кто то потеряет?
|
|||
17
Это_mike
08.01.16
✎
21:52
|
(16) потеряет ТС...
|
|||
18
vde69
09.01.16
✎
13:47
|
(14) кстати систему отопления я начинал проектировать :) но не доделал из-за многих факторов не зависящих от меня, но там я хотел делать съем разность температуры с прямотока и обратки и скорость прокачки двигателем, то есть получать вкачанную мощность без привязки к температуре носителя и самого котла
для задачи (0) буду делать примерно так построю эталонную таблицу (основанную на натурных испытаниях) примерно на 10 шагов (через 100 градусов, от 0 до 900), на каждом шаге запомню на какую температуру будет перебег при 100% мощности (догрели но 500, выключили и запомнили, что через 10 мин температуры вылетет на 520), и процент который необходим для поддержании установленной температуры (например 500с - 50%, 600с - 65%) для промежуточных значений вылет и мощность поддержания буду брать пропорционально крайним значениям. таким образом я получу довольно приемлемое значение, которое нужно будет еще корректировать через коэффициент теплоёмкости (например в печке массивный предмет лежит) и коэффициент тепло рассеивания (например в печке дверца не плотно закрылась, или в комнате жара), эти коэффициенты буду рассчитывать исходя из скорости нагрева реальной и плановой. Короче как-то так... |
|||
19
Garykom
гуру
09.01.16
✎
15:00
|
(18) плавильная/обжиговая печка?
корректировка на массивный предмет - не столько теплоемкость, сколько начальную температуру и массу предмета "в комнате жара" до 50 градусов жары можно не учитывать )) еще хороший вариант это отказаться от регулировки мощности в % и использовать импульсный режим на фиксированной мощности (100%) |
|||
20
Это_mike
09.01.16
✎
15:16
|
Очередная муфельная печь на ардуино...
"В гугель, сукины дети, в гугель!"© Там есть их.. Всякие, и с пидами, и с термопрофилями для закалки-отпуска... Или нужно как всегда свою, с лаптой и пастушками? |
|||
21
Это_mike
09.01.16
✎
15:22
|
(18) блин, даже лениво к ноуту идти... Но твои корректировки "на массивный объект" и т.п. суть коэффициенты пид-регулятора.
|
|||
22
Это_mike
09.01.16
✎
15:33
|
(19) тут вполне можно использовать алгоритм регулирования пропуском полупериодов. Собственное его название не помню, но можно найти по словам алгоритм Брезенхема.
|
|||
23
Это_mike
09.01.16
✎
15:55
|
Добавлю, что у кетаезов подешевели пирометры в т.ч. в исполнениидля дуйни. Диапазон там конечно, хреноватый, до меньше500, зато бесконтактный, и i2c сразу на борту. Стоят в районе 500 руб, что имхо лучше, чем лепить термопары со всеми вытекающими.
|
|||
24
D_Pavel
14.01.16
✎
12:11
|
(14) Если ты так думаешь, то поставь флюгер на крышу и мерь напряжение в розетке, заодно физику подучи.
(18) Думаю, это самый простой из подходящих по точности, правильный вариант. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |