带隙基准电压的智能电阻自动测试仪设计
2019-09-06邵海龙
邵海龙
(武夷学院 机电工程学院,福建 武夷山 354300)
伴随现代科学技术的飞速发展,电子科技如雨后春笋般快速成长起来。在电子行业中,数字化测量仪器相比模拟仪器因为使用方便、测量快速和测量精度高等优点,所以被广泛应用于现代电子行业中。而其中的一款常用模拟仪表,模拟式电阻测量仪已经越来越跟不上这个飞速的电子时代[1]。伴随着数字式测量仪器越来越受欢迎,为了紧跟科技时代的步伐,智能电阻测试仪应用而生。
常规电阻测量仪的测量范围及精度有限,无法对高技术要求的电阻进行测量,而目前工程技术人员广泛使用的电阻测试仪主要为万用表,但是使用万用表存在几个缺陷:第一,大多数万用表的量程有档位选择,测量不同的电阻时需要转换不同的档位进行测量,因此就需要人为进行换档;第二,万用表不能自动进行筛选电阻,对于很多需要进行筛选电阻的应用场合,就需要人为的参与选择[2]。所以在技术工程人员在使用电阻、区别电阻时浪费了大量的时间。基于以上作者设计了“基于带隙基准电压的智能电阻自动测试仪”。
1 系统硬件设计
该系统主要设计思路为:通过恒压芯片,将电压稳定在一个值,通过MCU先采集当前稳压芯片上电压保留当做基准电压,此时将稳定的电压值通入测量电阻网络,通过系统后台分析选择合适的档位测量待测电阻后,得出一个新的电压值,MCU采集此时产生的新电压。再通过MCU和基准电压进行公式换算,计算出当前的电阻值,并通过显示器将参数显示出来。系统整体结构框图如图1所示。
图1 系统整体结构框图Figure 1 Overall structure block diagram of the system
1.1 系统主要电路模块设计
1.1.1 主控芯片
采集5 V电压下的分压电阻,很多高性能的单片机如果直接采集将被烧毁,如果坚持采用将需要增加保护电路。通过实际电路验证发现保护电路将增加系统整体电路的复杂性,同时还会影响系统的采集精度。采用STC15F2K60S2单片机系统设计简单,价格便宜。本身5 V供电内部10位ADC,且ADC的第9通道用来测试内部的带隙电压,由于内部带隙电压稳定,不会随芯片的工作电压的改变而变化,所以可以通过测量带隙电压,然后通过ADC的值便可反推出VCC的电压,即可以精准的计算出采集电压。该设计方案通过实际测试完全满足设计要求,并且保护电路简单方便。该芯片兼容标准MCS-51指令系统,芯片内集成8通道10位ADC和60 KBFlash程序存储器,1 KB数据Flash,2 048 B的SRAM。拥有灵巧的8位CPU和在线系统可编程Flash,使得STC15F2K60S2为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
1.1.2 电阻采样方案
1.1.3 显示屏的选择
电阻测试仪显示方案选用OLED12864完成,该屏幕体积小巧、管脚数少、字体清晰可视度高。由于采用IIC接口数据传输较慢,如采用刷新显存的方式,将占用CPU大量时间且屏幕抖动不流畅。对于数据传输慢的问题,软件程序将显示部分分为静态显示及动态显示,只对变量进行动态时时刷新显示,其余信息将静态显示只刷新一次。从而有效解决了速度慢的问题。
1.1.4 电源方案的选择
对电源电压精度要求较高,且分压电路在测量电阻时需要足够电流,因此本试验采用MP1584EN DCDC压降模块,输出电压5 V精度达到1%,最大工作电流3 A,输出纹波小于30 mV。有效的保证了电源的稳定和充沛。
1.1.5 量程自动切换电路
量程自动切换电路大部分设计均采用多量程开关MPC509完成。该设计虽然电路简单,但是因为器件本身具有内阻,将对测量精确度产生很大影响。小型贴片继电器器件内阻极小,对测量影响基本可以忽略不计。
1.2 相关硬件测量原理
1.2.1 电阻测量原理
电阻测量电路是根据分压原理,电源VCC的电压分别加在被测电阻和标准电阻上,形成分压,为了系统测得Uo能够准确,电源VCC采用稳定的电源模块。继电器用来切换到不同阻值的标准电阻,因为继电器内阻极小,切换档位时不会对Uo产生影响,能够保证Uo的准确度。当继电器切换到不同的量程时,标准电阻分得的电压Uo就会不同,如图2所示。
图2 电阻测量电路图Figure 2 Resistance measurement circuit diagram
其中固定电阻网络由四只固定电阻构成,因为单片机采集电压不能超过5 V,所以其阻值根据分压公式计算如下:
100Ω档位时,电阻取值100Ω,固定电阻取值68Ω,则
1 kΩ档位时,电阻取值1 kΩ,固定电阻取值680Ω,则
10 kΩ档位时,电阻取值10 kΩ,固定电阻取值6.8 kΩ,则
通过计算,100Ω、1 kΩ、10 kΩ档位的电压Uo=2.976 V,电压符合单片机采集要求。
2 MΩ档位时,电阻取值2 MΩ,固定电阻取值470 kΩ,则
在电阻取值2 MΩ,固定电阻取值470 kΩ时,经计算电压依旧符合单片机采集要求。
在设计电路图时考虑到100Ω量程下电阻值太小,电流增大,普通贴片电阻功率不够,可能引起发热导致烧毁,因此预设两种不同封装R27与R11两电阻并联,R27是功率为1 W的电阻,R11是普通的0805贴片电阻。实际测试完成后只焊接1 W的R27电阻,R11电阻不进行焊接。设计电路板初期时预留了五个量程考虑2 MΩ量程测量0.001~2 M范围太大,多预留一个量程。后期成品使用四个量程已完全满足设计要求。
A/D采样电路是将测量电路测得Uo的值进行模数转换后送给单片机进行处理,在单片机内部对得到的数据进行计算,根据上面串联电阻分压公式可推导出如下公式:
程序上R取值6 800,运算结果取整数,从而避免浮点型数据运算占用大量运行时间。
通过公式算出被测电阻的阻值后送给显示,在OLED上显示被测电阻当前阻值。当检测不同档位阻值的电阻时,由单片机发出控制信号控制继电器切换到不同的档位。
1.2.2 电源设计原理
电源利用MP1584EN(如图3所示)此芯片输入电压范围广可达4.5 V到28 V,发热量低,干扰小。且输出最大电流达3 A,电压输出非常稳定,输出纹波小于30 mV,极小的干扰完全满足设计需求,且适应电压能力强。
设计电路在输入及输出增加470μF的电解电容以及0.1μF瓷介电容,保证输出电压的稳定。
考虑电阻采样部分需要稳定电压,继电器、蜂鸣器、LED灯等一些外围器件的使用可能引起电压瞬间的不稳定。因此电源分为两组,一组电源独立为单片机以及电阻采用部分提供电源,另一组则给继电器、蜂鸣器、LED灯供电。其电路图如图3所示。
图3 系统电源电路Figure 3 System power circuit
1.2.3 主控制器设计原理
根据设计思路,需要通过单片机采取第一个电压——基准电压,基准电压采用STC15系列的单片机提供的内部的基准BandGap(内部带隙电压基准)。由于每片芯片的制造差异性,每个基准的比例不是相同的,每个单片机的基准BandGap都不同。因此需要在5 V标准电源下测量BandGap的ADC读数,也就是采集第一个由稳压芯片出来的电压,然后存储在eeprom内。然而标定值会储存在两个地方,一个是RAM(内存)末尾,一个是ROM(程序区)末尾。此时要注意若程序写满时则存在ROM(程序区)的数据会被覆盖。
在硬件设计上单片机采用了STC15F2K60S2-28I-LQFP44G封装的贴片单片机,体型小巧(12 mm×12 mm×0.05 mm)。STC15F2K60S2单片机不需要外部晶振和外部复位电路便可以正常工作,从设计上来说,对于硬件设计及PCB设计上来说减小了一定工作量,在本设计中,有添加一个24 M的外部晶振,并且增加了一个复位按键,均为体积小巧的贴片式元件。
在程序处理上,通过ADC通道0,单片上的P1.0口,采集通过分压电路后输出的电压数据,采集5次后通过冒泡处理后得出该电压值,并利用公式换算出电压值。
在设计PCB中,对该部分线路做出精简的设计方法,设计通往P1.0口的电路线远离电源及地,不让其受到干扰,保证采集到的AD值的准确性。
2 系统软件设计
设计程序采用分时系统,CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位。将系统处理时间按照一定的时间间隔(也就是所说的时间片)轮流地切换给各个任务程序使用,其轮流切换示意图如图4所示。
时间片:是指把单片机进行时间上的分割,每个时间段称为一个时间片,每个任务依次轮流使用时间片。
分时技巧:把单片机运行处理的时间分为很短的时间片,本次设计框架分为初始化时间片1、25、50、100、500、1000 ms。六个时间片,每个时间片轮流在对应的时间进入执行相应的任务函数。
初始化时间片执行,OLED静态界面函数(不实时刷新,必要的切屏只刷新一次)。
5 ms时间片执行任务:矩阵按键扫描函数。
25 ms时间片执行任务:AD采样函数(采样5次进行冒泡处理后采样BandGap(内部带隙电压基准)计算电源电压以及电阻阻值)。
50 ms时间片执行任务:继电器扫描函数,蜂鸣器扫描函数。
100 ms时间片执行任务:OELD动态显示函数(变量参数每100 ms刷新)。
500 ms时间片执行任务:电阻筛选任务函数。
1 s时间片未执行任务。
图4 系统操作时间轮流操作示意图Figure 4 System operation time rotation operation diagram
2.1.1 系统主程序流程
系统开机,进入待机状态,此时,系统默认电阻测试功能,通过按键选择进入对应的功能,如若5 min无任何操作,系统将进入休眠来减少功耗。系统主流程图如图5所示。
图5 系统主流程图Figure 5 System main flow diagram
图6 电阻测量流程图Figure 6 Flowchart of resistance measurement
2.2.2 电阻测量功能流程
系统开机,默认进入电阻测量功能,在待机状态下,每25 ms检测一次AD通道是否有参数,如果没有参数,系统继续待机,循环直到AD通道产生参数后,每25 ms采集并保存一次AD值,然后通过冒泡排序排列出最佳AD值,并通过分压算法计算出电阻值,并让OLED屏幕显示当前电阻值,在显示前,会对值进行校准,让电阻值更加准确。其软件流程如图6所示。
2.2.3 电阻筛选功能流程
待机状态下,每25 ms检测一次AD通道是否有参数,如果没有参数,系统继续待机,循环直到AD通道产生参数后,每25 ms采集并保存一次AD值,然后通过冒泡排序排列出最佳AD值,并通过分压算法计算出电阻值,用测量出的电阻值和输入的电阻值进行比较,求出误差,并显示当前电阻值。其流程图如图7所示。
图7 电阻筛选功能流程图Figure 7 Resistance screening function flow chart
3 测试数据分析与结果
3.1 测试方案
将自动电阻测试仪分别测试100、1.0×103、1.0×104、1.0×106Ω四档量程范围内测量不同阻值的电阻Rx,并记录结果。然后使用四位半数字万用表分别测量被测电阻的阻值Rx,利用分压公式:
求出准确度,并计算电压差以便后续校准工作。
3.2 校准后数据
在程序上采用了补差校准,将电阻值得误差减小[5];硬件上优化了印制板的焊接,以及电源部分铜面的扩大优化后,全部数据都在以内,甚至更加的精准,部分数据几乎没有误差。校准后数据如表1所示。
表1 各欧姆档校准后测量数据
3.3 结论
该智能测试仪主要完成:(1)测量量程为100、1.0×103、1.0×104、1.0×106Ω五档,测量准确度为±(1%读数+2字);(2)3位数字显示(最大显示数必须为999),能自动显示小数点和单位,测量速率大于5次/秒;(3)100、1.0×103、1.0×104Ω三档量程具有自动量程转换功能;(4)具有自动电阻筛选功能,即在进行电阻筛选测量时,用户通过键盘输入要求的电阻值和筛选的误差值;测量时,仪器能在显示被测电阻阻值的同时,给出该电阻是否符合筛选要求的指示。
经测定与实际使用,基于带隙基准电压的智能电阻自动测试仪完全能够满足日常常规电阻的自动量程切换测量,为工程设计人员的使用带来便利,该电阻测试仪测量速度快、精度高、使用方便,具有很高的实用价值。