资讯动态

【87】四点应变片称重设备

发布时间:2026/10/24 2:17:59 来源:尧图企业网站定制
1 引言本blog记录了四点式悬挂称重设备开发过程中的一些内容在写中总结在写中分析亦便于日后的回顾和复习。2 滤波器2.1 一阶低通滤波2.1.1 概念一阶低通滤波器目的是将截止频率以内的信号无衰减通过高于截止频率的信号被阻断产生衰减。上述Hs是一阶低通滤波器的传递函数。2.1.2 电路一阶低通滤波器如下展示为最常见的RC一阶低通滤波器。其传递函数如下对比标准传递函数公式可得因此可根据截止频率fc来设计RC得值。2.1.3 数字一阶低通滤波器如下是一阶低通滤波器模型。下图展示了经过一阶低通滤波后波形的前后对比。2.2 Butterworth 滤波器ButterWorth滤波器是IIR无限脉冲响应滤波器的一种是经典逼近式。设计目标是使通带内的频率响应尽可能平坦无波纹且整体幅频响应单调下降。代价是过渡带从通带到阻带的下降斜率相对平缓信号的选择性不如其他类型。2.3 常见滤波器总结2.3.1 IIR滤波器IIR是无限冲激响应滤波器输出不仅取决于当前输入信号也取决于过去的输入和过去的输出。2.3.2 IIR滤波器FIR是有限冲激响应滤波器FIR 只会“记住”有限个输入样本影响输出的仅是有限个样本。常见滤波器比较3 系统方案3.1 硬件方案主控MCUSTM32L431ADS1261高精度ADC模块20SPSFIR3.2 数据稳定性判断方案数据稳定性判断开辟了12个数据作为缓存基础数据每新来一个数据则替换掉最旧的数据。1窗口数据不满时不稳定2新数据超过当前数据平均值上下连续两次则判断为数据不稳定3计算窗口缓存数据方差方差小则表明数据较为稳定3.2 零点自动追踪方案在不放重物清空下ADC采集应变片的数值也会随机跳变且因为应变片具有迟滞性空载0点不一定是一个固定值。因此为了测量精度更高在应变片adc值变化较小时空载0点需合理的跟随实际的0点进行微小的变化。1数据不稳定时判断adc值是否穿越了0点adc0如果有穿越那么数据异常重量显示清零2零点自动跟随方案使用的是一阶低通滤波zero_new zero_old α × (ADC_current - zero_old)更新频率是每1.5s间隔调用一阶低通滤波算法进行一次0点自动更随。只有ADC值变化小于500这个数值或测量重量变化在0.1kg变化内才允许自动跟踪。3.3 二阶ButterWorth 低通滤波器二阶Butterworth滤波器传递函数如下。其特点如下来自deepseek在称重采集应变片传感器 ADC 值时选择 Butterworth 滤波器核心原因在于称重信号本质上是直流或极低频信号而 Butterworth 滤波器在通带内具有“最大平坦”的幅频响应意味着它能在有效滤除高频噪声和振动干扰的同时不引入任何通带纹波从而避免对真实的重量直流分量造成周期性调制或失真。项目中使用Butter worth滤波器对信号滤波并使用IIR滤波器进行对比滤波器设计如下。IIR滤波器参数一阶低通滤波、α 0.6公式zero_new zero_old α × (ADC_current - zero_old)Butter Worth滤波器参数采样率5Hz 、 截止频率0.016Hz、二阶低通滤波、窗口大小是12项目中滤波器滤波前后比对如下。在采样率和截止频率设置不对情况下可能会出现不好的滤波效果如下图示。空载时波形变化。3.4 四点式悬挂称重本项目是四点悬挂式称重每个悬挂点有一个应变片传感器通过ads1261采集传感器的模拟量然后再使用最小二乘法直接拟合实现对物体的称重。// 矩阵直接拟合方案 // W cw[0]*x1 cw[1]*x2 cw[2]*x3 cw[3]*x4 // Mx cmx[0]*x1 cmx[1]*x2 cmx[2]*x3 cmx[3]*x4 // My cmy[0]*x1 cmy[1]*x2 cmy[2]*x3 cmy[3]*x4 // 参数说明 // x1 ~ x4 分别是四个通道采集到的adc值 // cw 是 重量与adc系列 // cmx、cmy是 重心位置与adc值系数3.5 温度补偿本项目工程中使用两点线性温度预测模型。// 如以常温T0 25度、T1 80度为范围进行温度补偿参数计算 // 零点补偿系数 // k0 单位是 count/°C 每变化 1°C零点漂几个 count k0 ( adc0(80°C) − adc0(25°C) ) / ( T2 − T1 ) //灵敏度补偿系数 // k1 单位 1/°C 每变化 1°C灵敏度相对变了百分之几 k1 ( cw(80°C) − cw(25°C) ) / ( cw(25°C) × (80 − 25) ) ( cw_t2 − cw_ref ) / ( cw_ref × 55 )温度补偿参数确认需进行如下标定示例。时间点1常温 25°C└─ 跑一次完整 CALIB_ALL0kg 28 点→ 得到 adc0(25°C)、cw(25°C) ← 这就是参考点T_cal 25时间点25°C已热平衡└─ 快速量两组0kg 各通道零位 50kg 放台面中心各通道→ 得到 adc0(5°C)、cw(5°C) ← 这就是第二点T2 51零点补偿系数k0 单位(count/°C)零点温度补偿模型:补偿值adc K0 * 温度 x count/℃ * y ℃ count重量 cw * ( adc值 补偿值adc) x kg/count * y count kg2灵敏度补偿系数k1 单位(1/°C)灵敏度温度补偿模型:补偿值cw_new cw * ( 1 k1) * Δ温度 x kg/count重量 cw_new * adc值 x kg/count * y count kg总温度补偿模型重量 cw_new * ( adc值 补偿值adc) x kg/count * y count kg

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