zcx2012 发表于 2012-7-3 19:49:10

如何使用LGT 的ADC采样负电压信号?

本人新手,打算用LGT自带的ADC采样—75mv ~75mv 的电压,但是ADC的输入电压只能为正电压,我该怎么实现呢?

wzyllgx 发表于 2012-7-3 20:19:53

外加运放平移

tiancaigao7 发表于 2012-7-3 20:27:05

加法器,然后放大,滤波

zcx2012 发表于 2012-7-3 20:33:22

恩,谢谢你,我试下

younge 发表于 2012-7-8 22:11:09

tiancaigao7 发表于 2012-7-3 20:27
加法器,然后放大,滤波

有学弟问我类似问题我也是这样答的。但我有个疑问一直未解:用运放时一般都是单电源供电,直接加法器负电压能有效平移么?不知大侠能否解惑,非常感谢

JamesErik 发表于 2012-7-8 22:20:23

younge 发表于 2012-7-8 22:11 static/image/common/back.gif
有学弟问我类似问题我也是这样答的。但我有个疑问一直未解:用运放时一般都是单电源供电,直接加法器负电 ...

双电源供电。

redroof 发表于 2012-7-8 22:31:23

JamesErik 发表于 2012-7-8 22:20 static/image/common/back.gif
双电源供电。

如果不需要超高输入阻抗,则无需双电源供电。
单电源供电同样可以采集负电压
输入端串一个电阻到AD采样点,同时AD采样点上面接一个电阻到VCC,下面接一个电阻到GND,即可
这三个电阻可以把正负范围的电压变换到只有正没有负,并且是线性的。
如果要放大就在后面接同向放大器,也无需负电源。

Flyback 发表于 2012-7-8 22:36:49

redroof 发表于 2012-7-8 22:31 static/image/common/back.gif
如果不需要超高输入阻抗,则无需双电源供电。
单电源供电同样可以采集负电压
输入端串一个电阻到AD采样点 ...

方法貌似不错,电阻取值有什么注意的地方吗

JamesErik 发表于 2012-7-8 22:40:56

redroof 发表于 2012-7-8 22:31 static/image/common/back.gif
如果不需要超高输入阻抗,则无需双电源供电。
单电源供电同样可以采集负电压
输入端串一个电阻到AD采样点 ...

标记一下。

redroof 发表于 2012-7-8 22:45:50

Flyback 发表于 2012-7-8 22:36 static/image/common/back.gif
方法貌似不错,电阻取值有什么注意的地方吗

这是一个常用的电路,电阻一般在几十K到100多K的范围。考虑到输入阻抗,这个电阻不能太小,但太大的电阻要高精度也不好找,而且大电阻增加了输入的源阻抗,便宜运放的输入阻抗不是非常高。
精确的电阻值其实可以随意。看你手上有什么电阻就用什么呗,他们的绝对值不重要,重要的是比例,注意要精密的。
具体电阻比例根据实际情况自己算。用3个电阻的连接点电压当未知数解方程即可。

tiancaigao7 发表于 2012-7-9 08:00:06

younge 发表于 2012-7-8 22:11 static/image/common/back.gif
有学弟问我类似问题我也是这样答的。但我有个疑问一直未解:用运放时一般都是单电源供电,直接加法器负电 ...

运放没有所谓的一般是单电源供电。相反双电源供电更加普遍。

Flyback 发表于 2012-7-9 08:18:00

redroof 发表于 2012-7-8 22:45 static/image/common/back.gif
这是一个常用的电路,电阻一般在几十K到100多K的范围。考虑到输入阻抗,这个电阻不能太小,但太大的电阻 ...

谢谢,受教了

在具体计算的时候,信号源阻抗是要比较小才能这么处理吗,转化后相当信号变化幅度变小了,对应分辨率稍微降低

redroof 发表于 2012-7-9 09:03:51

本帖最后由 redroof 于 2012-7-9 09:19 编辑

Flyback 发表于 2012-7-9 08:18 static/image/common/back.gif
谢谢,受教了

在具体计算的时候,信号源阻抗是要比较小才能这么处理吗,转化后相当信号变化幅度变小了, ...

