编辑: AA003 | 2019-09-11 |
710049 摘要本文给出了一种新型智能电子秤的设计方案.
该系统以单片机作为中心控制单元, 采用V F 型模数转换、 锁相倍频、 非线性校正和数字滤波等技术. 关键词 电子秤 单片机 非线性校正 数字滤波 Abstract This paper p resents a new design fo r the intelligent electronic scale. The m icro2 contro ller w as used as the central contro l unit in the system , the techniques of V F conversion, PPL m ultip lex frequency, non- linear co rrection and digital filter w ere emp loyed. Keywords Electronic scale M icrocontro ller N onlinear co rrection D igital filter
1 引言 随着科技的进步, 对电子秤的要求也越来越高. 影响其精度的因素主要有: 机械结构、 传感器和数显 仪表. 在机械结构方面, 因材料结构强度和刚度的限 制, 会使力的传递出现误差, 而传感器输出特性存在 非线性, 加上信号放大、 模数转换等环节存在的非线 性, 使得整个系统的非线性误差变得不容忽视, 因此, 在高精度的称重场合, 迫切需要电子秤能在线自 动校正系统的非线性.此外, 为了保证准确、 稳定地 显示, 仪器内部分辨率 (主要是ADC 的分辨率) 一 般要比外部显示分辨率高
4 倍以上, 这就要求所采 用的ADC 具有足够的转换位数, 而采用高精度的 ADC, 自然增加了系统的成本. 基于电子秤的现状, 本文提出了一种用单片机 控制的高精度智能电子秤设计方案.通过实时地对 系统的非线性进行补偿, 使测量精度得到了大大提 高, 由于采用数字滤波技术, 使稳态测量的稳定性和 动态测量的跟随性都相当好, 根据该方案设计的电 子秤已成功地用于航空发动机推力 (范围为 0~ 150kN ) 的测试, 并取得了令人满意的效果.
2 硬件结构及工作原理 硬件结构如图 2-
1 所示, 称重传感器输出信号 (0 ~ 200mV ) 经放大和模数转换后, 由单片机进行 数据采集, 然后通过软件完成非线性校正、 数字滤波 和归一运算等处理, 最后将测量结果送L ED 显示器 显示. 整个测量系统以单片机A T 89C51 为中心控制 单元, A T 89C51 内含完整的多通道定时器 计数器 和响应迅速的中断系统, 并且具有 4K 字节的电可 擦写程序存储器和接口方便的 I O 口.设计提出的 高分辨率V F 型模数转换和非线性校正都是在单 片机控制下完成的.
211 V F 型模数转换 在本系统中, 采用集成芯片V FC320 实现模数 转换, V F320 为精密电压频率转换器, 当选择10kH z 满度输出时 (输入电压范围:
0 ~ 10V ) , 线性 度可达 01005%.由于是频率输出, 运用锁相倍频电 路来提高分辨率, 在设计中, 倍频系数取 20, 因此锁 相环电路输出的频率范围是
0 ~ 200kH z. 频率的测量由单片机的内部计数器 T
0 完成, 其计数闸门时间为 0125S, 闸门脉冲由时基电路产 生, 并通过外中断 I N T
0 对计数器实施控制.T
0 为16 位计数器, 计数范围是 0~ 65535, 对于满度为 200kH z 的频率输入, 在闸门时间内的计数值为 50000, 根据 T
0 的计数值, 经线性校正、 数字滤波、 归一运算后, 便可得到测量结果. 对于单片机AT89C51, 当时钟振荡频率为12M H z 时, T
0 的最大输入频率为 500kH z.如果在 给定的闸门时间内计数脉冲数超过 65535, 可利用 ・
4 5 ・ 工业仪表与自动化装置
1999 年第
1 期 计数器 T
0 的计数值和溢出(中断) 次数来测量输入 的频率, 因此, 此V F 型ADC 可以达到很高的分辨 率. 图2-
1 电子秤硬件结构图
212 系统的非线性校正及实现 测量系统各环节(机械结构、 传感器、 数显仪表) 所造成的综合误差, 最终反映在作用于传感器的实 际被测量与仪器的显示值之间的差别上, 我们将这 种差别归结为整个系统的非线性误差. 系统的非线性, 可通过对系统的校准来获取. 设 校准时施加给传感器的(标准) 作用力为 S (i) , 对应 的仪器测量显示结果为M (i) (i 为不同的校准点) , 根据数组 S (i) 和M (i) , 通过数值拟合, 可以得到二 者之间的关系式, 即校正函数: S= f (M ) 由于系统的误差是系统各环节共同作用的结果, 产 生误差的原因比较复杂, 校正函数很可能有多个拐 点, 为保证校正函数的拟合精度, 采用分段最小二乘 抛物线拟合法. 分段的原则是: 每个段内的曲线只允 许有一个拐点, 同时记录各段两端的测量值M jm in 和M jm ax (j 为分段号).然后求出各段的最小二乘 拟合多项式: S j = C j0+ C j1 M + C j2 M
2 (2- 1) 为了保证拟合精度, 拟合多项式的系数用
3 字节浮 点数表示. 仪器工作时, 根据测量值M 的大小, 自动地取 出对应的拟合系数, 由式(2- 1) 计算出校正后的测 量结果.
213 数据显示电路 显示电路采用单片串行输入LED 驱动器MAX7219, 该器件与单片机接口简单, 仅需
3 根IO线, 而且编程容易, 显示方式灵活, 其输入数据既 可采用BCD 码方式, 又可采用非编码的
7 段数码方 式.M A X7219 的应用大大简化了硬件电路.
3 软件设计 系统软件包括主程序和中断子程序.主程序的 功能是完成系统初始化, 包括设置堆栈指针、 分配内 存空间、 设置中断控制字以及设定计数器 定时器的 工作方式等, 主程序结构如图 3-
1 所示.为了使各 环节硬件电路的输出在测量前达到稳定阶段, 从而 确保所测得的空载(零点) T
0 计数值的正确性, 仪器 上电时设置了
5 秒软件延时, 在这段时间里, 同时进 行系统的自检. 中断子程序包括 I N T
0 和INT1服务程序.数 据的采集、 非线性拟合、 数字滤波及显示控制都由 ・
5 5 ・
1999 年第
1 期 工业仪表与自动化装置 I N T
0 中断程序完成;
I N T
1 中断服务程序的功能是 键盘管理, 包括响应键盘输入、 键值分析和键功能的 处理等. 图3-
1 主程序流程图 下面重点介绍 I N T
0 中断服务程序的结构原 理, 其程序流程图如图 3-
2 所示. 此中断每
0125 秒 产生一次, 程序进入中断后, 首先是读出计数器 T
0 的内容, 紧接着进行数字滤波处理, 然后完成非线性 校正、 归一运算及数据的显示. 为了增加稳态测量显示的稳定性, 同时又能快 速地跟踪施加于传感器的作用力的变化, 软件采用 了改进的滑动平均值滤波方法. 所谓滑动平均值滤波, 是在单片机内 RAM 中 开辟一个数据暂存区, 待滤波的数据以环形队列结 构的方式存入该数据区, 即每新采集一个数据便存 入暂存区, 同时去掉一个最早存入的数据, 然后对数 据区的数据进行平均运算.由于队列中始终保持着 最近的数据, 因而计算结果也反映了待测参数的最 新值. 改进的滑动平均值滤波, 不是每次测量都作平 均处理, 是否作平均运算取决于本次计数值与上次 平均值的差值 M - M .若差值小于门限值 T (T 的 大小根据测量范围和测量的随机误差的大小来综合 确定) , 说明当前处于稳定测量状态, 为了稳定、 准确 的测量和显示测量结果, 进行滑动平均值滤波;
若差 值大于 T , 则认为处于动态或过滤态测量状态, 为了 实时跟踪输入的变化, 不作平均值处理, 直接以本次 计数值来计算测量结果, 并用该值刷新滤波队列的 所有单元. 与滑动平均值滤波相比, 改进的滑动平均 值滤波在保证了稳态测量精度的同时, 大大增加了 过滤态测量的跟随性. 图3-
2 TN T0 中断程序流程图 数字滤波处理结束后, 软件根据平均值M 的大 小选择相应的校正系数, 计算校正后的测量值. 为了 保证运算精度, 拟合多项式采用浮点运算. 在称重测量系统中, 往往有一个机械预紧力作 用于传感器, 因此, 空载时传感器有一个 零点 电压 输出.在实际测量时, 要扣除此 零点 值.此外, 为 了使测量显示值与实际值相同, 需进行归一运算. (下转第
46 页) ・
6 5 ・ 工业仪表与自动化装置
1999 年第
1 期 平衡容器的安装高度L 应与仪表的最大量程 一致. 即?Pm ax = lre′ + (L - l) r3′ - L re″ 代入式(4- 1) , 即得平衡容器的安装高度. L = ?Pm ax - H
0 (l- ? r″
1 ? r′
1 ) (r′ e- r′ 3) ? r″
1 ? r′
1 (r′ e- r′ 3) + (r′ 3- r′ e) 当水位偏离 H
0 时, 平衡容器产生的差压 ?1: ?P = ?P
0 (r′ 1- r″ 1) ?H (4- 5) ?P
0 ――水位为 H
0 时差压值 ?H ――水位偏离 H
0 之值 从以上的分析中可知, 不管用何种平衡容器测 量汽包液位, 只要汽包的工况偏离额定工况都起不 到很好的补偿作用. 随着计算机和智能仪表的使用, 只有动态补偿才能使汽包水位与压差一一对应.
5 平衡容器的安装
511 标高的确定 如果仪表显示以刻度盘中心作为水位零点则: 单室平衡容器: 安装水位线(取压孔内径的下缘 线) 与汽包的正常水位线+ 仪表正向最大刻度值. 双室平衡容器: 安装水位线 (正、 负取压孔间的 平分线) 与汽包的正常水位线一致. 蒸汽补偿式平衡器: 安装水位线(........