打印

最近一个项目=按要求编程总有漏洞。

[复制链接]
2634|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qvb123|  楼主 | 2008-11-27 08:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
qvb123|  楼主 | 2008-11-27 08:45 | 只看该作者

我们目前的做法

我们目前的做法:
  风速自动控制:
室内风机速度可以通过“风速”按键选择,以下是自动风控制:

使用特权

评论回复
板凳
原野之狼| | 2008-11-27 08:56 | 只看该作者

用PID

使用特权

评论回复
地板
qvb123|  楼主 | 2008-11-27 08:59 | 只看该作者

问题的关键

问题的关键:
    现在必须按照客户的要求做,
开机时,继电器以高档输出,温度感应的温度达到设定温度+1度时,停止输出,温度慢慢降低,当降到设定温度时,继电器以中档输出,这时会出现两种情况,一,温度继续上升,至达到设定温度+1度时,继电器停止输出,温度慢慢降低,当降到设定温度-1度时,继电器以中档输出,然后如此循环下去,如上图中绿色
箭头所示;(问题:如果当温度为设定温度-1度时,继电器以中档输出,那么需要确定能否以中档加热是否可上升1度到关,假定我们用程序延时一段时间,如果能达到要求,当然就可以持续用中档开关,问题是假如不能时,此时如何判断
?比如不能满足要求时,我们直接用高档加热,用高档开关,但此时就不是按要求在20度切换,而是在21。5左右切换了。
二,温度继续下降,至设定温度-1度时,继电器以高档输出,当温度升至设定温度+1度时,继电器停止输出,然后如此循环下去。

因此不管用哪种方法总是不能完全按要求。

使用特权

评论回复
5
原野之狼| | 2008-11-27 09:10 | 只看该作者

这个需求挺怪异的~

使用特权

评论回复
6
xwj| | 2008-11-27 09:57 | 只看该作者

笨!!!

很明显,你的设计需求是要求温控输出允许范围是21±1℃,只要输出温度在20~22℃之间就都是合格的。
(当然,不考虑热传递延迟造成的过冲失调)


不过,温控的关键还是看你测温的精度,
比如线性的测温,当然可以让它平衡在任何温度;
但如果只有上下限2个温控开关,那当然只能要求在上下限之间即为合格

使用特权

评论回复
7
gx_huang| | 2008-11-27 12:51 | 只看该作者

这么简单?

事实上,温度有惯性,不能想当然。

使用特权

评论回复
8
tegest| | 2008-11-27 13:48 | 只看该作者

搞个定时当一段时间还不能达到就用高档

使用特权

评论回复
9
bob.xue| | 2008-11-27 14:53 | 只看该作者

提高温度分辨率

之前俺也遇到过这种的"无理要求",在此仅提供参考.

1,最重要的是提高温度分辨率 至少能分辨0.5度,0.2度最好.
2,
  学习阶段:
  A,假设: 计数器1=计数器2=0(计数器有正负之分)
  B,在21度时,使用中档,在21.5和20.5设置触发点,执行C或D
  C,在21.5时,使用关档,中档标志=升温,计数器1++,计数器2--;然后将触发点设置在22度,用高档加热,跳到E
  D,在20.5时使用高档.中档标志=降温,计数器2++,计数器1--,;然后将触发点设置在20度,用关档降温,跳到E
  
  E,若2个计数器有其中一个超过10次,则执行F,否则,等待22和20的触发点到时,将温度拉回21度(使用高档或关档),继续重复执行B,
  
  温柔控制阶段:
  F,由以上步骤,可得出中档的作用(是升温还是降温)
  G,若中档标志==升温,使用中档和关档去控制;若中档标志==降温,使用中档和高档去控制.
 
  出错处理:在控制过程中,若出现中档失效(根据F步骤的中档标志判断)或中档持续时间过长(在规定时间内,中档不能加温到22度或不能降温到20度),则使用关档和高档将温度拉回21度,跳至步骤A,重新学习. 
 

说明: 1,步骤E中的次数可调整,次数太大了,可能程序停留在学习阶段跳不出来,太少了对中档的判断就不准确,程序可能在学习阶段和控制阶段中循环.
      2,针对提到的中档不能加热到22度,或中档不能降温到20度(在出错处理中检测),则程序只能在学习阶段和控制阶段循环处理.等到外界环境变好时(即中档有效),程序工作在控制阶段,这是最优的控制方法.


另外,俺觉得,由于外界环境和中档的设置,该控制不可能持续稳定在最优的方案. 既然不能持续稳定,那做些例外处理也是应该.

 
相关链接:http://www.eesdn.cn/

使用特权

评论回复
10
forthlab| | 2008-11-27 15:22 | 只看该作者

以前听说过类似的问题

有个出口的电热水壶,也有强/中2档,也有类似的问题.或者中档加热不够,或者强档,水烧的呼呼的.
建议LZ增加AD的分辨率(不是精度),因为LZ的问题的关键在于中档加热时,温度可能是升高,也可能是降低.只要AD有足够分辨率,在中档的时候知道温度是上升还是下降,那么其他的就好办了.

使用特权

评论回复
11
孤星119| | 2008-11-27 16:26 | 只看该作者

同意增加温度分辨率

使用特权

评论回复
12
huangli211| | 2008-11-27 17:22 | 只看该作者

AD有个0.1摄湿度的分辨能力就可以

如果按附图和要求是比较好做的啊AD有个0.1摄湿度的分辨能力就可以确定是采用绿线或者蓝线了

使用特权

评论回复
13
qvb123|  楼主 | 2008-11-28 12:38 | 只看该作者

问题解决,谢谢各位。

问题解决,谢谢各位。昨天出差了,现在才回复,抱歉各位。

使用特权

评论回复
14
原野之狼| | 2008-11-28 19:15 | 只看该作者

楼主不地道,也不说说是如何解决的!

使用特权

评论回复
15
forthlab| | 2008-12-1 15:40 | 只看该作者

大家给他出了不少主意,他也不说说咋回事

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

206

帖子

1

粉丝