手上有块TI的LM3S811开发板,尽管不是专业的ADC,但其包括4通道的ADC,采样率500kbps,10位分辨率,能够量程在-1.5V~1.5V或0V~3V,还有一路模仿比较器,应该足能够丈量沟通有效值了,就看能丈量到什么程度了。我手上有个项目,需丈量的信号是400Hz,最大±12V,就以此为例,怎样才干最大发挥该芯片ADC丈量沟通有效值的才干呢?
在航空电气、自整角机、旋转变压器中都是需求一起丈量几路信号,这样先得考虑该芯片是否具有同步丈量的可能性,假定其间一路信号为,可用V=Acos(wt)来表明,其间A为起伏,w便是2*pi*400Hz了。ADC量程为-1.5V~1.5V或0V~3V,10bit的分辨率,最低电压分辨率为3/1024=2.93mv,500bps的采样率对应2us,呵呵,4路通道之间的距离便是6us,假如在6us内改变小于2.93/2=1.46mv即收集的数据的差错仅ADC的分辨率决议,关于该芯片则为同步收集。关于400Hz的信号,每个周期其起伏改变1.46mv/6us/400Hz=0.6v,而该信号的起伏才1.2v,一个周期内起伏就改变至少一半,那是不可能的工作,所以理论上能够满意同步收集的要求。
丈量正弦波沟通电有效值有好几种办法,一种是经过二极管、电容构成的检波电路,将沟通转换成直流,但该办法对400Hz这样的低频信号差错较大,抛弃。一种是经过AD736这样的专用芯片丈量,精度我没查数据手册,价格不廉价,抛弃。一种是直接ADC采样,能够屡次收集求面积,也能够只丈量最大值,这种办法测400Hz的低频沟通电最好了。
开端想直接丈量,LM3S811有一个模仿比较器,能够很容易地知道每周期的开端,关于400Hz的正弦波信号,能够准确在其1/4周期处收集最大值,将±12V的沟通信号使用电阻分压成±1.2v,关于±1.5的量程,还留有25%的余量。但关于正弦波这样对称的波形,就浪费了一半的信息,能够丈量的电压分辨率只要3V/1024=2.93mv,对应到沟通信号为2.93mv*10=29.3mv。
接着想到选用屡次采样求面积的办法,关于绝大部分信号能够经过屡次采样进步精度,也可在软件算法上加上抗干扰办法,但关于起伏小于29.3mv的信号就力不从心了。
已然沟通信号是对称的,假如只收集上半波,将上半波扩充到整个ADC量程内,精度则可进步一倍。但二极管单导游通不能以0为边界准确半波整流,需求0.7v以上才干导通,并且相关于原始信号存在0.7v的差错,呵呵,这可比上述的29.3mv严峻多了。想了几天,已然不能够准确地以0v为界来区分,那能够以-0.7v甚至-1v区分,后边在软件中批改,至少ADC收集的信号要准确。
如图1,T3是电阻分压后的信号,T4是调度后的信号,尽管翻遍了LM3S811的datasheet没看到其ADC的输入电压极限值,现在也没有测验假如在设置0v~3v的状况下输入负电压会怎么样,但我想其能够丈量0v~3v和-1.5v~1.5v,输入-1v~3v的电压应该没有问题,负电压要是直接当0v处理,那倒以免我在软件上批改了。该办法假如可行,丈量信号的精度应该为14.6mv,对应的沟通电压便是10mv了,呵呵。
图1 原理图
图2 瞬态剖析图
综上所述,假如沟通信号频率改变,那能够屡次采样求面积。假如沟通信号是频率固定的,并且频率不高,这种状况也是最常见的,使用模仿比较器可准确地算出周期,其ADC收集信号时也只需在1/4周期处丈量最大值即可,这样核算也少,精度也能满意,一起认为是同步收集的,关于有效值为15/1.414=10.6v以下的信号,精度能够到达10mv,到达了10位ADC的极限,物尽其用了。