没错。这个电路的输入阻抗不太高。
如果信号源阻抗很高并且是不固定就不能这样做
根据你需要采集的量程,这个电路可以把正负的输入电压缩小到0V-VCC,或者该范围内的某一部分。想要什么范围,只要根据这个范围来算电阻比例就行了。

younge 发表于 2012-7-9 12:26:37

tiancaigao7 发表于 2012-7-9 08:00
运放没有所谓的一般是单电源供电。相反双电源供电更加普遍。

受教了,谢谢。我的意思是一些双电源的可以单电源条件下工作,而一般小系统只有5伏电

tiancaigao7 发表于 2012-7-9 12:42:19

younge 发表于 2012-7-9 12:26 static/image/common/back.gif
受教了,谢谢。我的意思是一些双电源的可以单电源条件下工作,而一般小系统只有5伏电 ...

如果有负输入信号的话,必须要用双电源。

redroof 发表于 2012-7-9 12:53:59

tiancaigao7 发表于 2012-7-9 12:42 static/image/common/back.gif
如果有负输入信号的话,必须要用双电源。

我上面说的电路,就是为了在有负输入信号的条件下无需负电源啊!
当然,代价是电路的输入阻抗不太高

huayuliang 发表于 2012-7-9 14:03:20

本帖最后由 huayuliang 于 2012-7-9 14:35 编辑

的确,三个电阻的方式最简单,也不需要双电源。
唯一的麻烦就是电阻值的选取,好在还可以做后续处理。电压范围变换就简单了。而且可以利用SPICE软件中的参数扫描功能(MC中的优化器)来完成。

zcx2012 发表于 2012-7-9 18:39:27

谢谢各位的指教

redroof 发表于 2012-7-9 18:50:00

huayuliang 发表于 2012-7-9 14:03 的确,三个电阻的方式最简单,也不需要双电源。 唯一的麻烦就是电阻值的选取,好在还可以做后续处理。电压 ...

电阻选取也不麻烦的,都是线性电路,直接算就是了。固定一个电阻,另两个电阻列两个方程:输入电压上下限分别变到输出电压上下限
解方程得到三个电阻的比例,然后自己放大合适的倍数即可

millwood0 发表于 2012-7-9 19:21:12

输入端串一个电阻到AD采样点,...

this approach assumes that the adc's input impedance is very high (for a 10bit adc, 1000x higher to reduce the error of loading down to 1lsb).

given the low input impedance of lgt's adc, you may have to use an opamp.

huayuliang 发表于 2012-7-9 20:24:17

redroof 发表于 2012-7-9 18:50 static/image/common/back.gif
电阻选取也不麻烦的,都是线性电路,直接算就是了。固定一个电阻,另两个电阻列两个方程:输入电压上下限 ...

如果转换到的电压范围没有具体要求,而是靠放大之后用单片机程序处理,简单。。就像你说的简单算下,然后选取计算出来的值附近的标准电阻就可以。

但如果转换到的电压范围有具体要求,那就麻烦了。计算很容易,问题是标准电阻的选取就不好弄了。。。

redroof 发表于 2012-7-9 20:40:15

huayuliang 发表于 2012-7-9 20:24 如果转换到的电压范围没有具体要求,而是靠放大之后用单片机程序处理,简单。。就像你说的简单算下,然后 ...

呵呵,即使一个最简单的电路,比如,拿两个电阻对某个电压做分压,如果有人“指定”一个特别怪的比例,找电阻照样是个麻烦事。这是没办法的。
常规情况用单片机处理就是了。

logicgreen 发表于 2012-7-9 20:44:34

我们这变为模拟技术讨论区了{:lol:}

redroof 发表于 2012-7-9 20:45:58

millwood0 发表于 2012-7-9 19:21 this approach assumes that the adc's input impedance is very high (for a 10bit adc, 1000x higher t ...

如果遇到一个输入电阻不太高的AD,除非输入电压可以不分压,否则基本都得用运放。只要用电阻分压电路都有内阻。

823032003 发表于 2012-7-9 20:54:13

redroof 发表于 2012-7-8 22:31 static/image/common/back.gif
如果不需要超高输入阻抗,则无需双电源供电。
单电源供电同样可以采集负电压
输入端串一个电阻到AD采样点 ...

