查看:
8317
|
回复:
7
|
使用LPC824做电阻触摸屏驱动控制器等多种触摸驱动
|
|
发表于2017-02-25 21:03:34
|
只看该作者
1#
电梯直达
LPC824概览: 1.Cortex-M0+内核,30MHz工作频率2.最高16KB片内Flash、4KB片内SRAM3.用于外设配置的开关矩阵,状态可配置定时器SCT4.3路UART、2路SPI、1路I2C5.多达18路GPIO//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ LPC824内部有2套ADC转换,ADC精度为12位,内部扩展ADC至12路,且继承了开关矩阵,这里就基于这两功能给大家带来这么一块触摸体验电路板,其特点如下: 1.支持任意4线电阻触摸屏; 2.支持4个PCB电容触摸按钮,硬件支持多达3种PCB电容测试方式; 3.5~15V直流供电,防直流反接; 4支持SWD在线调试; 5.0.69寸OLED显示,调试更加清爽; 电路板触摸原理图如下:
显示原理图如下:
PCB如下:
电阻触摸屏电路讲解:
软件通过开关局站SWM功能,在ADC与IO之间快速切换,采样并计算触摸下的X轴/Y轴位置。比如,正常状态下X轴配置为IO模式,X1= 0V,X2= 3.3V,Y轴配置为ADC模式,当有触摸事件触发时,采用看门狗监控ADC变化,即可获取到当前Y轴触摸位置,接着快速切换X/Y,如上做一次转换,即可获取到X轴位置,综上即可得到触摸下的X,Y点位置。 PCB电容触摸屏电路讲解: 电容触摸比较有难度,LPC824的引脚内部配置为悬空时,且处于ADC状态下,引脚阻抗大约为10M欧姆。视频演示中,我焊接了D1~D4,R14~R17,单片机PWM发送20KHz脉冲,通过AD0~AD3读取焊盘放电特性,可以获取电容的容值。当有触摸事件发生时,焊盘容值将会发生改变,进而放电时间也会延长,单片机通过处理这些信息即可获知是否发生了触摸事件。
PCB与原理图资料:触摸图纸.rar PCB案件触摸技术参考资料:通过 MSP430 进行 PCB 电容触摸感应.rar 调试视频资料: 明天上传 PCB下单编号:
|
|
发表于2017-02-26 10:43:50
|
只看该作者
2#
难得一见的好制作! 内容较丰富,近期体验和学习一下楼主的设计思想和经验。谢谢楼主的分享噢! |
|
发表于2017-02-26 15:21:38
|
只看该作者
3#
电容下降的ADC我都采集到了,但是滤波算法没研究透,演示效果没有达到惊艳效果,改天有空整了,视频正在上传
|
|
发表于2017-02-26 17:20:25
|
只看该作者
4#
演示视频: https://v.youku.com/v_show/id_XMjUzMTQ5NzA2OA==.html?spm=a2h0w.8278793.2736843.4 说明:使用示波器测试电容触摸波形特性,算法未做滤波,故有干扰误触发,期待大家后期大秀好算法 |
|
发表于2017-02-26 17:42:41
|
只看该作者
5#
实物板(整体布局不好看,仅供体验测试): |
|
发表于2017-03-11 09:39:02
|
只看该作者
6#
PCB电容触摸调试的两种焊接方法; 1.仅焊接D1~D4,采用PWM输出方波,使用ADC采样触摸焊盘电压下降时间,当发生触摸时,该时间会发生变化。这里使用了ADC内部阻抗作为放电电阻;在1基础上并入R15~R17电阻,可以增加电容电压泄放速度; 2.不焊接相关触摸电阻、二极管,而是使用开关矩阵在IO跟ADC之间快速切换,这是最省硬件的方式; 3.仅焊接R9、R4、R7、R8,采用20MΩ电阻,使用ADC采用触摸焊盘充电至3V电压的时间,发生触摸时,该时间也会发生变化。 享受吧~~~~~~~~~~~~~~~~~~ |
|
发表于2017-04-06 13:08:23
|
只看该作者
7#
做得很好。赞一个
|
|
发表于2017-12-24 19:23:40
|
只看该作者
8#
做的不错,赞一个
|
|