问个电池电压采样的问样

楼主
问个电池电压采样的问样

    我用从微控买的149实验板采样电池电压(最高3.3V电压),我的电路是这样的:电池正负板之间接一个20K的电位器,电位器中间的那个脚接P6.7;电池负极接VREF-/VeREF-;DVcc接AVcc接3.3V(电路工作的电压);DVss接AVss接电路板的地(注意电池负极和电路板的地不相接)。请问我以下的配置对吗?

   sendCMD(off_cursor);            //关光标
   
   //ADC12初始化----------------------
   //单通道,单次采样模式
   P6SEL |= 0x80;                   //使能A/D通道 A7
   ADC12CTL0 = ADC12ON + SHT0_2;    //开ADC12内核和设置SHIT0=2(N=4)
   ADC12CTL1 |= SHP;                 //SAMPCON信号选择为采样定时器输出
   ADC12CTL1 |= CSTARTADD_7;         //定义单次转换地址
   ADC12MCTL7 |= [COLOR=#f70909]SREF_4[/COLOR] + INCH_7;
   ADC12CTL0 |= ENC;                 //ADC转换允许

即VR+=AVcc,VR-=VREF-/VeREF-(示例程序的参考地是电路板的地);但是我实验的时候结果并不对,请问我哪里错了,谢谢

1楼
“(注意电池负极和电路板的地不相接)”这个是最最最基本错误,你的电池不与系统的参考地相连接怎么可以产生回路。没有回路也就不能形式电压,这样也就无法得到正确的电池电压。
其实你跟本不需要再去自己编写一个程序来实验,你完全可以参考光盘上的LCD与ADC例程,此例程也就是测试一个外部电压值。只需要将我的电池负极接于开发板地,而将电池的正极接至ADC的输入端就可以测量到了。
至于要在LCD显示电压值,则需要做一些电压换算处理就行了。
2楼
  呵呵,谢谢。我当初是这样想的:如果两部分的地接到一起的话,它们之间可能会产生影响(前提是我不知道“电池不与系统的参考地相连接就不产生回路”)。
 
  但是我的电池负极已经接到VREF-/VeREF,即电池已经与系统的参考地相连接了,为什么还要和电路板的地连到一起?

  如果VREF-/VeREF(我认为是系统的参考地)一定要和电路板的地相连的话,那实验板上的跳线S3不就是多余的了吗?
 
  也许问题很简单,但是不知道才问的!!!
3楼
“VREF-/VeREF”只是ADC12模块的负极参考端而已。而这个并非是系统地,如果你的程序选择了VREF-/VeREF作为参考端时并不是说这个就直接与地相连接的。这是一个错误的理解。
如果电池按我刚才贴的接法接至正确了,如果还不能测试这样你就得参考程序上问题了。实验前一定保证硬件的正确性的前提下才去找软件上的原因。其实这个实验并不难,完全可以参考板子上的例程,只是将板子上的电位器输入转成电池输入而已。其本上没有多大变化。
4楼

   硬件上没有问题,我先是用你给的程序试的,结果是对的(但是电池负必须和电路板的地相连,S3跳线断开的);然后我就改了一点点:即电池负极接VREF-/VeREF(这两个都不与电路板的地相连),然后在软件中把SREF_0改为SREF_4,即VR+=AVcc,VR-=VREF-/VeREF-,发现结果就不对了

   我的意思是不想让电池负和电路板的地相连而能测量到电池的电压,请问有可能行得通吗?
5楼
行不通,我不是告诉你正确的方法了吗。为什么你总想用一些不正当的做法去实验呢,这样当然得不到正确的结果了。这也是很理所当然的事了。否则,真莫明其妙。

电脑版 Page created in 0.0938 seconds width 2 queries.