fire 发表于 2016-7-27 10:44:43

STM32 ADC 如何测量 -10V到+10V的电压信号,火哥原创,欢迎拍砖

电路很简单,要求太高的,除毛求疵的可以分享个更高级的电路。设计此电路的背景:

1、STM32 的 ADC 的测量范围为 0~3.3V

2、但是很多人老问我,如果输入的电压是7V,10V,甚至是付电压时怎么办?

3、这个电路我在 F429-“挑战者”这个板子的ADC章节的视频中我有详细的讲解,现在贴出原理图







许亮 发表于 2016-7-27 10:46:58

非常简单实用啊,漂亮

开拖拉机的孩子 发表于 2016-7-27 10:47:51

看火哥的挑战者的视频里面讲过,当初的感觉是我顶怎么可以这么简单

huangweida 发表于 2016-7-27 10:50:13

火逼可以啊,KCL都用上了

阙云亭 发表于 2016-7-27 10:50:36

开拖拉机的孩子 发表于 2016-7-27 10:47
看火哥的挑战者的视频里面讲过,当初的感觉是我顶怎么可以这么简单

火B又在装逼了,电路已经收下

华欣悦 发表于 2016-7-27 10:50:43

这个图能测负电压?

吕一瑾 发表于 2016-7-27 10:51:01

赞,谢谢火哥分享,留着以后用

惟爱你 发表于 2016-7-27 10:51:18

666,又学习了

qoopoo 发表于 2016-7-27 10:51:43

简单实用,我们都是用电阻分压,运放跟随一下。还是这个电路好。

fire 发表于 2016-7-27 10:53:22

华欣悦 发表于 2016-7-27 10:50
这个图能测负电压?

根据这个公式:Vout = (Vint +10)/6,你说可不可以测量负电压

fire 发表于 2016-7-27 10:53:40

huangweida 发表于 2016-7-27 10:50
火逼可以啊,KCL都用上了

不装下逼,不然你以为我是盖的

fire 发表于 2016-7-27 10:53:58

qoopoo 发表于 2016-7-27 10:51
简单实用,我们都是用电阻分压,运放跟随一下。还是这个电路好。

发你的出来学习下

huangweida 发表于 2016-7-27 10:55:34

fire 发表于 2016-7-27 10:53
不装下逼,不然你以为我是盖的

盖楼.........

与孤独和好 发表于 2016-7-27 10:59:53

huangweida 发表于 2016-7-27 10:55
盖楼.........

月薪过万的大神你好,我刚来论坛就看到火哥说你月薪过万了:Q,我等小白啥时候可以月薪5000

huangweida 发表于 2016-7-27 11:06:27

与孤独和好 发表于 2016-7-27 10:59
月薪过万的大神你好,我刚来论坛就看到火哥说你月薪过万了,我等小白啥时候可以月薪5000

我是少了一个零,火逼吹多了一个零,准备转战火逼阵营,帮他管理淘宝客服妹子

奋斗的蜗牛 发表于 2016-7-27 11:13:20

火哥,你屌爆了!!!!:lol

saber幻 发表于 2016-7-27 11:17:44

这么6啊..............

msliang 发表于 2016-7-27 11:19:20

实验的话挺实用。如果是实际应用的话需要考虑几个问题:
1.精度——3.3V是一般的供电电源,毕竟不是基准源,偏差一般都比较大。
2.输入阻抗,一般工业应用里面大部分场合都要求电压输入情况下阻抗为100K以上,主要是减少信号引线对信号的分压影响。
至于隔离干扰暂不是这里讨论的话题了。
个见。

锄禾 发表于 2016-7-27 11:26:12

不错的调整电路,以前在其他地方也见过类似的,找不到了。mark!

fire 发表于 2016-7-27 11:40:51

msliang 发表于 2016-7-27 11:19
实验的话挺实用。如果是实际应用的话需要考虑几个问题:
1.精度——3.3V是一般的供电电源,毕竟不是基准源 ...

是的                                       

nome 发表于 2016-7-27 11:44:02

:lol 牛逼大大的

huangweida 发表于 2016-7-27 11:46:47

fire 发表于 2016-7-27 10:53
不装下逼,不然你以为我是盖的

测试通过,10K,30K,15K,电阻那边的话,放大10倍也测试通过,300K,150K,100K ,感觉电阻大点比较好。

吕一瑾 发表于 2016-7-27 11:48:19

huangweida 发表于 2016-7-27 11:46
测试通过,10K,30K,15K,电阻那边的话,放大10倍也测试通过,300K,150K,100K ,感觉电阻大点比较好 ...

放大10倍也测试通过是什么意思,难道-100 V 到100V 也可以 ?

huangweida 发表于 2016-7-27 12:48:59

fire 发表于 2016-7-27 11:40
是的

我之前做过驱动电机的,电机启动,瞬间拉低电源电压,但是电机启动的时候是要判断是否堵死,这样用电源电压去做参考就不准确了

如果当时0809 发表于 2016-7-27 13:56:14

可以根据这个推导出来的结论自己调节电阻阻值来设置自己的测量范围。建议电阻的阻值在100k以上,来减小对前级电路的干扰。

许亮 发表于 2016-7-27 14:07:31

huangweida 发表于 2016-7-27 12:48
我之前做过驱动电机的,电机启动,瞬间拉低电源电压,但是电机启动的时候是要判断是否堵死,这样用电源电 ...