高手啊,
原理很简单,想到却很难。

huayuliang 发表于 2012-7-9 21:40:09

{:lol:}
楼主都没影了,咱们在这里继续····

总之呢,对于LGT的A/D输入,用三个标准电阻转换成正的电压范围,然后用运放放大到基准电压范围上,正好也解决了LGT输入阻抗低的问题。

zcx2012 发表于 2012-7-9 23:03:04

huayuliang 发表于 2012-7-9 21:40 static/image/common/back.gif
楼主都没影了,咱们在这里继续····

总之呢,对于LGT的A/D输入,用三个标准电阻转换成正的电压 ...

我每天都在看呀,谢谢大家的指点了

millwood0 发表于 2012-7-10 00:36:50

拿两个电阻对某个电压做分压,如果有人“指定”一个特别怪的比例,找电阻照样是个麻烦事。这是没办法的。

you can code the resistor values and change the code based on the resistors used. no need to calculate the ratio separately.

对于LGT的A/D输入,用三个标准电阻转换成正的电压范围,然后用运放放大到基准电压范围上,正好也解决了LGT输入阻抗低的问题。

it will depend on the source. you could have sources that cannot sink / source current (photodiodes for example) and they will need to be individually buffered.

The solution will depend on the sources involved here.

younge 发表于 2012-7-14 12:46:05

huayuliang 发表于 2012-7-9 21:40 static/image/common/back.gif
楼主都没影了,咱们在这里继续····

总之呢,对于LGT的A/D输入,用三个标准电阻转换成正的电压 ...

大侠,能不能举个电路让小弟见识一下啊。可能模电书上说过,我不知有这个功能

谢了啊

huayuliang 发表于 2012-7-14 13:53:53

younge 发表于 2012-7-14 12:46 static/image/common/back.gif
大侠,能不能举个电路让小弟见识一下啊。可能模电书上说过,我不知有这个功能

谢了啊 ...

68336016 发表于 2012-7-14 17:28:23

huayuliang 发表于 2012-7-14 13:53 static/image/common/back.gif


我用上次你帮我计算的120k,24k,30k的 0.1%精度电阻网络,Vo=0.1Vi+1.25V,后端通过运放跟随到c8051f060,16位AD做256次平均值后

测量20V电压,得到的结果跟万用表也就相差几mV,

3个电阻网络用起来还是非常省事

huayuliang 发表于 2012-7-14 19:17:46

68336016 发表于 2012-7-14 17:28 static/image/common/back.gif
我用上次你帮我计算的120k,24k,30k的 0.1%精度电阻网络,Vo=0.1Vi+1.25V,后端通过运放跟随到c8051f060,1 ...

你那个还是容易凑到标准值的,有的电压范围很难弄。。。

younge 发表于 2012-7-14 23:04:39

本帖最后由 younge 于 2012-7-14 23:09 编辑

huayuliang 发表于 2012-7-14 13:53 static/image/common/back.gif



是不是通过调整R1~R3的值,结合Vin的实际范围与Vo的期望范围,来进行匹配。如果这样的话,我个人感觉匹配起来不一定轻松啊,引入的阻值、比例都待定
如不考虑AD的输入内阻,在一定条件下,是不是可以直接省去运放而直接通过单片机内部基准进行转换呢?

望不吝赐教

huayuliang 发表于 2012-7-14 23:11:55

younge 发表于 2012-7-14 23:04 static/image/common/back.gif
是不是通过调整R1~R3的值,结合Vin的实际范围与Vo的期望范围,来进行匹配。如果这样的话,我个人感觉匹 ...

是啊,匹配起来并不轻松,不过就像前面有人说过的,你确定个范围,选择标准电阻,算出比例,然后送到AD,再用软件处理就可以了。
这样就容易多了。

younge 发表于 2012-7-14 23:16:20

本帖最后由 younge 于 2012-7-14 23:17 编辑

huayuliang 发表于 2012-7-14 23:11 static/image/common/back.gif
是啊,匹配起来并不轻松,不过就像前面有人说过的,你确定个范围,选择标准电阻,算出比例,然后送到AD, ...

