配料电子秤单片机测控系统的抗干扰软件设计

类别:公司新闻 时间:2018-03-24 点击:147 次

在恶劣环境条件下使用的配料电子秤,常因环境因素、被秤物料的冲击使计量器具失去准确度,本文针对 冲击信号给工业配料电子秤带来的不利影响,以MCS- 51系列单片机测控系统为研究对象,在软件设计中采取 了数字滤波、软件陷阱、、看门狗”、指令冗余、输入/输出等抗干扰设计方法,有效防止了冲击信号对可编程工业 配料电子秤测量精度和可靠性的影响,提高了配料秤的可靠性。
0.前言
在矿山、铸造等环境恶劣条件下使用的配料电子秤,常因环境因素、被秤物料的冲击使计量器具失去 准确度,其中因冲击载荷所致者达95 %。恶劣环境下配料秤系统运行时可能会遇到意想不到的干扰, 如信号的冲击干扰、系统外的电磁场和电源干扰,还有来自系统本身的噪声,这些干扰是随机的,会对配料 电子秤的稳定运行产生严重的影响,使其性能指标偏离设计要求。抗干扰是配料电子秤中单片机测控系 统设计应考虑的主要问题之一,系统的抗干扰措施可以从硬件和软件两方面着手,本文主要讨论软件抗 干扰设计。
1.测控系统构成
测控系统的构成如图1所示,电阻应变式称重传感器将配料的重量转换为线性电压输出,此微小电压 经低飘移的直流放大器放大,再通过A/D转换将模拟电压变换成相应的数字量。由单片机处理后,一方 面在显示器上将重量显示出来,并可通过键盘输入一些干预单片机工作的信息,如要求单片机去除皮重、 自动调零等;另一方面可以设定配料输入、自动加料、放料等。

