单片机实现触摸按键
单片机高低电平实现电容触摸的原理
单片机高低电平实现电容触摸的原理
单片机实现电容触摸的原理可以简述为以下几个步骤:
1. 创建一个电容传感器电路:通过一个电容传感器电路将电容传感器与单片机连接起来。
该电路一般由一个电容触摸键与一个固定的参考电容组成。
2. 输出引脚设置为输出模式:将单片机的一个IO引脚设置为输出模式,将电容触摸键的控制电压输出到该引脚。
3. 创建一个短路:将输出引脚与接地进行短路,使得电容触摸键与参考电容形成一个带有电荷的电容电路。
4. 引脚设置为输入模式:将IO引脚设置为输入模式,停止输出控制电压。
5. 监测电压变化:开始监测IO引脚上的电压变化,由于电容触摸键的引脚与参考电容电路共享一个电容,当有物体触摸电容键时,电容的电荷将被改变,从而导致IO引脚上的电压变化。
6. 判断触摸:通过动态地监测IO引脚上电压的变化,可以判断是否有物体触摸了电容触摸键。
当监测到电压变化时,即可认为有物体触摸了电容触摸键,并进一步进行相应的处理。
总结来说,单片机实现电容触摸的原理是通过监测IO引脚上电压的变化,来判断是否有物体触摸了电容触摸键。
单片机按键工作原理
单片机按键工作原理
单片机按键是单片机常用的一种输入设备,它可以将人类的输入信息转化为数字信号,供单片机进行数据处理,实现各种功能。
那么单片机按键是如何工作的呢?
一般来说,单片机按键通常由按键本身、按键连接电路和单片机引脚组成。
按键本身是一个机械式开关,通常有两个触点,通过按键上的物理按下或松开触点来实现输入操作。
按键连接电路一般由电阻、电容、二极管等元件组成,它们的作用是为按键提供稳定的电源和信号滤波,防止按键接触不良或噪声干扰。
单片机引脚则是将按键的输入信号引入到单片机内部,供程序处理。
在单片机按键使用过程中,按键的状态通常分为两种:按下和松开。
当按键按下时,按键上的触点会短接,电阻值发生变化,形成一个低电平信号,此时单片机引脚上的电压值会降低。
当按键松开时,触点断开,电阻值恢复原状,电压值也会回升,形成一个高电平信号。
单片机根据引脚电平状态的变化来判断按键状态,进而进行相应的处理。
由于单片机引脚本身具有一定的电容,当按键状态变化时,引脚上的电容也会发生变化,从而引起信号的抖动。
为了避免这种抖动对程序造成影响,我们通常会在按键连接电路中添加一个二极管,利用其单向导通的特性,将信号滤波,使其变得更加稳定。
单片机按键是一种常见的输入设备,通过按键本身、按键连接电路和单片机引脚组成,将人类的输入信息转化为数字信号,供单片机进行数据处理。
在使用过程中,我们需要注意按键状态的变化及其对信号的影响,以保证程序的正确性和稳定性。
基于单片机的电容感应式触摸按键原理与程序——C程序
基于单片机的电容感应式触摸按键原理与程序——C程序经过上篇文章的介绍,基于单片机的电容感应式触摸按键的实现方法也就没什么神秘的了,而且其控制程序也就呼之欲出了,核心就是用STC单片机的片内ADC实时的进行数据转换与比对判断,但虽然原理简单,但编程思路还是要啰嗦几句,想法是先设置一个空数组作为键值数据暂存器,每次上电运行时,经过短暂的等待,待电源和系统稳定后,扫描一次键盘,将无操作时的键值加以记录,而后循环扫描键盘与之对比,当差值符合条件是,判断为有键按下,同时返回键号及键控指令。
程序如下:/************************************************************** **************** STC单片机电容感应按键C程序---------原创作者wannenggong*************************************************************** ***************//*======================================== =========================应用电路见原理篇的图1,图中:PWM-IN端输入频率为380KHz、占空比75%的矩形脉冲,定义按键K1为ADC0接P1.0,K2为ADC1接P1.1;K1有指触摸时LED1亮LED2灭,K2有指触摸时LED2亮LED1灭;按键面板玻璃厚度为5mm。
程序应用时需检查STC12C2052AD.H文本文档中有无如下设置,如没有时需要加入并保存,否则ADC相关函数将报错#define ADC_POWER 0x80 //ADC模块电源控制位#define ADC_SPEEDLL 0x00 //每次转换需要1080个时钟周期#define ADC_SPEEDL 0x20 //每次转换需要810个时钟周期#define ADC_SPEEDH 0x40 //每次转换需要540个时钟周期#define ADC_SPEEDHH 0x60 //每次转换需要270个时钟周期#define ADC_FLAG 0x10 //ADC转换完成标志#define ADC_START 0x08 //ADC开始转换控制位#define ADC_CHS1 0x02 //ADC通道选择位1#define ADC_CHS0 0x01 //ADC通道选择位0ADC转换程序参照宏晶官网程序改编====================================== ============================*/#include#include#define uint unsigned int#define uchar unsigned char/***********I/O口位功能定义*****************************************/sbit LED1=P3^4;sbit LED2=P3^5;/************应用变量设置*******************************************/bit f1,f2;uint FLG[2]; //初始键值寄存uint zz,RV,R,RR;uchar ee=1,n=0,y;/************************************************************** *****/void Delay(uint x)//用于ADC转换及其它{uint y;while (x--)y = 5000;while (y--);}}/******初始模数转换寄存器函数****************************************/ void InitADC() {ADC_DA TA = 0; //ADC数据寄存器清零ADC_CONTR = ADC_POWER | ADC_SPEEDLL;Delay(2);}/****8位ADC转换执行函数***********************************************/ uint GetADCResult(uchar ch){ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;_nop_(); //必要的查询等待_nop_();_nop_();_nop_();while (!(ADC_CONTR & ADC_FLAG));//等待标志位ADC_CONTR &=~ADC_FLAG; //关闭ADCreturn ADC_DA TA; //返回AD转换完成的8位数据(16进制)}/*************按键初值保存函数*****************************************/ //系统上电时更新一次void InitDA T(){uchar e;Delay(50);//延时等待系统稳定很有必要for(e=0;e<2;e++){FLG[e]=GetADCResult(e);Delay(5);}}/*****************开关控制函数****************************************/ void key_control(void) {R=0;RV=GetADCResult(ee-1);R=(FLG[ee-1]-RV);if(R>=0x17 && R<=0x1d)R=ee;{R=0;ee++;}if(ee>2)ee=1;switch(R){case 1://K1{f1=1;f2=0;}break;case 2://K2{f2=1;f1=0;}break;default : R=0;}}/******开关控制执行与显示选择函数************************************/void Auto(void){key_control();if(f1==0 && f2==0){LED1=LED2=1;}if(f1==1){LED1=0;LED2=1;}if(f2==1){LED1=1;LED2=0;}}/*********主函数*****************************************************/main(){P1M0 = 0x03; //设置P1.0/P1.1为高阻状态P1M1 = 0x00;InitADC();InitDA T();while(1){key_control();Auto();}}到此,关于电容感应按键的实验就完成了,制作是实验性质的,结果可供参考,经验仅供交流,如用于商业用途而产生的问题本人盖不负责,若欲转载(贴)请注明出处并望告知,若有用于广告引贴,本人保留追究的权力。
基于单片机STM8S103和ST05A的触摸按键设计
消 费 电子开 发 的一款 8位 微控 制器 , 拥 有 良好 的性价 比 。三 级流 水线 的 哈佛 结构 ,8 k B字节 的系 统 内可编 程F l a s h ,擦 写寿命 1 0 , 0 0 0次 ,5 1 2 B的 E E P RO M 擦 写 寿命 1 0 0 , 0 0 0次 ,l k B 字节 的片 内 R AM , 可 以对锁 定位 进 行编 程 以实现 用户 程序 的加 密 。 灵 活 的时钟控
c h i p we r e f o c u s e d o n . T h r o u g h t h e c i r c u i t d i a g r a m, o s c i l l o g r a m a n d l f o w c h a r t , t h e h a r d wa r e c i r c u i t a n d s o f t wa r e d e s i g n i d e a s we r e r e a l i z e d . A l o w- c o s t s o l u t i o n f o r t h e t o u c h — k e y wa s p r o v i d e d .
Ya n Ai - j u n , F a n H a i — Mi n g , Z h o u J u n
( T h e 7 1 8 t h Re s e a r c h I n s t i t u t e o f CS I C , Ha n d a n 0 5 6 0 2 7 , C h i n a )
机 芯片 , 通 过 C语 言编 程 技术 实现 软件 编程 设 计[ , 。
1 S T M 8 S 1 0 3单片机及触摸感应器简 介
单片机 电容触摸按键 报告
任务:MSP-EXP430G2 板上P1.0 上接了一个LED,而在配套的LaunchPad 扩展板上,将MSP430G2553 的P2.0 和P2.5 引出作为电容触摸按键。
要求按下P2.0 后LED 亮,按下P2.5 后LED 灭,程序运行过程中不阻塞CPU,并且实现低功耗运行。
硬件连接:如图所示程序代码:TouchIN.c:#include "MSP430G2553.h"#define KEY_NUM 2 /*触摸按键数目,根据需要修改*/ //=============具体触摸按键IO宏定义,根据需要添加代码===============#define KEY0_INIT P2DIR &= ~BIT0; P2SEL &= ~ BIT0; P2SEL2 |= BIT0 /*按键1开启振荡*/ #define KEY1_INIT P2DIR &= ~BIT5; P2SEL &= ~ BIT5; P2SEL2 |= BIT5 /*按键2开启振荡*/ #define ALL_OSC_OFF P2SEL2 &= ~(BIT0 + BIT5) /*关闭全部触摸振荡*/ /*门限频率的取值取决于定时扫描的时长,3300对应的是1.9ms定时情况,实际定时可取1ms~20ms*/const unsigned int FREQ_THRESHOLD[KEY_NUM]={3300,3300}; /*参考值,需用仿真器查看后调整*///-----静态局部变量----static unsigned int Freq[KEY_NUM]={0}; //当前测频值static unsigned char Key_Buff[KEY_NUM][4]={0}; // 软件FIFOstatic unsigned char Key_Num=0; //按键编号//-----全局变量,复杂程序中可以移植到Global.h统一管理-----unsigned char TouchIN=0; //相当于PxIN寄存器作用,支持8个触摸按键void Key_Measure_Freq(){Freq[Key_Num]=TAR; //当前编号按键的频率被测得ALL_OSC_OFF; //关闭所有振荡IOKey_Num++; //切换下一振荡IOif (Key_Num>=KEY_NUM) Key_Num=0; //各触摸按键循环交替switch (Key_Num){case 0 : KEY0_INIT; break; //振荡IO初始化case 1 : KEY1_INIT; break;default: break;}TA0CTL = TASSEL_3+MC_2+TACLR; //增计数清0,并开始计数}void Key_FIFO() //存储连续4次测量数据{Key_Buff[Key_Num][0]=Key_Buff[Key_Num][1];Key_Buff[Key_Num][1]=Key_Buff[Key_Num][2];Key_Buff[Key_Num][2]=Key_Buff[Key_Num][3];if( Freq[Key_Num]<FREQ_THRESHOLD[Key_Num]) //判断是否识别为按键Key_Buff[Key_Num][3]=1;elseKey_Buff[Key_Num][3]=0;}void Key_Judge() //按键仲裁,只有连续4次测量结果一致,才算数{if( (Key_Buff[Key_Num][0]==0)&&(Key_Buff[Key_Num][1]==0)&&(Key_Buff[Key_Num][2]==0)&&(Key_Buff[Key_Num][3]==0) )// TouchIN=0<<Key_Num; //按键松开(错误代码)TouchIN &=~(1<<Key_Num); //按键松开(正确代码)if( (Key_Buff[Key_Num][0]==1)&&(Key_Buff[Key_Num][1]==1)&&(Key_Buff[Key_Num][2]==1)&&(Key_Buff[Key_Num][3]==1) )// TouchIN =1<<Key_Num; //按键按下(错误代码)TouchIN |=1<<Key_Num; //按键按下}void TouchIN_Dect() //触摸输入检测{Key_Measure_Freq(); //测频Key_FIFO(); //软件FIFO缓存最近4次测量数据Key_Judge(); //仲裁按键是否按下或松开}TouchIN.h:/***** TouchIN.h******/#ifndef TOUCHIN_H_#define TOUCHIN_H_extern void TouchIN_Dect() ; //WDT中断事件extern unsigned char TouchIN; // 相当于PxIN寄存器作用,支持8个触摸按键#endif /* TOUCHIN_H_ */main.c:#include "MSP430G2553.h"#include "TouchIN.h" /*触摸按键检测库函数*/void WDT_Ontime(void);//-----对硬件相关代码进行宏定义处理-----#define LED_ON P1OUT |= BIT0 /*宏定义LED所在IO*/#define LED_OFF P1OUT &= ~BIT0 /*宏定义LED所在IO*/void main(void) {WDTCTL = WDTPW+WDTHOLD; //关狗//-----初始化GPIO-----P1DIR |= BIT0; //LED所连IO口P1.0设为输出P1OUT &= ~BIT0;//-----初始化WDT定时中断为16ms-----WDTCTL = WDT_ADLY_16; // “超级”宏定义IE1 |= WDTIE; //使能WDT中断_EINT(); // 使能总中断__bis_SR_register(LPM3_bits); //等同LPM3}#pragma vector=WDT_VECTOR // Watch dog Timer interrupt service routine__interrupt void WDT_ISR(void){WDT_Ontime();}void WDT_Ontime(void){ //-----首先必须定时扫描触摸按键检测函数-----TouchIN_Dect();if(TouchIN & BIT0) LED_ON;if(TouchIN & BIT1) LED_OFF;}调试情况:第一次调试:TouchIN_Dect函数重复定义第二次调试:正常调试结果:按下P2.0 后LED 亮,按下P2.5 后LED 灭,任务达成。
单片机与人机交互触摸屏按键和显示屏的应用
单片机与人机交互触摸屏按键和显示屏的应用现代科技的迅速发展,使得人机交互成为了当下热门的领域之一。
作为人类与电子设备之间的桥梁,触摸屏按键和显示屏的应用在我们的日常生活中扮演着越来越重要的角色。
而单片机则作为嵌入式系统中最为常见的控制器,与触摸屏按键和显示屏的结合,不仅提升了用户交互体验,也为我们的生活带来了便利。
本文将深入探讨单片机与人机交互触摸屏按键和显示屏的应用。
一、触摸屏按键的应用触摸屏按键是一种新型的人机交互界面,它通过电容或者压力等方式感应用户的点击动作,并将点击位置信号转换为电信号输入,从而实现对设备的控制。
单片机通过与触摸屏按键的连接,可以实现多种功能。
1.1 触摸屏按键在智能手机中的应用随着智能手机的普及,触摸屏按键已经成为了目前手机最常见的操作方式之一。
通过单片机与触摸屏的连接,我们可以轻松实现对手机屏幕的触摸操作,包括滑动、点击、放大缩小等。
这不仅提高了手机的操控性,也为用户带来了更好的使用体验。
1.2 触摸屏按键在工业控制领域的应用在工业控制领域,触摸屏按键的应用也越来越广泛。
通过与单片机的连接,我们可以将触摸屏作为控制设备的输入端口,实现对各种设备的控制和监控。
例如,在一些工厂中,工人可以通过触摸屏按键来控制生产线的开关、调整设备参数等,大大提高了生产效率。
二、显示屏的应用显示屏作为人机交互的重要组成部分,具有信息输出的功能,将数据以人类可读的形式展示出来。
单片机通过与显示屏的连接,可以实现对数据的显示和处理,提升用户交互的体验。
2.1 显示屏在计算机领域的应用在计算机领域,显示屏是我们与计算机最直接的交互方式之一。
通过单片机与显示屏的连接,我们可以输出文字、图像、视频等多种形式的信息。
这不仅使得计算机的操作更加直观,也为我们提供了更方便的信息交流方式。
2.2 显示屏在仪器仪表领域的应用在仪器仪表领域,显示屏的应用也非常广泛。
通过单片机与显示屏的连接,我们可以将各种测量数据以数字或者图形的形式显示出来,方便用户进行实时监测和数据分析。
单片机与触摸按键的交互设计
单片机与触摸按键的交互设计在单片机应用中,触摸按键技术是一种常见的交互方式。
通过触摸按键,用户可以方便地与单片机进行交互,实现各种功能。
本文将探讨单片机与触摸按键的交互设计,从硬件设计和软件设计两个方面进行讨论。
一、硬件设计触摸按键的硬件设计主要包括触摸传感器和按键控制电路两部分。
1. 触摸传感器触摸传感器是用来感知用户触摸行为的装置。
常见的触摸传感器有电容触摸传感器和电阻触摸传感器两种类型。
- 电容触摸传感器:基于电容原理,通过感应人体的电容变化来检测用户的触摸行为。
它具有高灵敏度、易于集成等特点,但对环境的干扰较大。
- 电阻触摸传感器:基于电阻原理,通过感应用户的电阻变化来检测触摸行为。
它相对于电容触摸传感器来说,对环境的干扰较小。
在选择触摸传感器时,需根据具体的应用场景和性能要求进行合理选择,并按照厂商提供的设计指南进行布局和连接。
2. 按键控制电路按键控制电路主要用于检测触摸按键的信号并将其转换为数字信号,以供单片机进行处理。
按键控制电路一般由按键和按键检测电路组成。
- 按键:可以选择机械按键或触摸按键,其具体选择取决于应用需求。
机械按键相对来说操作感更好,但功耗和使用寿命较触摸按键较差。
- 按键检测电路:主要用于检测按键的开关状态,将按键的状态转换为数字输出。
可以采用行列式检测电路、编码器检测电路等方式进行设计。
二、软件设计单片机与触摸按键的软件设计主要包括按键扫描、触摸检测和交互逻辑处理三个部分。
1. 按键扫描按键扫描是指对触摸按键进行周期性扫描,并根据扫描结果判断按键的状态。
可以采用轮询扫描和中断扫描两种方式。
- 轮询扫描:通过在主循环中逐一检测各个按键的状态,实时响应用户操作。
适用于小规模按键的应用,实现简单。
- 中断扫描:通过外部中断或定时器中断来触发按键扫描,提高扫描效率。
适用于大规模按键的应用,具有较好的实时性。
2. 触摸检测触摸检测是指通过对触摸传感器的采样和处理,判断用户是否触摸按键。
单片机触摸按键原理
单片机触摸按键原理
单片机触摸按键是一种新型的按键方式,它采用了电容感应原理。
与
传统的机械按键相比,它具有灵敏度高、使用寿命长、外观美观等优点,因此被广泛应用于电子产品中。
单片机触摸按键的原理是利用人体和电极之间的电容变化来检测是否
有操作。
当手指接近电极时,会改变电极周围的电场分布,从而改变
电容值。
单片机通过检测这种电容变化来判断是否有操作发生。
具体来说,单片机触摸按键由两个主要部分组成:传感器和处理器。
传感器通常由金属板或导电材料制成,并与处理器相连。
当手指接近
传感器时,会形成一个微小的电容耦合,在处理器中产生微弱的信号。
处理器通过对这个信号进行放大、滤波和数字化处理,最终将其转换
为一个可识别的操作信号。
在实际应用中,单片机触摸按键通常需要进行校准以确保其准确性和
稳定性。
校准过程一般包括两个步骤:首先将传感器置于空气中以获
取基准值,然后将手指放在传感器上以获取操作值。
通过比较这两个
值的差异,可以确定操作的发生。
除了基本的单点触摸按键外,还有一些高级的多点触摸按键。
这种按
键可以同时检测多个手指的操作,并根据这些操作来执行不同的功能。
多点触摸按键通常需要更复杂的电路和算法来实现,但它们也提供了
更强大、更灵活的用户体验。
总之,单片机触摸按键是一种先进、实用的按键方式。
它利用电容感
应原理检测人体操作,并通过数字化处理将其转换为可识别的信号。
在未来,随着技术的不断发展,单片机触摸按键将会得到更广泛、更
深入地应用。
单片机触摸按键原理
单片机触摸按键原理现代电子设备中,触摸按键已经成为一种常见的输入方式。
相较于机械按键,触摸按键更加灵敏、方便且美观。
而在触摸屏的背后,隐藏着一个关键的技术核心:单片机触摸按键。
单片机触摸按键是通过电容感应原理实现的。
它利用了人体本身的电容特性,当手指接触触摸按键时,手指与触摸按键之间会形成一个电容耦合。
单片机则通过测量这个电容耦合的变化来判断手指是否接触按键,并触发相应的操作。
具体来说,单片机触摸按键的实现主要涉及两个关键技术:电容感应和信号处理。
电容感应是指单片机通过电容检测电路来感知触摸按键的存在。
这个电容检测电路通常由一个或多个电容传感器组成,布置在触摸按键的背后。
当手指接触触摸按键时,会改变电容传感器的电容值,单片机会通过测量电容值的变化来判断触摸按键是否被按下。
信号处理是指单片机对电容感应信号进行处理和解析的过程。
当手指接触触摸按键时,电容感应电路会输出一个变化的电压信号,单片机会对这个信号进行采样和处理。
根据采样数据的变化,单片机可以判断出触摸按键的操作类型,比如按下、松开或滑动等。
然后,单片机会根据判断结果执行相应的程序或动作。
要实现单片机触摸按键,关键在于电容感应电路的设计和信号处理算法的优化。
电容感应电路需要合理选择电容传感器的类型和布置方式,以提高灵敏度和稳定性。
信号处理算法需要根据实际应用场景进行调整和优化,以提高触摸按键的响应速度和准确性。
单片机触摸按键在实际应用中具有广泛的用途。
它可以用于各种电子设备中,比如智能手机、平板电脑、家电控制面板等。
通过触摸按键,用户可以方便地进行各种操作,如输入文字、选择菜单、调节音量等。
而单片机触摸按键的可靠性和稳定性也直接影响了用户体验的好坏。
总的来说,单片机触摸按键通过电容感应原理实现了对手指触摸的感知和解析。
它在现代电子设备中得到了广泛应用,为用户提供了方便、灵敏且美观的输入方式。
通过不断优化电容感应电路和信号处理算法,单片机触摸按键的性能将进一步提升,为用户带来更好的操作体验。
单片机实现触摸键盘技术
单片机实现触摸键盘技术触摸键盘技术可以通过单片机实现,这种技术使用户能够通过触摸屏幕或触摸按键进行输入操作,替代了传统的物理按键,提供了更加便捷和灵活的输入方式。
触摸键盘技术的实现涉及到多个方面的知识,包括硬件设计和软件编程。
在硬件设计方面,我们需要选择合适的触摸屏幕或触摸按键模块,并与单片机进行连接。
在软件编程方面,需要编写相应的驱动程序和应用程序,实现触摸键盘的功能。
下面将详细介绍触摸键盘技术的实现步骤。
一、选择合适的触摸屏幕或触摸按键模块在选择触摸屏幕或触摸按键模块时,需要考虑它们的硬件接口和性能指标。
通常情况下,触摸屏幕模块使用SPI或I2C接口与单片机进行通信,触摸按键模块使用GPIO接口进行输入。
此外,还需要考虑模块的精度、灵敏度、稳定性等性能指标,以满足具体应用需求。
二、连接触摸屏幕或触摸按键模块将选定的触摸屏幕或触摸按键模块与单片机进行连接。
具体的连接方式取决于模块的硬件接口。
如果是触摸屏幕模块,可以通过SPI或I2C接口连接到单片机的相应引脚上。
如果是触摸按键模块,可以通过GPIO接口连接到单片机的输入引脚上。
三、编写触摸键盘驱动程序编写触摸键盘的驱动程序,用于与触摸屏幕或触摸按键模块进行通信,并获取用户输入的数据。
驱动程序需要实现以下功能:1.初始化模块:初始化触摸屏幕或触摸按键模块,配置相关参数。
2.检测触摸事件:周期性地检测触摸事件,包括触摸按下、触摸移动和触摸释放等事件。
3.获取坐标数据:在触摸事件发生时,获取触摸坐标数据,可以通过模块提供的接口实现。
4.处理输入数据:根据获取到的坐标数据,将其转换为具体的按键输入,可以使用坐标与按键的对应关系表进行转换。
四、编写触摸键盘应用程序在单片机上编写触摸键盘的应用程序,用于处理用户的输入和实现相应的功能。
应用程序需要实现以下功能:1.显示界面:根据应用需求,通过单片机的显示模块显示相应的界面,如按钮、菜单等。
2.响应输入:通过触摸键盘驱动程序获取用户的输入数据,并根据输入数据执行相应的操作,如按钮的点击、菜单的选择等。
单片机实现触摸键盘技术
单片机实现触摸键盘技术触摸键盘技术是一种常见的输入技术,它广泛应用于各种电子设备中,如计算机、智能手机、平板电脑等。
对于单片机来说,实现触摸键盘技术可以扩展其输入功能,使其更加易用和灵活。
本文将介绍如何利用单片机实现触摸键盘技术,包括工作原理、设计思路和实现方法等。
一、工作原理触摸键盘技术的核心原理是利用人体电容来检测触摸操作。
当人体接近或触摸到触摸键盘上的电极时,会发生电荷传导,从而改变触摸键盘电极上的电位。
单片机通过采集这些电位变化,就可以获得用户的输入信息。
二、设计思路实现触摸键盘技术的基本思路是通过电容传感器来检测触摸操作,并将电容传感器的输出信号转换成数字信号,以供单片机进行处理。
具体的设计步骤如下:1.选择电容传感器:根据应用需求选择适合的电容传感器。
常见的电容传感器有电容触摸开关、电容触摸按钮等,可以根据实际情况进行选择。
2.连接电容传感器:将电容传感器与单片机连接起来。
一般情况下,电容传感器会有两个电极,分别连接到单片机的输入引脚和地。
3.设置引脚模式:在单片机的软件中,将连接到电容传感器的引脚设置为输入模式。
4.采集电压数据:通过单片机的模拟输入功能,采集电容传感器引脚上的电压数据。
可以使用ADC(模拟-数字转换器)模块来实现这一功能。
5.判断触摸操作:根据采集到的电压数据,判断是否发生了触摸操作。
可以通过设定一个阈值来判断触摸与非触摸状态。
6.处理触摸信息:如果发生了触摸操作,可以通过单片机的中断功能或轮询方式来获取触摸信息。
根据具体应用需求,可以对触摸信息进行处理,如显示在LCD屏幕上或进行其他操作。
三、实现方法根据具体的单片机型号和开发环境的不同,实现触摸键盘技术的方法会有所不同。
下面以常用的单片机STM32为例,介绍一种实现方法。
1.硬件连接:将电容传感器的输出引脚连接到单片机的一个模拟输入引脚上,并连接到供电地。
可以使用一个电阻将电容传感器的输出与模拟输入引脚串联,以减小输出信号的噪声。
基于单片机的智能触摸开关的设计与实现本科毕业论文
本科毕业设计论文基于单片机的智能触摸开关的设计与实现毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于单片机的电容感应式触摸按键原理与程序
基于单片机的电容感应式触摸按键原理与程序——原理近年来,电容感应式触摸按键技术已日臻成熟,在家电领域中,对于各种玻璃面板的家电产品,电容感应式触摸按键,以其高灵敏度、面板免钻孔、安装方便、使用寿命长等优点得以广泛的应用;尤其在许多小家上电诸如电磁炉、音视频设备、电茶壶等等,其应用更是随处可见,但是,毕竟目前这一技术并未完全普及,另外各种专用芯片也尚未统一标准大量上市,出现故障后往往需要更换原厂配件,这就使得业余维修无从下手,目前常见的电容感应式触摸按键的实现方法有两种,一种是专用芯片,有几种键位可选,使用方便,另一种是以单片机为基础通过编程实现,这种方式是将按键功能及其它控制功能综合设计,大大的简化了整个系统的设计,减少了原件降低了成本,应用较多;为此,本文将就玻璃面板式家电上的电容感应式按键的原理进行简单的分析,并且将用STC单片机编程实现电容感式应按键的C源程序及调试方法分享给大家。
图1:如图1所示,是电路原理图,它由两只二极管D1/D2、两只电阻R1/R2、一只充放电电容C0构成,弹簧将Φ12mm的金属片压紧到厚度为5mm的玻璃板的下方,玻璃板的另一面对应金属片的位置就是手指触摸区。
工作原理为:玻璃板接触金属片的附近,有电荷的集聚与其另一表面形成电容结构,无动作时电荷是很微量的电容值也极小,当有手指接触另一侧玻璃表面是,由于人体皮肤所带电荷的参与,使得电荷的运动发生了改变,电容值也会产生很多的变化,这就是感应电容的形成与变化过程,而感应电容的变化,又直接改变了充放电电容的充电电压值,这就给状态的检测提供了依据。
在PWM_IN的高电平段,电源电压经R2、D1给C0充电,在PWM_IN的低电平段,C0经R1、D2对地放电,充放电状态稳定后,ADC0端可以检测到一个稳定的电压值,本系统实测为2.7V左右,当有指触动作时由于感应电容相当于与C0并联了一个电容,其ADC0端检测到的电压将下降,本系统实测为2.3V左右,这个的400mV 的模拟电压量,对于8位ADC而言,是可以准确判别的。
单片机模拟电容触摸按键
单片机模拟电容触摸按键这里我们使用的是检测电容充放电时间的方法来判断是否有触摸,图中R是外接的电容充电电阻,Cs是没有触摸按下时TPAD与PCB之间的杂散电容。
而Cx则是有手指按下的时候,手指与TPAD之间形成的电容。
图中的开关是电容放电开关(由实际使用时,由STM32的IO代替)。
先用开关将Cs(或Cs+Cx)上的电放尽,然后断开开关,让R给Cs(或Cs+Cx)充电,当没有手指触摸的时候,Cs的充电曲线如图中的A曲线。
而当有手指触摸的时候,手指和TPAD之间引入了新的电容Cx,此时Cs+Cx 的充电曲线如图中的B曲线。
从上图可以看出,A、B两种情况下,Vc达到Vth的时间分别为Tcs和Tcs+Tcx。
其中,除了Cs和Cx我们需要计算,其他都是已知的,根据电容充放电公式:Vc=V0*(1-e^(-t/RC))其中Vc为电容电压,V0为充电电压,R为充电电阻,C为电容容值,e为自然底数,t为充电时间。
根据这个公式,我们就可以计算出Cs和Cx。
利用这个公式,我们还可以把战舰开发板作为一个简单的电容计,直接可以测电容容量了,有兴趣的朋友可以捣鼓下。
在本章中,其实我们只要能够区分Tcs和Tcs+Tcx,就已经可以实现触摸检测了,当充电时间在Tcs附近,就可以认为没有触摸,而当充电时间大于Tcs+Tx时,就认为有触摸按下(Tx为检测阀值)。
本章,我们使用PA1(TIM5_CH2)来检测TPAD是否有触摸,在每次检测之前,我们先配置PA1为推挽输出,将电容Cs(或Cs+Cx)放电,然后配置PA1为浮空输入,利用外部上拉电阻给电容Cs(Cs+Cx)充电,同时开启TIM5_CH2的输入捕获,检测上升沿,当检测到上升沿的时候,就认为电容充电完成了,完成一次捕获检测。
在MCU每次复位重启的时候,我们执行一次捕获检测(可以认为没触摸),记录此时的值,记为tpad_default_val,作为判断的依据。
在后续的捕获检测,我们就通过与tpad_default_val的对比,来判断是不是有触摸发生。
单片机轻触按键的功能指标
单片机轻触按键的功能指标摘要:一、单片机轻触按键的功能指标概述二、单片机轻触按键的功能实现1.电容触摸按键2.按键长按和短按功能3.组合键功能4.多功能按键三、单片机轻触按键的应用场景四、总结正文:一、单片机轻触按键的功能指标概述单片机轻触按键是指在单片机系统中,通过按键实现对系统的控制和操作。
轻触按键的功能指标主要包括响应速度、灵敏度、抗干扰能力等。
响应速度是指按键被按下后,单片机能够检测到的时间;灵敏度是指按键在受到轻微触碰时,单片机能够检测到的能力;抗干扰能力是指按键在环境干扰下,单片机能够正常检测到的能力。
二、单片机轻触按键的功能实现1.电容触摸按键电容触摸按键是利用人体电容进行触摸感应的按键,具有无需实际接触、响应速度快等特点。
在单片机系统中,可以通过电容触摸按键实现对系统的快速控制和操作。
2.按键长按和短按功能在单片机系统中,可以通过计时器实现按键的长按和短按功能。
当检测到按键被按下时,启动计时器,当计时器达到预设时间时,判断为长按;若计时器未达到预设时间,则判断为短按。
3.组合键功能组合键是指同时按下多个按键实现特定功能的操作。
在单片机系统中,可以通过检测同时按下的按键数量和组合,实现对应功能的控制和操作。
4.多功能按键多功能按键是指一个按键可以实现多种功能。
在单片机系统中,可以通过记录按键按下的次数或时间,实现不同功能的切换。
三、单片机轻触按键的应用场景单片机轻触按键广泛应用于智能家居、工业控制、医疗设备等领域。
例如,智能家居中的照明控制、家电控制等;工业控制中的设备启动、停止等;医疗设备中的仪器操作等。
四、总结单片机轻触按键作为一种便捷的操作方式,具有响应速度快、灵敏度高、抗干扰能力强等优点。
单片机按键模块设计
单片机按键模块设计一、硬件设计1、按键的类型选择按键的类型有很多种,常见的有机械按键和触摸按键。
机械按键通过金属触点的闭合和断开来产生电信号,具有成本低、可靠性高的优点,但寿命相对较短,容易产生抖动。
触摸按键则通过电容感应或电阻感应来检测触摸动作,寿命长、外观美观,但成本相对较高,且容易受到外界干扰。
在一般的单片机应用中,机械按键通常是更经济实用的选择。
2、按键的连接方式按键可以采用独立式连接或矩阵式连接。
独立式连接适用于按键数量较少的情况,每个按键单独连接到单片机的一个 I/O 口上,这种方式简单直观,但占用的 I/O 口资源较多。
矩阵式连接则适用于按键数量较多的情况,通过将按键排列成矩阵形式,利用行线和列线的交叉点来识别按键,大大节省了 I/O 口资源,但编程相对复杂。
以 4×4 矩阵按键为例,我们需要 8 个 I/O 口,其中 4 个作为行线,4 个作为列线。
当某个按键被按下时,对应的行线和列线会接通,通过扫描行线和列线的状态,就可以确定被按下的按键。
3、上拉电阻的使用为了保证单片机能够正确检测按键的状态,通常需要在按键连接的I/O 口上加上拉电阻。
上拉电阻将I/O 口的电平拉高,当按键未按下时,I/O 口处于高电平;当按键按下时,I/O 口被拉低为低电平。
上拉电阻的阻值一般在10KΩ 左右。
4、消抖处理由于机械按键在按下和释放的瞬间,触点会产生抖动,导致单片机检测到的电平不稳定。
为了消除这种抖动,通常采用软件消抖或硬件消抖的方法。
软件消抖是在检测到按键状态变化后,延迟一段时间(一般为10ms 20ms),再次检测按键状态,如果状态保持不变,则认为按键有效。
这种方法简单易行,但会增加程序的执行时间。
硬件消抖则是通过在按键两端并联电容或使用专用的消抖芯片来实现。
电容可以吸收触点抖动产生的尖峰脉冲,使电平稳定。
但硬件消抖会增加硬件成本和电路复杂度。
二、软件编程1、按键扫描程序在软件编程中,需要编写按键扫描程序来检测按键的状态。
触控按键式 Flash 单片机
概述 .................................................................................................................................6 选型表 .............................................................................................................................6 方框图 .............................................................................................................................7 引脚图 .............................................................................................................................7 引脚说明 .........................................................................................................................8 极限参数 ......................................................................................................................10 直流电气特性 ...............................................................................................................10 交流电气特性 ............................................................................................................... 11 上电复位特性 ...............................................................................................................12 系统结构 .......................................................................................................................12
单片机电容触摸按键实践
触摸按键实践(二)前一段时间,做了一个使用 HT45R35 芯片的触摸按键项目,属于是芯片自带专门应用于触摸键功能的"专用芯片".近日,再次对触摸按键进行实践----使用 AD 转换方式.这样,就不要专门功能的芯片了.同时,调试更加简单方便,也没有了许多限制.下图是一个该实践的原理图,每一个按键包含了 10P,104 电容器,一只贴片封装的双二极管, 3 个电阻.项目里使用的按键数量没有限制.完全可以根据需要来决定.但是,需要单片机具有相同数量的 AD 输入接口.(----或者使用多路模拟开关反而成本上升,电路复杂,尽量不要这么干.)不管是哪一种测量方式,都需要有一个参考量.电容量→定时/计数方式的参考值是通过检测没有触摸按键时的计数值来实时得到,而 AD 方式的参考值就是基准电压,它无需任何手段就是天然存在的.无需追求 AD 的位数,可以使用仅仅 8 位的 AD 转换就足够了.电路工作原理是: 一个由单片机输出的 PWM 信号(没有 PWM 输出的芯片可以使用一个普通 I/O ,只要能够输出满足要求的频率就可以了.)这个信号频率与 10P 电容器有关系.频率低了,10P 电容器的容抗就会增大,造成后级二极管整流的电流下降,影响速度.加大电容量是受到人手触摸电容量的限制,这个 10P 电容量必须与人手触摸电容器有一个合适的配置.尽量让人手的触摸电容量与这个 10P 电容器的容量相同是最理想的.(可以更换 10P 电容器的大小来达到.)例如:如果使用 1K 对 1K 的电阻去分压一个 1V 的电压,这是最理想的.而如果使用一个 1Ω的电阻与一个 10MΩ的电阻去分压,那么,这个分压效果就很差很差了.由此可以知道:首先是从人手的触摸电容量出发,去决定 10P 电容器的电容量,而后,是根据这些电容量去决定信号频率的高低.这就是为什么不能直接使用 50HZ 交流电频率的原因.通常,AD 转换有一个基准电压,可以使用与系统供电相同的 +5V 作为基准电压.有些芯片的 AD 还可以改变基准电压的,则可以使用 2.5V 作为基准电压,灵敏度更高一些.不管是电容量→计数器方式还是电容量→电压方式,都要有一个参考标准,前者是实时测量得到参考值,后者就有一个天然的标准参考--基准电压.这就是使用 AD 方式的好处之一!对较高频率的信号来说,10P 电容器的容抗约为 30KΩ~50KΩ左右(取决于信号频率与电容量大小),它经过双二极管 A7 构成的倍压整流之后,可以得到约 2.2~3.5V 的直流电压.这就是没有触摸按键时的输出电压.由于有 AD 基准的约束,每只按键的读数是大致固定的.以基准=5V为例,读数就是 7FH 左右.这个电压可以比较随便的在印刷板上布线,不像电容量→计数器方式的一样麻烦,这是使用 AD 方式的第二大好处!倍压整流后由一只 104 的电容器进行滤波,得到较为平滑的直流电压.这个直流电压显然可以非常方便的传送.几乎没有什么顾忌.(电容量→定时/计数方式的则不允许乱布线).这里,需要提及与 104 电容器并联的 3M 电阻,这个电阻是给电容器放电使用的,可以根据对按键的反应速度调整其大小.(具体还得看看实际使用芯片的 AD 输入端口的阻抗大小).当不用这个电阻时(=无穷大),反应速度最慢.而且,如果取值较少,电压就会上不去.----中间如果插入一个运放跟随器就好了!还要提及的是 AD 转换的速率,尽量使用较快的速率,较高的系统时钟,因为相对于机械式按键来说,处理触摸式按键是比较麻烦的,耗费的指令也多得多.现在,关键的问题就是进行触摸调试了.试着用手触摸一个按键,使用直流电压表看看它的直流输出电压是否有变化?变化多少?时间快慢?根据实际测试,在触摸着按键时,输出电压会下降到没有触摸时的 50% 以下,但是时间会达到 2~3S .此时,可以细心调整 3M 电阻或者 104 电容器的大小.一般的,如果能够在 0.25S 之内,电压下降到原来数值的 80%~90% 就差不多了.判断哪一个按键被触摸了是很容易的事情了,就看看 AD 读数吧.它是有方向的,不用理会≥参考值,仅仅看看<参考值多少就是了.根据这个"多少"界线,还可以调整触摸灵敏度呢.灵敏度太高,测量值的波动会引起按键还没有触摸就有效了,灵敏度太小,就是摸了半天也没有反应.带 AD 的单片机现在已经很多了,例如 SN8P27XXX 系列, HT46XXXX,HT45XXX 系列,都有许多带 AD 的单片机,其中, HT45R54 自带 24 路 AD ,HT46R343 自带 16 路 AD .还有 Flash 的 HT46F25* ,自带 12 路 AD 而且可以反反复复烧写/擦除,做试验是最好的了!现在市场上有许多专门供货触摸按键芯片的,也有许多技术文章,总之,各师各法,实际处理触摸按键就像电压比较器一样,不需要知道其值的具体大小,仅仅判断有"高"电平还是"低"电平就足够了.----应该属于临界判断.根据上面所说,接下来,我会使用普通单片机来实践做触摸按键.既不使用专用芯片(电容量→定时/计数),也不使用自带 AD 芯片(电容量→电压→AD 转换),就直接使用普通单片机的端口+电压比较器来做.这样是否会让电路多放置一只比较器芯片?不!就使用自带运算放大器或者自带比较器的芯片.同样简单容易.-----也可能失败啊!欢迎各位指导!正是有了许许多多的自带 AD 的单片机,因此,那种使用外挂多路模拟开关的方法就不好用了.(多路 AD 实际芯片内部就有了多路模拟开关).在盛扬半导体(上海)的中文网站上,就有使用 HT46R47 做触摸按键的示例.需要了解更多此触摸按键的其它应用信息,欢迎浏览: .下图是我的 AD 方式试验板,只有 4 个触摸键, 3 只发光管以二进制编码指示按键号码,哪一个按键被触摸了,哪一个对应发光管就点亮 0.5S 时间.使用上,似乎比专用芯片的毫不狲色!----还有待实际应用来检验.我想:既然可以处理测量 0.1℃的温度,0.1mV 的电压,那么,不可能不能处理这种"界限"式的触摸关系.使用 AD 测量的电容触摸按键电路触摸按键实践(3)电容式感应按键以其无机械磨损、寿命长、防水防污、易清洁和时尚的特点, 近几年应用领域和数量迅速增加. 因此, 结合电容感应按键的特点, 设计了一种用A/D 口搭配简单的电路实现电容感应按键的方法. 经测试, 电路的稳定性较高, 在低成本的电路中适用性较强.触摸控制技术又可分为触摸屏(Touch Screen) 技术和触摸按键(Touch Key)技术. 在触摸按键技术方面, 目前主要可分为电阻式触摸按键与电容式感应按键. 由于电阻式的触摸按键需要在设备表面贴一张触摸电阻薄膜, 其耐用性较低, 而电容感应按键技术具有在非金属操作面板上无须开孔处理、防水防污、易清洁、无机械开关磨损而寿命长等优点. 近几年随着苹果公司将电容触摸感应技术从笔记本电脑引用到iPod 后, 电容触摸感应热浪正席卷几乎所有电子产品, 从笔记本电脑、智能电话、PDA、游戏机等手持设备, 到LCD TV、 DVD 等消费电子产品, 再到洗衣机、空调、冰箱、热水器、电磁炉以及咖啡壶等大小家电, 无不以加入电容触摸感应为新的卖点.目前, 世界知名电子元件供应商均加大了对电容触摸按键的应用研究, 并推出众多的专业芯片, 有专用电容感应按键类的全ASIC, 也有众多基于MCU集成类的IC. 但这些芯片价格较高, 在一些按键数量少、成本要求低的电路中很难得到运用. 另外, 使用这些集成类 IC, 很难做到所选资源恰好等于使用的情况, 存在资源的浪费情况. 而且对于升级成熟产品的机械式按键, 还存在变更原MCU 代码的风险. 同时, 目前, 对于电容式触摸按键的介绍大多也停留在基于电容量测量的原理上. 结合电容感应按键的原理, 设计了一种用MCU 的A/D 口实现电容触摸按键的低成本电路.1 电容式感应按键原理平行板电容器具有 2 个极板, 其间隔着1 层介质, 电容器中的大部分能量直接聚集在2 个极板之间, 1 个极板电荷数量的变化将引起另外极板电荷的增减, 从而在电容内部形成电流. 电容式感应按键的原理如图1 所示, 感应按键的金属电极, 放置于非金属面板内, 并连接交变的电信号. 如果在非金属面板另一侧与金属电极对应处放置另外1 块金属板(图2), 那么, 2 个极板就组成了平行板电容器, 非金属面板成为此平行板电容器的介质. 由于电场被封闭在2 个金属极板之间, 所以大部分能量均集中在非金属面板内. 如果在非金属面板外隔着金属, 手指触摸对其能量损失的影响就很小.图1 电容感应按键示意图图2 封闭电场示意图去除外侧的金属板, 电场的能量就会穿过非金属的密集区, 向外传播(图3).图3 电容感应电极的电力线当导体靠近操作面(即非金属面板表面)后, 电磁场即在导电介质中传播. 由于导体中存在自由电子, 这些自由电子在电场作用下就会形成传导电流, 进而产生焦耳热从而引起电磁波能量损耗. 由于人体组织中充满了传导电解质(一种有损电介质), 当手指靠近时同样会引起电磁能量损耗. 因此只要检测流经感应电极的电能变化, 就可以判断是否有手指靠近非金属操作面板.2 电容感应按键取样电路分析图 4 为电容感应按键取样电路图, 电路由5 个分离元件组成. 其脉冲信号频率为300 kHz, 幅度 12 V, 占空比为50%. 通过读取电容 C1上的电压值判别是否有手指靠近操作区域. 其原理分析如下: 二极管1N4148 正向导通电压为d V , 在脉冲信号跳变为高电平(12 V)时, 假定电容 C1上电压为 U0, 电容的充电回路根据 C1电压大小出现如下2 种情况:(1) 若, 则充电回路为图5(a), 充电时间常数电容C1的充电电压:(2) 若则充电回路为图5(b), 充电时间常数电容 C1的充电电压为:在振荡脉冲跳变为低电平时, 根据电容 C1电压大小, 出现以下2 种放电回路:(1) 当0 2 d U > V 时, 放电回路为图5(c), 放电电路的其放电时的电容电压为:图4 电容感应按键取样电路(2) 当U0≤2Vd 时, 放电回路为图5(d), 放电电路的其电容电压为:.由于电路中脉冲占空比为50%, 充放电时间在该电路中, 充放电电阻大, 流过的充放电电流小, 二极管1N4148 的导通电压也较小, 若以充电电路为图5(a)、放电电路为图5(c)来计算, 充电时间常数τ = 放电时间常数= 0.1 s, 而充放电时间为假定二极管电压在微弱电流下按0.2 V 计算根据(1)式和(2)式, 运用迭代可计算出电容电压最后稳定在5.9 V, 而以上计算不考虑由手指触摸等任何情况引起的能量损耗.电容 C1充放电如图6 所示. 在实际的充放电电路中, 电路对金属极板的充放电始终在进行. 当手指靠近金属极板时, 感应电极处存在的微弱电磁场被传导至人手指内电解质中, 同时消耗了部分能量, 电容 C1补充的电荷将减少, 因此电容 C 的电压将下降(图7). 当ΔV 变化量达到最小检测精度要求时, 系统即可通过计算识别出是否有手指或其他导电物体靠近操作区.图6 电容充电时间与电压的关系图7 手指触摸时的电平变化A/D 法电容感应按键、读键流程:将电容电压引入 MCU 通用A/D 口, 即可将电容 C1上的电压值转换为数字量并通过MCU计算出电容 C1两端电压的变化大小, 从而判断出是否有手指或其他导电物体靠近或离开触摸按键, 实现电容感应按键的识别. 软件流程如图8 所示.电路参数对感应灵敏度的影响输入脉冲影响输入脉冲的幅值决定了 C1上稳态电压, 如果脉冲幅值不稳定, 就会导致 C1上的电压波动. 如果该幅值变化引起的电容电压变化量ΔV 超过了检测的最小检测精度, 即使没有手指靠近, 也会造成读键的误判, 所以脉冲电压幅度要稳定. 此外, 输入脉冲的频率同样也会影响到 C1电容的工作状态, 如果输入脉冲的频率过低, 则 C1电压纹波会加大, 感应灵敏度下降; 反之, 输入脉冲的频率过高, 则线路损耗加大, 而且触摸容易受到干扰.充放电电阻值的影响如果同时改变 R1,R2 的阻值, 例如将阻值改为 100KΩ, 充放电时间常数减少10 倍, 因虽然 C1上电压变化不大, 但此时 C1上的充放电电流却显著增强, 使得手指触摸的灵敏度下降. 所以, 电路中 R1,R2 的阻值一定要选取恰当. 二极管的影响由于上述电容式感应按键电路工作频率高, 且流经电流小, 所以应当选择结电容小、开关速度快、正向导通电压低的二极管. 另外, 二极管的工作可靠性一定要好, D1,D2任一短路、断路都会破坏充放电回路, 从而使触摸电路失效.电容感应电极的形式电容式感应按键的感应电极有很多种, 常用的感应电极有PCB 板上的电极及弹簧金属片式电极. 电极形式可以根据外观进行任意设计, 如圆形、方形、三角形等. 但无论电极以哪种形式出现其周围都应尽量远离地: PCB 双面板电极对应的另一面铜箔应当刻蚀去除, 弹簧电极周围的PCB 铜箔也要刻蚀去除. 否则, 感应电极与金属之间将形成感应电流, 削弱了手指或外界导电物靠近电极时电路的灵敏度.同时, 电极应当与非金属面板紧贴, 如果中间有空隙, 相当于增加了感应距离, 使感应灵敏度降低. 感应电极的面积和非金属面板的厚度影响了感应的灵敏度. 实际应用中, 目前厚8mm 以下的钢化玻璃, 其圆形金属感应电极直径不小于12 mm.这种用分离元件组成触摸感应按键用的低成本电路, 在按键数量不多的情况下应用, 可根据按键数量多少进行自由组合感应电极数量和最简电路数量, 充分利用资源. 同时, 对于升级原成熟产品, 仅需选择原MCU 系列中带A/D 端口的产品, 编写读取触摸按键的程序, 可以很顺利地完成程序替换. 该电路目前成功运用于油烟机、消毒柜、微波炉、蒸箱、烤箱等一系列产品上, 顺利通过 EMC 标准的测试要求, 市场质量表现稳定可靠.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
感应按键电路分析
感应按键电路分析:
感应按键是刚刚在电磁炉上运用的一种新技术,其主要特点是使电磁炉易清洁,防水性能好。
目前在电磁炉上用的感应按键主要有天线感应式及电容式,我们目前用的是利用人体电容的电容式感应按键
感应按键原理如下面的图式;
感应按键电路包括信号产生、信号整形2个单元:首先由信号产生单元产生约几百KHz的高电平占空比约50%的信号;然后信号整形单元对所产生的信号进行整形,整形过程类似于开关电源工作过程;最后将信号送至MCU 的AD口。
当有人体靠近感应按键时,将会形成一个对地的电容在信号整形的高电平期间分流一部分电流,致使整形后的信号下降,并在人体离开前一直维持在下降的电位上;而当人体离开后,整流后的信号又会上升到原来的电位水平。
由于存在电路耦合及寄生电容,所以一般用下降沿和上升沿来识别感应按键的响应动作。
*************************************************************************************************** *************************************************************************************************** *************************************************************************************************** *************************************************************************************************** *************************************************************************************************** *************************************************************************************************** *************************************************************************************************** ************************************************************************************************** 原理图:示意图1,按键AD每个单独检测,不用切换
*************************************************************************************************** ***************************************************************************************************
软件识别感应按键的步骤:
—,加热及非加热情况下的静态测试:
电磁炉的在加热情况下磁场对周边的电路影响比较大,尤其对感应按键电路;对于感应按键的测试,软件尤其要注意测试步骤,假如不按下列步骤测试,否则以后的生产会出现问题;测试时最好以客户最后的安装位置来进行测试,若没有拿到整机,灯板的摆放位置,要以实际的安装位置来模拟,一定要紧挨线圈盘,这样干扰最大;在火锅档状态下把功率调到最大,记录下每一个按键值在加热情况下的A.D值,同时记录抖动的值有多少个,然后再提起锅具(系统停止加热),记录一下按键的A.D值,记录下与加热情况下的差值有多少;注意:在最大档加热情况下,按键的抖动值就在+/-2个之内,加热与非加热状态下,两者的差值也就在+/-2个;若没有满足+/-2个内,则说明布板不合理或者A.D采集的次数还不够;按键的A.D值采集次数越多,越稳定;但注意,最长64MS一定要弹出一次按键平均值;否则按键的反应灵敏度不够;
二,加上玻璃下的按键动态测试:
在系统以最大档加热情况下,放上一块6MM厚的玻璃(注意一定要用6MM的玻璃,由于6MM的玻璃为最通用,否则用薄的玻璃测试会在生产上会出现按键失灵现象),注意按键的A.D值不能超5V,(0FFH),不过尽量保持每个按键的A.D值在0D0H以上,0F5H以下,A.D值太小灵敏度估计不够,抗干扰不是很强;
若A.D值超过5V,换一下稳压管的值或者调整一下PCB布板;记录一下在加热及非加热两种情况下,每一个按键没按下的值及有按下的A.D值,记录好每一个按键的变化差值;
三,按键的防水测试:
我们采用5PF/15PF电容隔离的电路全部都有防水功能,最后要在玻璃表面用热熔胶围住按键的区域,防止水溢出,水的区域要把所有的按键都连在一起;然后在水中,记录好每一个按键在最大档加热及非加热情况下的变化值,以最小变化值的按键值作为按键识别的值;系统要做到有水不会有按键误动作,在水中能识别到有按键;在按键的其它地方按,只有最靠近的键键可动作,其它的按键不能动作;
四,程序说明:
*************************************************************************************************** *************************************************************************************************** *************************************************************************************************** ***************************************************************************************************。