您的位置: 嵌入式在线 > 解决方案 > 工业控制 > 智能接触器可靠性设计的软件实现方法

智能接触器可靠性设计的软件实现方法

2008-04-07      嵌入式在线      收藏 | 打印

    基于零侵蚀带闭环容错控制的智能接触器

  控制电器触头的零侵蚀机理

  触头侵蚀是指触头在分断或闭合电路的过程中,由于机械的撞击和摩擦、化学的腐蚀、电弧与火花的烧蚀造成触头金属损失或材料定向转移的现象。近年来,由于对触头电弧侵蚀机理的研究,利用开关分断整个进程中,金属相和气相电弧两个不同过程,触头材料在阳极和阴极转移方向相反的现象,通过控制分断相角和燃弧延续时间,可实现触头材料的零磨损。

  下面来分析触头的分断进程。当触头开始打开,由于接触电阻的增大,触头表面温度升高,使接触表面金属熔化而形成金属桥;进一步打开,间隙中的触头金属蒸汽被游离,而出现了电弧放电。该阶段由于电弧放电主要是金属离子形成,因而称为金属相电弧。在金属相电弧阶段,电子轰击阳极,使阳极表面释放金属蒸汽到间隙中;金属蒸汽经过游离产生带正电荷的金属离子,这些离子经过电场加速到达阴极并沉积于阴极表面,因而,在金属相阶段,触头材料由阳极向阴极转移。当触头进一步打开,周围空气渗透到电弧间隙中,并游离成正的气体离子。此时气体离子控制了电弧放电过程,这一阶段称为气相电弧。在气相电弧阶段,气体离子在电场的作用下加速并轰击阴极,使阴极表面的金属蒸汽释放到间隙并沉积于阳极。故在气相电弧阶段,触头材料由阴极向阳极转移(见图1)。

  J.Swingle 等提出在交流电源条件下,若能控制电弧的燃弧时间,即分断的分闸相角,可使两种电弧现象的触头材料转移相互平衡,从而产生触头质量零磨损条件。并提供试验模型在分断速度为0.1、0.3、0.5、0.7、0.8m/s ;交流电流有效值为5.6、9.3、14.7、26.3和18.8A ;电源电压为240V,触头材料分别为AgSnO2和AgCdO的条件下,进行分断试验的数据。

  试验中改变分闸相角,取半个周期τ=10ms,分闸相角对应于电流波形中的分断点的时间tPOW分别取1、3、5、7ms。考虑到电弧过零时分断,则电弧的燃弧延续时间为:ξ=τ-tPOW。当增加触头分断速度或分断电流,则燃弧时间增大或分闸相角减小。实践证明:接触器的零侵蚀控制关键在于分闸相角的控制。

  带闭环容错控制的控制器

  下面以基于零侵蚀带闭环容错控制的智能式接触器样机为例进行说明。对于任何AC3使用类别的接触器,它要承担额定电压下6倍额定电流的分断,因而触头电弧侵蚀和电寿命主要取决于接触器的分断过程。样机控制示意图见图3。

  原则上讲控制器闭环控制的反馈参数可以是机械参数、磁路参数或电路参数。零侵蚀接触器的电磁系统是一种依靠电磁吸力使衔铁产生机械位移而输出机械功的电气装置。零侵蚀接触器试验样机设计以电磁机构静态吸力特性和负载特性的配合来确定一个电磁机构能否可靠动作。

  零侵蚀接触器分断过程的动态控制就是实现定相角分闸。其原则就是保证触头分断过程电弧能量最小。其中,对单相电磁电器,分断电路的最佳时刻是在电路电流过零时。对三相电磁电器应在某一相电流过零时分断触头,虽三相电弧能量最小,但由于电压的波动,在分断过程中要想做到首相电流过零分断有一定的困难,要实现二相电流过零分断就更加困难。本试验样机采用PTC取样元件,利用其电阻值随温度呈指数关系变化的特点,在接触器触头两端并联PTC元件,当电路接通时,触头两端电阻将大于PTC元件的电阻,因而PTC元件上无电流通过;当电路断开时,触头两端电阻远远大于PTC元件的电阻,电流将流过PTC元件,PTC元件被加热,其电阻迅速增加,同时电流迅速减小,PTC元件增加的电阻吸收了大部分甚至全部的分断能量。这样可找出最佳的参数配合,最终实现接触器的无弧分断。图4为实验样机与控制器。
  
  控制器中的软件博弈技术

  软件博弈(Software subgame)技术借助经济学的博弈思想,在零侵蚀接触器的控制器程序设计时,充分考虑来自不同渠道的各种干扰对监控程序和功能模块的影响及消除办法。下面举例说明:

  软件屏蔽法

  利用微处理器的“空闲方式”,使CPU平时处在“磕睡状态”;当有任务时,用中断唤醒它,处理完工作后,再进入“打磕睡”状态。这样一来控制器既节省能源,又减少了沿传输线而来的随机干扰对系统的影响。

  软件屏蔽法的具体做法是在主程序中加上一小段指令:

  MOV    PCON ,#01H ;IDL←1

  NOP

  NOP

  上述指令段中的“PCON”为电源控制寄存器,“IDL”为空闲方式控制位。“软件屏蔽法”特别适合于以CMOS型单片机(80C31、80C51、87C51等)为核心,控制对象运动简单,而环境干扰又较大的实时控制系统。

  软件陷阱法

  软件陷阱法的指导思想是:把控制系统中未使用的单元,用某种“引导指令”填满,作为“陷阱”,来捕捉“弹飞”的程序,并强行将捕获的程序引向一个特定的地址,在那里有一段专门进行错误处理的程序,来恢复系统的正常运行。如果把该段错误处理程序的入口标号称为“ERR”,则软件陷阱的核心就是一条“LJMP   ERR”的指令。为了加强其捕捉弹飞程序的效果,一般还在其前面加两条“NOP”指令。即“软件陷阱”一般由三条指令构成,它们是:

  NOP

  NOP

  LJMP   ERR

  下面,针对51系列单片机的具体情况给出软件陷阱的实际用法。

  ·对中断向量区设置软件陷阱

  如果干扰信号使未使用的中断开放,并激活这些中断时,就会导致监控程序运行混乱;但如果在这些地方设置软件陷阱,就能及时捕捉到错误中断,提高系统的可靠性。

  ·对未使用的ROM空间设置软件陷阱

  单片机外扩展程序存储器常常使用2764、27128、27512等EPROM芯片,但嵌入式应用系统很少有将其空间全部用完,剩余的大片未编程ROM空间,芯片都维持“0FFH”(原状态),而“0FFH”对MCS51系列单片机指令来说,恰巧是一个单字节指令:“MOV   R7,A”。若程序弹飞到这一区域,将顺流而下,不再跳跃(除非又受到新的干扰)。

  序存储器常常使用2764、27128、27512等EPROM芯片,但嵌入式应用系统很少有将其空间全部用完,剩余的大片未编程ROM空间,芯片都维持“0FFH”(原状态),而“0FFH”对MCS51系列单片机指令来说,恰巧是一个单字节指令:“MOV   R7,A”。若程序弹飞到这一区域,将顺流而下,不再跳跃(除非又受到新的干扰)。

  ·对表格使用软件陷阱

  单片机表格有两类:一类是数据表格供“MOVC A,@A+PC”或“MOVE A,@A+DPTR”两类指令使用,它的内容完全不是指令,仅仅是指令所使用的数据,可以不按排陷阱。另一类是散转表格供“JMP @A+DPTR” 指令使用,其内容为一系列三字节指令LJMP或两字节指令AJMP,单片机对此类表格可以在最后安排五字节的陷阱。

  ·对程序区设置软件陷阱

  当程序运行到含有LJMP、SJMP、AJMP、RET、RETI、ACALL、LCALL等指令则会发生跳转,即正常执行的程序运行到此类指令便不会继续往下执行(程序断裂点),PC的值将出现正常转移。如果干扰使弹飞来的程序刚好落到断裂点的操作数上或断裂点下一条指令的操作数上时,则程序就会越过断裂点,继续往前冲,应用软件必然出错。所以,在程序断裂点处设置软件陷阱可有效地捕获因干扰引起的跨断点弹飞,而不会影响正常执行的程序流程。

  软件看门狗

  当程序受干扰,弹飞到一个临时构成的死循环中,软件陷阱就无能为力了。此时,系统将面临着完全瘫痪。而软件看门狗(SWD)法可以成功地解决此类问题。软件看门狗实质上是一种监控定时器,它具有以下特征:

  ·本身能独立工作,基本上不依赖于CPU。

  ·CPU在一个固定的时间间隔与该系统打一次交道,以表明系统目前尚正常。

  ·当CPU陷入死循环后,能及时发觉并使系统复位。

  软件看门狗(SWD)技术具体实现方法如下:

  首先,在初始化程序中设置Ti的工作方式,并启动其中断和计数功能。其次,计算各条指令执行时所耗时间,以适当的间隔设置Ti的初值。最后,设计Ti溢出所对应的中断子程序。此子程序只有一条指令,即在Ti对应的中断向量地址(000BH)写入无条件转移指令,把PC拖回整个程序的第一行,对单片机重新进行初始化,并获得正确执行顺序。
  
  控制器中的软件冗余技术

  “冗余设计”原是系统可靠性设计的一种技术,常用于系统工程设计上。在零侵蚀接触器的控制器软件容错模块设计中,笔者充分利用冗余设计思想,有效的解决许多难点问题。软件冗余模块,可分为两类,其一是,“工作冗余软件模块”,它利用冗余资源(CPU时间,RAM空间)把干扰的后果“屏蔽”掉,而不改变现行监控程序的进程;其二是“备用冗余软件模块”,它在发现特定的随机干扰后,通过中断程序,调用对应的软件模块,恢复或重构数据结构。然后,再返回现行监控程序。

  下面,简单介绍笔者在零侵蚀接触器的控制器应用软件开发中,常使用的几种软件冗余设计技巧。

  重复初始化

  监控程序一般在上电、复位等操作时,对单片机及片外扩展接口芯片的各种功能、端口、方式、状态等采用永久性或临时性的设置,这就是通常的初始化。考虑到可能的干扰入侵,为保证嵌入式系统的自恢复功能,可进行“重复初始化”,即:在重要功能模块调用前,再一次对相应的控制寄存器设定动作模式,以加强该功能模块的健壮性。

  数据传输冗余

  控制或采集端与上位机之间的串行传输可考虑给数据添加冗余位的方式,以延长数据代码之间的海明距离(Hamming);或采用循环冗余校验(CRC)手段,来增加数据的检测和纠正错误能力。

  重复执行

  把重要的指令设计成定时扫描模块,使其在整个程序的循环运行过程中反复执行。这样,即使干扰信号改写了指令的内容,也能在受控设备的反应时间内自动恢复正常。例如,对频率较低的传感器数据,可在有效时间内多次采集并比较;对控制外部设备的指令,则需多次重复执行以确保输出信号的可靠性。

  标志冗余法

  考虑到干扰信号有可能对RAM区的数据进行破坏,我们可以在RAM中每隔一定单元置入一些标志(标志冗余),而这些标志在初始化时便设置好。事故处理程序一开始,便检查这些标志是否正常;如不正常,说明数据已被破坏,转向事故处理程序。具体做法是:在单片机内存(片内RAM)中设立运行标志FLAG(冗余标志)。若数据写在2K的RAM空间,地址从0000H开始,每隔256个单元置一个标志EEH。

  “冗余标志”还可以完成单片机系统的冷、热启动的自动判别。“冷启动”就是清零启动,一切重新开始。它通常包括清除内外RAM中的所有中间运行数据、各种状态标志。“热启动”则是停电时保存的中间数据和各种有关标志为基础的条件下,继续运行。如果在RAM中将连续5个单元设为“AAH”作为正常标志。即正常开机时,初始化程序将Flag全部置为AAH,然后,再执行运行程序。若软复位后,程序查到Flag全为AAH,则是热启动,转而执行“事故处理程序”。

  指令冗余

  为了抑制程序的弹飞,在多字节指令后增加两条没有意义的空指令NOP,称之为“指令冗余”。单片机受到干扰后,往往会把操作数当做指令码来执行,从而,引起整个程序的混乱。由于程序弹飞到某一条单字节指令上,不会发生将操作数当成指令码的错误,而弹飞到双字节或三字节指令的操作数时,程序就会发生将操作数当成指令码的错误,使程序继续弹飞,引起整个软件的崩溃。为了保证指令在干扰条件下不被拆散,在程序多字节指令后,通常,插入两个单字节的空操作指令NOP,来抑制程序的弹飞。冗余指令NOP,在程序中不宜加得太多,否则,会使程序运行速度减慢。

  结语

  在零侵蚀接触器试验样机容错控制算法的设计过程,笔者除使用搏弈、冗余等软件容错技术外,还使用了数字滤波、堆栈溢出的预防、A/D和D/A通道的诊断与校正、以及输入输出界面的安全性设计等可靠性技术。软件理论告诉我们,微处理系统的软件不可能完美无缺,但软件容错设计可以帮助设计师尽可能减少错误,使控制器由于软件问题而出错的概率降低到完全可以接受的程度。

  值得注意的是:软件容错设计不可以取代硬件可靠性和抗干扰的基本设计!硬件可靠性和抗干扰基本设计,包括元器件筛选、老化、防潮、防震、防尘、散热问题;滤波电路与抗干扰稳压电源的使用;系统的屏蔽、接地、光电隔离的处理等等。它们可以给微处理系统创造一个基本上是“干净”的工作环境。由于软件容错设计是以CPU和RAM的开销为代价的,如果没有硬件可靠性和抗干扰一般措施消除绝大多数干扰,CPU将忙于奔命,没有时间来干正经的工作,严重影响到系统的工作效率和实时性。因此,一个成功的智能控制器可靠性设计应是硬件与软件有机结合的产物。

 

本文来源:电子产品世界    作者:安徽淮化集团设计研究院 洪滨 安徽省淮南联合大学机电

隐藏原文↑


查看原文↓

验证码:  看不清?换一张

 

快乐大本营
工程师之星
高福东
擅长嵌入式开发及单片机应用开发
  • 王波涛  熟悉单片机及其接口技术
  • 朱伟平  熟悉51单片机系统LCD驱动程序编写及调试。
热门招聘
论坛热贴