2.数字滤波技术
电子配料秤受冲击干扰的强度、时间都是随机的,采集到的数据误差也是随机的,为克服随机干扰引 入的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波,满足配料秤动载荷频率低于 10Hz的要求。数字滤波有以下优点:数字滤波无须硬件,只有一个计算过程,可靠性高,不存在阻抗匹 配问题,尤其是数字滤波可以对频率很低的信号进行滤波,这是模拟滤波器做不到的;数字滤波是用软件 算法实现的,多输入通道可共用一个软件“滤波器”,从而降低系统开支;数字滤波可以方便的通过修改滤 波程序或运算参数改变其滤波特性,这对于低频、脉冲干扰、随机噪声等特别有效。铸钢、铸铁等生产现场条件恶劣,物料的形状差异很大,脉冲干扰严重,为满足配料秤动载荷频率低于10Hz的要求,应采用数字 滤波对其冲击干扰进行滤波。
数字滤波指的是对输入数字信号x( n)按一定的要求进行运算,滤除某些频率分量,然后输出数字信 号/( n)的过程⑷。其输出和输入信号的关系可用差分方程表示为[5]
N M
y( n) = 6aky( n - k) + 6fikX( n - k) (1)
k=1 k=0
数字滤波器按单位抽样响应h( n)的长度可分为无限冲激响应IIR滤波器和有限冲激响应FIR滤波 器,h ( n)为无限时宽的式⑴中电^0 ,后者h ( n)为有限时宽,式⑴中电=0。常用的数字滤波器算法有 程序判断法、中值判断法,算术平均值滤波法,加权滤波法,滑动滤波法等,为提高滤波效果,可以把两种以 上数字滤波器组合成多级数字滤波器[6]。防脉冲干扰平均值滤波算法就是首先用中值判断法滤掉采样中 的脉冲干扰,然后把剩余的采样值进行递推平均滤波,其基本算法为:
若 y1 <y2 <-<yN , 其中 3 <N <14
贝 ^ y = (y2 + y3 + yN -1)/( N -2) (2)
防脉冲干扰平均值滤波法首先去掉N个采样数据中的最大值和最小值,然后用递推平均滤波方法计 算N- 2个数据的算术平均值,其兼有中值判断法和滑动滤波法的优点,适用于对配料电子秤的快速冲击 信号进行滤波。
3.软件陷阱技术
当测控系统受到干扰后,往往将一些操作数当作指令码来执行,造成程序混乱。软件陷阱就是引导指 令强行将捕获到的乱飞程序引向复位入口地址,此处有专门的出错处理程序,使程序纳入正轨。如果把这 段程序的入口地址标为“E_R” ,软件陷阱即为一条“JMP ERROR”的指令,为加强捕获效果,软件陷阱一 般在跳转指令前加几条“NOP”指令,其位置可以设置在未使用的中断向量区,未使用的ROM空间,表格和 程序区等。
当未使用的中断因干扰而开放时,会导致系统程序混乱,在对应的中断服务子程序中设置陷阱,就能 捕获到错误的中断,中断返回指令既可用RETI,也可用LJMP;当未使用的ROM区空间比较大时,对于未编 程的ROM空间,其内容都维持原状(0FFH),若程序弹飞到这个区域,只会执行“MOV R7 ,A”指令,因此在 这个区域每隔一段设置一个陷阱,用以捕获弹飞的程序,具体设置方法是在这一段区域中用“02000”或 “000002000”的数据填满,当乱飞程序进入此区后,便会自动入轨。也可用跳转到错误程序处理的机器码 填充,当乱飞程序进入此区后,便会自动转入到错误处理程序;配料秤的数字滤波设计中,经常用表格存放 加权系数,由于表格的内容是连续的,应在表格的最后设置陷阱(NOP ,NOP , LJMP ERROR);在程序区,一 旦PC因干扰出现而出现错误,程序便会脱离正常的轨道,为了使乱飞的程序在程序区迅速纳入正轨,应 该多用单字节指令,并在一些关键的地方人为地插入单字节指令NOP ,或将有效单字节指令设置指令冗 余,在双字节或三字节指令后插入两个NOP指令,在程序流向起决定作用的指令(LJMP、RET、ACALL等) 和某些对系统工作起重要作用的指令(SETB等)前插入两个NOP指令,后面重复写上这些指令,可保证乱 飞程序迅速纳入正轨,确保程序正常执行。
4. “看门狗”技术
在配料秤的测控程序中,PC易受到干扰而失控,可能使程序陷入“死循环”,采用“看门狗”技术就是 不间断监视程序循环运行时间,若发现时间超过已知的循环设定时间,则认为系统陷入了 “死循环”,强迫 程序跳转到错误处理程序,使系统纳入正轨。考虑到配料秤工业现场的安全性,用硬件和软件结合的方式 来实现“看门狗”技术。硬件采用微处理器监控器MAX692A ,同时具有电压监控、掉电数据保护等功能。 由硬件电路实现的“看门狗”技术可以有效的克服程序陷入死循环而带来的不良后果,但在工业现场,严重 的干扰有时会破坏中断方式控制字,导致中断关闭,若同时采用软件进行双重监视,可确保“看门狗”功能 的实现。
软件“看门狗”技术的基本思路是:用一个定时器做“看门狗”,把它的溢出中断设定为高优先级中断其它中断设定为低优先级中断。“看门狗”启动后,主程序经常与之打交道,打一次交道即修改定时器的初 始值,而且两次之间的时间间隔不得大于定时器的定时时间。当系统陷入死循环后,在定时器溢出后产生 高优先级的中断,从而跳出死循环转向出错处理程序,由出错处理程序来完成善后工作,并用软件方法使 系统复位。
5.输入/输出技术
输入软件抗干扰设计。输入信号的干扰是叠加在有效电平信号上的一系列离散尖脉冲,作用时间 很短。当控制系统存在输入干扰,在用硬件加以抑制的同时用软件重复检测的方法,可达到“去伪存真”。 对接口中的输入数据进行多次检测,若检测结果完全一致,则是真的输入信号;若相邻的检测出现奇异值, 则是伪输入信号,不作为有效数据,重复下一次检测,同时也可采用三选二表决程序。
输出软件抗干扰设计。配料秤的控制系统需根据单片机的处理结果发出开、关控制命令到继电器 的执行机构,为提高控制的可靠性,在软件上采取以下措施:将开、关量输出时,应将输出量回读进行比较, 确认无误后再输出。当输出开、关量控制继电器动作时,为了防止继电器由于外界的干扰而误动作(如已 关的料斗中途打开,已开的料斗中途突然关闭等),可在测控程序中每隔一段时间(毫秒级内)发一次输出 命令,不断的关或开料斗,这样就可以较好的消除由于扰动而引起的误动作。考虑到系统的安全性,应设 置人工干预的脱机按钮,一方面使已发出的信号和现场脱离,另一方面则向单片机输入一个“脱机”控制 字,使单片机停止对现场的控制,可进行人工操作,同时可用键命令恢复控制。
单片机输出一个控制命令时,相应的执行机构在执行动作的瞬间,往往伴随着火花、电弧等干扰信号, 这些干扰信号有时会通过公共线路返回到接口中,改变状态寄存器的值,导致系统可能产生误动作。为防 止这种现象的发生,可在输出命令发出后,立即修改输出状态表,执行动作前,程序已调用此保护程序,该 保护程序不断地把输出状态表的内容传输到输出接口的端口寄存器中,以维持正确的输出控制。在这种 情况下,虽然有时执行机构的动作可能会破坏状态寄存器的内容,但由于不断地执行保护程序,而使得状 态寄存器的值保持不变,从而达到控制的目的。
6.其它技术
在配料秤的测控程序中,除了采取数字滤波、软件陷阱、指令冗余、“看门狗”技术之外,编写程序时,还 应注意以下几点:(1)慎用堆栈指令,干扰对堆栈操作的影响很大,堆栈操作的次数越多,出错的概率就越 大,在设计软件时,应尽量少用堆栈操作,减少子程序的使用个数和嵌套层数。(2)尽量采用单字节指令, 以减少因干扰而程序乱飞的机率。⑶对可编程的I/O芯片,因工作模式控制字可能因干扰等原因受到破 坏,使系统输入、输出发生混乱,在应用过程中,每次用到这种接口 ,都要对有关功能重新初始化一次,确保 系统可靠工作。
7.结束语
抗干扰是配料电子秤中单片机测控系统设计时应考虑的主要问题之一,抗干扰可以从硬件和软件两 方面采取措施。本文在配料电子秤系统的抗干扰软件设计中,采取了数字滤波、软件陷阱、指令冗余、“看 门狗”、输入/输出等抗干扰技术,提高了系统的可靠性,可有效防止冲击信号的引入,净化检测信号,控制 系统的正常运行。

中国领先的称重软件技术提供商

The Leading Provider of Geomatic Solutions in China

展开收起网站地图