前言:之前带同学做题时候发现高中技术选考中总会有一个题,考到对继电器特性的抖动处理。包括自己做工程时候,也会遇到这样的问题。嵌入式中经常会涉及到一些信号,而这些信号往往不是一个稳定的值,会产生一些不可避免的抖动,接下来对这个问题做个记录。


1. 基础功能

  假设现在需要完成一个洗碗机的控制系统,洗碗的水要求用热水。现对水箱用继电器控制加热棒加热,并用温敏电阻测量水箱温度。要求在水箱温度小于65℃时,继电器吸合,加热棒开通,加热水箱水;在水箱温度大于等于65℃时,继电器断开,停止加热。

2. 遇到问题

  在理想状态下,温度数据为平滑变化时,满足<65℃,继电器开通;>=65℃时,继电器断开。但在实际情况下,由于温敏电阻检测温度的误差以及MCU温度AD转化的误差,会在一个特殊时刻,检测到的温度一直在65℃左右浮动。此时继电器开关频率过高,一直不停断开吸合,控制系统极不稳定。

3. 问题解决

  实践中发现,虽然实际温度会一直在某个温度点附近跳变,但跳变的范围不会大,比如:在65℃附近跳变数值不会到70℃。因此可以采用如下做法:

  • 温度上升过程:温度<65℃,水箱加热;但温度升>=70℃时,停止加热
  • 温度下降过程:当温度在70℃回降时,温度<65℃,停止加热。

  即在65℃~70℃的温度范围内,对继电器的状态控制,取决于继电器之前的状态

3.1 软件实现

/*
ret:是否加热标志
Target:目标加热温度
delt:滞环温度允许范围
actual:实际测量温度
heatTube:上一次加热棒打开标志
*/
uint8_t HeatingTemp(uint8_t Target,uint8_t delt,uint8_t actual,uint8_t heatTube)
{uint8_t ret = 0;if(actual < Target)  ret = 1;  //低于目标温度打开加热棒else if(actual > Target + delt)   ret = 0;  //高于目标温度断开else ret = heatTube;   //中间温度,加热 状态和上一次加热棒状态相同return ret;
}

  软件代码类似于滞环的实现,它的优点是便于实现,系统稳定性强。但他同时也受到两点限制:

  • 给定数据变化快慢
  • 开关区间大小

  若上述温度给定数据的变化很快,范围大于给定开关区间大小delt,还是会产生开关频率过高的效果。


多说一些:目前为止遇到的类似问题有:对温度的加热控制,以及类似手机上的充电电量格显示,还有光耦的去抖处理。

工程思想——继电器特性抖动处理相关推荐

  1. 混沌工程之ChaosBlade(一):建立混沌工程思想

    本系列文章的目标,是将混沌工程作为一个入口,窥探整个分布式系统. 混沌工程之ChaosBlade(一):建立混沌工程思想 混沌工程之ChaosBlade(二):原理深度剖析 一.混沌工程是什么 < ...

  2. 一起涂墙吧,没有艺术细胞我们还有工程思想

    并非所有涂在墙上的画都能有资格被称为壁画吧.咖啡厅墙上黑色勾边颜色鲜艳的脸谱.地铁施工现场的隔离铁皮上的宣传画.城中村变压器下水渍浸透的鬼画符一样的涂鸦.恩,还有我们小时候写在地上的"天下太 ...

  3. 工程思想 ——【程序中的二进制】

    前言:程序在计算机中运行时候都是二进制机器码的形式,最初每个二进制码的状态"0"或者"1"代表着一个电子开关的开闭状态.因此软件程序,特别是很靠近硬件或者追求性 ...

  4. 水泥路肩培土两用机对于工程建设的特性

    在对于公路建设工作的制定实施过程中,按照既定的作业任务把目标实现作业目标来进行实现,其中包括这对于路缘石.路肩或排水沟等建设设施的参数和规格形状进行匹配,按照既定任务进行作业是完成项目交付的重要过程. ...

  5. 大功率继电器的工作原理是什么?解读大功率继电器特性参数

    为增进大家对大功率继电器的认识,本文将对大功率继电器的工作原理.大功率继电器的触点形式以及特性参数予以介绍. 继电器" target="_blank">大功率继电器 ...

  6. python对象的特性_Python对象的思想和特性,python

    一.面向对象思想 面向对象编程(Object Oriented Programming,简称OOP),是利用"类"和"对象"来创建各种模型来实现对真实世界的描述 ...

  7. 数据工程思想与R语言认知

    数据工程 数据工程就是将数据科学的工程流程化,用软件工程的思路化数据科学流程. 数据工程四原则 可复现,以人类语言和计算机语言的形式,详细记录每一步计算. 自动化 正交分工,将数据分析任务切分为相互不 ...

  8. 工程思想——【误差与分辨度】

    前言:最近做一个测重有关的项目,通过压力传感器AD获取计算重量值,一直测不准,记录一些想法. 1. 误差 1.1 绝对误差   绝对误差的一般解释是假设一个物理量的测量值为xxx,它的真值为aaa,则 ...

  9. 工程思想——关于串口通讯协议帧数据的一些想法

    前言:之前在学校上计算机网络这门课程时候,被里面的各种协议绕的头晕眼花,总以为这些协议都已经被前辈固定,后生们只要按照之前的协议老老实实收发数据就能解决一切,直到自己也有做东西时要自己编写通讯协议时, ...

最新文章

  1. 线程同步工具(七)在并发任务间交换数据
  2. python新旧特性过渡_网站改版时的一种新旧版过渡方案
  3. 我来重新学习 javascript 的面向对象(part 1)
  4. 开源压缩算法brotli_Google的Brotli压缩算法,C ++核心准则以及更多新闻
  5. linux的课程完全看不懂,学习Linux命令神器-看不懂直接给你解释
  6. [渝粤教育] 西南科技大学 土木工程施工 在线考试复习资料(2)
  7. 人民银行计算机机房,中国人民银行行计算机中心机房管理详细规定.doc
  8. foobar2000 for mac(经典音乐播放器)
  9. tcpreplay发包工具的简单介绍
  10. 小程序中使用全局样式
  11. 如何在IDM中设置代理服务器
  12. 微信小程序图书管理系统
  13. 制作Windows PE启动镜像命令
  14. CAD高版本窗体阵列LISP_CAD高版本窗体阵列LISP_AutoCAD高版本怎么把阵列对话框调出来?...
  15. 交换机远程连接(eNsp)
  16. 人工神经网络与神经网络,带反馈的人工神经网络
  17. php自动获取节气对应的年月日_php如何通过日期获取农历、节日、节气?
  18. ecshop数据结构
  19. 互补DNA(Complementary DNA)
  20. redis 键值占用内存分析 RDR(Redis Data Reveal)

热门文章

  1. iOS 使用FFmpeg
  2. wpf之MEF+MVVM结合
  3. activemq之Windows安装
  4. 主板插槽接口相关释义
  5. 华夏银行招聘计算机笔试题,2019华夏银行招聘结构化面试试题及答案
  6. linux发布成服务,linux服务简单部署
  7. 修改mysql默认字符集为latin1_修改MYSQL默认编码为UTF8
  8. linux ape,linux把ape+cue格式转换成flac,同时保留曲目信息转载
  9. python读取csv时keyerror_python – 错误:pandas hashtable keyerror
  10. fit函数 model_函数式 API