机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 23489|回复: 68

怎样利用数学模型进行精确控制?

[复制链接]
发表于 2013-10-24 18:11:12 | 显示全部楼层 |阅读模式
最近在学自动控制,处于9-98大侠所说的转专业的状态(原专业是机械),试着做了一个温度控制系统,硬件:触摸屏---PLC---固态继电器---发热盘---热电偶+变送器---AD转换。
控制方法是PID,其中最关键的是PID参数整定的问题,查了下资料,常用的有试凑法、等幅振荡法、飞升曲线法。
这些都是在不知道数学模型的情况下用的,还有一种方法就是建立控制对象的数学模型,进而搭建整个控制系统的传递函数,再根据控制指标求得PID的参数。下面,我尝试用这种方法来做。
1 a# Z" q: t% H: \  g( g$ r! T7 R& _
步骤:
8 g+ S! J- A8 Y' `0 o/ W; `(1)确定基本数学模型;
& Y" l6 Y6 B% i(2)从阶跃响应得到模型的参数;% [( b1 T8 {* w. j% W
(3)Matlab仿真,得到PID参数;
* F$ h' t1 s$ J( |+ m(4)实际运行,并调试。
' ?' _: N3 v4 {. V5 b
详细的推导过程在附件。
问题:
这里我建立的数学模型目的只是为了更快地得到PID的参数,不通过数学模型而用试凑的方法也能得到,只不过麻烦点。之前请教过9-98大侠关于精确控制的问题,不知道怎样利用数学模型进行精确控制?应该不是用PID控制吧。

. }, t$ U1 B% [1 i

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x

评分

参与人数 3威望 +32 收起 理由
野嘉森 + 1
老鹰 + 30
ltk5614 + 1 问题描述清楚,显得很专业!

查看全部评分

本帖被以下淘专辑推荐:

回复

使用道具 举报

发表于 2013-10-24 18:52:47 | 显示全部楼层
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生、结束,都是为一个目标,实现这个目标,并对比那个实现的数值,就是你需要的精度误差,2 q6 E' _$ W# L4 Z* H8 A& K6 M
, v. ^( F4 x/ [& N
给你举一个例子,你就明白了,; E$ N7 u" C7 k/ d  ]
1 T1 ]% Z; ?$ j: Z
1,为控制一个稳定的温度目标值,要一套供热系统,一套阀组系统,一套自动化系统,并且还有你要控制的那个‘加热体’,8 U# q/ Z! p; }7 y  w: u. [( M

: u1 P- k& R/ n  P$ U2,你对目标加热,一定有一个加热速率,其数值与原始的热动势,阀组开度,泵系统效率有关系,你控制好这个,就实现了那个速率,这不是核心问题,加热速率是一个动态问题,好玩,不复杂,
0 v1 ]* n6 n: p1 J6 K3 e0 e/ d* Z5 u: A& g9 ]. M# `% Y4 P
3,核心问题是你怎么控制那个‘目标值’,你以一个速率来‘驱动加热’,到目标点就会有‘过冲现象’,你用PID来抑制这个,就会影响你加热速率,假如你希望完全达到你的目标点,加热速率就很低,甚至是遥遥无期,这在工艺上不现实,甲方也不允许,
4 T# l; V( f3 v' s
% B) f5 l2 H& P* M! U4,你用‘屁埃地’到一个接近值的时候,这个PID就无效了,或者过冲,或者没法接近,
1 s( J( I" v( b! @) E& m
5 w/ f! s& F/ c& c, x7 b" ?# n5,再往下玩,就是你自己的模型了,你厉害,是厉害在你自己的模型上面了,用PID谁都会的,大家都会,你就没法牛,+ S5 ?2 M, |2 V& ~
0 s" I9 d! I0 N$ D& I: a, \
6,你切了PID,就得玩你自己的东西了,你必须准确知道那个加热体的确切问题,比如热容,散热率等东西,不知道这个,没法精确控制目标点,
3 S, Y; `' i: }( G  j4 D, x8 _6 E% h; u. Q
7,你写数学模型,就是先要预知那个目标,即再给多少热量,就正好是你目标,并且不过冲,或者过冲非常小,其与理论目标值的差值,这就是你要的精度,水平高,是在这个上面了,  _% B1 u7 [) b

" v+ Z; Q1 u. t, v# }8,假如你用‘单短路’来玩PID 的话,后期要开‘双短路’,切掉‘双短路’以后,切入你的模型,
6 k# L; p! A& x. ~
+ ?: P6 ?2 s, z8 v  @9,即使是‘三短路 也只能玩到一定精度,高了都不行,这之后,你用你自己的模型去带‘中继箱’,用中继箱的温度去换那个‘加热体’的热容空缺,假如计算准确的条件下,一次就‘准确切入’了,所谓说模型,是这个模型,而不是PID,一次没有切入,要有手段修正,修正是高速的,比PID的效率高许多倍,直接就可以切到目标,俺是这个玩的好,才在行业里混住了,而不是玩PId, + I: o3 D. j' h( e+ E1 U& g2 Z
& c' @! Y; o  j) j0 j/ s
10, 当然了,你PID玩的熟练,也是‘大爷’,因为许多家伙连PID 的积分都调不了,假如你随手会玩PID的,玩弄于股掌之间,就可以每天有6000块,再多了就困难,因为再多的话,你就必须切入俺说的模型去,否则没戏,
& \  ~$ [  ^. ]& t: P" W: z7 n
& B, [9 r! y! s2 x6 B  p11,你玩了俺上面说的东西,两次就可以准确’切入‘,就没有人敢跟你还价,你就可以给博导们作咨询,给航空领域做设计,他们都很乖的,并且非常富有,
$ Z" l1 N$ W1 z* [. ?: \+ T7 S. Q
& k, t3 v- a( ]1 ~' [) e9 V哈哈,3 v0 M4 m- d! Q* b9 c

+ ?( u- _+ Q/ \$ k4 {顺便说一句,俺非常,非常喜欢你学习的态度,是属于多年都见不到的年轻人,努力下去,必有出息的,+ M& r& ]8 q) l6 l2 h2 m) R3 K3 |' F. D
+ O% o4 q& g* _

点评

精辟  发表于 2021-9-8 10:00
讲得好!  发表于 2013-10-28 12:01
学习了。  发表于 2013-10-25 22:28
多谢99/8大侠的指点,我得好好琢磨一下。努力才有出路啊,另外自己也喜欢玩这类东西,何乐不为呢?  发表于 2013-10-24 23:15

评分

参与人数 2威望 +2 收起 理由
风追云 + 1
Michael0576 + 1 热心助人,专业精湛!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2013-10-24 21:29:26 | 显示全部楼层
我也是机械,楼主这个跨的挺远的啊( F- |9 j, k3 A
数学建模不是一个人能完成的,隔壁实验室是控制的,一般是一个小组来完成的

点评

大虾,还是我说的那个概念,设计是设计,画图是画图,编程是编程,设计是智慧劳动,是用智力的,而其它是体力,  发表于 2013-10-26 13:48
编程是双控,前面是热动。这不2人吗  发表于 2013-10-25 21:32
没必要俩人,这些东西从来都是我自己写,系统图我也自己画,只是到编程阶段再交他人完成,初期只能自己做,不可能有别的选择,  发表于 2013-10-25 16:59
最少俩人,一个热动,一个双控。  发表于 2013-10-25 12:35
这都是单人玩的项目,所谓一个小组,肯定就玩死了,这也就是教授都不会这个东西的原因,就是你依靠我,我依靠他,最终就大家都不玩,  发表于 2013-10-25 09:42
我学机械的时候也有自动化的课,不过不是主要的。建模要很多人吗?  发表于 2013-10-24 23:25
回复 支持 反对

使用道具 举报

发表于 2013-10-25 01:37:40 | 显示全部楼层
PID的参数可以试着设定一个值,跑一下,看到曲线之后就知道三个值分别调整的方向了。& B  w* T" D$ ]0 p% M
另外,成品的温控器很多带有“自整定”功能,其实也是试着跑一下,然后自动调节参数。
1 I; s* Q4 [; [$ c* ?4 _
$ j. Y/ U- `' |4 K+ d& m感觉您说的这个数学模型,像是要自己推整个系统的方程了。如果是真要推这个东西的话,
% D' X. s, j  F" o个人觉得:被加热物体在x温度下、对y温度空气的散热功率,难在这个地方了。

点评

如果散热的功率和温度差是线性关系的话,推导出来还是不难,做几个测试,参数就出来了,最怕是非线性的关系,要做大量的测试,或者找出这个非线性方程了。  发表于 2013-10-25 07:47
回复 支持 反对

使用道具 举报

发表于 2013-10-25 11:40:45 | 显示全部楼层
这种帖子我喜欢:lol
回复 支持 反对

使用道具 举报

发表于 2013-10-25 13:17:01 | 显示全部楼层
如果散热的功率和温度差是线性关系的话,推导出来还是不难,做几个测试,参数就出来了,最怕是非线性的关系,要做大量的测试,或者找出这个非线性方程了。
个人观点:* m, A6 i/ f, B# }0 O
恒定加热功率,分别测试许多个功率点的内外温差,最终才能得到点图,到时候才能知道拟合出来是个什么样子的线吧?& X$ ]5 ?9 `% r% ~
如果这个很准确的话,可以得知加热过程中散失多少热量。有比热容数据的话,可得知△T需要的热量,得发热体在定功率下的加热时间。% W" c. z3 C7 @5 k- r; k& H! t

$ r2 b* p% O9 s% d6 R. J. V, S我尝试做过小尺寸铝壳体的恒温,里面装电路板的。
9 F/ o3 D0 y% h$ F如果内部有局部自身发热的恒温器件的话,感觉就麻烦许多,比如说LM399这样的自恒温基准器件。
- ^, W( v, t! g8 q: C7 V$ V7 C! k曾经考虑过楼主所说的那种数学模型,一方面是自己水准欠,又感觉现有的PID方案够用,所以没有硬啃下去,觉得那事儿太大了。# r' Y3 T; v5 c$ B
双层铝壳,热稳定时间很长,就感觉只有PID自整定方便点了。
0 D' Y6 t4 _, U. p& Q4 g& {# f' G" L& }0 T$ ~, t  m

点评

我是假定散失的热量和温度成正比,温度高散热里大,通过给加热体一个恒定的功率,当温度恒定后,散失的热量就等于加热的热量了。我只测了一点,测了不同温度下的加热功率,基本是成线性的,也验证了我的假设。  发表于 2013-10-25 13:37
回复 支持 反对

使用道具 举报

发表于 2013-10-25 16:43:57 | 显示全部楼层
                           讨论的真热闹哎,不过看的不太懂
回复 支持 反对

使用道具 举报

发表于 2013-10-25 17:17:59 | 显示全部楼层
看着好学术啊,完全没看懂。; C& e# x" ^$ G/ b% |! U- T

点评

其实是很基本的东西,真没啥高深的。  发表于 2013-10-25 21:40
回复 支持 反对

使用道具 举报

发表于 2013-10-25 20:48:15 | 显示全部楼层
学生进来学习
回复 支持 反对

使用道具 举报

发表于 2013-10-25 20:51:05 | 显示全部楼层
2266998 发表于 2013-10-24 18:52 ' l6 `: f& u/ L/ K3 J$ x6 _
你这么想一个问题,这种控制,其核心问题是为了实现一个‘目标’,一切是围绕这个目标的,其展开、持续发生 ...
我是假定散失的热量和温度成正比,温度高散热里大,通过给加热体一个恒定的功率,当温度恒定后,散失的热量就等于加热的热量了。我只测了一点,测了不同温度下的加热功率,基本是成线性的,也验证了我的假设。
俺也是那么想的,恒功率稳定后就是平衡状态。
' b* _4 ~' Q! c$ c+ p1 G" @9 d( O恭喜楼主啦!& ~: O1 m3 w2 H. r/ P; N5 i
: ~# U4 c4 K+ M0 m% S8 R5 u$ I! S
俺当初想着散热功率跟空气流速有关系,空气流速度跟△T有关系,结果就越想事儿越大,并没有真正去测试一下。6 `8 r; Z# [8 [/ L2 |
改天我也试试去; v5 J+ D& g8 K: B3 A6 X; J8 M' l

( a  S3 J& D2 @2 x5 o

点评

我现在的发热盘就是直接暴露在空气中,室温稳定,可以说是恒定负载了,模型就是在这样的情况下测的,如果风吹一下,气温降一点,模型就不准确了。所以还得找出散热功率跟室温、风速等负载的关系。  发表于 2013-10-25 21:37
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-4-28 14:43 , Processed in 0.069496 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表