monlika 发表于 2008-4-1 22:11:59

求助, 用M16做充电器, 显示的数字一直在跳动

RT, 做的是两路的镍氢充电器, 12864显示, 在放了两节电池的情况下,检测电压准确, 但是如果放一节电池, 另外一个通道的电压就会毫无规律地跳动,而不会显示0mv(很多时候显示1023). 两个通道空着的时候也是跟放一节电池一样跳动. 请问有什么方法可以解决?

附上AD函数,是用CVAVR自动生成的.

#define ADC_VREF_TYPE 0x00

uint read_adc(uchar adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

monlika 发表于 2008-4-1 22:33:26

还有个问题, AD的输入阻抗大约有多大?

STM32_PLC 发表于 2008-4-4 10:58:36

肯定的!

想想看,引脚悬空的时候到底0v呢还是5V呢,或者是2.5V呢 —— 结论是都有可能、不确定的。

ghost2 发表于 2008-4-4 11:18:28

应该没有悬空吧

STM32_PLC 发表于 2008-4-4 12:39:06

确实不是悬空,但是要看它的硬件的,从表现上看,是弱上拉,所以显示满值。
因为是弱上拉,所以超出量程,而且不稳定。所以你读数肯定不稳定。

我所指的悬空,是指检测电池的电池位,不是指引脚!只是拿引脚举个例子。

想要显示 0mv, 你要拿个电线把它短路起来才行。

monlika 发表于 2008-4-4 15:36:57

的确, 接了一个10K的电阻后就不跳动了

monlika 发表于 2008-4-4 15:49:04

感谢以上各位...

jlw111 发表于 2008-4-4 20:21:49

有这个的制作资料吗?给一个啊.谢谢!jlw111@163.com

litteworm 发表于 2008-4-13 22:48:18

呵呵 超量程了 显示的东西是奇怪 嗯

zwei99999999 发表于 2008-6-26 10:54:55

monlika            给一个资料行吗!!!谢了   zwei9@163.com   ./emotion/em172.gif
页: [1]
查看完整版本: 求助, 用M16做充电器, 显示的数字一直在跳动