·上一文章:一个用于流水线模数转换器的高精度、低功耗采样保持电路
·下一文章:一种视觉导航机器人的设计
经过实测得到表1所示测量数据。
表1 未校正前电流输出测量值 单位:mA
设置值 | 输出值 | 设置值 | 输出值 | 设置值 | 输出值 | 设置值 | 输出值 |
0.5 | 0.486 9 | 5.5 | 5.529 | 10.5 | 10.557 | 15.5 | 15.608 |
1 | 0.990 0 | 6 | 6.032 | 11 | 11.062 | 16 | 16.111 |
1.5 | 1.492 8 | 6.5 | 6.534 | 11.5 | 11.567 | 16.5 | 16.614 |
2 | 2.000 | 7 | 7.037 | 12 | 12.072 | 17 | 17.118 |
2.5 | 2.504 | 7.5 | 7.540 | 12.5 | 12.577 | 17.5 | 17.621 |
3 | 3.008 | 8 | 8.042 | 13 | 13.082 | 18 | 18.124 |
3.4 | 3.513 | 8.5 | 8.545 | 13.5 | 13.587 | 18.5 | 18.628 |
4 | 4.017 | 9 | 9.048 | 14 | 14.093 | 19 | 19.131 |
4.5 | 4.521 | 9.5 | 9.551 | 14.5 | 14.598 | 19.5 | 19.634 |
5 | 5.026 | 10 | 10.054 | 15 | 15.103 | 20 | 20.14 |
误差与设定值的关系可用两条直线(ab、ac)
描述,如图3所示。
通过对以上测量数据的分析,测量值与设置值之间存在着一定的误差,原因主要有以下几点:
①本电路用到了双积分RC电路,RC电路中充、放电过程存在着非线性问题,同时电路中的电容存在着精度、漏电等问题,因此输入脉宽调制信号转化为直流电压时存在一定的非线性关系,产生了一定的误差。
②跟随器主要由运算放大器构成,如果是理想的运算放大器,则“虚短”和“虚断”的条件才成立,而实际应用中,没有理想的运算放大器。因此,正相、反相输入端电压差不为零,也会产生一定的误差。
3 解决方法
通过对上述测量数据的比较、分析,可采用软件线性回归的方法对输出电流进行校正。
设直线方程y=ax+b,其中y为校正后PWM的脉宽设定值,x为电流输出设定值。
本电路校正方法是:将数据从2mA处分为两段进行线性回归。
直线ac:
y=a1x+b1,a1=(2-0.5)/(2-0.0486 9),b1=2-a1×2;
直线ab;
y=a2x+b2,a2=(20-2)/(20.14-2),b2=2-a2×1。
通过单片机校正后,实测数据和表2所列。
表2 校正后电流输出值
设置值 | 输出值 | 设置值 | 输出值 | 设置值 | 输出值 | 设置值 | 输出值 |
0.5 | 0.489 9 | 5.5 | 2.518 | 10.5 | 10.509 | 15.5 | 15.517 |
1 | 0.990 0 | 6 | 6.019 | 11 | 11.011 | 16 | 16.019 |
1.5 | 1.499 9 | 6.5 | 6.517 | 11.5 | 11.513 | 16.5 | 16.518 |
2 | 2.000 | 7 | 7.016 | 12 | 12.014 | 17 | 17.016 |
2.5 | 2.502 | 7.5 | 7.514 | 12.5 | 13.015 | 17.5 | 17.519 |
3 | 3.002 | 8 | 8.014 | 13 | 13.015 | 18 | 18.019 |
3.5 | 3.501 | 8.5 | 8.511 | 13.5 | 13.515 | 18.5 | 18.518 |
4 | 4.002 | 9 | 9.009 | 14 | 14.016 | 19 | 19.018 |
4.5 | 4.502 | 9.5 | 9.503 | 14.5 | 14.518 | 19.5 | 19.519 |
5 | 5.002 | 10 | 10.001 | 15 | 15.017 | 20 | 20.020 |
经过上述方法校正,输出电流值的精度达到±0.1%。
4 结论
本电路的硬件部分采用通用器件,结构简单,成本低;充分利用了89C52的定时器资源,使用了定时器T0、T1、T2。89C52的其它端口和引脚都未被占用,这样,该电路可以很容易地移植到其它控制系统和测量系统中;同时采用软件对输出电流进行校正,精度达到±0.1%;具有串行接口,便于组网控制;因此,本电路具有光电隔离、通用性强、精度高、低成本的特点,且实用价值较高。