3. 万用表功能测试:直流电压测量精度校准与验证、交流电压测量精度校准与验证
好了,咱们接着聊万用表量产测试的核心环节——电压测量精度校准与验证。说实话,这块是整台表子的“脸面”。你直流测不准,交流测不准,用户第一反应就是“这表坏了”。我在产线上见过太多因为电压档位校准没做好,整批返工的案例。所以,这块咱们得掰开揉碎了讲。
3.1 直流电压测量精度校准
直流电压校准,说白了就是给万用表“定标”。让它知道,输入1.0000V,它就该显示1.0000V。这里我习惯用“两点校准法”,也就是零点和满量程点。
核心思路: 先校零,再校满。零偏了,后面全白搭。
3.1.1 校准流程
- 零点校准: 将输入端短路,读取ADC的原始码值。这个值理论上应该是0,但实际会有偏移。把这个偏移量存入EEPROM。
- 满量程校准: 输入一个高精度基准电压(比如10.0000V),读取ADC码值。计算增益系数,也存起来。
- 线性度检查: 我个人习惯在中间再取2-3个点,比如2V、5V、8V,看看线性度是否OK。有一次我在项目中发现,零点满量程都准,但中间点偏了0.02%,查了半天是ADC的积分非线性问题。
我的小技巧: 校准前,让万用表和标准源预热至少15分钟。温度漂移是精度的大敌,你想想看,刚开机和稳定半小时后的读数能差好几个字。
3.1.2 代码示例(伪代码)
// 直流电压校准函数
void DC_Voltage_Calibrate(void) {
uint32_t adc_zero, adc_full;
float gain;
// 1. 零点校准
Input_Short(); // 短路输入端
Delay_ms(100); // 等待稳定
adc_zero = ADC_Read_Average(10); // 读10次取平均
EEPROM_Write(ZERO_OFFSET_ADDR, adc_zero);
// 2. 满量程校准
Input_Apply(10.0); // 输入10.0000V标准电压
Delay_ms(100);
adc_full = ADC_Read_Average(10);
gain = 10.0 / (adc_full - adc_zero); // 计算增益
EEPROM_Write(GAIN_FACTOR_ADDR, gain);
// 3. 验证
float test_voltage = 5.0;
Input_Apply(test_voltage);
uint32_t adc_test = ADC_Read_Average(10);
float result = (adc_test - adc_zero) * gain;
// 判断误差是否在允许范围内
if (fabs(result - test_voltage) > 0.001) {
// 校准失败,标记不良品
Set_Fail_Flag();
}
}
注意: 校准系数一定要写双备份。我曾经遇到过EEPROM写入时掉电,导致系数全丢,整批表都得重新校准。血的教训啊。
3.2 直流电压测量精度验证
校准完了,咱们得验证。验证不是走过场,是真刀真枪地测。我一般会选几个关键电压点:
| 测试点 | 标准值 | 允许误差(±) | 备注 |
|---|---|---|---|
| 1 | 0.0000V | 0.0005V | 零点漂移检查 |
| 2 | 1.0000V | 0.001V | 低量程典型点 |
| 3 | 5.0000V | 0.005V | 中间量程 |
| 4 | 10.0000V | 0.010V | 满量程点 |
| 5 | 20.0000V | 0.020V | 超量程10%测试 |
每个点测3次,取平均值。如果某一点超差,别急着下结论。先检查测试夹具接触是否良好,再检查标准源是否稳定。我见过太多因为探针氧化导致误判的案例了。
3.3 交流电压测量精度校准
交流电压校准比直流麻烦一些。为什么?因为交流信号有频率、有波形、有真有效值(True RMS)的问题。说白了,直流是“静态”的,交流是“动态”的。
3.3.1 校准难点
- 频率响应: 同一个电压,50Hz和1kHz测出来可能不一样。我建议至少校两个频率点:50Hz(工频)和1kHz(通用频点)。
- 波形影响: 正弦波、方波、三角波,真有效值转换器的响应不同。量产时我们只校正弦波,但验证时最好加一个方波看看。
- 耦合方式: AC耦合会滤掉直流分量,这个在低电压测量时尤其要注意。
我的经验: 交流校准前,先确认你的标准源输出的是“真有效值”。有些便宜的标准源输出的是“平均值校准到有效值”,只对纯正弦波准。你换个波形就露馅了。
3.3.2 校准流程
- 零点校准: 输入端短路,读AC RMS值。理论上应为0,但会有底噪。这个底噪值要记录下来,作为补偿。
- 50Hz点校准: 输入50Hz、10.000V RMS的正弦波。读取ADC值,计算增益系数。
- 1kHz点校准: 输入1kHz、10.000V RMS的正弦波。再算一个增益系数。如果两个系数差异较大,说明前端模拟电路频率响应不平坦,需要硬件上做补偿。
避坑指南: 我曾经遇到一批表,50Hz校得准准的,但测400Hz的航空电源时误差大了10倍。后来发现是前端滤波电容的容值偏了,导致高频衰减。从那以后,我要求产线必须校两个频点。
3.4 交流电压测量精度验证
验证交流精度,我一般会这样安排:
| 测试点 | 频率 | 标准值(RMS) | 允许误差 |
|---|---|---|---|
| 1 | 50Hz | 1.000V | ±0.5% + 5字 |
| 2 | 50Hz | 10.000V | ±0.5% + 5字 |
| 3 | 50Hz | 100.00V | ±0.5% + 5字 |
| 4 | 1kHz | 10.000V | ±1.0% + 10字 |
| 5 | 方波 1kHz | 10.000V | ±2.0% + 10字 |
注意看,方波的误差我放得比较宽。因为真有效值转换器对方波的响应本来就不如正弦波好。只要在规格书范围内,就算合格。
3.5 量产测试中的常见问题与对策
- 问题1:校准后第二天又偏了。 大概率是温度漂移。对策:校准前充分预热,或者做温度补偿。
- 问题2:同一块表,不同工位测出来结果不一样。 检查测试夹具的接触电阻。我见过用劣质香蕉插头,接触电阻有0.1Ω,在测大电流时误差巨大。
- 问题3:交流档位低频(比如10Hz)测不准。 这是真有效值转换器的低频响应限制。对策:在规格书中明确标注频率范围,或者加一个低频补偿算法。
最后提醒一句: 校准和验证用的标准源,一定要定期送计量院检定。你标准源都不准,校准出来的表能准吗?这个道理很简单,但很多产线为了省事,一年都不送检一次。嗯,这里要注意,这是底线。
好了,直流和交流电压的校准验证就讲到这里。下一章咱们聊电流测量,那又是另一番天地了。