在用单片机做数字电压表的时候,有个问题一直不太懂。 对于不同量程的输入电压,如果不想用手动开关选择

在用单片机做数字电压表的时候,有个问题一直不太懂。
对于不同量程的输入电压,如果不想用手动开关选择,是如何让它只通过相应的调理电路的呢?如果是用单片机控制一个开关来控制的话,单片机又是如何检测到输入电压的大小的呢?

这个问题是这样处理的:
1、量程是用模拟开关进行选择的,模拟开关后面有运放,通过合理设计下的运放的高阻使模拟开关的导通电阻变得可以忽略。设计的时候需要做好限幅保护电路,否则以免信号满最高量程时烧毁后面的电路。

2、单片机可以通过采集的模拟量来检测,只要满量程不是ADC的最大值就可以检测。例如,通过设计使2V量程满量程时对应16位ADC的输出是0x7F00,那么,一量采集到比0x7F00大的数,就自动切到下一量程

请采纳,谢谢追问

那么由谁控制模拟开关来选择后面相应的调理电路呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-27
由单片机自己控制的。你要是知道ADC的原理,就应该知道这个电路怎么设计追问

问题是如果输入电压太大了,怎么输入到ad去呢?

追答

打个比方说,我们可以将一个被测电压,通过256(8位ADC)个电阻来进行分压,通过一个256档位的开关进行切换,以地作为参考,首先将最下面那个电阻的电压送进ADC进行转换,如果转换出来的值太小,再由单机的其他I/O口控制开关往上调,直到被测电压的值能有效的被单片机识别,那么此时的AD值乘以此时开关的系数,就是被测电压的大小了。因为,单片机的ADC的输入电压是有限,我们只能将被测电压的一部份送进单片机,才能得到有效的转换值,如果一个较大的电压,我们取其中的1/N刚好能被转换的话,再将转换后的值乘以N,就是被测电压了。

追问

意思就是利用多通道的adc,单片机控制从放大倍数小的调理电路开始送,一级一级往上加,直到匹配到合适的调理电路对吧?这样就觉得你说的分压电阻的方法更简单一些了,分压的电阻需要选择康铜电阻吗?还是普通的就可以。

本回答被提问者采纳
相似回答