对于DC,使用PWM控制电源要容易得多,我们可以在其中使用MOSFET,并且可以随时关闭或打开它。
HOWERVER,对于AC,我们必须处理TRIACS。 TRIAC也有一个控制它的大门,但是如果打开TRIAC,直到交流电压降至0伏之前,它才能将其关闭。如果我们考虑使用220 V和50 Hz的AC电力,则有50个正弦和100个半个周期(50压压正50电压负)。
管理电源率的可能方法之一是相移:
为了使其起作用,您需要零盘检测器,并打开TRIAC以进行必要的相位,但在结束之前。它可以正常工作,但是大缺点是很多电磁干扰(EMI),当您需要通勤大力时,事情会变得不好,例如4 kwatt。您将获得很多EMI,而Triacs将处于压力模式。
当电压低(接近0伏)时,打开TRIAC是更好的选择,另一种方法是仅在某些一半的时间段内打开TRIAC:在这种情况下,EMI没有问题。 HOWERVER,如何以更精确的方式对功率进行评分?例如,您需要功率率= 40%,您是否只需要在前40个半个时间内打开TRIAC?为了以更精确的方式解决此问题,我们可以使用Bresenham算法,这可以帮助我们在一定时期内传播权力。
让我们看看50 Hz的示例 - > 100个半个周期,。 - TRIAC关闭,#-TRIAC正在启用:
同样,对于这种方法,我们需要用MOC3041(或类似IC)管理零截面检测器,内部的交叉检测为零。作为替代方案,固态继电器也可以使用(内部零交叉检测),例如Fotek SSR-40 DA。
但是,您无法将这种方法用于调光,这需要更高的频率。对于50 Hz AC,TRIAC可以从每秒0到100倍。对于电阻负载(加热器),它非常正常,但是灯泡会闪烁。
检测器对于处理Bresenham算法是必需的。零跨探测器示意图
和该电路的振荡图:
当电压等于0伏时,脉冲的峰值。
在您的Arduino SketchBook文件夹中创建一个名为“库”的文件夹下的新文件夹,称为“ Bresenhamtriacdriver”。创建文件夹“库”,以防其不存在。将所有文件放在“ Bresenhamtriacdriver”文件夹中。
要在您自己的草图中使用库,请从草图>导入库中选择它。
testscketch.ino