STM8 ADC采样的诡异问题

2019-07-19 21:40发布

用stm8的10位AD做3.3V~30V的电压表,4V~30V这段区间里,AD采样的值很准,显示的值和万用表的值对比几乎一样。3.3V~4V这段区间就诡异了,不管怎么调电压,AD采样值都是从120开始依次递减到104,所以显示出来的值是一个固定的值,3.89V(多次采样取平均值)。只要超过了4V,电压显示就正常了。
分压电阻是100K,10K,从单片机的AD输入脚测得的电压是正常的,这段区间的电压也是可调的,也符合分压比例关系。AD脚上的电压是变化的。有遇到过类似问题的指点一下,多谢~

1,stm8的ADC参考电压为3.3V 
2,输入电压分两路,一路通过LDO产生3.3V给单片机供电,一路分压到AD脚。
3,单次采样
4,通过这样计算得出显示值:AD数字量*3300*11/1024
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
布衣独奏
2019-07-20 19:53
楼主的问题我也遇到过!我在使用STC12系列单片机采集电池电压的时候也有这个问题,后来看了下数据手册里面IO口的结构,我个人觉得应该是单片机AD采集的一个硬件缺陷吧。AD采集的时候,IO口设置为开漏输入,但是IO口的互补输出电路上面的三极管开漏的时候并非完全断开,理论上,导电沟道打开后,D到S才会有电流流过。但实际上由于自由电子的存在,自由电子的附着在SIO2和N+、导致D-S有漏电流,对外表现就是上面的三极管是一个阻值100k以上的大电阻。因此,当你悬空的时候AD口还能读到电压值!大概是参考电压的一半以下!没办法!建议使用运放把电压转化成脉宽量,然后用定时器测量。

一周热门 更多>