四个触摸按键,有一个按键开机一会儿后会失灵,大家帮忙看一下。
我用的芯片是STC8H4K64TL-45I-LQFP48。我遇到情况是四个触摸按键,刚开始四个触摸按键是正常的
过一会儿第二个按键就会失灵 其他三个又是正常的
这四个按键的处理程序是一样的,具体程序见附件。
我刚开始怀疑是不是板上接触不良,我有一次连接电脑,
在失灵的情况下,读取触摸值,没按4万多,有按7千多,
https://www.stcaimcu.com/forum.p ... ptid=7252&pid=65469
咨询下梁工 13922829991
触摸按键的处理,很讲究经验:
首先是排板,必须尽量减小分布电容、尽量避免别的信号影响触摸读数,
尽量减小相邻键的相互影响。
其次是产品装配要注意减小分布电容和周围信号的影响。
然后是软件处理,这个非常重要。
分布电容无处不在,大的分布电容,会让你的按键灵敏度减小,
铜箔走线20cm跟2cm比,分布电容大得多,灵敏度会低很多。
手指按上去后,电容改变通常只有0点几pF,如果分布电容大,
灵敏度会很低的。
干扰(空间射频干扰、传导干扰、感应干扰)无处不在,干扰会让触摸按键读数抖动不停,
周期干扰可以平均值滤波(或一阶低通滤波)减弱抖动。
产品工作后,或工作时间长后,0点(即不按按键时的读数)会有比较大的变化,
甚至超过10%(即超过按键的幻化),所以0点跟踪是必须的。
一般产品上电时,先检测一下按键,并将此时的读数作为起始的0点。
当检测到按键读数值急剧变大,则认为是释放按键,此时要重新快速判断是否要重新定0点,
比如按着键上电,之后释放再按,比如能重新定0点并识别到按键动作。
由于有缓慢的0点跟踪,一般触摸按键支持的长按是有时间限制的,比如最长30秒。
这些都归于软件处理不完善导致,可以测试我的例程,16个触摸按键,随时响应触摸动作。 梁工 发表于 2024-5-6 11:35
这些都归于软件处理不完善导致,可以测试我的例程,16个触摸按键,随时响应触摸动作。 ...
{:4_237:}
页:
[1]