S7-1200PWM脉宽调制应用
使用西门子S7-1200 PLC通过PWM脉宽调制调节白炽灯亮度。
相关概念
-
周期:一般设为几毫秒到几十毫秒之间。周期越短,灯关调节越精细。周期设置过短会导致灯关闪烁。
-
占空比:决定灯光的亮度程度,调节范围0%-100%。占空比越高,灯光越亮,然而,过高的占空比可能导致灯泡过热或寿命缩短。
高效:PWM可以在全功率和关闭之间迅速切换控制亮度,而不会浪费过多的能量。
调节方法
为避免白炽灯闪烁,可以尝试不同的PWM周期和占空比组合。
一般较长的PWM周期和适度的占空比可以减少闪烁。另外,确保在调节过程中注意灯泡的发热情况以及电路的稳定性。
TIA Portal中S7-1200的PWM指令
//PWM使能
#tmpEnablePWM := #start AND NOT #stop; //此处按钮按下置位
//将脉冲宽度数值写入到PWM地址
POKE_PWM_Instance(area:=16#82,
dbNumber:=0,
byteOffset:=#ioWidthAddress,
value:=#pulseWidth);
//将脉冲循环时间(周期)数值写入到PWM地址
POKE_PWM_Instance(area:=16#82,
dbNumber:=0,
byteOffset:=#ioCycleAddress,
value:=#pulseCycle);
//控制PWM输出
#CTRL_PWM_Instance(PWM:=#hardwareID,
ENABLE:=#tmpEnablePWM,
BUSY:=>#busy,
STATUS=>#status);
扩展
使用PWM调节白炽灯亮度时,循环周期设置的过高或过低为什么回导致白炽灯闪烁?
当PWM调节白炽灯亮度时,循环周期设置过高或过低都可能导致白炽灯闪烁,这是因为:
-
过高的循环周期: 如果PWM信号的循环周期设置过高,即周期太长,那么每个PWM信号的脉冲宽度可能会超过白炽灯的热惯性响应时间。这意味着白炽灯可能在下一个PWM信号的脉冲开始之前就已经冷却,导致灯泡的亮度快速变化,从而引起闪烁。
因此,在这种情况下,白炽灯在每个PWM周期内可能无法完全保持加热到足够的亮度,灯泡的亮度可能会出现明显的波动,导致亮度不稳定,从而产生闪烁现象。
-
过低的循环周期: 相反,如果PWM信号的循环周期设置过低,即周期太短,那么每个PWM信号的脉冲宽度可能会变得太短。这种情况下,白炽灯可能无法在每个脉冲周期内完全加热到足够亮度,或者会在脉冲之间过快地冷却,导致灯泡亮度不稳定,同样会引起闪烁。
在这种情况下,白炽灯在每个PWM周期内都会快速加热和冷却。因为PWM信号周期的变化比白炽灯的加热速度更快,所以即使白炽灯开始加热,也可能在下一个PWM周期到来时还没有加热到能够稳定发亮就开始冷却。这样的快速温度变化会导致灯泡的亮度不稳定,同样会产生明显的闪烁现象。
综上所述,无论是循环周期太高还是太低,都可能导致白炽灯的亮度不稳定,产生闪烁现象。
因此,为了避免白炽灯闪烁,需要选择适当的PWM循环周期,使得每个PWM信号的脉冲宽度能够在白炽灯的热惯性响应范围内,确保灯泡能够稳定地保持一定的亮度。这需要根据具体的白炽灯特性和PWM调节电路的工作原理进行调试和优化。