做到电机驱动这里,肯定会考虑到这些了。

吕一瑾 发表于 2016-7-27 14:09:09

如果当时0809 发表于 2016-7-27 13:56
可以根据这个推导出来的结论自己调节电阻阻值来设置自己的测量范围。建议电阻的阻值在100k以上,来减小对前 ...

很好,学习了。

惆怅还依旧 发表于 2016-7-27 16:41:41

火哥,我可以收下这份资料嘛?什么?不可以?呵呵,我现在就收下你又能怎样,你倒是来打我啊:lol:lol:lol

扈婉容 发表于 2016-7-27 16:43:05

火哥,这B装的有点大,我都跟你装不下去了

简逸致 发表于 2016-7-27 16:44:22

盖下楼,听说以后积分高的有板子送:lol:lol:lol

chunfeng 发表于 2016-7-27 22:56:12

野火这个图非常实用,有没有哪个网友贴个模拟仿真图上来,我不会用仿真软件。

cancore 发表于 2016-7-28 09:28:43

chunfeng 发表于 2016-7-27 22:56
野火这个图非常实用,有没有哪个网友贴个模拟仿真图上来,我不会用仿真软件。

春风大神,我仿真的结果如下

chunfeng 发表于 2016-7-28 10:36:30

cancore 发表于 2016-7-28 09:28
春风大神,我仿真的结果如下

不错不错,完全线性,基准2.5V的时候,量程就是2.5V,扩展了之后是正负10V

chunfeng 发表于 2016-7-28 10:39:49

我觉得野火这个电路里面,一个是电阻要用0.1%精度的电阻,另一个就是量程改到正负11V,因为ADC和运放都有零点和满幅度的偏移,量程扩大了一点点,损失了一点点精度,但是不至于出现盲区
还有一个主意的地方,就是当ADC工作在频率较高的采样率时候,输入阻抗会非常低,而且不稳定,就需要在输入加一个运放跟随器来缓冲一下

hlg 发表于 2016-7-28 11:01:48

还是适用运放好点,电路匹配注意下不怕干扰

云在青山 发表于 2016-7-28 17:18:24

fire 发表于 2016-7-27 10:53
不装下逼,不然你以为我是盖的

嘿,你这个吊人:lol

大兄弟 发表于 2016-7-29 11:21:58

厉害!!!!!

longzhigu 发表于 2016-7-29 15:51:59

学习了,顶一下

fire 发表于 2016-7-31 13:22:28

chunfeng 发表于 2016-7-28 10:39
我觉得野火这个电路里面,一个是电阻要用0.1%精度的电阻,另一个就是量程改到正负11V,因为ADC和运放都有零点 ...

1、精度用高的可以 2、我本意是让他们支持正负7v,留有余量,当然,春风大神考虑的很周到 3、对,实际运用中前级还是加个运放好,或者把电阻都放大100倍。

fire 发表于 2016-7-31 13:23:12

云在青山 发表于 2016-7-28 17:18
嘿,你这个吊人

敢问阁下是哪路逼神。

fire 发表于 2016-7-31 13:23:33

hlg 发表于 2016-7-28 11:01
还是适用运放好点,电路匹配注意下不怕干扰

简单的应用可以这样

满地落叶est 发表于 2016-7-31 14:16:38

huangweida 发表于 2016-7-27 11:06
我是少了一个零,火逼吹多了一个零,准备转战火逼阵营,帮他管理淘宝客服妹子

月薪过万的大神你好,我刚来论坛就看到火哥说你月薪过万了,我等小白啥时候可以月薪5000

雪花微风 发表于 2016-8-1 16:01:20

最后除以6的会遇到好多除不尽的数值,是不是可以修改相应电阻的阻值可是使最后是除以2,5等可容易除尽的数字,这样会更利于精确计算吗?:D

fire 发表于 2016-8-1 16:03:40

雪花微风 发表于 2016-8-1 16:01
最后除以6的会遇到好多除不尽的数值,是不是可以修改相应电阻的阻值可是使最后是除以2,5等可容易除尽的数 ...

可以                                 

Habitant 发表于 2016-8-10 15:55:40

哇啊!吓得我赶紧预习了一下上学期学的电路分析。

fire 发表于 2016-12-13 15:25:36

雪花微风 发表于 2016-8-1 16:01
最后除以6的会遇到好多除不尽的数值,是不是可以修改相应电阻的阻值可是使最后是除以2,5等可容易除尽的数 ...

可以                        

liurenfu2013 发表于 2016-12-13 15:41:24

不错,支持,学习学习

小灰灰的爱恋 发表于 2017-8-17 08:31:43

fire 发表于 2016-7-27 10:53
不装下逼,不然你以为我是盖的

火哥666,准确来说Vout=(Vint+9.9)/6对吧,火哥,不然别人看不懂咋办??;P

aishangmu 发表于 2017-10-21 22:15:39

火哥的方法只适合教学,但是实际使用中会出现很大问题。
分压造成输出阻抗太高,ADC采集会带来很大误差。
最好采用二极管钳置电路。;P

fire 发表于 2017-10-25 09:17:50

aishangmu 发表于 2017-10-21 22:15
火哥的方法只适合教学,但是实际使用中会出现很大问题。
分压造成输出阻抗太高,ADC采集会带来很大误差。
...

666666666666666
页: [1] 2
查看完整版本: STM32 ADC 如何测量 -10V到+10V的电压信号,火哥原创,欢迎拍砖