a****l 发帖数: 8211 | 1 似乎很多人在这里讨论过PID的温度控制的问题.现在仔细想想,忽然觉得怀疑温度控制
真和需要/适合用PID控制吗?
以普通的电热丝加温,自然冷却的环境讨论.其实说到底也就加热、冷却两种状态,简单
的用thermostat到某温度加热,到某温度冷却,不也应该能很准确的控制温度吗?反正
温度基本上总是线性的。
要是用PID,就要把控制量转变成duty-cycle,也就是很快的一会儿开一会儿关。但是
,如果你是用软件控制的的话,如果直接是运行thermostat的似乎反应更快。比如,你
的控制量是0-100,对应的是cycle是0-100ms(控制20就是20ms开80ms关),如果你用软
件控制的话,产生duty-cycle的循环就要1ms,而PID控制的反应时间就是100ms(每
100ms更新一次控制量);但是你直接用thermostat的话,也就是1ms检查一下温度,难
道不是更快了吗?而且,thermostat没有tuning问题。
PWM遇到有relay的又是一大问题.
想来想去,我是想不出为什么会有要用PID CONTROLLER的温度控制的理由。有谁有实际
的应用必须用PID的 |
g******u 发帖数: 3060 | 2 In my understanding, it depends on your application.
I bet if you don't need a precise temperature regulation, you can just do
turn on and turn off (so called "bang bang control"). But, if you have
sensed the temperature is too high and you want to lower it, meanwhile it is
still being heated and may cause problems.
using PID is more precise, say, if the temperature approaches the highest
limit, then the heating elements will slower the process.
Furthermore, you don't really need PID, for most a |
a****l 发帖数: 8211 | 3 我想你的意思是,如果heating coil比较大,断电后它仍会有比较高的温度,所以样品温
度可能还会上升一些?我想,如果是比较小的coil,断电后基本样品的上温度就应该停止
上升了,所以一到set point就断电应该就不会过热了吧?
我主要的担心是有一个relay,怕PI控制不合适.
is
【在 g******u 的大作中提到】 : In my understanding, it depends on your application. : I bet if you don't need a precise temperature regulation, you can just do : turn on and turn off (so called "bang bang control"). But, if you have : sensed the temperature is too high and you want to lower it, meanwhile it is : still being heated and may cause problems. : using PID is more precise, say, if the temperature approaches the highest : limit, then the heating elements will slower the process. : Furthermore, you don't really need PID, for most a
|
c*******o 发帖数: 62 | 4 如果恒温确实不必要,变温的话,呵呵,不光是PID控制,我还做过FPGA+PID控温的呢
比如说某类产品出厂前需要温度在0-55之间正弦循环条件下几小时
【在 a****l 的大作中提到】 : 似乎很多人在这里讨论过PID的温度控制的问题.现在仔细想想,忽然觉得怀疑温度控制 : 真和需要/适合用PID控制吗? : 以普通的电热丝加温,自然冷却的环境讨论.其实说到底也就加热、冷却两种状态,简单 : 的用thermostat到某温度加热,到某温度冷却,不也应该能很准确的控制温度吗?反正 : 温度基本上总是线性的。 : 要是用PID,就要把控制量转变成duty-cycle,也就是很快的一会儿开一会儿关。但是 : ,如果你是用软件控制的的话,如果直接是运行thermostat的似乎反应更快。比如,你 : 的控制量是0-100,对应的是cycle是0-100ms(控制20就是20ms开80ms关),如果你用软 : 件控制的话,产生duty-cycle的循环就要1ms,而PID控制的反应时间就是100ms(每 : 100ms更新一次控制量);但是你直接用thermostat的话,也就是1ms检查一下温度,难
|
b*****e 发帖数: 1193 | 5 我做过thermostat,电子式的需要PID,因为温度场的滞后太大
机械式的就是bang-bang控制, |
a****l 发帖数: 8211 | 6 emmm.... bummer.过两天让我试试吧.还好两个都ready,看看哪个效果好吧.
【在 b*****e 的大作中提到】 : 我做过thermostat,电子式的需要PID,因为温度场的滞后太大 : 机械式的就是bang-bang控制,
|
m*******i 发帖数: 104 | 7 温度控制肯定需要PID
简单一句话:目标温度50度
实际温度20度和49度
你的控制参数如果一样的话
那这控制精度和响应速度,都烂得不行了 |
z*****n 发帖数: 7639 | 8 老弟你还没搞清楚自动控制的基础啊。
如果这个世界上所有的系统都是无滞后系统,比方说一个电路
全部都是由电阻组成,那么你的想法是对的,pid屁用没有。
【在 a****l 的大作中提到】 : 似乎很多人在这里讨论过PID的温度控制的问题.现在仔细想想,忽然觉得怀疑温度控制 : 真和需要/适合用PID控制吗? : 以普通的电热丝加温,自然冷却的环境讨论.其实说到底也就加热、冷却两种状态,简单 : 的用thermostat到某温度加热,到某温度冷却,不也应该能很准确的控制温度吗?反正 : 温度基本上总是线性的。 : 要是用PID,就要把控制量转变成duty-cycle,也就是很快的一会儿开一会儿关。但是 : ,如果你是用软件控制的的话,如果直接是运行thermostat的似乎反应更快。比如,你 : 的控制量是0-100,对应的是cycle是0-100ms(控制20就是20ms开80ms关),如果你用软 : 件控制的话,产生duty-cycle的循环就要1ms,而PID控制的反应时间就是100ms(每 : 100ms更新一次控制量);但是你直接用thermostat的话,也就是1ms检查一下温度,难
|
a****l 发帖数: 8211 | 9 你说的非常对.现在我不清楚的就是滞后有多少,要等试了以后才知道.
【在 z*****n 的大作中提到】 : 老弟你还没搞清楚自动控制的基础啊。 : 如果这个世界上所有的系统都是无滞后系统,比方说一个电路 : 全部都是由电阻组成,那么你的想法是对的,pid屁用没有。
|
z*****n 发帖数: 7639 | 10 谢谢。
自动控制里面最最基本的一个工作就是系统建模,一般的线性系统
都可以用线性微分方程或者方程组表达出来。然后通过拉普拉斯变
换来分析,系统响应特性都可以得到,包括滞后。
【在 a****l 的大作中提到】 : 你说的非常对.现在我不清楚的就是滞后有多少,要等试了以后才知道.
|
|
|
a****l 发帖数: 8211 | 11 谢谢.但是很多时候系统就是一个摆你面前的机器,而且又不运转,怎么知道它的特性来
建模型?就算有个模型,参数也不知道是什么,参数不同系统特性又可能很不相同,又怎么
知道你的设计在实际系统下会好使?
我也就等着看看,如果给个阶跃输入系统会如何反应,然后大致算些参数,然后就手工调.
有什么更好的办法吗?
【在 z*****n 的大作中提到】 : 谢谢。 : 自动控制里面最最基本的一个工作就是系统建模,一般的线性系统 : 都可以用线性微分方程或者方程组表达出来。然后通过拉普拉斯变 : 换来分析,系统响应特性都可以得到,包括滞后。
|
g******u 发帖数: 3060 | 12 A simple PID loop can be built just using some resistors, caps and opamps.
So if you have built some small scale prototypes with a know delay before (
if linear), you can tune them very easily.
For thermostat control, i think it is just a input-compare and amplify-PID-
delay-feedback loop, shouldn't be too hard to model in Matlab. There should
be some references online as well.
调.
【在 a****l 的大作中提到】 : 谢谢.但是很多时候系统就是一个摆你面前的机器,而且又不运转,怎么知道它的特性来 : 建模型?就算有个模型,参数也不知道是什么,参数不同系统特性又可能很不相同,又怎么 : 知道你的设计在实际系统下会好使? : 我也就等着看看,如果给个阶跃输入系统会如何反应,然后大致算些参数,然后就手工调. : 有什么更好的办法吗?
|
z*****n 发帖数: 7639 | 13 一般的机械系统建模都不难,主要是力,速度,加速度,和距离分析。
参数都是固定的,可量化的。
如果系统里面有热力学系统(比如室内温度控制,涉及到热传导动态
方程),或者电磁学系统(比如电机精确调速,涉及到电磁方程)一
般都用线性近似的方法找到其一阶参数。当然我们这是在讨论PID调节
器,线性系统。非线性系统另论。
PID调节器设计主要是对传递函数进行零极点消去,如果你有很多经验,
看看阶跃响应曲线或许能弄出来一个,尤其是系统只有零点的情况下
(这个时候阶跃响应曲线没有震荡)。如果是生手,还是老老实实求
传函吧。
不好意思,我好多年没搞控制了,有些话可能说得不对还要请方家斧正。
调.
【在 a****l 的大作中提到】 : 谢谢.但是很多时候系统就是一个摆你面前的机器,而且又不运转,怎么知道它的特性来 : 建模型?就算有个模型,参数也不知道是什么,参数不同系统特性又可能很不相同,又怎么 : 知道你的设计在实际系统下会好使? : 我也就等着看看,如果给个阶跃输入系统会如何反应,然后大致算些参数,然后就手工调. : 有什么更好的办法吗?
|
x*z 发帖数: 381 | 14
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这句话大错特错!!!!!!!!!!!!!!!!!
如果你有很多经验,
【在 z*****n 的大作中提到】 : 一般的机械系统建模都不难,主要是力,速度,加速度,和距离分析。 : 参数都是固定的,可量化的。 : 如果系统里面有热力学系统(比如室内温度控制,涉及到热传导动态 : 方程),或者电磁学系统(比如电机精确调速,涉及到电磁方程)一 : 般都用线性近似的方法找到其一阶参数。当然我们这是在讨论PID调节 : 器,线性系统。非线性系统另论。 : PID调节器设计主要是对传递函数进行零极点消去,如果你有很多经验, : 看看阶跃响应曲线或许能弄出来一个,尤其是系统只有零点的情况下 : (这个时候阶跃响应曲线没有震荡)。如果是生手,还是老老实实求 : 传函吧。
|
g******u 发帖数: 3060 | 15 I forgot a lot about controls too, although my thesis was purely on control.
Take a look at this book, it's written in a very practical way about how to
model control systems in Matlab.
http://www.dealoz.com/prod.pl?cat=book&op=buy&lang=en-us&search_country=us&shipto=us&cur=usd&zip=&nw=y&class=&pqcs=yqVxhz7VOHCED%2Fq%2FH80blA&data_id=281603
【在 z*****n 的大作中提到】 : 一般的机械系统建模都不难,主要是力,速度,加速度,和距离分析。 : 参数都是固定的,可量化的。 : 如果系统里面有热力学系统(比如室内温度控制,涉及到热传导动态 : 方程),或者电磁学系统(比如电机精确调速,涉及到电磁方程)一 : 般都用线性近似的方法找到其一阶参数。当然我们这是在讨论PID调节 : 器,线性系统。非线性系统另论。 : PID调节器设计主要是对传递函数进行零极点消去,如果你有很多经验, : 看看阶跃响应曲线或许能弄出来一个,尤其是系统只有零点的情况下 : (这个时候阶跃响应曲线没有震荡)。如果是生手,还是老老实实求 : 传函吧。
|
x*z 发帖数: 381 | |
a****l 发帖数: 8211 | 17 俺穷,有没有电子版的我好去打印?
control.
to
【在 g******u 的大作中提到】 : I forgot a lot about controls too, although my thesis was purely on control. : Take a look at this book, it's written in a very practical way about how to : model control systems in Matlab. : http://www.dealoz.com/prod.pl?cat=book&op=buy&lang=en-us&search_country=us&shipto=us&cur=usd&zip=&nw=y&class=&pqcs=yqVxhz7VOHCED%2Fq%2FH80blA&data_id=281603
|
z*****n 发帖数: 7639 | 18 老兄胸有珠玑,可是不太明白事理。
别人看法有错,你就说说你认为正确的,实在不想
在这里跟我们的错误废话,也请给个refer我们自己
去看去理解。一句“你们自己想”扔下来,难道阁下
学习都是自己想出来的道理?
楼主发个帖子,后面跟帖都来阁下这么一句,我看
这儿也要变成牛屎。是不是这个理?
【在 x*z 的大作中提到】 : 自己想吧, 我懒得讲
|
a****l 发帖数: 8211 | 19 不过我最近做的另一个控制,就是一个无滞后的系统,简单的一个输入即时对应一个输出
.问题是对应关系是会变的,所以没别的办法,只好弄个PI控制来逼近.
【在 z*****n 的大作中提到】 : 老弟你还没搞清楚自动控制的基础啊。 : 如果这个世界上所有的系统都是无滞后系统,比方说一个电路 : 全部都是由电阻组成,那么你的想法是对的,pid屁用没有。
|
W***n 发帖数: 11530 | 20
It depends on the spec. For a house, thermostat on-off control is good
enough, but not for high precison temp regulation.
【在 a****l 的大作中提到】 : 似乎很多人在这里讨论过PID的温度控制的问题.现在仔细想想,忽然觉得怀疑温度控制 : 真和需要/适合用PID控制吗? : 以普通的电热丝加温,自然冷却的环境讨论.其实说到底也就加热、冷却两种状态,简单 : 的用thermostat到某温度加热,到某温度冷却,不也应该能很准确的控制温度吗?反正 : 温度基本上总是线性的。 : 要是用PID,就要把控制量转变成duty-cycle,也就是很快的一会儿开一会儿关。但是 : ,如果你是用软件控制的的话,如果直接是运行thermostat的似乎反应更快。比如,你 : 的控制量是0-100,对应的是cycle是0-100ms(控制20就是20ms开80ms关),如果你用软 : 件控制的话,产生duty-cycle的循环就要1ms,而PID控制的反应时间就是100ms(每 : 100ms更新一次控制量);但是你直接用thermostat的话,也就是1ms检查一下温度,难
|
x*p 发帖数: 77 | 21 因为普通控制
收敛不够快
【在 a****l 的大作中提到】 : 似乎很多人在这里讨论过PID的温度控制的问题.现在仔细想想,忽然觉得怀疑温度控制 : 真和需要/适合用PID控制吗? : 以普通的电热丝加温,自然冷却的环境讨论.其实说到底也就加热、冷却两种状态,简单 : 的用thermostat到某温度加热,到某温度冷却,不也应该能很准确的控制温度吗?反正 : 温度基本上总是线性的。 : 要是用PID,就要把控制量转变成duty-cycle,也就是很快的一会儿开一会儿关。但是 : ,如果你是用软件控制的的话,如果直接是运行thermostat的似乎反应更快。比如,你 : 的控制量是0-100,对应的是cycle是0-100ms(控制20就是20ms开80ms关),如果你用软 : 件控制的话,产生duty-cycle的循环就要1ms,而PID控制的反应时间就是100ms(每 : 100ms更新一次控制量);但是你直接用thermostat的话,也就是1ms检查一下温度,难
|
s*********g 发帖数: 11 | 22 机械系统的建模跟轨迹规划有什么关系?我以为简单的机械系统建模需要的是系统的转
动惯量及stiffness(实在想不起来中文了), 就是大家常说的two mass system.
如果要计算需要给这个机械系统配置多大的电机,齿轮及amplifier, 那么这个机械系
统的速度,加速度是有必要知道的。
这个恐怕不是太正确吧?零极点对消可能在某些应用里面有用,对于一般的机械系统控
制可能就不适用了。最简单的验证:看看开环速度环里电机的速度对电机扭矩的波特图
,你用零极点对消后,你在看看开环速度环里负载的速度对电机扭矩的波特图。这样就
能明白为什么零极点对消在这里根本就不是正确的途径。 |