我个人拙见,如果用电阻网络,就考虑避开运放,毕竟有运放了我是不是可以直接使用单电源运放了呢?如果是的话,电压转换合适,就只需评估Vo处的输出电阻与AD的输入电阻间的数量级了吧

我看过杜洋单片机做的频谱玩意儿,他直接把交流音频信号输入到stc单片机,所以我一直纠结至今。

huayuliang 发表于 2012-7-14 23:26:23

younge 发表于 2012-7-14 23:16 static/image/common/back.gif
我个人拙见,如果用电阻网络,就考虑避开运放,毕竟有运放了我是不是可以直接使用单电源运放了呢?如果是 ...

交流信号就简单了,你可以用两个电阻做分压,确定出无输入时的电压,一般是1/2的基准电压。
然后用个电容接到两个电阻的节点上,就可以了。送到A/D输入端的电压就在1/2的基准电压上下变化。

不过这里讨论的是直流,两回事。

younge 发表于 2012-7-14 23:33:17

huayuliang 发表于 2012-7-14 23:26 static/image/common/back.gif
交流信号就简单了,你可以用两个电阻做分压,确定出无输入时的电压,一般是1/2的基准电压。
然后用个电容 ...

是啊,受教了。交流的确很简单,经过你这么指教之后。关于直流的,我认为写段小程序,把所有规格电阻遍历一次,以vo范围、vo中心范围与AD基准的偏离程度做综合评判,应该是可行的。呵呵,vb卸载了,等过些日子要是还记得这事,用excel的vba研究下

surf_131 发表于 2012-7-14 23:38:21

呵呵,75mV,直流电流采样。

本人有两个相关的办法,不必运放移动,特别是不用双电源的运放。这里只告诉你方法一:你用差分AD来测量这同一电阻的双向的电流,可以获得正或负的读数。关键点是,你的AD和MCU都采用独立的、隔离的电源供电。

huayuliang 发表于 2012-7-14 23:47:39

younge 发表于 2012-7-14 23:33 static/image/common/back.gif
是啊,受教了。交流的确很简单,经过你这么指教之后。关于直流的,我认为写段小程序,把所有规格电阻遍历 ...

俺用MC的优化器来弄。
电阻值的合成······

看这个:http://www.amobbs.com/thread-5486344-1-1.html

zcx2012 发表于 2012-7-14 23:48:59

surf_131 发表于 2012-7-14 23:38 static/image/common/back.gif
呵呵,75mV,直流电流采样。

本人有两个相关的办法,不必运放移动,特别是不用双电源的运放。这里只告诉你 ...

能讲的再详细些吗,还有LGT的ADC支持查分输入吗?

surf_131 发表于 2012-7-14 23:59:59

zcx2012 发表于 2012-7-14 23:48 static/image/common/back.gif
能讲的再详细些吗,还有LGT的ADC支持查分输入吗?

都已经告诉你根本原理了。差分AD,ADI的某些MCU有此功能。pic也有内嵌AFE的。但是如今通常还是要采用独立的AD芯片。我用过MCHP的MCP3425,就是一路18位精度差分AD,I2C通信接口。

channe 发表于 2012-7-15 00:00:41

运放,抬高。

surf_131 发表于 2012-7-15 00:01:41

讲再多,你或许还没有真正明白,你的竞争者就明白了。自己多动脑筋。

winter1970 发表于 2012-7-19 21:15:32

纪念一下

ddcour 发表于 2013-11-1 23:14:16

我学习来了

DiaoMao_Huang 发表于 2013-11-28 09:26:56

1、使用稳压管,稳定为2.048V
2、R2>R1来取值,可以获得AD采样点的电压为正电压
3、欧姆定律,反推出被测试点的电压

shouqiang_zhang 发表于 2015-1-13 10:56:16

学习了,正准备采样负电压.

lattice2008 发表于 2015-3-12 11:08:17

本人正须要,标记一下。谢谢各位大神!

HYLG 发表于 2015-7-19 09:59:10

88A带差分输入。
页: [1]
查看完整版本: 如何使用LGT 的ADC采样负电压信号?