||
Firmware技术的发展,运营而生出“分位”这一名词,在MCU应用设计领域内,受现实环境、元器件寿命等诸多条件的影响及制约,对软件程式的适当处理,可有效的杜绝一些非意愿性但又确实存在的过失,从软件上给予防呆!
笔者结合以前曾参与的项目Off line UPS,空调控制板等,逐一浅解如下:
1. 作为调控的回授值连续无变化:一典型的例子就是逆变回授的判断值,做为输出调控的参考,它受负载、PWM占空比等的调协,它还有一个重要的用途就是作为输出端的短路判断,其变化的细微可谓是关系到一个产品的稳定,可靠;但现实中产品器件一旦出现开路、烧毁,而在MCU内部得到的转换值不是实际需要值,就会失去调控的目的,如连续为0,就会误为短路产品不能启动,而连续固定为某一个值,又不能调整实际的PWM输出,更有甚者,烧毁用户负载,或对产品本身造成损伤;基于此,在软件处理上,加于保护机制,当发现回授回来的值在某一段时间内连续无变化,我们就认定线路中的元器件存在着损坏或开路,程式就走停保护!
1. 电,很显然,实际情况不是这样的,依实际电路的接法,元器件损坏均有可能造成上述MCU的误判,所以适当设置上下限值给予保护十分有必要;在实际的运用中,还可依客户规格书要求,设定电池低压报警点+10V,过充保护点+14V,涓流对电池的损伤等等保护措施,切实对器件予以软件保护;
2. 从时间上防止死等待:在程式中往往有依某一个现实条件而结束某一事件的判断,如分体式空调控制板中对于化霜事件结束的判断依据,以往判断条件依室温或管温来判断,直到判断温度达到设定温度时才结束化霜这一事件,而现实环境千变万化,有可能使用环境特别恶劣,判断温度一直达不到设定温度,或判断温度的线路有损坏,迟迟达不到判断条件,此时我们在软件设计上就要考量到以时间限制来加以调控,当连续化霜达到某一设定的长时间,而其他判断条件未符合要求,此时我们也要强制结束化霜这一事件,开始下一个判断循环;
3. 循环检测防止器件损伤:在PG电机调速运用中,当检测PG回授值连续10S无回授值,可先停转PG30S,再开10S予以判断,依此连续判断多个周期,既可以防止PG回授检测的误判,又可以对PG因负载过大无法启动,而给PG电机保护;还有如因冷媒剂缺少,压缩机长时间运转,而温度不变化,从时间上多次检测后判断冷媒剂缺少,从而对压缩机长时间运转进行保护,从而起到节能环保智能的效应!
以上只是罗列几种实际项目中遇到的一些注意事项,我相信还有更多的智能防呆的好方法在软件中的应用,有待于大家共同去发觉!