机械必威体育网址

标题: 怎样利用数学模型进行精确控制? [打印本页]

作者: 风声1923    时间: 2013-10-24 18:11
标题: 怎样利用数学模型进行精确控制?
最近在学自动控制,处于9-98大侠所说的转专业的状态(原专业是机械),试着做了一个温度控制系统,硬件:触摸屏---PLC---固态继电器---发热盘---热电偶+变送器---AD转换。
控制方法是PID,其中最关键的是PID参数整定的问题,查了下资料,常用的有试凑法、等幅振荡法、飞升曲线法。
这些都是在不知道数学模型的情况下用的,还有一种方法就是建立控制对象的数学模型,进而搭建整个控制系统的传递函数,再根据控制指标求得PID的参数。下面,我尝试用这种方法来做。
% ]/ K" k! z+ H' |! C
步骤:1 `3 O. Z, `: K5 F# |- [9 R4 \, p
(1)确定基本数学模型;
( i+ D7 ~8 p) W/ H, s: W! }: [* }6 f(2)从阶跃响应得到模型的参数;0 u# D2 P% ?, i- }6 Q9 @
(3)Matlab仿真,得到PID参数;/ H9 R. }0 K) ?9 X: b
(4)实际运行,并调试。
9 k3 c0 y$ R* e  t4 \& ~- `4 d
详细的推导过程在附件。
问题:
这里我建立的数学模型目的只是为了更快地得到PID的参数,不通过数学模型而用试凑的方法也能得到,只不过麻烦点。之前请教过9-98大侠关于精确控制的问题,不知道怎样利用数学模型进行精确控制?应该不是用PID控制吧。

/ D& Q, ~5 e! c9 g; x
作者: 2266998    时间: 2013-10-24 18:52
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生、结束,都是为一个目标,实现这个目标,并对比那个实现的数值,就是你需要的精度误差,! c( e+ P3 r: X4 ]% K5 m  I

% Z$ j! L, |6 P2 J9 V给你举一个例子,你就明白了,
* l1 C& a. {# g" u% @+ A. G( W, r  _& F  f3 ~3 O& N' d- s
1,为控制一个稳定的温度目标值,要一套供热系统,一套阀组系统,一套自动化系统,并且还有你要控制的那个‘加热体’,* |, R8 `# ~& j: y! Z& f1 I

