历史上的今天
今天是:2025年02月28日(星期五)
2021年02月28日 | 电磁炉中电容式触控的原理
2021-02-28 来源:eefocus
相较于机械式按键和电阻式触摸按键,电容式触摸按键不仅耐用,造价低廉,机构简单易于安装,防水防污,而且还能提供如滚轮、滑动条的功能。但是电容式触摸按键也存在很多的问题,因为没有机械构造,所有的检测都是电量的微小变化,所以对各种干扰敏感得多。ST针对家电应用特别是电磁炉应用,推出了一个基于STM8系列8位通用微控制器平台的电容式触摸感应方案,无需增加专用触摸芯片,仅用简单的外围电路即可实现电容式触摸感应功能,方便客户二次开发。
方案介绍
ST的电容式触摸按键方案通过一个电阻和感应电极的电容CX构成的阻容网络的充电/放电时间来检测人体触摸所带来的电容变化。如图1所示,当人手按下时相当于感应电极上并联了一个电容CT,增加了感应电极上的电容,感应电极进行充放电的时间会增加,从而检测到按键的状态。而感应电极可以直接在PCB板上绘制成按键、滚轮或滑动条的应用样式,也可以做成弹簧件插在PCB板上,即使隔着绝缘层(玻璃、树脂)也不会对其检测性能有所影响。

图1 STM8S电容式触摸按键的工作原理
电磁炉是采用磁场感应电流的加热原理对食物进行加热。加热时,通过面板下方的线圈产生强磁场,磁力线穿过导磁体做的锅的底部时,锅具切割交变磁力线而在锅具底部产生涡流使锅底迅速发热,达到加热食物的目的。在本解决方案中采用44pin的STM8S105S4做按键显示板的主控芯片,控制13个按键的扫描、24个LED及一个4位数码管的显示、I2C与主板的通讯,并留有一个SWIM接口方便工程师调试之用(如图2)。
STM8S105S4采用的是ST高级STM8内核,具备3级流水线的哈佛结构,3.0~5.5V工作电压,内部16MHz RC可提供MCU16MHz工作频率,提供低功耗

图2 电磁炉按键板原理
电磁炉工作环境中的干扰
1.电磁干扰
电磁炉在加热锅的同时,也对电路板上感应电极正向或反向的电流,从而会缩短或增长按键充放电时间,会对按键的检测造成很大影响,甚至产生误动作,常见的方法采用硬件屏蔽和过零点检测来消除电磁辐射对按键的影响。
硬件屏蔽
在STM8S的解决方案中,ST提供了感应电极和走线的设计规范和如图3所示的Driven Shield功能(在Shield线上提供与按键管脚相同的驱动信号,电极与Shield之间的寄生电容就不会被充放电),能有效地减少感应电极走线的寄生电容对按键灵敏度的影响。

图3 Driven Shield
过零点检测
1) 硬件过零点检测
过零点检测可采用硬件实现,在硬件设计中,可以增加如图4 或图5过零点的硬件检测电路,通过在B端输出为高电平时进行按键状态的判断,以期在电磁辐射最小的时候对触摸按键进行检测。

图4 硬件过零点检测电路1

图5 硬件过零点检测电路2
2)软件过零点检测
硬件过零点检测增加硬件电路设计的复杂性,增加方案成本,在我们的解决方案中,针对电磁炉的工作环境,我们采用软件进行过零点检测,从而降低成本,有效解决电磁炉主功率电路对触摸按键的干扰
2.电网干扰
因为国内电网质量不一,在一些质量差的地区,容易影响电磁炉触摸按键的正常工作。如果不能做电源隔离,就会看到一下图6的差别(蓝色表示无按键,红色表示键被按下),而这些图还只是在电磁炉没有开功率的情况下的,当电磁炉工作时产生的电磁辐射将会使看到的信号更加杂乱无章。在实验中发现,采用与外界电网隔离或使用软件滤波,按键效果都能得到明显改善。

图6 质量好的电网 质量差的电网1 质量差的电网 2
3.溅水,溅油的影响
在电磁炉的使用当中,常常会出现水或油溅到触摸面板上,它可能导致按键误触发,本解决方案采用特殊软件算法可靠地将覆水溅油与手指按下的状态区分开。
4.环境自适应能力
电磁炉在工作的时候,会产生大量的热量与湿气,面板温度/湿度,电路板温度/湿度都是会在一个很宽的范围浮动,而随着使用时间的推移,包括玻璃面板、PCB板都会出现不同程序的老化,从而影响按键检测的准确度。在ST的解决方案中,实现了自动校准功能,实时地提供环境检测,实现环境自适应的机制。
总结
ST提供的解决方案包含了触摸面板自校准、软件滤波、软件过零点检测及环境自适应等功能,尽可能地使用软件算法去屏蔽各种复杂环境的干扰,具有低成本及工作可靠等特点。当然在其他产品的应用中,也会有一些与电磁炉环境不同的要求,这里只是介绍了其中一些有代表性的干扰,但只要掌握了电容式触摸的工作原理,还是有很多种方法来处理各种应用情况。
上一篇:介绍一个蓝牙小车的程序
史海拾趣
|
各位高手,帮帮忙,急死了,本人刚接触驱动,调试了一星期,都无法成功,在硬编码的时候,可以成功启动,但是改成动态获取的时候,无论如何都启动不起来,有哪位大侠帮忙调试的加我QQ 454419771 在此感谢各位了,心急如焚啊!!!! __declspec(na ...… 查看全部问答> |
|
有一个开发板是s3c2440平台加上ch7026做TV编码器输出,800x600下输出稳定.现在我想降低分辨率却无法正常显示.请教: 1.我尝试修改了lcd控制器的寄存器值不成功,如有高手用过类似方案,给点提示 2.修改lcd分辨率是不是改那几个寄存器值就行了? 3.因 ...… 查看全部问答> |
|
想用wince做web服务器 在asp网页上需要动态显示数据,数据存储在SQLCE3.0数据库中 怎么样才能连接到数据库? 如果需要开发ActiveX,然后通过ActiveX连接数据库 那么用什么开发ActiveX呢?ActiveX中又是如何连接数据库呢? … 查看全部问答> |
|
我是电子信息专业的学生,想读研。个人比较喜欢硬件方面的东西,比较讨厌编程,虽然硬件也要有编程,但是不想以后出去当程序员天天对着电脑写代码,谁能告诉我在硬件方面应该学什么(比如:做硬件从什么入手?是不是要学单片机?做硬件的话需要什么 ...… 查看全部问答> |
|
在我的设计里,内部主要工作时钟是在复位撤销之后才给出的。我原来的设计期望,在复位撤销的时候,所有的触发器都被异步复位到确定的状态。但是加入了ClockGating之后,出现了一个问题:因为ClockGating的加入,导致了复位撤销的时候,时钟是不定态 ...… 查看全部问答> |




