一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
12
返回列表 发新帖
楼主: LBQ691477940
收起左侧

[51单片机] 怎样用stc单片机的ad测大于 5v小于 50v的电压呢?

  [复制链接]
 楼主| 发表于 2011-5-10 20:35 | 显示全部楼层
本帖最后由 LBQ691477940 于 2011-5-10 20:53 编辑
个人觉得您的这个校准方法不妥,造成了“线性不好”的现象。R16/R17组成的分压组合,是起到一个“变压 ...
fat 发表于 2011-5-10 09:47 [url=https://www.yleee.com.cn/images/common/back.gif]https://www.yleee.com.cn/images/common/back.gif[/url]



    我试过不用分压电阻直接测量 0~5v显示出来的值也是低端要比实际电压低,高端要比实际电压高呀!
像这样的结果怎样修正呢?谢谢!
下表是一个ad通道作为基准然后推算出vcc电压代入测量电压通道计算公式中作vcc
ADC_result2 = ADC(2); //P1.2接LM385_BZ1.2稳压实测为1.241V作基准电压
也试过用这句代替上面一句ADC_result2 = ADC_Filter(2); //P1.2接LM385_BZ1.2稳压实测为1.241V作基准电压效果差不多。
voltage = ADC_Filter(0)*1.0/ADC_result2*1241;; //P1.0 为 A/D 当前通道

显示出来的值  - 实际电压   =   偏差
0.0440.068-0.024
0.0990.121-0.022
0.2540.276-0.022
0.3780.396-0.018
0.7470.758-0.011
0.9070.913-0.006
1.4951.497-0.002
1.6041.6030.001
2.0632.0540.009
2.6612.6490.012
2.9252.9180.007
3.7673.7280.039
4.574.520.05
5.0484.990.058



下表是直接测量vcc电压代入测量电压通道计算公式中作vcc,好像结果要比上表线性好得多都是比实际电压低,
但考虑到7805稳压ic不可能一直都是5。02v,发热之后就更不好说了。
voltage = (ADC_Filter(0) * 5.02/1024);//
自制表 VFLUKE_18B V差压比率
0.0240.047-0.0231.958333
0.0530.076-0.0231.433962
0.1510.17-0.0191.125828
0.2390.262-0.0231.096234
0.4290.451-0.0221.051282
0.9030.925-0.0221.024363
1.0931.114-0.0211.019213
1.3371.361-0.0241.017951
1.5571.579-0.0221.01413
1.7521.775-0.0231.013128
1.8891.911-0.0221.011646
2.0942.115-0.0211.010029
2.262.281-0.0211.009292
2.4652.486-0.0211.008519
2.6022.634-0.0321.012298
2.9542.987-0.0331.011171
3.3883.405-0.0171.005018
3.8913.906-0.0151.003855
4.4434.46-0.0171.003826
4.8734.89-0.0171.003489
发表于 2011-5-10 21:04 | 显示全部楼层
您上面说的直接测线性也不好的问题,我个人想到两个原因:
1、片内AD不过10bit,分辨率是无法跟FLUKE 18B相比的,当测量电压值处于两个AD值之间(比如AD的32和33之间)时,片内AD是无法识别的,尤其是STC好象是以VCC为参考电压的,这样电压的波动超过单片机的VCC时,是无法表达出来的,这样就会造成测出的VCC不准,再经过运算后,结果偏离更大。但18B测量时是能分辨出这些差异来,所以结果当然是用18B测的VCC来计算更接近线性了。

2、单片机内部由于成本和工艺限制,AD比较用的电阻一般都是只有一套,几路AD只是通过复用电路来切换的,因此,如果您用一个通道来测算VCC,另外一个通道测被测电压,两路AD之间切换的最好加一点延时,测完一路适当延时待内部比较网络稳定后再切换到另外一路,也许测量结果会有改善。
 楼主| 发表于 2011-5-10 21:19 | 显示全部楼层
多谢fat老师先,天日我再试下究竟用边样方案,多谢!
发表于 2011-5-11 01:11 | 显示全部楼层
多谢fat老师先,天日我再试下究竟用边样方案,多谢!
LBQ691477940 发表于 2011-5-10 21:19 [url=https://www.yleee.com.cn/images/common/back.gif]https://www.yleee.com.cn/images/common/back.gif[/url]


老兄您太客气了,俺不敢当,俺只是菜鸟一个   
发表于 2012-4-14 18:02 | 显示全部楼层
最近在研究STC的内部AD,这贴可以参考一下
发表于 2012-4-14 19:58 | 显示全部楼层
预先用电阻衰减了十倍,程序上将10个AD返回的值叠加
发表于 2012-4-16 21:53 | 显示全部楼层
准备学习STC的AD功能,搞个电压电流表玩玩
发表于 2012-5-17 23:34 | 显示全部楼层
https://www.yleee.com.cn/images/common/back.gif[/url][/quote[/url]]


         你说得没错!不过提点建 ...
倪大德 发表于 2011-5-8 10:50 https://www.yleee.com.cn/images/common/back.gif



    10倍衰减 然后 10次相加,真是好办法!多谢了,呵呵
发表于 2022-1-14 16:59 | 显示全部楼层
分压电阻呀
发表于 2022-2-8 15:50 | 显示全部楼层
你想用到高精度的,不建议用10位,可选择更高的,如12位,或是外挂16位或是24位的ADC芯片,这样就可采集中值虑波算法实现稳定的电压或是电流采集

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-18 19:02 , Processed in 0.053479 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表