电荷转移感应按键设计说明书

2014-03-25 10:22:50
中国新技术新产品 2014年8期
关键词:电荷转移低电平高电平

(厦门华联电子有限公司,福建 厦门 361006)

电荷转移感应按键设计说明书

吴文勇

(厦门华联电子有限公司,福建 厦门 361006)

本文主要讲述电容电荷转移理论,并根据此理论设计电荷转移电路,最终由电荷转移电路与倍压脉冲发生器实现电荷转移感应按键功能。此感应按键可应用于玻璃、塑料等作为面板的非接触式人机操作输入。

电荷转移;电容感应;容抗;倍压

概述

感应技术正在迅速地成为人机界面操作的媒介,人们在应用并享受这种全新的技术所带来的方便、美观、无机械寿命等好处。本文就个人研发的新型感应设计技术作详细说明。

一、电荷转移感应按键的组成

本文设计的感应按键模块有两部分组成,一部分是共用的倍压高频脉冲发生器模块,用于给另一部分电路提供高频的脉冲信号,另一部分是感应按键能量转移电路模块。每一路按键采用一个转移电路模块,例如产品设计两个按键,那么只要采用一个脉冲发器模块和两个感应按键能量转移电路模块,再结合带ADC转换功能的MCU即可。在目前电子产品中MCU是不可缺少的一部分,所以设计人员并不需要额外增加MCU,就可以完成他的设计。

二、电荷转移感应按键的原理

其中:XC= 1/ωC,称为容抗,单位为 Ω(欧姆),容抗的倒数称为容纳BC = ωC,单位为 S。由(式-1)可见频率和容抗成反比, 也就是频率越高,容抗越小,如图2曲线所示。

ω→0 , |XC|→∞直流开路(隔直)

ω→∞,|XC|→0高频短路(旁路作用)

ε为极板与极板之间的介电常数

S 为极板面积

d 为极板与极板之间的间距

三、倍压高频脉冲发生器

图1

图2

图3

图4

图5

如图5所示,设刚开始PULSE电压为0V,则电源5V经过二极管D2向C4充电。经过 ( τ=RC)后,C4电压为5-VD2(VD2为二极管D1或D2 PN结的正向压降,下同)。当PULSE由0V变为5V时,三极管Q2导通,三极管Q1截止,电压VA为5V+C4两端电压,得出VA=5+5-VD2。二极管D1截止,二极管D2导通,PULSE_OUT电压为10-2*VD2。当PULSE电压由5V变为0V时,三极管Q2截止,三极管Q1导通,PULSE_OUT电压变为0V。如

此循环,可得PULSE_OUT脉冲电压为10-2*VD2,频率与PULSE相同。

四、电荷转移电路

电荷转移电路:如图6所示,在无手指情况下,当脉冲由低电平变高电平时,Ut经过C1,C2,D1,R1对C3进行充电;当脉冲由高电平变低电平时,C1,C2经过D2进行放电;放电后当脉冲又产生高电平时又经过C1,C2,D1,R1对C3进行充电,如此循环C3即可以得到稳定电压U0。当手指靠近电极时,如图7所示,此时人体与电极产生如图所示的电容Cx,电容容量在几PF到十几PF。此时当脉冲由低电平变高电平时,Ut除了通过C1,C2,D1,R1对C3充电外,还对Cx充电,所以Cx得到了一部分电荷。根据电路形式Ut提供给C3的电荷明显减小;当脉冲由高电平变为低电平时,Cx经过R3进行放电,所以脉冲电压Ut可以循环对Cx充电。也就是说每个脉冲周期都会转移一部分电荷到Cx,C3得到的电荷减少,电压U0降低。根据以上分析得出,当手指靠近电极时,U0电压将会降低。根据这个结论,MCU对U0进行AD采样并判断采样数据就可以知道是否有手指靠近,从而判断是否有按键按下,实现感应按键的目的。

五、软件设计

图6

图7

本软件设计采用AVR单片机ATmega16。AVR单片机的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。

AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软/硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。

ATmega16有一个10位的逐次逼近型ADC。ADC与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。单端电压输入以0V(GND)为基准。器件还支持16路差分电压输入组合。两路差分输入(ADC1、ADC0与ADC3、ADC2)有可编程增益级,在A/D转换前给差分输入电压提供0dB(1x)、20dB(10x)或46dB(200x)的放大级。七路差分模拟输入通道共享一个通用负端(ADC1),而其他任何ADC输入可做为正输入端。如果使用1x或10x增益,可得到8位分辨率。如果使用200x增益,可得到7位分辨率。

本设计主要采用Atmega16的ADC功能,选用8位分辨率采用方式,启用ADC中断功能。部分程序如下:

主程序:

void main(void)

{

// port initialization

// Watchdog Timer initialization

// Watchdog Timer Prescaler∶ OSC/128k

#pragma optsize-

//WDTCR=0x19;

//WDTCR=0x09;

#ifdef _OPTIMIZE_ SIZE_

#pragma optsize+

#endif

ADC_init();

// Global enable interrupts

#asm("sei");

Get_sensor_standard();//大约需要1秒钟

while (1)

{

// Place your code here

}

ADC中断采样程序(采样多个感应按键):

interrupt [ADC_INT] void AD_INT(void)

{

register static unsigned char num; //采用register static 可以减少入栈及出栈时间,提高运行速度

//设置CD4051通道

PORTC &= 0x3e;

P O R T C |= A D_C D 4 0 5 1_ MUX1[Channel];

//感应按键采样

num = ADC_Sensor[Channel]. ConvertNum;

A D C_S e n s o r[C h a n n e l]. CacheValue[num] = ADCH;

if(++ADC_Sensor[Channel]. ConvertNum >= DATA_NUM)

{

ADC_Sensor[Channel].ConvertNum = 0;

for(num = 0; num < DATA_NUM; num++)

ADC_Sensor[Channel].Value[num] = ADC_Sensor[Channel].CacheValue[num]; //完成一个通道采样

setbit(ADC_Sensor[Channel].State, AD_COMPLETE_BIT);//设置当前通道完成标志

}

//ADC通道循环

if(++Channel >= CHANNEL)Channel = 0;

// Start the AD conversion

ADMUX = AD_MUX[Channel];

ADCSRA|=0x40;

}

[1]邱关源.电路[M].北京:高等教育出版社.

[2]Bruce Eckel.C++编程思想[M].北京:机械工业出版社.

[3]李火林,邓声南,甘筱青.数学模型及方法[M].江西:江西高校出版社.

[4]宁建国.AVR单片机原理及应用[M].北京:北京航空航天大学出版社.

TP21

B

猜你喜欢
电荷转移低电平高电平
数字电路中“逻辑非”的用法辨析
一例具有可逆热诱导电荷转移行为的二维氰基桥联WⅤ⁃CoⅡ配合物
一种基于FPGA的PWM防错输出控制电路
铁道车辆高/低电平信号智能发生器设计
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
科技传播(2019年15期)2019-08-22 08:07:44
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
DM 50KW中波广播发射机欠推动故障分析
考虑Duschinsky转动效应的电荷转移速率理论
PDM 1kW中波广播发射机保护电路分析
常压微等离子体阳极与离子溶液界面的电荷转移反应