機械社區
標題: 怎樣利用數學模型進行精確控制? [打印本頁]
作者: 風聲1923 時間: 2013-10-24 18:11
標題: 怎樣利用數學模型進行精確控制?
最近在學自動控制,處于9-98大俠所說的轉專業的狀態(原專業是機械),試著做了一個溫度控制系統,硬件:觸摸屏---PLC---固態繼電器---發熱盤---熱電偶+變送器---AD轉換。
控制方法是PID,其中最關鍵的是PID參數整定的問題,查了下資料,常用的有試湊法、等幅振蕩法、飛升曲線法。
這些都是在不知道數學模型的情況下用的,還有一種方法就是建立控制對象的數學模型,進而搭建整個控制系統的傳遞函數,再根據控制指標求得PID的參數。下面,我嘗試用這種方法來做。
8 K# P' D& Z& C8 l' \步驟:
. @6 g, Z4 @3 h1 l! t(1)確定基本數學模型;
0 k/ k7 z4 O0 H% a8 {5 `# `' g(2)從階躍響應得到模型的參數;3 S+ k/ S9 U5 S# N8 ~
(3)Matlab仿真,得到PID參數;
; c9 s0 ?! n9 D6 `4 s(4)實際運行,并調試。
1 }5 Q; w, Q1 s, I4 P2 ]9 o詳細的推導過程在附件。
問題:
這里我建立的數學模型目的只是為了更快地得到PID的參數,不通過數學模型而用試湊的方法也能得到,只不過麻煩點。之前請教過9-98大俠關于精確控制的問題,不知道怎樣利用數學模型進行精確控制?應該不是用PID控制吧。
. @6 B) f$ V. i' F
作者: 2266998 時間: 2013-10-24 18:52
你這么想一個問題,這種控制,其核心問題是為了實現一個‘目標’,一切是圍繞這個目標的,其展開、持續發生、結束,都是為一個目標,實現這個目標,并對比那個實現的數值,就是你需要的精度誤差,
8 K' ~+ v/ p; B, o' K4 M3 S
& j6 j% U, Z5 v+ x給你舉一個例子,你就明白了,
* {: t/ h& [, x% O9 m$ C/ u+ G$ p8 K; i" T' S( f
1,為控制一個穩定的溫度目標值,要一套供熱系統,一套閥組系統,一套自動化系統,并且還有你要控制的那個‘加熱體’,
" N8 |3 ]0 f" }. Y7 z
9 q' p/ i3 v- Z/ \- q2,你對目標加熱,一定有一個加熱速率,其數值與原始的熱動勢,閥組開度,泵系統效率有關系,你控制好這個,就實現了那個速率,這不是核心問題,加熱速率是一個動態問題,好玩,不復雜,
5 R# C5 j7 D9 h6 o# }1 q# x$ P4 Y& O! Z/ p8 C
3,核心問題是你怎么控制那個‘目標值’,你以一個速率來‘驅動加熱’,到目標點就會有‘過沖現象’,你用PID來抑制這個,就會影響你加熱速率,假如你希望完全達到你的目標點,加熱速率就很低,甚至是遙遙無期,這在工藝上不現實,甲方也不允許,
1 y" G: Y; \6 g% j
- x* v% C: U- ?- t: k0 E# c7 l4,你用‘屁埃地’到一個接近值的時候,這個PID就無效了,或者過沖,或者沒法接近,
, ?' M, d' R5 Y0 f+ n6 q# J/ z/ B( X' W7 A* \' l
5,再往下玩,就是你自己的模型了,你厲害,是厲害在你自己的模型上面了,用PID誰都會的,大家都會,你就沒法牛,- @. ?( m" F$ g) `
& q0 x$ k( q' m6,你切了PID,就得玩你自己的東西了,你必須準確知道那個加熱體的確切問題,比如熱容,散熱率等東西,不知道這個,沒法精確控制目標點,: [0 B7 b9 I6 d! p
0 m: z9 Z' n2 ~/ h9 J6 J& I8 {$ F
7,你寫數學模型,就是先要預知那個目標,即再給多少熱量,就正好是你目標,并且不過沖,或者過沖非常小,其與理論目標值的差值,這就是你要的精度,水平高,是在這個上面了,
& q/ ~* m" ]" C, @ U9 w( |4 x, @3 s4 |# R4 z
8,假如你用‘單短路’來玩PID 的話,后期要開‘雙短路’,切掉‘雙短路’以后,切入你的模型,
5 V) d+ b3 A& e: q
* k% ?9 }# \3 v- Z- P9,即使是‘三短路 也只能玩到一定精度,高了都不行,這之后,你用你自己的模型去帶‘中繼箱’,用中繼箱的溫度去換那個‘加熱體’的熱容空缺,假如計算準確的條件下,一次就‘準確切入’了,所謂說模型,是這個模型,而不是PID,一次沒有切入,要有手段修正,修正是高速的,比PID的效率高許多倍,直接就可以切到目標,俺是這個玩的好,才在行業里混住了,而不是玩PId, 9 C6 @: p$ t' M- K3 b$ O
/ P& p- P* t& w3 ?; _: b10, 當然了,你PID玩的熟練,也是‘大爺’,因為許多家伙連PID 的積分都調不了,假如你隨手會玩PID的,玩弄于股掌之間,就可以每天有6000塊,再多了就困難,因為再多的話,你就必須切入俺說的模型去,否則沒戲,/ b, U* @ r, G9 K( v7 |% g
# j; A5 d5 D, s0 Z5 F% s6 Q& _11,你玩了俺上面說的東西,兩次就可以準確’切入‘,就沒有人敢跟你還價,你就可以給博導們作咨詢,給航空領域做設計,他們都很乖的,并且非常富有,
i% v. n! P* F. M0 N4 Z( R% h8 h. F, o/ N2 h# s6 H$ p
哈哈,
% R, d: [1 ^' O* R; z7 e8 g B5 b# P' q
順便說一句,俺非常,非常喜歡你學習的態度,是屬于多年都見不到的年輕人,努力下去,必有出息的,7 p, Z `4 K! @- @1 N
z6 \) H% t* \# w3 Q: m6 P; C
作者: 拉普拉斯 時間: 2013-10-24 21:29
我也是機械,樓主這個跨的挺遠的啊
* w2 G( m$ T- H$ P數學建模不是一個人能完成的,隔壁實驗室是控制的,一般是一個小組來完成的
作者: 04102 時間: 2013-10-25 01:37
PID的參數可以試著設定一個值,跑一下,看到曲線之后就知道三個值分別調整的方向了。* c8 j7 G8 |) r5 u7 a7 q% q/ j- V
另外,成品的溫控器很多帶有“自整定”功能,其實也是試著跑一下,然后自動調節參數。$ H! e# M+ |5 ]$ m
1 i: f' ?# D7 u
感覺您說的這個數學模型,像是要自己推整個系統的方程了。如果是真要推這個東西的話,: s5 Q9 [& U+ ?
個人覺得:被加熱物體在x溫度下、對y溫度空氣的散熱功率,難在這個地方了。
作者: 單車居士 時間: 2013-10-25 11:40
這種帖子我喜歡:lol
作者: 04102 時間: 2013-10-25 13:17
如果散熱的功率和溫度差是線性關系的話,推導出來還是不難,做幾個測試,參數就出來了,最怕是非線性的關系,要做大量的測試,或者找出這個非線性方程了。
個人觀點:/ G @2 L& L5 h1 g5 h8 P1 K
恒定加熱功率,分別測試許多個功率點的內外溫差,最終才能得到點圖,到時候才能知道擬合出來是個什么樣子的線吧?( V2 M& j9 W s, W2 Z6 a6 W
如果這個很準確的話,可以得知加熱過程中散失多少熱量。有比熱容數據的話,可得知△T需要的熱量,得發熱體在定功率下的加熱時間。. a" T" y1 Q' g
; ?% U* p: b; u- H4 }7 a我嘗試做過小尺寸鋁殼體的恒溫,里面裝電路板的。: m3 u' J( l2 I; S; o6 i1 h+ @
如果內部有局部自身發熱的恒溫器件的話,感覺就麻煩許多,比如說LM399這樣的自恒溫基準器件。2 M7 {% g7 ]6 C" \$ C: z6 j0 e
曾經考慮過樓主所說的那種數學模型,一方面是自己水準欠,又感覺現有的PID方案夠用,所以沒有硬啃下去,覺得那事兒太大了。6 e( |" D. Z$ }! k+ p
雙層鋁殼,熱穩定時間很長,就感覺只有PID自整定方便點了。7 @: O N3 S$ l, B
# {! M. J3 W2 T% D1 f: B2 ^% ~
作者: yunsan 時間: 2013-10-25 16:43
討論的真熱鬧哎,不過看的不太懂
作者: 李澤 時間: 2013-10-25 17:17
看著好學術啊,完全沒看懂。& g7 ]2 q& i3 |4 S0 x3 @! u0 T2 `
作者: 去,你的旅行 時間: 2013-10-25 20:48
學生進來學習
作者: 04102 時間: 2013-10-25 20:51
2266998 發表于 2013-10-24 18:52
5 w! U& J, G( _$ d; M6 ` j" `2 o! }
你這么想一個問題,這種控制,其核心問題是為了實現一個‘目標’,一切是圍繞這個目標的,其展開、持續發生 ...
我是假定散失的熱量和溫度成正比,溫度高散熱里大,通過給加熱體一個恒定的功率,當溫度恒定后,散失的熱量就等于加熱的熱量了。我只測了一點,測了不同溫度下的加熱功率,基本是成線性的,也驗證了我的假設。
俺也是那么想的,恒功率穩定后就是平衡狀態。1 T# ?6 H0 r8 a0 ]/ C
恭喜樓主啦!4 {3 D: I' c3 q
3 {3 \( u0 m$ o& g俺當初想著散熱功率跟空氣流速有關系,空氣流速度跟△T有關系,結果就越想事兒越大,并沒有真正去測試一下。$ J) Z& ~0 ~9 P4 Y6 T
改天我也試試去- `0 J: c% B" n4 d, c( l
/ Y, s5 X6 C" i
作者: 風聲1923 時間: 2013-10-25 21:23
2266998 發表于 2013-10-24 18:52
8 F6 {/ @" \5 @! {7 h
你這么想一個問題,這種控制,其核心問題是為了實現一個‘目標’,一切是圍繞這個目標的,其展開、持續發生 ...
5 E9 Y' r( H8 G( e* x3 X根據99/8大俠的指點,我試著直接用數學模型進行控制(詳細過程在附件中),最后的結果還比較滿意。還想再請教99/8大俠,關于誤差修正問題:
: o& i. L) i; P9 ^. K; S 現在我用的是開環,這樣建立的平衡是非常脆弱的,稍微風吹草動,平衡就打破了。
; P7 q" R& O- k0 X: X, ~' c C0 s5 G5 f
肯定要用到反饋修正,要修正的話,是不是要用到99/8大俠所說的那個“中繼箱”?我的理解是這個“中繼箱”是與加熱體進行能量交換用的,當出現誤差時,比如負載的變化,電源電壓的變化造成的誤差,用這個“中繼箱”把這些誤差平衡掉。+ Z% t' B! H7 q# Z# Q
; U! n: }: n J+ x3 ]7 M# L" o% U 我現在這個模型,第一次升溫后,如果溫度不夠,還可以繼續加熱,把溫度快速提上去;但如果溫度高了,沒有這個”中繼箱“的話,只能等它自己慢慢降,不可能實現快速修正。/ @0 [9 m4 u# X. ]# B! N
: z3 k" r# n% J# d; s% O) l: p; t
- H( |0 S4 M! z2 c7 O3 u
! E! L7 L* \5 f* x1 Y
作者: 茉莉素馨 時間: 2013-10-25 22:25
挺高深,看不太懂啊% {. C9 N" }6 R
個人覺得,熱傳遞,主要就是接觸、輻射、對流$ _ Q2 v& V1 {+ L
這個里面有空氣,有高溫區域(比如加熱設備),有低溫區域(比如被加熱件等),應該就會有對流1 W. [. S' n% g8 j. }' H; S
接觸傳導可能沒有,但是輻射也會有一些吧" {* B% f* u' H) K- U; X
8 M4 J/ k0 t0 m. w# d/ v0 ]
如果用傳感器構成反饋,傳感器的溫度肯定和工件的溫度會有一些差別吧
5 X+ U" b" H2 O' K1 a4 b8 F一般的模型,應該都是認為箱里的溫度都是均勻的,溫度大小就等于傳感器得到的值
% d8 _. x n2 J/ G3 C9 M4 I2 K使用傳感器的溫度作為反饋來修正加熱,保持恒溫* i( Q! E9 D$ F
& c; U) ^# ]( j+ P8 P; x+ J, F0 Z爐內模型,是不是就是99-8大俠說的自己的數字模型9 W& O; ^5 ^! k+ l3 g5 K9 T4 T
可以利用一個函數將傳感器位置的溫度,轉換到被加熱件上,實現精確控制?
作者: xlf63 時間: 2013-10-26 08:12
"他們都很乖的,并且非常富有"....7 l* V3 N+ V9 q
呵呵
作者: 2266998 時間: 2013-10-26 13:58
風聲1923 發表于 2013-10-25 21:23
! T& d2 j% P' H1 \: t/ g5 X- C) X. M
根據99/8大俠的指點,我試著直接用數學模型進行控制(詳細過程在附件中),最后的結果還比較滿意。還想再 ...
3 Y6 u' R! h/ D! s7 w- }: {' d
修正,就是修正這些系統誤差,
; |0 g! {! T# j# D' O" N& @; l" ^0 ~
必然系統環境導致的不確定性,你做一個自學習系統,有記憶的,運行幾次以后,系統自己有一個‘修正系數’,你還可以人工‘再干預’,就準確了,
) o4 D& K3 v! u3 Y i3 r) L- J2 ?- L) x6 R3 U: f
加中繼的目的,就是要確保‘一次切入’,比如你到一個逼近值以后,再開PID,或者就過沖,或者長時間不到目標穩定,這時用一個‘目標中繼箱’,把油溫控制非常精確,因為這是靜態的,可以準確控制,/ n2 r4 }& g+ G7 @ ]. n
; V H8 e1 k- Q6 N6 b# E0 D* N再把這個‘精確’切入系統,替換下原來的油,當這個溫度平衡以后,就是你的目標溫度,其誤差會被系統自動記錄,進行下次修正,
+ _2 o+ `: v1 N. j. L" c5 w* X6 V
好好玩吧,你會前途無量的,
5 R5 n7 n; g2 C7 P# S" q8 y2 `% ^8 A; x# x8 h/ ]+ F) d* P
我的甲方,都不會提這類問題,只要系統精度夠了,就付銀子,里面是啥,沒有誰關心,
作者: 陌上飛 時間: 2013-10-26 14:23
看不懂,不過恭喜樓主還能靜下來努力!
作者: 機械夢想者2 時間: 2013-10-26 14:49
屬于經典控制理論啊,學生學習了
作者: 1032220424 時間: 2013-10-26 23:10
前幾天考試就考了這一類的,可惜我還沒學好
作者: tsh403 時間: 2013-10-28 12:45
PID的算法調試時最好是多看看位移函數,速度函數及加速度函數(曲線圖),5 k3 {+ c; ^. M6 ]
三者關系為求導,再求導呵呵,看出感覺來就可以啦
2 T3 a% c `( T9 |1 [9 ]
作者: 那路人 時間: 2013-10-28 15:40
數量、物理知識是關鍵呀,學習了
作者: wozaicctv 時間: 2013-10-28 23:02
我一直搞不清楚什么是數學模型?" v; S7 A8 b k- K' A0 J+ A- C% \
我先前一個公司有做烤箱,基本就是通過傳感器反饋,進行閉環控制,但存在一些問題,比如時滯性,烤箱內部溫度不均勻性,傳感性的溫度并非真正烤箱內部溫度,很難快速精確達到想要的溫度,誤差很大,溫度低了,產品內部有水分,高了,可能破壞產品,后來通過補償,稍微好點,但老外客戶會經常過來檢查生產線,他們嚴格要求產品要求多少度,烤箱就要真實顯示多少,因此不敢補償太多,而且由于精度差,不良品一直很多。
! K; g& y3 _ e+ I$ T {2 O5 P我想問一下數學模型是公式,規律嗎?是通過采集實驗數據,推導方程,驗證假設嗎?比如推導出方程,然后直接開環,不反饋,求出目標值嗎?
3 L9 A2 l2 Y" Q/ h如何判定方程正確,是一次,還是二次,三次……函數呢?
作者: tsh403 時間: 2013-10-29 10:21
2266998 發表于 2013-10-24 18:52 
) G, q/ h1 J) X你這么想一個問題,這種控制,其核心問題是為了實現一個‘目標’,一切是圍繞這個目標的,其展開、持續發生 ...
# D5 v- m4 O* [' \1 s9 }6 }+ Q大俠:
7 {" R' A0 ?- T7 w. j; P4 P" K關于5.6.7點控制前后段不是很清晰:
% b9 J) f/ C4 l4 p PID是不是建立在自己的模型上去玩調節(目標值)??而pid調節關鍵在于在最短時間里(受配置元件的調節能力限制下)來整合實現.如過沖,則表示加速度調節失控;而樓主建立的數學模型的加熱函數部分,這個是有已知模型部分的,清晰明確,而后面的散熱量,覺得才是適配調節.這個部分的調節函數式,感覺應該是關系式的探索,先線性,后曲線,如果還不行....那就很辛苦啦.....根據現場實際隨便配湊......
- [3 S3 M ~4 B/ L 這個是我關于控制的一個過程, 寫的不是很清楚,因為我現在也還在學習控制,還沒入行。但希望有個路線參考.像指導思想一樣
) j7 I: O' N, E) D請大俠幫忙修正下我的控制線路是否正確??
; L' ]$ C6 J; [1 ~3 R @
# B9 s) e7 k$ e! a; W3 ~0 V
$ a# Q+ ~8 h+ }2 z* C3 Q 6 L9 K, k: A+ H9 I: F% s1 L; A2 G" d
作者: 2266998 時間: 2013-10-29 10:58
tsh403 發表于 2013-10-29 10:21 
, j0 [% [; G- X( Z& N+ r( O1 R大俠:) |: o0 e% A7 J6 q8 h9 b
關于5.6.7點控制前后段不是很清晰:
6 m8 K5 L: t2 p& b# S1 p1 c PID是不是建立在自己的模型上去玩調節(目標值)??而p ...
8 k4 I: {) Q2 P( k2 X
7 h2 P' r$ }* h k* ~* N/ T6 J回答你的問題,也佩服你的學習態度,# N T1 _% D8 W$ e
) o- Q( E1 N7 t9 T- F, N: Z1,PID 是一個算法,即比例微分積分,是一個模式,你可以調節曲線,找反饋類型,實行你的目標,但過沖是無法避免的,有其類型決定了,樓主說的東西,實際與我玩的模型類似,但他還沒玩到俺實用化的程度,即還在理論摸索階段,就是建立自己的模型,對環境修正,變成自己的調節函數,形成曲線,再就是自學習,修正精度,這個路是正確的," k+ m0 A3 s1 t) X2 m9 G
0 R5 y8 K# \/ @5 z) u+ G2,你學習控制,切記一定要學習基礎理論,要非常熟悉,特別是數學,沒有數學,就啥都沒有,學習了理論以后,看一下控制論的書籍,找要點,再自己實際做控制系統,先玩小系統,逐步玩大系統,
; o) x) _& q7 Y9 L2 F( ^% N1 B) z$ a% ?
( Q9 t( V9 M5 ^& y6 s3,因為你現在沒有控制的概念,先甭著急,學一年,明年再說這些,你就跟得上討論了,
作者: 長江漂流 時間: 2013-10-29 22:00
套用一個現在網絡上面流行的詞:不明覺厲。呵呵
作者: 苦菩提 時間: 2013-10-30 10:35
您那張曲線圖是matlap里面的嗎?怎么得到的?還是觸摸屏?
作者: fuhuafeng72 時間: 2014-4-3 12:14
不知所云
作者: 蘋果6 時間: 2014-4-4 04:19
雖然很困難仍然早學習
作者: 如銘2014 時間: 2014-4-4 10:03
好貼啊,值得一看啊啊!!感謝,lol
作者: fuhuafeng72 時間: 2014-4-7 21:18
厲害樓主
作者: 我愛大機械 時間: 2014-4-13 09:11
來湊熱鬧了
作者: 誰的綠茶 時間: 2014-6-2 10:17
2266998 發表于 2013-10-24 18:52
" e8 S- K$ T0 R
你這么想一個問題,這種控制,其核心問題是為了實現一個‘目標’,一切是圍繞這個目標的,其展開、持續發生 ...
+ G# ~8 G R3 C8 Z6 e U
998為何您懂得如此之多,讓人羨慕嫉妒啊!!!
5 N5 a0 R. x; c, O% C% l0 J
作者: gopx1 時間: 2014-6-2 10:35
控制方法值得研究下
作者: fuhuafeng72 時間: 2014-6-4 12:45
好帖子,從機械變電氣,從電氣變機械,總是能變出燦爛的火花
作者: footleft 時間: 2014-6-5 00:10
mark 慢慢看
作者: mrplplplpl 時間: 2014-6-5 08:27
進來學習一下,謝謝樓主的帖子
作者: 人大太犬 時間: 2014-12-14 16:19
記錄下,吧、以后備用
作者: 電視費12 時間: 2015-9-21 08:58
謝謝,學習了!
作者: 螢窗小宇 時間: 2015-9-21 15:59
方式很好,學習了
6 S' h9 I$ P' ]( S# Q+ c. }
作者: Masong 時間: 2015-9-25 13:58
數學模型的作用就在于可以讓你通透地理解一個物理過程,了解它的變化趨勢。
作者: georgemcu 時間: 2015-11-7 19:56
終于知道,為什么998在hoot365的凸輪貼里,說了那么多的“修正”,這個于 998 大俠的 閱歷,經歷,經驗,見識有千絲萬綠的關系,非常能理解998大大說的,理論就是理論 于實際世界都是有誤差的,這是為什么我們公司的老外先通過理論設計,模擬,生產零件,組裝,做模型機,測試,各種折騰,記錄,分析各種結果后,在去一次修正,重測試,再修正,直到得到滿意的結果為止。看來這個東西,不只使用于機械系統,看來是實用于普遍的所有領域哇。我也是學機械的,自動控制在大學和樓主學的應該一樣,比較粗,后來工作也沒有做這塊,但是,看著各樓帖子基本上都能理解,在說啥,呵呵!多了解多學習沒錯。。。保持著一顆學習的心是那么的有用!特別羨慕通過建立數學模型去解決分析問題的人。有感而發,說的有點多。
作者: yxrj01 時間: 2018-12-23 14:55
頂頂老帖。。。
作者: 品茶論劍 時間: 2021-8-1 16:09
經典控制理論
作者: 機械學徒工2 時間: 2021-8-18 18:32
書到用時,方很少
作者: 林汐771k 時間: 2022-3-25 13:13
學習學習& T* W3 r. g4 k$ h7 a% U a2 O D" q
6 j$ P! P, c- x& M3 X, y7 M
| 歡迎光臨 機械社區 (http://m.whclglass.com.cn/) |
Powered by Discuz! X3.5 |