! d* `6 E0 r5 W% t2,你对目标加热,一定有一个加热速率,其数值与原始的热动势,阀组开度,泵系统效率有关系,你控制好这个,就实现了那个速率,这不是核心问题,加热速率是一个动态问题,好玩,不复杂,
0 A( |( P3 H& r. d2 R* ^0 W, `
3,核心问题是你怎么控制那个‘目标值’,你以一个速率来‘驱动加热’,到目标点就会有‘过冲现象’,你用PID来抑制这个,就会影响你加热速率,假如你希望完全达到你的目标点,加热速率就很低,甚至是遥遥无期,这在工艺上不现实,甲方也不允许,
* F# y: a9 A& }& K7 N8 F# Q; \7 v$ [8 D4 K- N5 Z$ A8 T  j
4,你用‘屁埃地’到一个接近值的时候,这个PID就无效了,或者过冲,或者没法接近,
3 ]# A4 E, P+ \; U: J, q
' p6 L$ W4 u. X) {, _+ P5,再往下玩,就是你自己的模型了,你厉害,是厉害在你自己的模型上面了,用PID谁都会的,大家都会,你就没法牛,; v& i5 O# v' E# C- v
0 C  \" t1 L3 P
6,你切了PID,就得玩你自己的东西了,你必须准确知道那个加热体的确切问题,比如热容,散热率等东西,不知道这个,没法精确控制目标点,6 Q8 l% x" _- s2 y9 a# Z
, ~4 T, l2 w) L2 E' i, x
7,你写数学模型,就是先要预知那个目标,即再给多少热量,就正好是你目标,并且不过冲,或者过冲非常小,其与理论目标值的差值,这就是你要的精度,水平高,是在这个上面了,
' k7 a8 }; C( O9 ]& ^" [$ R( ]
7 R  X* x0 o1 n2 E8,假如你用‘单短路’来玩PID 的话,后期要开‘双短路’,切掉‘双短路’以后,切入你的模型,+ }5 [) \! o9 c, Y, a4 B
$ j2 G* g3 v" x# [! v/ ?! ?/ [
9,即使是‘三短路 也只能玩到一定精度,高了都不行,这之后,你用你自己的模型去带‘中继箱’,用中继箱的温度去换那个‘加热体’的热容空缺,假如计算准确的条件下,一次就‘准确切入’了,所谓说模型,是这个模型,而不是PID,一次没有切入,要有手段修正,修正是高速的,比PID的效率高许多倍,直接就可以切到目标,俺是这个玩的好,才在行业里混住了,而不是玩PId, 7 z8 T( O( `" h7 l- k/ D
% |( q: w$ {9 s) X% e: c/ g+ U
10, 当然了,你PID玩的熟练,也是‘大爷’,因为许多家伙连PID 的积分都调不了,假如你随手会玩PID的,玩弄于股掌之间,就可以每天有6000块,再多了就困难,因为再多的话,你就必须切入俺说的模型去,否则没戏,; W' r7 w& O- F) M; b
) ~5 W# }; b1 v9 r4 c0 ~1 \
11,你玩了俺上面说的东西,两次就可以准确’切入‘,就没有人敢跟你还价,你就可以给博导们作咨询,给航空领域做设计,他们都很乖的,并且非常富有,
( L7 V" y' N- D6 G( u) \, V
( G* R! w6 q% L7 _: o7 v' j哈哈,
7 U" V3 ~! ]1 J0 d# s6 j' s2 Q5 `3 z; n
顺便说一句,俺非常,非常喜欢你学习的态度,是属于多年都见不到的年轻人,努力下去,必有出息的,2 b$ o6 M7 `% k6 u; E
- f! t, R( H1 Q0 |/ ^& C

作者: 拉普拉斯    时间: 2013-10-24 21:29
我也是机械,楼主这个跨的挺远的啊
2 S, a& Z0 i9 l( W; \  `, m. o数学建模不是一个人能完成的,隔壁实验室是控制的,一般是一个小组来完成的
作者: 04102    时间: 2013-10-25 01:37
PID的参数可以试着设定一个值,跑一下,看到曲线之后就知道三个值分别调整的方向了。/ T/ C* V* l: d( O7 g: |: n
另外,成品的温控器很多带有“自整定”功能,其实也是试着跑一下,然后自动调节参数。5 s0 C) l+ y0 {" r" e
, [* U$ l1 N8 _
感觉您说的这个数学模型,像是要自己推整个系统的方程了。如果是真要推这个东西的话,
1 I$ t( X% H. G6 d' I# v% X. ]$ @个人觉得:被加热物体在x温度下、对y温度空气的散热功率,难在这个地方了。
作者: 单车居士    时间: 2013-10-25 11:40
这种帖子我喜欢:lol
作者: 04102    时间: 2013-10-25 13:17
如果散热的功率和温度差是线性关系的话,推导出来还是不难,做几个测试,参数就出来了,最怕是非线性的关系,要做大量的测试,或者找出这个非线性方程了。
个人观点:
2 [; G7 R! w7 C/ J恒定加热功率,分别测试许多个功率点的内外温差,最终才能得到点图,到时候才能知道拟合出来是个什么样子的线吧?, q# j/ B3 |; W! \
如果这个很准确的话,可以得知加热过程中散失多少热量。有比热容数据的话,可得知△T需要的热量,得发热体在定功率下的加热时间。
; C0 `: C" [' v% G/ g) O+ D; Q+ |2 b/ f* @5 x! S* [  B. n, P
我尝试做过小尺寸铝壳体的恒温,里面装电路板的。
2 j5 i5 I. K+ Z/ {0 L; w0 Y如果内部有局部自身发热的恒温器件的话,感觉就麻烦许多,比如说LM399这样的自恒温基准器件。
) G( q* S8 L3 w) k曾经考虑过楼主所说的那种数学模型,一方面是自己水准欠,又感觉现有的PID方案够用,所以没有硬啃下去,觉得那事儿太大了。
, A* H9 }# n. t$ t双层铝壳,热稳定时间很长,就感觉只有PID自整定方便点了。
! Y* S- z" M) |+ d4 o0 ]9 h* R0 B1 d  z4 L8 P* G

作者: yunsan    时间: 2013-10-25 16:43
                           讨论的真热闹哎,不过看的不太懂
作者: 李泽    时间: 2013-10-25 17:17
看着好学术啊,完全没看懂。
6 N8 z2 ~; e# k6 M8 N
作者: 去,你的旅行    时间: 2013-10-25 20:48
学生进来学习
作者: 04102    时间: 2013-10-25 20:51
2266998 发表于 2013-10-24 18:52
8 {( a* i7 Y+ u5 @你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...
我是假定散失的热量和温度成正比,温度高散热里大,通过给加热体一个恒定的功率,当温度恒定后,散失的热量就等于加热的热量了。我只测了一点,测了不同温度下的加热功率,基本是成线性的,也验证了我的假设。
俺也是那么想的,恒功率稳定后就是平衡状态。
  g8 C$ }  I2 p& [, o8 X恭喜楼主啦!
+ ?) Y' e; h& w/ _( b
5 H3 u1 W" y. ?6 p/ K  h俺当初想着散热功率跟空气流速有关系,空气流速度跟△T有关系,结果就越想事儿越大,并没有真正去测试一下。
6 _8 I* h1 L3 ?: \改天我也试试去1 q! z. }1 @- P
& ~; M0 O) N& \, x5 ?/ a. e

作者: 风声1923    时间: 2013-10-25 21:23
2266998 发表于 2013-10-24 18:52 9 m# Z0 E9 |7 k% Y" ~  z
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...
8 n- M4 K4 e, Y, {
根据99/8大侠的指点,我试着直接用数学模型进行控制(详细过程在附件中),最后的结果还比较满意。还想再请教99/8大侠,关于误差修正问题:* G( ]; k! W% p  B0 d5 C
       现在我用的是开环,这样建立的平衡是非常脆弱的,稍微风吹草动,平衡就打破了。
, a4 H6 h9 Q  g# ^5 ]
' ?6 ^) l/ D% g8 g, i" n) q- c      肯定要用到反馈修正,要修正的话,是不是要用到99/8大侠所说的那个“中继箱”?我的理解是这个“中继箱”是与加热体进行能量交换用的,当出现误差时,比如负载的变化,电源电压的变化造成的误差,用这个“中继箱”把这些误差平衡掉。
3 ]' x1 T' @; P# X7 E
9 |0 J1 W7 j) G; i    我现在这个模型,第一次升温后,如果温度不够,还可以继续加热,把温度快速提上去;但如果温度高了,没有这个”中继箱“的话,只能等它自己慢慢降,不可能实现快速修正。
0 j8 [) C' u1 Q1 ~. d5 @1 D) ?
* A; ^% ]. b$ y2 \5 k/ l" o$ `/ W8 Z

, U/ c& P/ y8 D5 Z5 B$ `
作者: 茉莉素馨    时间: 2013-10-25 22:25
挺高深,看不太懂啊  Z/ t0 ]4 G# `! F( C
个人觉得,热传递,主要就是接触、辐射、对流
2 N, j  ]- K: G' j9 ]: Q这个里面有空气,有高温区域(比如加热设备),有低温区域(比如被加热件等),应该就会有对流
  L3 E* c2 ^: F# ~, w* G接触传导可能没有,但是辐射也会有一些吧
% F9 @  H8 X: k, J9 p" @
) G+ D7 U8 u6 q9 c. h4 _- o如果用传感器构成反馈,传感器的温度肯定和工件的温度会有一些差别吧7 X' Z: P: @0 }, b3 @- z7 }
一般的模型,应该都是认为箱里的温度都是均匀的,温度大小就等于传感器得到的值3 V6 s3 N5 M3 e
使用传感器的温度作为反馈来修正加热,保持恒温, o+ M+ Y5 }( ~8 L% W
* b0 x( O' C; U3 o! _$ _6 D
炉内模型,是不是就是99-8大侠说的自己的数字模型
7 n6 K4 r( a# r' O* O9 C" Q9 D可以利用一个函数将传感器位置的温度,转换到被加热件上,实现精确控制?
作者: xlf63    时间: 2013-10-26 08:12
"他们都很乖的,并且非常富有"....8 m) m/ F$ Z8 @' O
呵呵
作者: 2266998    时间: 2013-10-26 13:58
风声1923 发表于 2013-10-25 21:23 ! Y6 _9 j- s; X
根据99/8大侠的指点,我试着直接用数学模型进行控制(详细过程在附件中),最后的结果还比较满意。还想再 ...

5 F( D8 n6 j) w* O6 m" X' ^修正,就是修正这些系统误差,( N6 H6 v4 ~% \( J5 }7 z2 e8 Z

( l6 u) V: P0 l5 t1 Z必然系统环境导致的不确定性,你做一个自学习系统,有记忆的,运行几次以后,系统自己有一个‘修正系数’,你还可以人工‘再干预’,就准确了,
: W9 X/ V! x; ?  B7 o7 U) n  E& i0 h& T* Z$ _% r% g6 G
加中继的目的,就是要确保‘一次切入’,比如你到一个逼近值以后,再开PID,或者就过冲,或者长时间不到目标稳定,这时用一个‘目标中继箱’,把油温控制非常精确,因为这是静态的,可以准确控制,# j7 j% o) V- x/ |  l% L+ ?+ J' Y) G* m

& b! s. s$ D7 m" V% @& O5 d& _再把这个‘精确’切入系统,替换下原来的油,当这个温度平衡以后,就是你的目标温度,其误差会被系统自动记录,进行下次修正,1 }2 g5 W, l& t# _4 s

5 v& Z1 L, ^3 }( J9 n好好玩吧,你会前途无量的,/ E/ b% M7 V- G. O5 F) Z3 v3 U1 a
) p) v, y; b! `3 J* Q. |4 v* h9 b
我的甲方,都不会提这类问题,只要系统精度够了,就付银子,里面是啥,没有谁关心,
作者: 陌上飞    时间: 2013-10-26 14:23
看不懂,不过恭喜楼主还能静下来努力!
作者: 机械梦想者2    时间: 2013-10-26 14:49
属于经典控制理论啊,学生学习了
作者: 1032220424    时间: 2013-10-26 23:10
前几天考试就考了这一类的,可惜我还没学好
作者: tsh403    时间: 2013-10-28 12:45
PID的算法调试时最好是多看看位移函数,速度函数及加速度函数(曲线图),
4 W1 K0 B1 f# D三者关系为求导,再求导呵呵,看出感觉来就可以啦
4 c+ y) m) ]* t1 F" I. F
作者: 那路人    时间: 2013-10-28 15:40
数量、物理知识是关键呀,学习了
作者: wozaicctv    时间: 2013-10-28 23:02
我一直搞不清楚什么是数学模型?, J1 @1 p5 L- C1 u  f0 r8 H! p
我先前一个公司有做烤箱,基本就是通过传感器反馈,进行闭环控制,但存在一些问题,比如时滞性,烤箱内部温度不均匀性,传感性的温度并非真正烤箱内部温度,很难快速精确达到想要的温度,误差很大,温度低了,产品内部有水分,高了,可能破坏产品,后来通过补偿,稍微好点,但老外客户会经常过来检查生产线,他们严格要求产品要求多少度,烤箱就要真实显示多少,因此不敢补偿太多,而且由于精度差,不良品一直很多。' U/ G+ U6 }* F
我想问一下数学模型是公式,规律吗?是通过采集实验数据,推导方程,验证假设吗?比如推导出方程,然后直接开环,不反馈,求出目标值吗?
* `* B. g' ?( w9 X如何判定方程正确,是一次,还是二次,三次……函数呢?
作者: tsh403    时间: 2013-10-29 10:21
2266998 发表于 2013-10-24 18:52
6 t7 |, V: w! z( I1 _# W你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...

$ t# C$ H1 e$ g# \! J大侠:/ d. W5 N  m7 U( y! E( N
关于5.6.7点控制前后段不是很清晰:/ H& g$ ^  q+ ^
   PID是不是建立在自己的模型上去玩调节(目标值)??而pid调节关键在于在最短时间里(受配置元件的调节能力限制下)来整合实现.如过冲,则表示加速度调节失控;而楼主建立的数学模型的加热函数部分,这个是有已知模型部分的,清晰明确,而后面的散热量,觉得才是适配调节.这个部分的调节函数式,感觉应该是关系式的探索,先线性,后曲线,如果还不行....那就很辛苦啦.....根据现场实际随便配凑......5 t% u6 r! t5 ^; ?$ N. D2 V
   这个是我关于控制的一个过程, 写的不是很清楚,因为我现在也还在学习控制,还没入行。但希望有个路线参考.像指导思想一样
2 O1 R6 H1 E( X" q$ q4 h2 X5 I: V请大侠帮忙修正下我的控制线路是否正确??
$ [/ p8 X! O$ O5 `( X5 R. t
- |' S- D# w- ^  ?4 a
- K. m+ J/ W9 ^: V. j- w' M   & G; Z6 x/ t0 X& g! ?

作者: 2266998    时间: 2013-10-29 10:58
tsh403 发表于 2013-10-29 10:21
9 Q) ^+ ~2 X0 o1 L* M' ?大侠:
$ K' B: x6 B2 w6 A9 o# P0 T3 k; E关于5.6.7点控制前后段不是很清晰:5 q# |5 l8 y2 {
   PID是不是建立在自己的模型上去玩调节(目标值)??而p ...
: l# ~$ O/ L1 y* Y8 j

1 y! K! X+ |  L! l7 T) |8 h% ^) {回答你的问题,也佩服你的学习态度,! N" ~; r, O7 s$ H, k, @% {. K% Z

% {: ]8 b% i" P# U2 B1,PID 是一个算法,即比例微分积分,是一个模式,你可以调节曲线,找反馈类型,实行你的目标,但过冲是无法避免的,有其类型决定了,楼主说的东西,实际与我玩的模型类似,但他还没玩到俺实用化的程度,即还在理论摸索阶段,就是建立自己的模型,对环境修正,变成自己的调节函数,形成曲线,再就是自学习,修正精度,这个路是正确的,
; q6 H0 B; C: X8 M0 |) k8 T0 k3 r2 B  M8 J
2,你学习控制,切记一定要学习基础理论,要非常熟悉,特别是数学,没有数学,就啥都没有,学习了理论以后,看一下控制论的书籍,找要点,再自己实际做控制系统,先玩小系统,逐步玩大系统,
0 F- i3 l& U1 e1 w+ U: h/ _" I+ O0 F* L/ O/ \9 N, n" T
3,因为你现在没有控制的概念,先甭着急,学一年,明年再说这些,你就跟得上讨论了,
作者: 长江漂流    时间: 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 . b& L$ r- Y) O- F. [5 b. U# }& h( V
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...
; {5 u3 ~2 ]/ u7 I+ Y; p* U
998为何您懂得如此之多,让人羡慕嫉妒啊!!!
; ]" ^! F  _! |6 y" i$ ]: x! }# G
作者: 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
方式很好,学习了
) j6 `% k4 P. M8 W7 q6 y
作者: 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
学习学习% N; v% W0 Q: U/ _+ o6 s

0 E  o( ~  d& _4 f9 ~3 @( b7 C/ l! B0 N




欢迎光临 机械必威体育网址 (//www.szfco.com/) Powered by Discuz! X3.4