图4的流程图显示了监控LED灯温度并在温度达到一定安全限度情况下调节流明大小的简单算法。流程图顶部的“加电启动——系统初始化”块是微控制器初始化块。墙壁开关打开后,LED灯加电,该块将配置LED灯进行基本操作,如流明输出和温度检测等。
图4:LED灯监控及调节流程图
“灯是否打开?”块检测灯是否由于温度过高而关闭。该简单的按位测试将明确灯是否打开。如果设为灯开位,说明灯打开,如果未设为灯开位,说明灯未打开。首次加电时,灯是默认打开的并设定灯开位。
“警报”控制块控制着温度过高且LED灯被控制器关闭后的开关序列。接下来的“灯是否打开?”块将再次开始检测序列。退出报警条件的唯一途径就是断开并利用墙壁开关再次供电。
接下来的“检测温度”块将检测NTC节点处的电压。NTC通常会随温度发生非线性变化,因此检测到的电压可根据对照表进行相关温度比较。该温度将用于后续两个控制块。
“安全温度”块用于测定LED灯的温度是否在安全范围内。当温度达到配置的最大值时,系统会将灯关掉。若温度低于允许最大值,系统将继续进行温度稳定性测试。
“关灯”块的作用是当LED灯温处于不安全范围时将灯关掉。接下来是“是否开灯?”块,再次重新开始检测序列。
“温度变化”块用于测定上次流明调节循环以来的温度变化是否需要提升或降低光输出。“温度增加”块用于测定温度是升还是降。由于前一个控制块已经测出自上次流明调节循环以来的温度变化已足够大,因此这里只有两个选择。
“最大流明”块用于测定LED灯是否设为最大流明输出。若流明输出达到最大值,则重新进入“是否开灯?”块,重新开始检测序列。
当上一个控制块测出流明输出未达到最大值,便会触发“流明升高、调暗指示灯”块。该控制块会根据初始化块期间的配置将输出调高一级,还会将指示灯LED调低一级,以使流明增加与指示灯变暗相匹配,然后再重新启动检测序列。
当“温度升高”块测出温度升高,便会触发“最低流明”块。若流明未达到预设的最低值,则流程导向“降低流明,调亮指示灯”块。若流明输出达到预设的最低值,则重新进入“是否开灯?”块,重新开始检测序列。
“降低流明,调亮指示灯”块会根据初始化块期间的配置将输出调低一级,还会将指示灯LED调高一级,以使流明减少与指示灯增加相匹配,然后再重新启动检测序列。
上述流程图显示了输入电源循环期间LED灯保持关闭的情况。流程稍作变动,就能提供灯关闭后监控温度、在温度降至安全限度内重新打开LED灯的序列。