我的逻辑问题
Albin Zhang:
请详细描述你说的“情况”,谢谢。
BR. Albin
CC2540蓝牙4.0BLE开发:
回复 Albin Zhang:
你好
谢谢你的回复
已经贴出来原理图,代码,测试得到的数据,我不清楚还欠缺什么信息?
请明确说一下欠缺什么信息?谢谢
Albin Zhang:
回复 CC2540蓝牙4.0BLE开发:
就是详细描述一下你的问题。
BR. Albin
CC2540蓝牙4.0BLE开发:
回复 Albin Zhang:
如题 ADC采集电阻上面的电压不是线性的,
原理图,代码如上,ADC口接入P06
ADC的数据是稳定的,当可变电阻阻值从100K、150K、200K、300K、400K、500K、600K、700K、800K、1000K、变化
ADC值分别是 665、830、 950、 1100、1190、1250、1300、1333、1360、 1402
这些值很明显不线性
这就是问题所在,
Albin Zhang:
回复 CC2540蓝牙4.0BLE开发:
实测电压(万用表) vs. ADC的曲线?
我理解你是少考虑了ADC接口的等效对地阻抗。
BR. Albin
CC2540蓝牙4.0BLE开发:
回复 Triton Zhang:
谢谢AZ和Triton Zhang、
AZ:
万用表测得结果是对的,跟电阻比值完全一致
ADC的输入阻抗计算成对地电阻,这个算法是什么样?
Triton Zhang:
我也不相信是TI的芯片设计问题,
你的考虑是正确的,但是我已经这样做了,我的代码是连续采集64次 进行滤波,我的adc具体结果是滤波后的。我的参考电压就是VDD3.3V的参考电压,然后现在的板子内容很简单,VDD很稳定。
CC2540蓝牙4.0BLE开发:
回复 CC2540蓝牙4.0BLE开发:
连续采集64次的ADC,得到ADC的值非常稳定,最大的值比最小的值最多大2.
CC2540蓝牙4.0BLE开发:
回复 CC2540蓝牙4.0BLE开发:
假设待测电阻的电压为Vadc即ADC测得的电压值,参考电阻为R1,待测电阻为R2,根据电阻分压公式可知:Vadc=3.3*R2/(R1+R2)
我把R1接1M的电阻,R2电阻阻值从100K、150K、200K、300K、400K、500K、600K、700K、800K、1000K,
用万用表测R2身上的电压Vadc,是符合Vadc=3.3*R2/(R1+R2)的
但是我们实际测得的ADC值分别是 665、830、 950、 1100、1190、1250、1300、1333、1360、 1402
ADC的应该符合ADC/4096 = R2 /(R1+R2)
` 我们把100K的ADC值665带去上式中,665/4096 = 100/(1000+100),很显然这个等式不成立
再把500K的ADC值1250,带入上式中,1250/4096 = 500/(1000+500),很显然这个等式也不成立
所以我无法通过ADC采集去正确计算R2的值。
CC2540蓝牙4.0BLE开发:
回复 CC2540蓝牙4.0BLE开发:
找到问题了