打印

最近用海尔HR7P201做的感应按键库

[复制链接]
4080|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
int3|  楼主 | 2014-10-19 10:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


一、感应按键通道选择和灵敏度设置
void TK_SET(unsigned char NUM,unsigned charSENSITIVITY)
TK_SET是感应按键通道设定函数
NUM是通道值,HR7P20114个通道分别是TK0TK13NUM的值范围为013.0代表TK013代表TK13.
SENSITIVITY是灵敏度,建议赋值为(5-80
比如选用感应按键0,灵敏度为20;感应键9,灵敏度为25
TK_SET(0,20);
TK_SET(9,25);
二、感应按键基线更新速度设置
void TK_BASELINE_SPEED(unsigned charTK_BASE_UP_SPEED,unsigned    charTK_BASE_DOWN_SPEED,unsigned    charTK_BASE_OK_SPEED);
TK_BASELINE_SPEED是基线更新速度函数
TK_BASE_UP_SPEED是向上更新速度,一般取值为(5-40);默认为20
在满足缓慢按下手感情况下,值越小越好。便于环境自适应。
TK_BASE_DOWN_SPEED向下更新速度,一般取值为(5-40);默认为20
在满足手按住按键上电后再次按下手感情况下,值越大越好。
TK_BASE_OK_SPEED相等更新速度,一般取值为(5-40);默认为20
在满足上电后马上操作情况下,值越大越好。
三、感应按键系统初始化
void TK_SYS_CONFIG(unsigned    char TK_single_ack_SPEED,unsigned    char TK_strongest_ack_SPEED,unsigned  char TK_AP,unsigned  char TK_CLK);
TK_SYS_CONFIG是系统选项
TK_single_ack_SPEED是多键相应速度,一般取值(1-20)默认为4
多键按下相应速度,相当于普通按键的滤波次数。在满足手感情况下,值越大越好。
TK_strongest_ack_SPEED是最强键相应速度,一般取值(1-20)默认为4
最强键按下相应速度,相当于普通按键的滤波次数。在满足手感情况下,值越大越好。最强键是在感应按键潮湿情况下,单个输出的有效键
TK_AP是感应按键的放大倍数,取值范围是(1-255);默认为20
TK_CLK是最多按键有效数和感应模块频率,高四位为感应按键最多按键有效数(默认值为14),低四位为感应模块频率默认值为1
高四位设定(2-14):
1、 在调试阶段设定为14
2、 没有组合键高四位设定为2
3、 有组合键设定为组合键数加1.比如是两个键的组合键设定为3.
低四位的设定(0-3):
1、 用示波器看感应按键的波形,在波形不变形的情况下数值越小越好
2、 查看按键结果,在数值不变情况下,数值越小越好。查看按键结果使用函数unsigned    intTK_RETUN_RAWDATA(unsigned    char NUM);
四、感应按键转换结果读出函数
void TK_READ_DATA();
感应按键转换完利用本函数保存转换结果
五、感应按键通道启动函数
void TK_START();
启动感应按键工作
六、感应按键处理函数
void TK_MANAGE();
感应按键处理函数。建议1毫秒调用一次。
七、感应按键软复位函数
   voidTK_REST(void);
   调用本函数,感应按键自动复位学习环境参数。
八、调试函数
unsigned   char TK_RETUN_DELTA(unsigned   char NUM);
感应按键变化量读出函数,NUM的值范围为013.0代表TK013代表TK13.
14为最大变化量。
本函数是为了设定感应按键灵敏度,在实际系统调试时按下按键读出相应按键变化量取本值的1/2作为感应按键的灵敏度值。
unsigned   int TK_RETUN_RAWDATA(unsigned   char NUM);
感应按键原始值读出函数。NUM的值范围为013.0代表TK013代表TK13.
九、输出函数
unsigned   char TK_RETUN_strongest();
感应按键最强值读出结果。单键有效的时候建议使用本函数输出的结果。TK0有效输出为1TK2有效输出为3.
unsigned   int TK_RETUN_SINGLE();
感应按键多键输出结果。TK0输出在BIT0TK1输出在BIT1TK13输出在BIT13.
有组合键时利用本输出结果。建议在有组合键时加上长按有效。
void isr(void) interrupt
{
    if(T8P1IF)//中断周期125uS
   {        T8P1IF=0;
                  
       }
       if(!TKGO)      //感应按键转换完
   {
              TK_READ_DATA();//读感应按键结果
                 TK_START();//启动感应按键
}
}
//*****************************************************//
//主函数
//*****************************************************//
void main()
{
clr_ram();//清内存
     TK_SET(0,25);//开启感应按键通道0,灵敏度为25
        TK_SET(6,,25);//开启感应按键通道6,灵敏度为25
        TK_SET(7,15);//开启感应按键通道7,灵敏度为25  
        TK_BASELINE_SPEED(10,10,10);//
              //TK_BASELINE_SPEED是基线更新速度函数
              //TK_BASE_UP_SPEED是向上更新速度,一般取值为(5-40);
              //TK_BASE_DOWN_SPEED向下更新速度,一般取值为(5-40);
              //TK_BASE_OK_SPEED相等更新速度,一般取值为(5-40);
              //建议本函数放主循环里
              TK_SYS_CONFIG(4,4,20,0x21);//TK_SYS_CONFIG(4,4,20,0xf1);
              //TK_SYS_CONFIG是系统选项
              //TK_single_ack_SPEED是多键相应速度,一般取值(1-20)
              //TK_strongest_ack_SPEED是最强键相应速度,一般取值(1-20)
              //TK_AP是感应按键的放大倍数,取值范围是(1-255);
              //TK_CLK是感应模块频率,0xf`1(最多支持15键),
   while(1)
    {
              CLR_WDT()
              TK_MANAGE();//感应按键处理函数,每1MS调用一次        
        // TK_RETUN_DELTA(9);//感应按键变化量读出函数,NUM是通道
               // TK_RETUN_DELTA(10);//感应按键变化量读出函数,NUM是通道
               //TK_RETUN_DELTA(11);//感应按键变化量读出函数,NUM是通道
               //TK_RETUN_SINGLE();//感应按键所有键读出结果
              i=TK_RETUN_strongest();//感应按键最强值读出结果
    }
}
TK_LIB.rar (1.32 MB)



相关帖子

沙发
int3|  楼主 | 2015-2-28 13:12 | 只看该作者
电容式触摸芯片稳定性测试摘要: 触摸式感应面板由于四轴飞行器械损耗,且时尚、美观可以提升产品的附加值,而迅速
成为一项热门技术。但由于各个提供触摸式感应技术的公司水平不一和技术支持的不到位,
给不少采用了该技术的厂家带来了因为触摸感应界面不稳定而退货的困扰。本文分析了触
摸感应面板容易出现稳定性问题的原因并提供了测试触摸感应面板稳定性较全面和贴近实
际的测试方法。

QQ:263132814

技术支持群是:122090542

电话15105161788
引言:
触摸感应的操作面板因为其坚固、耐磨损、可以绝缘、隔尘、隔水,而且外观美观新颖
而迅速在很多领域被应用,成为近年的热门技术。但很多采用了触摸感应面板的产品都遇到
了诸如生产调试困难,触摸感应面板工作不稳定,在潮湿,强干扰环境下容易误动,造成客
户退货的难题。其中不乏国内的知名企业,有些更是把此项技“打入冷宫”。
问题:
生产调试困难,无法上批量生产。触摸感应面板工作不稳定。在潮湿,强干扰环境下容
易误动,造成客户退货。产品长期工作稳定性差,生产线调试好的产品,经过运输或长期工
作以后灵敏度变化或经常误动而增加了很大的售后成本。
这些原因造成了很多厂家既希望采用这一新技术,又对采用了这个技术的产品是否能稳
定工作心存疑虑。因为触摸感应面板简单的试用往往无法发现有什么不妥。经常要等到发货
后顾客使用一段时间才会出现形形色色的问题。这时不可避免的会给厂家带来成本和声誉上
的损失。
顾客遇到触摸感应面板的突出问题就是灵敏度和可靠性(无误动)各种环境下很难保持
稳定,尤其是长期工作的情况。
问题分析:
触摸感应面板目前主流的技术是采用电容感应技术来实现。因为手指在感应盘上带来的
电容变化极小,而且随着隔离的绝缘面板厚度增加,电容的大小会成指数降低。大概隔5mm
的钢化玻璃后,人的手指触摸只能带来不到0.5PF的电容变化。对于这样微小的测量量,湿
度、温度的变化、电磁干扰、电源干扰等都会极大的影响测量电路的测量结果。如果没有特
殊、专业的处理办法很难保证触摸感应面板的工作稳定尤其是各种恶劣环境下的长期稳定
性。
现在提供触摸感应芯片和方案的公司较多,他们的水平参差不齐。技术水平高的公司可
以解决触摸感应面板设计的难点问题。有些公司提供的芯片和方案宣传作的很好,东西也较
便宜,但产品却只能保证“能动”。如果没有经过仔细的验证很难保证顾客在各种使用环境
下不会出问题。
我们完成了一个带触摸感应面板的产品设计后,必须自己用贴近顾客使用环境且相对严
格的测试方法进行反复、长时间测试来确保产品的可靠性。
测试方法:
电子产品尤其是家电类的产品出厂往往需要通过EMC,FCC,EFT 等测试。这些测试
需要专业的设备,而且通过了这些测试的产品往往也不能保证在实际的应用环境下就可靠。
我们总结出了一些可以模拟实际使用环境下验证触摸感应面板性能的办法,在研发和小批量试产的条件下就能对触摸感应面板的性能做到心中有数。希望能与大家探讨。
1:环境适应性测试
测试方法:
上电前用手按住按键上电,然后看按键是否能正常操作。
2、防死锁测试
测试方法:
在按键区用绝缘线焊接出来。上电后用一只手捏住绝缘线使按键有反应。然后在捏住线的同时用另外一只手操作按键,要正常。
3:残留物测试
测试方法:
用手拿住一小块铁块,去按按键然后把铁块放在按键区。手离开后按键要释放。
4:潮湿环境测试。
测试方法:
将待测的触摸感应面板用水蒸气蒸直到面板上结满露水。观察有没有误动和反应迟钝的
现象。
5:溅水和水淹试验。
测试方法:
用喷壶近距离对感应面板尽量快的喷水,直到面板上形成“水洼”。尤其要注意将几
个不同的感应盘淹到一个“水洼”里。观察有没有误动和反应迟钝的现象以及按键“指东打
西”的问题。
也可以用杯子倒水让水在感应面板上流成“瀑布”。但不要直接让“水柱”冲感应盘。
因为水柱此时就相当于人的手指,手指接触到感应盘正对的绝缘面板当然会动作。但溅水和
漫水绝对不能动作。
这项测试对厨房电器和卫浴电器以及门禁对讲系统非常重要。厨房经常会有溅汤和漫汤
的情况。卫生间的喷头也会喷水到电器的面板上。门禁对讲系统会有雨水被风吹淋到面板上。
我们测试的绝大部分感应面板都通过不了这项测试。喷水时会误动。不同的感应盘淹到
一个“水洼”里后有时出现按A 键同一个“水洼”里的B 键却会动作。另外有些感应面板
反应迟钝无法操作。
这个问题应该是触摸感应设计的一个重要难点。
6:温度测试
这项测试大家比较熟悉。
用烘箱或电吹风加热,用冰箱或冰柜制冷就可以了。
4:电源干扰测试。
电器设备长期工作会被电网上的噪声干扰,尤其是打雷和附近有较大的电器设备启、停
时更是有强烈的干扰。
测试工具:
使用40W以上使用老式“跳泡”和电抗器起辉的荧光灯。
目前的电子镇流器和节能灯因为无法在电网上形成强烈的600~800V 的高压脉冲群,无法模
拟干扰源所以不能采用。
测试方法:
将使用老式电抗器起辉的荧光灯荧光灯和感应面板的电源插到同一个电源插座上,反复
开关荧光灯让“跳泡”不断的“跳”,同时观察触摸感应面板的反应。
很多触摸感应面板会在这种测试条件下误动。
6:电磁干扰测试
6.1
测试工具:GSM手机(爱利信的手机信号较强,辐射大。适合做测试工具)CDMA手机辐
射小,不合用。
测试原理:手机是目前最常见的射频干扰源。
测试方法:将手机取消震动后放在触摸感应面板的绝缘面板上后对触摸感应面板上电,反复拨打该手机号码观察触摸感应面板的反应。
这也是触摸感应设计难以通过的一个难点测试。
6.2
测试工具:100W以上,使用可控硅移相触发调光的白炽灯调光灯。
测试原理:可控硅移相触发时会在220V 电源的正弦波上产生陡峭的边沿,灯的电源线会向
外发射高次谐波。
测试方法:
将灯的电源线放在电容式触摸感应面板的绝缘面板上,然后对触摸感应面板上电。打
开调光灯,随意调整光强。观察电容式触摸感应面板的反应。
(注意:要先将电源线放好后再开触摸感应面板电源,否则触摸感应面板会对接近的
金属线做出反应,对电容式触摸感应面板来说金属导线的接近也会被看成手指的触摸)
6.3
测试工具:17 吋以上的CRT 显示器或CRT 电视。
测试原理:CRT显示器的高压偏转线圈本身就会有很强的电磁辐射。尤其是显示器消磁时,
辐射更强。
测试方法:电容式触摸感应面板的绝缘面板贴在显示器屏幕上后对触摸感应面板上电,对显
示器消磁观察触摸感应面板的反应。
随意将触摸感应面板在显示器周围移动观察触摸感应面板的反应。
(注意:显示器消磁时要确保电容式触摸感应面板的绝缘面板和显示器屏幕的距离稳
定后再开触摸感应面板电源,否则触摸感应面板会对突然接近的显示器屏幕做出反应,对电
容式触摸感应面板来说显示器屏幕的接近也会被看成手指的触摸)
6.4:
测试工具:400W以上的交流手持电钻。
测试原理:交流手持电钻工作时电刷产生的电火花对电子设备有严重的电磁干扰。
测试方法:将电钻停在触摸感应面板的绝缘面板上方,反复开关电钻观察触摸感应面板的反
应。
结语和推荐:
以上的测试方法的工具和设备都比较好找。而且基本上可以模拟出一般电子设备真正的使
用环境。重要的是反复、长时间的测试才能尽可能的发现问题。希望大家能够参考,设计出
稳定可靠的触摸感应界面产品。南京特尔驰电子可以提供过全部测试标准的样品和DEMO.

QQ:263132814

技术支持群是:122090542

使用特权

评论回复
板凳
siman275| | 2016-5-12 10:29 | 只看该作者
看看看程序性

使用特权

评论回复
地板
isbit| | 2017-10-18 09:57 | 只看该作者
海尔HR7P201 频率追踪实现原理是什么呢?

使用特权

评论回复
5
h286288986| | 2017-10-18 12:31 | 只看该作者
海尔TK的东西没用过,不知道稳定性与可靠性怎么样---

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:QQ:2853053200 群:122090542   南京特尔驰电子科技有限公司 海尔代理商专注触摸按键MCU算法和它激式雾化器算法 EMAIL:INT3@163.COM

29

主题

327

帖子

6

粉丝