前言:之前带同学做题时候发现高中技术选考中总会有一个题,考到对继电器特性的抖动处理。包括自己做工程时候,也会遇到这样的问题。嵌入式中经常会涉及到一些信 ,而这些信 往往不是一个稳定的值,会产生一些不可避免的抖动,接下来对这个问题做个记录。
1. 基础功能
??假设现在需要完成一个洗碗机的控制系统,洗碗的水要求用热水。现对水箱用继电器控制加热棒加热,并用温敏电阻测量水箱温度。要求在水箱温度小于65℃时,继电器吸合,加热棒开通,加热水箱水;在水箱温度大于等于65℃时,继电器断开,停止加热。
2. 遇到问题
??在理想状态下,温度数据为平滑变化时,满足=65℃时,继电器断开。但在实际情况下,由于温敏电阻检测温度的误差以及MCU温度AD转化的误差,会在一个特殊时刻,检测到的温度一直在65℃左右浮动。此时继电器开关频率过高,一直不停断开吸合,控制系统极不稳定。
3. 问题解决
??实践中发现,虽然实际温度会一直在某个温度点附近跳变,但跳变的范围不会大,比如:在65℃附近跳变数值不会到70℃。因此可以采用如下做法:
- 温度上升过程:温度=70℃时,停止加热
- 温度下降过程:当温度在70℃回降时,温度
??即在65℃~70℃的温度范围内,对继电器的状态控制,取决于继电器之前的状态。
3.1 软件实现
??软件代码类似于滞环的实现,它的优点是便于实现,系统稳定性强。但他同时也受到两点限制:
- 给定数据变化快慢
- 开关区间大小
??若上述温度给定数据的变化很快,范围大于给定开关区间大小delt,还是会产生开关频率过高的效果。
多说一些:目前为止遇到的类似问题有:对温度的加热控制,以及类似手机上的充电电量格显示,还有光耦的去抖处理。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!