感谢前辈
1、 5/255*DEC 公式中 应该除以255 , 8位ad测的电压最大数字量是0xff,0xff 的十进制数是255
。。收到 用255计算了 0.0196 比原来大0.0001 我重新计算了 整体数值没什么改变
2、计算过程中注意一下浮点型和整型的运算
可以试一下 5/21 和 5.0/21 和1.0*5/21 这几个是的运算结果
。。我求倍率的目的是为了尽量不进行浮点运算 用DEC×倍率得整数
反推的公式是 (DEC×倍率-10)×2
比如10:3.32K时12v对应的DEC是153 反推后结果是1204 然后用这个取余和求模得到每一个位去显示
-10是为了弥补把0.0196变成0.02(×2)的误差
无论用-10还是用196计算 12v时误差都可以接受 我不明白的是到15v为什么误差那么大
我小白 见笑
3、采样电阻最好用高精低温漂的
。。谢谢提醒 这个我注意了一下 环境温度24℃ 持续 没有其它温度影响
4、分压电阻选择的尽可能大一点,不然当你的输入电压大的时候,采样电阻可能会发烫,导致阻值发生变化,这样就测的不准了
。。谢谢提醒 我用的0603封装0.1%电阻 极限电压是20v 用单片机自带的AD 端口设置为高阻 我计算看
20v/13320Ω是0.0015A 是这么算电流么 如果是 我觉得这个电流不会影响吧 查了一下0603的电阻
耐压是50v 1/16W 那么0603电阻理论上可以忍受0.0625A电流 两个差距很大 应该不会引起电阻升温
5、关于第4,你可以找两个500Ω(只要小阻值就行)的电阻分压测试,仿真的话测得电压应该没问题,但是实际测试的时候电阻会发烫的,阻值会变化,分压也会不准确
。。我把对这点的回复合并在“4”里回复了 麻烦前辈再给分析分析 |