量的实验,最后利用MATLAB做了相关数据处理,求出了输入电压值与测得的A/D转换数值之间的线性关系。如图4.1所示,其中绿色的直线是拟合得到的,而“*”则是实际的测量值。由图可以看出,求出的拟合值与实际值是非常接近的,完全满足本设计对电压测量精度的要求。通过MATLAB拟合求得A/D采集值与输入电压的函数关系:Р (4.3)Р其中表示AD采集的值,而则表示是电压值。Р图4.1 输入电压函数曲线Р利用电流传感器ACS712把输入电流转化成相应的电压值,再通过DSP的A/D转换及函数关系算出电流大小。ACS712的电源电压不是双极性时,其基准值为电源电压的一半,本设计中ACS712电源电压为5V,所以基准值为2.5V。流入芯片的电流为正时,输出电压从2.5V往下减小,输入电压越大,输出电压减小的越多直到零为止。反之,输出电压从2.5V往上增加,增到5V为止。本设计把ACS712输出的电压放大3.3倍,使其有610mV/A的转化精度。输入电流是直流即单向的,为了提高系统的安全性,把输入电流正向接入,使电流升高时,电压下降。开关器件通断使输入电流有一定的波动,软件上也采用算术平均值法(上文介绍)。通过采集一组数据,用MATLAB拟合得到如图4.2所示,从图来看,真实值(“*”所表示的)分布在拟合曲线(绿色实线所表示的)附近,虽然有一定的偏差,但能满足本装置相关指标的要求。Р其得到的计算公式为:Р (4.4)Р图4.2 输入电流函数曲线Р输出电流是交流的正弦信号,所以不能对整个周期的数值取算术平均值来滤波。每10次A/D转换算一次平均值,也可以达到不错的效果,这样每周期采集40个不同的电流值,能够满足设计需求。通过一组实际测得直流电流值与AD采集得到的数据,使用MATLAB做了线性拟合,得到的图形如图4.3所示(“*”:实测的点;实线:拟合的曲线)和输出电流求解公式:Р (4.5)