弹簧触摸开关原理图_电磁炉的触摸按键功能是如何实现的?小编给你分析电路原理...

电子技术的飞速发展,给人们的生活带来了很大的便利,电磁炉就是其中之一

以前做饭还需要烧柴火,想必小伙伴们被烟熏到一把鼻涕一把泪的场景还历历在目

3a551916a18f8be05b98c0e3c262dcad.png

烟熏火燎的柴火灶

现在,电磁炉成为每家每户厨房的标配,再也不需要烧柴火了

只需轻轻一按,电磁炉就会为我们加热食物

2ae5019c10350a5d56ec1630a762c7bb.png

电磁炉触摸按键

在前面的文章,作者和大家分享过电磁炉功率部分的知识,但是还没有和大家分享控制面板的知识

电磁炉控制面板原理如下

0339478d22556579dc1b5be28f3273d8.png

控制面板方框图

今天我们主要来了解其中的按键输入部分

按键输入大致可以分为两种方法

机械按键

5b545549f152f024fb3fcfcecb3928ad.png

机械按键式控制面板

342467622f21224614c6c922f14b0e03.png

机械按键式控制面板

机械式按键具有抗干扰能力强,面板有油污或者水都能控制的优点,缺点就是有机械寿命,按压次数有限

eb09ef7c9115a6ddb4f4cd8490dd3d59.png

机械按键电路原理图

机械按键输入电路较好理解,当开关按下时,单片机扫描到IO口电平变化,即可确定按键按下

电容式按键

电容按键因没有机械接触,使用寿命长,现已经成为电磁炉的主流配置

理解电容按键需先理解一个关键点——人体对于大地相当于一个电容

ca3d76051275fa3267085a366ebe69de.png

电容式按键控制面板

41a8baede1fd4de7599a22d0e49e8547.png

电容式按键控制面板

电容式按键可以细分为两种不同的输入原理

1.利用电容的RC充放电来确定按键是否按下

064300515627225654dc28fdd6b7f3aa.png

电路原理图

如图所示,P1.0输出高电平为电阻R(R是一个较大阻值的电阻)提供电源

在我们手指没有按下时,P1.1一直检测到的是高电平

当手指按下时,相当于接了一个电容到P1.1,电阻R提供的微弱电流对人体电容充电,P1.1电平被拉低后缓慢升高,即可确定按键按下

2.电容分压

同学们可能只知道电阻可以分压,其实电容也可以分压的,只不过是只能分交流的电压

27346d80af76199a1c82edd52ff773d2.png

电路原理图

电容的阻抗是和频率以及电容容量有关的,容量越大,容抗越小

如图所示,CP和C1的容量一样的时候,300KHz方波通过这两个电容分压

分到的电压显然是一半(因为电容容量相等)

当人体手指按下时,相当于并联了一个电容CF,容抗减小,分到的电压减小,单片机ADC感应到变化,即可确定按键按下

77f830e4d2ef6642bd88dc0f340ef94b.png

电路原理图


关注作者,学习更多电子电路知识,感谢您的阅读!!!

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在工业控制领域,按键的可靠性设计非常重要,因为按键是控制设备的重要输入方式之一。以下是一些按键可靠性设计的建议: 1. 按键外壳材料选择:应选用高强度、耐磨损、抗化学腐蚀的材料,如不锈钢、铝合金等。 2. 按键结构设计:应尽量简单,避免使用过多的嵌套和弹簧,以免产生故障。 3. 按键接触设计:应确保接触可靠,不易产生接触不良或接触不稳定的情况。 4. 按键密封设计:应采用密封材料,确保按键不受灰尘、水汽等环境影响。 在按键检测原理实现方面,可以通过使用STM32内部的GPIO模块来实现。下面是一个简单的按键检测程序: 1. 配置GPIO口为输入模式。 2. 在循环中读取GPIO口状态,检测按键是否被按下。 3. 如果按键被按下,进行相应的操作,如改变LED灯的状态等。 下面是一个示例代码: ```c #include "stm32f10x.h" int main(void) { // 初始化GPIO口 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure); // 循环检测按键状态 while(1) { if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == RESET) { // 按键被按下,进行相应操作 // ... } } } ``` 在实际开发中,还需要考虑消除按键抖动、防止误操作等问题。可以通过软件延时、硬件滤波等方式解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值