rjx 发表于 2014-8-4 15:30:59

采集的电压是负值,想送ADC转换后在LCD上显示,该如何搞

采集的电压是负值,想送ADC转换后在LCD上显示,该如何搞?
是先直接送ADC,然后再将转换结果转化成正值?将负数转整数的方法是取反加一,还是直接取反就可以了?

68336016 发表于 2014-8-4 15:33:59

看你显示函数怎么写的,一般函数都是显示字符串,跟你正负没关系。

rjx 发表于 2014-8-4 15:42:55

AVR单片机可以直接转换采集的负电压吗?

jufr12315 发表于 2014-8-4 15:44:23

咦,负的可以抬升

maimaige 发表于 2014-8-4 15:50:09

如果是负值,int a= -1 ;intb = 0 -a ; char negative = '-';char positive = '+'; char num_1 = 1+'0' ;

tairuibao 发表于 2014-8-4 15:51:38

VCC分半压到采集点,也确定采集点的分压,可以把负压抬到Vcc/2附近。我现在用STM采集-40V~40V之间的电压就是这么做的

xssr123 发表于 2014-8-4 16:06:31

tairuibao 发表于 2014-8-4 15:51
VCC分半压到采集点,也确定采集点的分压,可以把负压抬到Vcc/2附近。我现在用STM采集-40V~40V之间的电压就 ...

能说的更详细点吗?还是不太明白

xlxbangel 发表于 2014-8-4 16:25:59

加偏置抬高,程序再减去偏置电压不就成负的了

bbglx 发表于 2014-8-4 16:27:12

直接用sprintf()不用自己转,得到是是ascii。{:lol:}

tairuibao 发表于 2014-8-4 16:33:46

xssr123 发表于 2014-8-4 16:06
能说的更详细点吗?还是不太明白

比如正负40V电压,大约40分压,为正负1V;单片机供电电压3.3,二分压后为1.65V。把这个1.65V偏置到前面正负1V的采集点进ADC。剩下的就是程序处理了~

ilikemcu 发表于 2014-8-4 17:35:38

基本的模拟电子书上有运放的加法减法电路的,通过运放前端的电阻网络分压,合理选择参数,达到把你的负极性的信号转换到你的ADC可以接收的电平范围。

至于你要处理的,就是数据采集后的换算还原了。

rjx 发表于 2014-8-4 18:48:22

已经搞定了。单片机的ADC是不能接受负值信号的。
正确的做法有两个:一是用一个运放,反相输入,将信号翻转成正信号;二是给运放加一个偏置,将信号抬高到正值范围内。第一种方法简单有效。

gyzzg2030 发表于 2014-8-4 19:49:24

rjx 发表于 2014-8-4 18:48
已经搞定了。单片机的ADC是不能接受负值信号的。
正确的做法有两个:一是用一个运放,反相输入,将信号翻转 ...

用运放反相输入就可以把负电压信号转为正电压信号?能出个图学习一下吗?

68336016 发表于 2014-8-4 19:58:55

用电阻也可以,比如下面的Vo=0.1Vi+1.25,输入范围是-12.5~+12.5V,输出是0~+2.5V

physis 发表于 2014-8-4 20:33:04

运放反相是一种方案
但你还要做负压电源

有买低Vos的运放和负压芯片的钱,还不如直接上差分输入ADC

gujiamao_love 发表于 2014-8-4 23:09:15

physis 发表于 2014-8-4 20:33
运放反相是一种方案
但你还要做负压电源



能否详细点,怎么用差分,谢谢

brother_yan 发表于 2014-8-9 18:09:29

反相放大电路的IN+加一定的offset,就可以不用负电源了

abszy 发表于 2014-8-9 20:06:50

brother_yan 发表于 2014-8-9 18:09
反相放大电路的IN+加一定的offset,就可以不用负电源了

怎么加偏置能不用负电源?求教高手
页: [1]
查看完整版本: 采集的电压是负值,想送ADC转换后在LCD上显示,该如何搞