一种高精度、宽量程的电阻测量系统和算法设计

2018-12-07 08:31,,
单片机与嵌入式系统应用 2018年11期
关键词:档位电容滤波

,, ,

(1.西北工业大学 航海学院,西安 710072;2.中国人民解放军63612部队)

引 言

电阻测量在电子产品质量检测、电子设备维修以及新产品的开发等领域具有重要意义[1]。而对于常见电阻的测量电路,小电阻的测量[2-4]和利用微电流[5-6]测量高阻值的电阻都已经有部分研究成果,但大部分都采用分立测量的方式[2-9]。测量方法比较局限,电路干扰因素过多,很难通过电路自身排除导致测量精度不高的因素,难以达到诸多领域的要求。针对以上问题,系统设计时结合实际需求,基于一阶RC电路电容充放电理论,通过STM8单片机定时器和I/O中断系统,记录RC电路电容充放电时间,根据充放电时间计算得出电阻值,然后对测量结果进行平滑滤波处理提高测量精度。平滑滤波在数字信号处理领域中占有重要地位,系统采用的主要算法是改进的平滑滤波。实验结果表明,经过改进的平滑滤波算法处理,测量结果精度明显提高,并且稳定性良好。利用串口将测量结果实时传递给上位机,便于观测和调试,在测量类似于温度等实时性要求比较高的领域中具有重要意义。

1 系统电路设计

1.1 主控电路

如图1所示,为提高测量系统的测量效率,特设置了两个相同的测量模块,可同时进行两路电阻的测量。主控电路包含单片机最小系统STM8S103F3P6和LED灯D2,D2用来指示系统工作状态;端口PC3、PA3设置为输出模式,输出高电平时为RC电路充电,输出低电平时RC电路放电;引脚PC6、PC7设置I/O上升沿中断,分别采集两路RC电路中电容两端的电压,当电容电压达到单片机I/O能识别的高电平电压时,PC6~PC7的I/O端口产生中断,此时从定时器读出充电时间;PA1、PA2、PD2、PD3端口分别控制两路RC电路测电阻的档位,当选择默认档位时,均设置为输出高阻态,使用该档位时,对应端口设置输出低。各引脚设置状态如表1所列。

图1 主控电路

I/O端口名称设置模式中断触发方式PC6、PC7输入模式、允许中断上升沿触发PA3、PC3快速强推输出低无PA1、PA2PD2、PD3快速开漏输出高阻态(当选择相应的档位时设置为快速强推输出低)无

图2为系统电压模块,系统由USB提供5 V电压,但单片机工作电压为3.3 V。采用AMS1117-3.3电压转换芯片为单片机提供3.3 V电压。

图2 电压转换模块

1.2 RC电路测量模块

RC电路时间常数为:

τ=RC

(1)

充电时间函数为:

(2)

由式(2)可知,当电容两端电压VC和电源电压Vs一定时,电容充电时间只与时间常数τ有关。在本系统中,电容两端电压Vc是单片机I/O口能触发中断的电压值,Vc和Vs均由单片机I/O接口直接供电。由图1和图3可知,本系统RC电路源电压Vs由单片机I/O接口PC3/PA3供电,如图3所示,当I/O接口拉高时,电容开始充电,此时打开定时器开始计时,电容两端电压达到I/O能识别的高电平时发生中断,获取充电时间值;当I/O接口拉低时,电容开始放电,放电完成后再进行下一次充电。由式(1)可知,电阻阻值与时间常数成正比,阻值越大时间常数越大,充电时间越长,电容越小,充电时间越短,为确保宽量程条件下的响应速度,根据电容大小设置了不同的测量档位,既扩大了测量量程,又保证了测量速度。如图3所示,J2、J3外接测量电阻 C1、C11和C2、C22分别代表两路测量系统中的两个档位,相应I/O端口输出低时,代表接通不同的测量档位。因两路测量系统完全一样,档位说明以第一路测量系统为例,如表2所列。

图3 RC电路测量模块

电容选择测量范围/ΩC5:1×107pF20~2kC7:1×105pF2k~200kC8:1×103pF200k~20M

2 改进平滑滤波算法实现

平滑滤波是根据某一时间区间的测量值来估计状态值。从原理上说,平滑滤波的估计精度是比较高的,因为它几乎利用了所有的量测信息[11]。常见的平滑滤波方法有固定区间平滑滤波和固定点平滑滤波[12]。固定区间平滑滤波依据一定时间内的观测值来预测当前系统值,具有信息利用率高、估计结果准确的优点,但计算量大、运算时间较长。固定点平滑滤波算法是依据当前点预测值对上一个固定点预测值进行修正,从而减少了数据处理的运算量。

本系统算法结合固定区间平滑滤波和固定点平滑滤波,以当前时刻以前几个值的中心值作为当前值可靠性的判断依据,以当前值的可靠性来决定数据是否能作为判断下一个数据稳定性的依据,以此不断对依据值进行修正,该算法既保留了固定区间平滑滤波估计值的准确性,又有固定点平滑滤波的计算速度。经过滤波处理的最终数据通过串口传送给上位机。

图4 一级处理函数流程

在算法实现过程中,运用冒泡次数来判断数据的趋势,进而对数据处理精度作出调整,减少了测量过程中的无效等待时间,在保证测量精度的基础上提高了实时性。在算法设计过程中充分考虑到其扩展性能及优化性能,第二级滤波函数在第一级滤波处理得到的数据基础上,再进行一次平滑滤波,测量结果精度能达到更高,但不足之处是滤波处理调用次数越高,计算时间就越长。因此在算法设计时要考虑实际应用场景,合理调用滤波函数。二级滤波原理与一级滤波原理相同,在此不再赘述。具体算法流程图见图4~图6。

图5 一级预测值获取流程

3 实验结果分析

实验过程分析以2 kΩ电阻为准,其他见测量结果。

3.1 测试实验结果

图7~图9分别为采用改进平滑滤波算法后测试、普通平滑滤波算法测试和不加平滑滤波算法上位机显示结果。对比可知,改进后的平滑滤波算法明显提高了数据的稳定度和精度。

3.2 精度分析

由表3可知,当使用平滑滤波算法后测量精度最高能达到0.05%。

图6 一级滤波处理函数

图7 改进平滑滤波后测试结果

图8 普通平滑滤波结果

图9 不加平滑滤波算法结果

待测电阻/Ω平滑滤波测量结果/Ω平滑滤波测量精度198.2200.21.00%2.01k2.0134k0.17%19.8k19.899k0.50%15.8M15.652M0.94%199k198.99k0.05%

结 语

猜你喜欢
档位电容滤波
三绕组变压器运行分接头档位计算及电压分析
三绕组变压器运行分接头档位计算及电压分析
PWM Buck变换器电容引起的混沌及其控制
一种降压/升压式开关电容AC-AC变换器设计
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
引入分接头档位的换流变差动保护方案研究
基于单片机的变压器档位监测双输入BCD编码器
投射式多点触控电容触摸屏
基于随机加权估计的Sage自适应滤波及其在导航中的应用