机械社区
标题: 怎样利用数学模型进行精确控制? [打印本页]
作者: 风声1923 时间: 2013-10-24 18:11
标题: 怎样利用数学模型进行精确控制?
最近在学自动控制,处于9-98大侠所说的转专业的状态(原专业是机械),试着做了一个温度控制系统,硬件:触摸屏---PLC---固态继电器---发热盘---热电偶+变送器---AD转换。
控制方法是PID,其中最关键的是PID参数整定的问题,查了下资料,常用的有试凑法、等幅振荡法、飞升曲线法。
这些都是在不知道数学模型的情况下用的,还有一种方法就是建立控制对象的数学模型,进而搭建整个控制系统的传递函数,再根据控制指标求得PID的参数。下面,我尝试用这种方法来做。
' }+ H: }+ ?' F0 e/ b
步骤:1 q% Y$ h" u" ]! g! R m9 w7 i i8 z/ U
(1)确定基本数学模型;! R8 k8 t* p) i; t
(2)从阶跃响应得到模型的参数;8 x7 }2 O# M8 e7 O3 r
(3)Matlab仿真,得到PID参数;2 O# r9 s" s( d3 |
(4)实际运行,并调试。
: `4 _7 q& d$ J5 S7 L详细的推导过程在附件。
问题:
这里我建立的数学模型目的只是为了更快地得到PID的参数,不通过数学模型而用试凑的方法也能得到,只不过麻烦点。之前请教过9-98大侠关于精确控制的问题,不知道怎样利用数学模型进行精确控制?应该不是用PID控制吧。
& L1 P+ V: G2 u* b$ r- p
作者: 2266998 时间: 2013-10-24 18:52
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生、结束,都是为一个目标,实现这个目标,并对比那个实现的数值,就是你需要的精度误差,2 I( b. w- l7 V
8 F" d5 l; G+ A! q9 l
给你举一个例子,你就明白了,# d! `7 Z4 Y8 `4 p! n
- t7 v, ]7 S8 U0 s8 C k: I1,为控制一个稳定的温度目标值,要一套供热系统,一套阀组系统,一套自动化系统,并且还有你要控制的那个‘加热体’,' e/ n" f$ `, \; q: ]
9 K8 V K: j! q
2,你对目标加热,一定有一个加热速率,其数值与原始的热动势,阀组开度,泵系统效率有关系,你控制好这个,就实现了那个速率,这不是核心问题,加热速率是一个动态问题,好玩,不复杂,$ R3 s1 A. [1 W6 y
' I6 w R( k' D) R3,核心问题是你怎么控制那个‘目标值’,你以一个速率来‘驱动加热’,到目标点就会有‘过冲现象’,你用PID来抑制这个,就会影响你加热速率,假如你希望完全达到你的目标点,加热速率就很低,甚至是遥遥无期,这在工艺上不现实,甲方也不允许,
; M5 p1 _. x. K5 d; I2 ~1 v7 c8 |( }: D9 e
4,你用‘屁埃地’到一个接近值的时候,这个PID就无效了,或者过冲,或者没法接近,1 U' W+ b, ~5 g2 G' L7 w5 d
. X" @6 @* o( q
5,再往下玩,就是你自己的模型了,你厉害,是厉害在你自己的模型上面了,用PID谁都会的,大家都会,你就没法牛,9 p% i0 L5 e& c0 B5 `% |4 p
! y: T$ t1 i( J3 U) I6,你切了PID,就得玩你自己的东西了,你必须准确知道那个加热体的确切问题,比如热容,散热率等东西,不知道这个,没法精确控制目标点,
8 p" A' h6 s; B7 T! i6 j1 { { d- Y% g
7,你写数学模型,就是先要预知那个目标,即再给多少热量,就正好是你目标,并且不过冲,或者过冲非常小,其与理论目标值的差值,这就是你要的精度,水平高,是在这个上面了,
H# l8 H/ t9 [4 {3 m @+ |1 t8 ?, u% x
8,假如你用‘单短路’来玩PID 的话,后期要开‘双短路’,切掉‘双短路’以后,切入你的模型,( I, F* i6 P3 J& `
' n, r3 `7 ~; a' R7 H
9,即使是‘三短路 也只能玩到一定精度,高了都不行,这之后,你用你自己的模型去带‘中继箱’,用中继箱的温度去换那个‘加热体’的热容空缺,假如计算准确的条件下,一次就‘准确切入’了,所谓说模型,是这个模型,而不是PID,一次没有切入,要有手段修正,修正是高速的,比PID的效率高许多倍,直接就可以切到目标,俺是这个玩的好,才在行业里混住了,而不是玩PId,
: E* E1 k0 D3 z2 o& k
3 H0 p% a$ P; R6 a10, 当然了,你PID玩的熟练,也是‘大爷’,因为许多家伙连PID 的积分都调不了,假如你随手会玩PID的,玩弄于股掌之间,就可以每天有6000块,再多了就困难,因为再多的话,你就必须切入俺说的模型去,否则没戏, g7 B4 e! v. c+ M
* S4 o, k0 r: j$ z/ \* f
11,你玩了俺上面说的东西,两次就可以准确’切入‘,就没有人敢跟你还价,你就可以给博导们作咨询,给航空领域做设计,他们都很乖的,并且非常富有,: b! N8 h. _4 U( J# X; Z/ B Z" R
2 T9 J* S3 Y' O* F
哈哈,
B& I! ]7 p& a- d. `
: V7 V) P. [5 m顺便说一句,俺非常,非常喜欢你学习的态度,是属于多年都见不到的年轻人,努力下去,必有出息的,
, E& _6 d& \/ J) l2 l" u5 W8 [$ M/ P: m- g( S. V! u: r7 s
作者: 拉普拉斯 时间: 2013-10-24 21:29
我也是机械,楼主这个跨的挺远的啊- F q% D$ N$ E2 G# e3 n
数学建模不是一个人能完成的,隔壁实验室是控制的,一般是一个小组来完成的
作者: 04102 时间: 2013-10-25 01:37
PID的参数可以试着设定一个值,跑一下,看到曲线之后就知道三个值分别调整的方向了。
; a- B& N$ \/ o% ~另外,成品的温控器很多带有“自整定”功能,其实也是试着跑一下,然后自动调节参数。) Q9 `5 |4 j. P: X; c' \" C g
4 ]; I) `+ M/ s
感觉您说的这个数学模型,像是要自己推整个系统的方程了。如果是真要推这个东西的话,
( }( |7 E c% |) Q4 H) g! i个人觉得:被加热物体在x温度下、对y温度空气的散热功率,难在这个地方了。
作者: 单车居士 时间: 2013-10-25 11:40
这种帖子我喜欢:lol
作者: 04102 时间: 2013-10-25 13:17
如果散热的功率和温度差是线性关系的话,推导出来还是不难,做几个测试,参数就出来了,最怕是非线性的关系,要做大量的测试,或者找出这个非线性方程了。
个人观点:
3 [& e/ r e" P6 z! J; I( u( f恒定加热功率,分别测试许多个功率点的内外温差,最终才能得到点图,到时候才能知道拟合出来是个什么样子的线吧?4 o" F+ g) I( f4 x1 \9 P. E
如果这个很准确的话,可以得知加热过程中散失多少热量。有比热容数据的话,可得知△T需要的热量,得发热体在定功率下的加热时间。
, n- o% u O# t8 F5 j; |" g, {, u) l7 L) j0 S) m. Q$ B3 u1 y1 B
我尝试做过小尺寸铝壳体的恒温,里面装电路板的。- O0 H0 ` l% K6 s2 ?
如果内部有局部自身发热的恒温器件的话,感觉就麻烦许多,比如说LM399这样的自恒温基准器件。( R) N+ O/ c q- G6 }
曾经考虑过楼主所说的那种数学模型,一方面是自己水准欠,又感觉现有的PID方案够用,所以没有硬啃下去,觉得那事儿太大了。7 v& E% c. | X8 |, G) N" p |
双层铝壳,热稳定时间很长,就感觉只有PID自整定方便点了。, G; P0 J Z6 q! L
- ^/ {0 @; }4 d1 \! u
作者: yunsan 时间: 2013-10-25 16:43
讨论的真热闹哎,不过看的不太懂
作者: 李泽 时间: 2013-10-25 17:17
看着好学术啊,完全没看懂。: I7 d% I, t# L+ Z; a8 \0 U
作者: 去,你的旅行 时间: 2013-10-25 20:48
学生进来学习
作者: 04102 时间: 2013-10-25 20:51
2266998 发表于 2013-10-24 18:52
4 t6 k1 E5 B1 a. C4 X3 M, w' X3 o
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...
我是假定散失的热量和温度成正比,温度高散热里大,通过给加热体一个恒定的功率,当温度恒定后,散失的热量就等于加热的热量了。我只测了一点,测了不同温度下的加热功率,基本是成线性的,也验证了我的假设。
俺也是那么想的,恒功率稳定后就是平衡状态。. q& O, e/ c# }( }& m$ J d1 O6 T
恭喜楼主啦!" c# g# l0 Q2 ~6 Y' ~
8 q5 L- N6 O3 D+ ]! L) b
俺当初想着散热功率跟空气流速有关系,空气流速度跟△T有关系,结果就越想事儿越大,并没有真正去测试一下。
4 q$ s3 T7 L O. _% n, M* V改天我也试试去4 I/ Y4 K6 H P
7 }( B' s3 C L
作者: 风声1923 时间: 2013-10-25 21:23
2266998 发表于 2013-10-24 18:52 
+ b; k' `2 t5 }2 q4 K你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...
0 r- ^5 p0 d) b
根据99/8大侠的指点,我试着直接用数学模型进行控制(详细过程在附件中),最后的结果还比较满意。还想再请教99/8大侠,关于误差修正问题:/ R" J$ d8 r" c/ t# T+ l
现在我用的是开环,这样建立的平衡是非常脆弱的,稍微风吹草动,平衡就打破了。
! ]; o8 ]* D3 R1 c' Y$ I$ ]
5 ^ d0 l. Q4 ]8 M0 n8 `8 ^ 肯定要用到反馈修正,要修正的话,是不是要用到99/8大侠所说的那个“中继箱”?我的理解是这个“中继箱”是与加热体进行能量交换用的,当出现误差时,比如负载的变化,电源电压的变化造成的误差,用这个“中继箱”把这些误差平衡掉。2 o5 G. D* M+ j" r* z, p5 L
3 h0 R9 B2 v2 ] j# r$ P 我现在这个模型,第一次升温后,如果温度不够,还可以继续加热,把温度快速提上去;但如果温度高了,没有这个”中继箱“的话,只能等它自己慢慢降,不可能实现快速修正。
3 ^; ^2 W( x: \9 k! ] p6 |. c' H, b/ O6 J1 h
2 c2 |* e" g% }, o
/ [( M$ {& s4 W+ u. G, x& {
作者: 茉莉素馨 时间: 2013-10-25 22:25
挺高深,看不太懂啊' h1 f' u( _: `' G2 u; O
个人觉得,热传递,主要就是接触、辐射、对流 ?& B/ L! `+ I3 |. I$ o& C# Z
这个里面有空气,有高温区域(比如加热设备),有低温区域(比如被加热件等),应该就会有对流* f( j" ?- o: n' I: `+ z
接触传导可能没有,但是辐射也会有一些吧/ ?& j: U5 S- q6 t& }
) C$ M. O. F: u* {6 l3 j7 ~
如果用传感器构成反馈,传感器的温度肯定和工件的温度会有一些差别吧2 ]' Q, r$ F: V2 R( O: e t
一般的模型,应该都是认为箱里的温度都是均匀的,温度大小就等于传感器得到的值6 O6 O! X% Z0 b4 j3 f
使用传感器的温度作为反馈来修正加热,保持恒温
3 o2 E6 }+ H( r7 I4 J
# i2 I3 p2 ?3 c9 V I; Z0 K: q炉内模型,是不是就是99-8大侠说的自己的数字模型3 ^" n' S# ^$ ]* c' H+ J, X6 G
可以利用一个函数将传感器位置的温度,转换到被加热件上,实现精确控制?
作者: xlf63 时间: 2013-10-26 08:12
"他们都很乖的,并且非常富有"....* `6 G8 A: N8 _' f% \
呵呵
作者: 2266998 时间: 2013-10-26 13:58
风声1923 发表于 2013-10-25 21:23
4 @0 X8 S* Q. F1 X/ ]/ I0 M
根据99/8大侠的指点,我试着直接用数学模型进行控制(详细过程在附件中),最后的结果还比较满意。还想再 ...
! y8 v" t( z: e3 L& ^5 U6 U修正,就是修正这些系统误差,
`% P4 z7 M8 P0 P( j2 k
4 Y7 m9 b0 f% L0 d必然系统环境导致的不确定性,你做一个自学习系统,有记忆的,运行几次以后,系统自己有一个‘修正系数’,你还可以人工‘再干预’,就准确了,
. u+ ?; C/ g) k1 @% q9 l9 I! j& D+ J; @ E1 {/ p( F, w
加中继的目的,就是要确保‘一次切入’,比如你到一个逼近值以后,再开PID,或者就过冲,或者长时间不到目标稳定,这时用一个‘目标中继箱’,把油温控制非常精确,因为这是静态的,可以准确控制,
' ?& d$ L n: J" O8 G( \3 \; X6 n+ s+ h) u8 Y) O
再把这个‘精确’切入系统,替换下原来的油,当这个温度平衡以后,就是你的目标温度,其误差会被系统自动记录,进行下次修正,
4 L# U: X. Y9 p4 }+ A( ]% m6 L3 h- q; _" V
好好玩吧,你会前途无量的,& r0 R: |0 }7 K/ d: c
$ N, U6 q8 Z5 n$ i( ~我的甲方,都不会提这类问题,只要系统精度够了,就付银子,里面是啥,没有谁关心,
作者: 陌上飞 时间: 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 u, X) C' w4 J2 r三者关系为求导,再求导呵呵,看出感觉来就可以啦" H7 O% b) K4 y: H: k4 J% ^) Z/ p
作者: 那路人 时间: 2013-10-28 15:40
数量、物理知识是关键呀,学习了
作者: wozaicctv 时间: 2013-10-28 23:02
我一直搞不清楚什么是数学模型? a" H) {- E( v, ^5 b2 \! {
我先前一个公司有做烤箱,基本就是通过传感器反馈,进行闭环控制,但存在一些问题,比如时滞性,烤箱内部温度不均匀性,传感性的温度并非真正烤箱内部温度,很难快速精确达到想要的温度,误差很大,温度低了,产品内部有水分,高了,可能破坏产品,后来通过补偿,稍微好点,但老外客户会经常过来检查生产线,他们严格要求产品要求多少度,烤箱就要真实显示多少,因此不敢补偿太多,而且由于精度差,不良品一直很多。. Q; ?0 u" w8 ^. @
我想问一下数学模型是公式,规律吗?是通过采集实验数据,推导方程,验证假设吗?比如推导出方程,然后直接开环,不反馈,求出目标值吗?
" R; t" }. h; v9 g) }, Q如何判定方程正确,是一次,还是二次,三次……函数呢?
作者: tsh403 时间: 2013-10-29 10:21
2266998 发表于 2013-10-24 18:52
, q, P* v U2 K2 v
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...
3 ^9 b/ X% F3 k4 ^9 c" d, p2 @
大侠: v- ~' l% q( d% t; M
关于5.6.7点控制前后段不是很清晰:5 i6 E% _8 ` g
PID是不是建立在自己的模型上去玩调节(目标值)??而pid调节关键在于在最短时间里(受配置元件的调节能力限制下)来整合实现.如过冲,则表示加速度调节失控;而楼主建立的数学模型的加热函数部分,这个是有已知模型部分的,清晰明确,而后面的散热量,觉得才是适配调节.这个部分的调节函数式,感觉应该是关系式的探索,先线性,后曲线,如果还不行....那就很辛苦啦.....根据现场实际随便配凑......
) W' u( T: {/ b' c" r/ n, L 这个是我关于控制的一个过程, 写的不是很清楚,因为我现在也还在学习控制,还没入行。但希望有个路线参考.像指导思想一样
. d! l C! _! F请大侠帮忙修正下我的控制线路是否正确??
6 M% |9 k5 e Q6 |' B% l" F, X3 K! u9 f/ t0 I, d' Z' a2 _) P
" k. R Q$ z- Y( ?' Z
1 ]# V- @8 I: b! z/ x$ b
作者: 2266998 时间: 2013-10-29 10:58
tsh403 发表于 2013-10-29 10:21 
: m. E* B0 ^) h& A大侠:
* P1 p+ }! m/ z8 M; K6 P关于5.6.7点控制前后段不是很清晰:5 y# q- Z- n* O- X2 D2 ^+ A
PID是不是建立在自己的模型上去玩调节(目标值)??而p ...
! t6 {& I# B! X- [3 x
$ V& V" {+ w/ L回答你的问题,也佩服你的学习态度,
. t' [: A9 ^2 s* h+ @
7 ?. i) j8 `4 Z6 h# G' |6 o, c4 A, j1,PID 是一个算法,即比例微分积分,是一个模式,你可以调节曲线,找反馈类型,实行你的目标,但过冲是无法避免的,有其类型决定了,楼主说的东西,实际与我玩的模型类似,但他还没玩到俺实用化的程度,即还在理论摸索阶段,就是建立自己的模型,对环境修正,变成自己的调节函数,形成曲线,再就是自学习,修正精度,这个路是正确的,0 I: K9 @5 O. |, V2 E( e
t0 w' Y7 S$ v8 W6 w$ u. u
2,你学习控制,切记一定要学习基础理论,要非常熟悉,特别是数学,没有数学,就啥都没有,学习了理论以后,看一下控制论的书籍,找要点,再自己实际做控制系统,先玩小系统,逐步玩大系统,
8 e: O) J/ `; k0 z% q& j4 k2 J, b ?
# e" R t" l; o5 S. f3,因为你现在没有控制的概念,先甭着急,学一年,明年再说这些,你就跟得上讨论了,
作者: 长江漂流 时间: 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
2 n# \2 {" U8 i) Q; {
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...
6 @+ Z @7 q9 l& A0 L) ~' x998为何您懂得如此之多,让人羡慕嫉妒啊!!!
$ F- r/ S2 H% ?0 L7 R
作者: 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
方式很好,学习了
0 i' m# w+ i4 T1 a; W
作者: 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
学习学习
- K4 a* z2 z, e/ ~0 O7 V B+ ]! B0 {* X. k5 m4 s! l( A+ Q
欢迎光临 机械社区 (http://www.cmiw.cn/) |
Powered by Discuz! X3.4 |