999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

電荷轉移感應按鍵設計說明書

2014-07-21 04:04:10吳文勇
中國新技術新產品 2014年8期

吳文勇

摘 要:本文主要講述電容電荷轉移理論,并根據此理論設計電荷轉移電路,最終由電荷轉移電路與倍壓脈沖發生器實現電荷轉移感應按鍵功能。此感應按鍵可應用于玻璃、塑料等作為面板的非接觸式人機操作輸入。

關鍵詞:電荷轉移;電容感應;容抗;倍壓

中圖分類號:TP21 文獻標識碼:B

概述

感應技術正在迅速地成為人機界面操作的媒介,人們在應用并享受這種全新的技術所帶來的方便、美觀、無機械壽命等好處。本文就個人研發的新型感應設計技術作詳細說明。

一、電荷轉移感應按鍵的組成

本文設計的感應按鍵模塊有兩部分組成,一部分是共用的倍壓高頻脈沖發生器模塊,用于給另一部分電路提供高頻的脈沖信號,另一部分是感應按鍵能量轉移電路模塊。每一路按鍵采用一個轉移電路模塊,例如產品設計兩個按鍵,那么只要采用一個脈沖發器模塊和兩個感應按鍵能量轉移電路模塊,再結合帶ADC轉換功能的MCU即可。在目前電子產品中MCU是不可缺少的一部分,所以設計人員并不需要額外增加MCU,就可以完成他的設計。

二、電荷轉移感應按鍵的原理

在說明原理之前我們先來了解一下電容,如圖1所示:電壓與IC的相量關系為:

其中:XC = 1/ωC,稱為容抗,單位為 Ω(歐姆),容抗的倒數稱為容納BC = ωC,單位為 S。由(式-1)可見頻率和容抗成反比, 也就是頻率越高,容抗越小,如圖2曲線所示。

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

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

我們知道電容器的公式:

ε為極板與極板之間的介電常數

S 為極板面積

d 為極板與極板之間的間距

由此我們可以知道任何導體與導體之間都存在電容,如下圖3、圖4所示每個電極與電極之間都有一個很小的電容,同樣的當手指與電極之間也存在電容。

手指越靠近電極,根據電容急

劇增大,當然再如何增大,電容值還是很小,約為十個PF。同時結合前面講到的容抗與頻率的關系,我們設計一個高頻發生電路,使電極是一個相對手指高頻變化的電壓信號,根據

(式-1),手指與電

極之間產生電流。到此我的結論是:因為手指靠近電極,從而手指與電極之間產生一個耦合電容,因為電容的容抗作用使手指與電極之間產生電流,因為電流使得電極的電荷發生轉移,根據電荷的轉移理論,我們設計出感應按鍵能量轉移電路模塊。

三、倍壓高頻脈沖發生器

如圖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采樣并判斷采樣數據就可以知道是否有手指靠近,從而判斷是否有按鍵按下,實現感應按鍵的目的。

五、軟件設計

本軟件設計采用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位分辨率。endprint

本設計主要采用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;

PORTC |= AD_CD4051_MUX1[Channel];

//感應按鍵采樣

num = ADC_Sensor[Channel].ConvertNum;

ADC_Sensor[Channel].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].北京:北京航空航天大學出版社.endprint

本設計主要采用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;

PORTC |= AD_CD4051_MUX1[Channel];

//感應按鍵采樣

num = ADC_Sensor[Channel].ConvertNum;

ADC_Sensor[Channel].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].北京:北京航空航天大學出版社.endprint

本設計主要采用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;

PORTC |= AD_CD4051_MUX1[Channel];

//感應按鍵采樣

num = ADC_Sensor[Channel].ConvertNum;

ADC_Sensor[Channel].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].北京:北京航空航天大學出版社.endprint

主站蜘蛛池模板: 精品人妻无码区在线视频| 一本无码在线观看| 国产精品亚洲αv天堂无码| 欧美色综合网站| 99精品国产自在现线观看| 人妻21p大胆| JIZZ亚洲国产| 日本免费一区视频| 五月天久久婷婷| 99精品福利视频| 找国产毛片看| 亚洲三级片在线看| 欧美另类视频一区二区三区| 91亚瑟视频| 国产18在线播放| 狠狠色香婷婷久久亚洲精品| 中文字幕无线码一区| 婷婷丁香色| 久爱午夜精品免费视频| 亚洲男人的天堂在线| 国产成人午夜福利免费无码r| 女人18毛片水真多国产| 国产欧美视频综合二区| 精品国产免费观看一区| 国产性生大片免费观看性欧美| 欧美国产日产一区二区| 黄网站欧美内射| 亚洲日韩高清无码| 久久亚洲精少妇毛片午夜无码| 国产精品久久久久鬼色| 久久久久久久久久国产精品| 99视频在线精品免费观看6| 日本免费新一区视频| 伊人中文网| 无码乱人伦一区二区亚洲一| 色综合成人| 无码高清专区| 欧美日韩在线观看一区二区三区| 色老二精品视频在线观看| 国产女人在线| 午夜免费小视频| 少妇人妻无码首页| 日韩精品欧美国产在线| 亚洲综合色在线| 91po国产在线精品免费观看| 亚洲黄色视频在线观看一区| 人禽伦免费交视频网页播放| 国产乱人乱偷精品视频a人人澡| 六月婷婷激情综合| h视频在线播放| 亚洲最大福利网站| 国产精品视频白浆免费视频| 中文字幕在线看| 亚洲精品天堂在线观看| 欧美精品影院| 国产男女免费完整版视频| 四虎永久在线| 在线a视频免费观看| 国产va免费精品| 99热这里只有精品久久免费| 亚洲欧洲免费视频| 国产天天射| a级毛片免费播放| jijzzizz老师出水喷水喷出| 91九色最新地址| 亚洲成人一区在线| 日本不卡免费高清视频| 免费国产在线精品一区| 国产精品密蕾丝视频| 天天色天天操综合网| 久久semm亚洲国产| 露脸一二三区国语对白| 精品夜恋影院亚洲欧洲| 亚洲男人的天堂久久香蕉网| 无码精品国产VA在线观看DVD| 国产9191精品免费观看| 午夜精品久久久久久久99热下载| 色婷婷亚洲综合五月| 日韩精品欧美国产在线| 免费国产小视频在线观看| 永久免费无码成人网站| 六月婷婷激情综合|