请教PID控制开关量的问题

ryzhou   2010-2-22 13:59 楼主
描述如下:
pid控制一温度系统, 使之能保持稳定的温度(一般设置为38~40度), 做法是控制电热丝的工作电压来实现
电热丝的电压从0v ~ 5v可调, 也就是说,电压可以等于4.7这样的数值

但是现在想改为开关量的, 就是电压只能是0v或者5v这两种情况, 有点没头绪, 连续量的我会做, 但是不知道怎么改成开关量的,
目前的做法是: PID计算输出电压, 如果大于5v,电热丝就通5v, 如果pid计算出的电压小于5v, 一律按0v计算, 不知道我这个算法行不行,已经做过实验了, 效果不理想, 温度曲线网上漂了一个大弯才降下来

补充, 我之前在某本资料上看到过另外一种pid控制方法, 计算出的结果不是"输出值", 而是在采样周期内的工作时间比例, 比如计算出40%, 采样周期为10秒, 则电热丝在10秒内的周期内通电4秒, 但我不知道这种pid是如何实现的?

请教~

回复评论 (16)

试试往PWM方向上考虑看看
点赞  2010-2-22 14:14
通过pid计算出当前输出值,用当前值计算一个延时长度。标准间隔内延时这个长度开!,其余时间关!
点赞  2010-2-22 14:27
引用: 引用 2 楼 galle 的回复:
通过pid计算出当前输出值,用当前值计算一个延时长度。标准间隔内延时这个长度开!,其余时间关!


请教,如何用输出值计算延时呢?
点赞  2010-2-22 14:43
例如你提到的40%,换算为0.4秒,以1秒为单位进行控制,1s中断的话,进入1秒就延时0.4秒的开,然后关掉,直至下次进中断!
点赞  2010-2-22 14:53
引用: 引用 4 楼 galle 的回复:
例如你提到的40%,换算为0.4秒,以1秒为单位进行控制,1s中断的话,进入1秒就延时0.4秒的开,然后关掉,直至下次进中断!

请教这样可行否? 输出电压范围是0~5v, 如果计算出的电压为4v,则比例是4/5=80%
点赞  2010-2-22 15:09
用PWM来实现输出功率的调节!没问题的!
点赞  2010-2-22 15:16
引用: 引用 1 楼 lbing7 的回复:
试试往PWM方向上考虑看看

Pulse Wavelength Modulation -- 脉波调制 ??
点赞  2010-2-22 15:38
引用: 引用 5 楼 dos5gw 的回复:
引用 4 楼 galle 的回复:例如你提到的40%,换算为0.4秒,以1秒为单位进行控制,1s中断的话,进入1秒就延时0.4秒的开,然后关掉,直至下次进中断!
请教这样可行否? 输出电压范围是0~5v, 如果计算出的电压为4v,则比例是4/5=80%

你计算出来的只是趋势,是随时变化的,并不是固定不变的,
点赞  2010-2-22 15:41
怎么没看出你有温度传感器?定时采样温度值,计算出与设定值差的百分比,按这个百分比去量化你开关电热器的时间
点赞  2010-2-22 16:13
UP, UP
只考虑用PID控制, 还有其他的办法改为开关量吗?
点赞  2010-2-23 09:02
搞一个温控模块不就结了?!
点赞  2010-2-23 23:03
我们做过!“双DO模拟AO”效果不错!
点赞  2010-2-24 08:29
楼主可以参考下:

精典的PID原理与算法源码实例--数据采集礼包V2.0
http://download.eeworld.net/source/1899208

包括详细的PID原理与算法分析,很具体的设计PDF文档。还有配套的完整的源码

点赞  2010-2-24 11:45
  PID算法结合单片机我以前实现过,实时性不是特别高的情况下完全可以实现。
  传感器采集,模数转化,计算,数模输出,PWM也可以。
点赞  2010-2-24 12:07
开关量考虑使用类似PWM方式,使用占空比调节
点赞  2010-2-24 12:50
请问各位:基于PID算法的有刷直流电机PWM调速系统中对有刷直流电机调速用到的算法是模拟 PID控制原理还是增量式PID控制或者别的PID控制原理?能否将PID算法式子告诉我?谢谢各位了!!QQ:286410824
点赞  2010-4-26 09:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复