[应用相关] STM32采集电阻触摸贴膜

[复制链接]
1195|26
 楼主| consumption 发表于 2020-7-23 20:50 | 显示全部楼层 |阅读模式
今天为了解决一个测量电阻屏压力的问题,自己直接用STM32做了一个测量电阻屏的程序(直接把触摸屏的四根线接到单片机引脚上),通过AD切换采集,采集X轴电压,Y轴电压,和压力..最后附上自己的程序
829745f19877875976.png
880395f19877f73e91.png
 楼主| consumption 发表于 2020-7-23 20:50 | 显示全部楼层
先说一下电阻屏的原理
77765f19879fb6b3d.png
 楼主| consumption 发表于 2020-7-23 20:51 | 显示全部楼层
两层膜
132275f1987b63de38.png
 楼主| consumption 发表于 2020-7-23 20:52 | 显示全部楼层
上下的线(电阻)是呈    十  字交叉
995105f1987f853cf0.png
 楼主| consumption 发表于 2020-7-23 20:53 | 显示全部楼层
现在按下以后测量X轴

X+ 接VCC     X-接GND   Y-不接,测Y+的电压

相当于
675f1988198d5a4.png
 楼主| consumption 发表于 2020-7-23 20:53 | 显示全部楼层
按下的位置越靠近X+
747945f19883d0bcbc.png
测得的电压越高
 楼主| consumption 发表于 2020-7-23 20:54 | 显示全部楼层
同理越原理X+测得的电压越低
 楼主| consumption 发表于 2020-7-23 20:54 | 显示全部楼层
对了
995885f1988825af0e.png
测量得电压不受YR-和YR+的影响,因为测量时YR-那端是浮空,YR+检测电压那端的检测电压电路没有寄生电压影响
 楼主| consumption 发表于 2020-7-23 20:55 | 显示全部楼层
现在测量Y轴

就是Y+接VCC    ,Y-接GND,,X-悬空,测量X+的电压

155915f1988b528e5f.png
 楼主| consumption 发表于 2020-7-23 20:56 | 显示全部楼层
871415f1988c36ea89.png
测得的Y轴电压越高
 楼主| consumption 发表于 2020-7-23 20:57 | 显示全部楼层
电阻屏还有一点是可以测量压力,,,自己也是为了测量这个压力而自己写的,,,一开始以为是触摸芯片内部的寄生电阻太大才引起的测量压力很不准确,自己用32做了以后才发现问题..变量问题....
 楼主| consumption 发表于 2020-7-23 20:57 | 显示全部楼层
自己参考的这篇**

https://wenku.baidu.com/view/2bcc7eb569dc5022aaea003e.html
 楼主| consumption 发表于 2020-7-23 20:58 | 显示全部楼层
 楼主| consumption 发表于 2020-7-23 20:59 | 显示全部楼层
我这里就说一种,其实明白了一种另一种自然明白....
17425f1989a345482.png
 楼主| consumption 发表于 2020-7-23 21:00 | 显示全部楼层
如果再知道流过Rtouch的电流 I

那么电阻Rtouch = (V1 - V2)/I  假设电流是从V1流向V2哈...
 楼主| consumption 发表于 2020-7-23 21:01 | 显示全部楼层
先看怎么得到V1和V2

先得到V1
54645f198a01a856e.png
 楼主| consumption 发表于 2020-7-23 21:02 | 显示全部楼层
而这个R在测量X轴的时候是可以得到的
899855f198a3ea9a51.png
 楼主| consumption 发表于 2020-7-23 21:02 | 显示全部楼层
所以流过Touch的电流值就是

V1/R = V1 /(得到的X轴的电压值/4095*(X+和X-之间的电压值))

 楼主| consumption 发表于 2020-7-23 21:03 | 显示全部楼层
然后切换一下(就是说手在按着的时候电路在做切换测量)

再得到V2
287285f198a8c304bd.png
 楼主| consumption 发表于 2020-7-23 21:03 | 显示全部楼层
那么Touch的电阻值就是

(V2-V1) / (V1/R) =(V2-V1) / (V1 /(得到的X轴的电压值/(4095*(X+和X-之间的电压值))))

得到的X轴的电压值设为 X

X+和X-之间的电阻设为   R总

Touch电阻值 = (V2-V1)/(V1/(X/(4095*R总)) = (V2-V1)*4095*R总/V1

=V2*4095*R总/V1  - 44095*R总

= 4095*R总*(V2/V1 - 1)

应该是4096....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

194

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部