问:总共30个Touchpad,用了26个Touchpad,还有四个串接了电阻到MCU,4个不存在的Touch,一直会有信号值,频率是100台机,3-4台有问题。因为是矩阵键盘,所以硬件方面没法改为推挽输出,PN:cy8c4149AZS-S575
答:关于几个没有实际使用的sensor节点,目前没有API可以disable掉,但是可以使用下面的函数将所有数据清除,这个函数调用请放在数据处理函数Cy_CapSense_ProcessAllWidgets的后面
/*******************************************************************************
• Function Name: Custom_CapSense_ClearSensorData
• **************************************************************************//
• Clear rawdata, signal and sensor status of dedicate sensor
• \param widgetId
• The widget ID, for which the pre-processing should be executed.
• \param sensorId
• The sensor ID, for which the pre-processing should be executed.
• \param context
• The pointer to the CAPSENSE™ context structure \ref cy_stc_capsense_context_t.
*******************************************************************************/
void Custom_CapSense_ClearSensorData(
uint32_t widgetId,
uint32_t sensorId,
const cy_stc_capsense_context_t * context)
{
const cy_stc_capsense_widget_config_t * ptrWdCfg = &context->ptrWdConfig[widgetId];
cy_stc_capsense_sensor_context_t * ptrSnsCxt = &ptrWdCfg->ptrSnsContext[sensorId];
ptrSnsCxt->raw = 0u;
ptrSnsCxt->diff = 0u;
ptrSnsCxt->status = 0u;
}
在调用的时候,参考下面的位置调用。
/* Process all widgets */
Cy_CapSense_ProcessAllWidgets(&cy_capsense_context);
Custom_CapSense_ClearSensorData(CY_CAPSENSE_TOUCHPAD0_WDGT_ID, CY_CAPSENSE_TOUCHPAD0_RX0_TX0_ID, &cy_capsense_context);
Custom_CapSense_ClearSensorData(CY_CAPSENSE_TOUCHPAD0_WDGT_ID, CY_CAPSENSE_TOUCHPAD0_RX0_TX2_ID, &cy_capsense_context);
关于sensor的节点定义在cycfg_capsense.h里面
问:针对按压上电,信号量变小的问题
答:低基准线复位时间
针对于CapSense单通道,可以调用Cy_CapSense_CalibrateWidget_V3,进行更新baseline
针对双通道,可以用手动校准函数,更新baseline
针对贴了保护膜上电,会出现按压力变轻的问题
- 下面的设置重新配置capsense,然后再测试一下这个问题
- 取消红色方框内的配置
- 适当设置下面框图内的参数
7.在更改配置之前,使用tuning工具记录下当前每个sensor的rawdata数值,然后再更改配置后,通过调整Compensation CDAC value这个参数,把rawdata数据调整到与之前一直就可以
对于膜片形变量设计的硬性要求标准为多少?
不改硬件的基础上,软件上如何做优化,是否有相关参数配置,尝试仅以修改触控门槛无法解决,更大的力度也会达到触发值,滑条功能也无法实现
是的,在电容式触摸的应用中形变是一个非常巨大的影响因素,因为通过形状的改变,膜片会产生寄生电容的变化,并且这个变化通常是增加,由于手指正常触摸产生的电容变化量为1pF左右,但是形变导致电容的变化很可能远超这个数量,所以相对形变是电容式触摸应用中不可以接受的。
所以目前针对你们的问题,解决的方案一是增加表面盖板的强度,保证在一定压力下盖板不会发生形变,但是这个是有极限的。方案二是将膜片背面镂空,这样即使在受压发生形变的时候也可以保证膜片没有与其他发生相对形变产生寄生电容,膜片自身产生形变导致的电容变化可以在实测中测量出来,把手指信号与这个形变产生的信号对比,区分开就可以了。谢谢!