用单片机设计一个自动切换量程的数字电压表,做了出了一点问题

如题所述

第1个回答  2015-11-14
既然你设计有20V的量程,而你的运放电路那块是正向放大,正向放大,最小的放大倍数都是1 ,如果你输入20V电压,运放饱和了, 并且也超过了ADC的输入范围,你的ADC的参考电压是5V,则输入到ADC的电压最大就是5V。可以将运放设计成反向放大。数据由单片机处理再反向过来。还有,如果是反向放大的话,输入信号20V,则超过了运放的电源电压。差模输入电压范围一般是低于运放的电源电压的,共模输入也是一样,你可以看如果要做到20V的输入量程,要么在输入的地方做一级电阻分压,降低输入到运放的电压到24V。但是做反向放大的注意输入阻抗,一般电压表的输入阻抗越大越好。还有做好输入端的保护,在负输入端加一个22V的稳压管比较妥当,防止过牙烧毁运放。在ADC的输入的地方加一个5.6V的稳压管,防止运放输出过大损坏ADC,运放这个电路,放大倍数是1, 11, 101,是否有误差出现?
量程切换这块,考虑2个问题,
1. 如果输入电压变化很快,你的切换将会很多,基本上输入到数码管上,你是看不清楚的,所以在软件上加一个平均滤波算法,使得显示更稳定。当然如果只是做电压表的话,硬件上加一级有源低通滤波器的话就更好,1,可以滤除高频干扰,2,可以使采集的信号变化缓慢,利于采集的稳定和显示。在加上软件滤波算法。可以进一步稳定。
2. 电子开关切换是需要时间的,如果检测到信号过小,需要切换到大量程,先不要断开当前量程开关,而是要先打开大量程开关,再来关闭小量程开关。可以防止切换的一瞬间,因运放处于开环状态,输出一个大尖峰电压到ADC。在硬件上,可以在模拟电子开关和反馈电阻之间接入一个小电容,也可以防止进入开关状态。还有,这个电容还可以起到滤除高频干扰的作用。
第2个回答  2022-07-23
加油,慢慢来肯定能解决的。
相似回答
大家正在搜