论文部分内容阅读
[摘要]:由于环境的干扰以及系统内部随机因素的影响,单片机控制机电一体化设备存在抗干扰问题,本文针对这种抗干扰提出了一些措施,只有提高控制系统的自适应能力,才能实现可靠运行。
[关键词]:单片机 控制 抗干扰
中图分类号:U976+.2 文献标识码:U 文章编号:1009-914X(2012)26-0247-01
1 概述
经典的控制理论都是以准确的数学模型为出发点的。然而,对于大多数机电一体化设备及产品,一方面它们常处于恶劣的工作环境下运行,受到环境的干扰,另一方面,受系统内部随机因素的影响。因此。对于某些过程,得到其数学模型不可能很精确,有时候想建立一个完全精确的数学模型几乎是不可能的。此外,某些过程的状态在运行中受随机因素的影响而改变,这种改变又难以用已知的时变规律去描述它。对于这样的过程,若再用一般的定常控制就不能达到预期的效果,而应设法让系统本身具有较强的抗干扰能力,自动修正控制动作,以适应对来自环境及系统内部的统计特性未知的干扰,让系统按预想的要求可靠运行。控制系统的可靠运行,归根结底是单片机的可靠运行。影响单片机可靠运行的因素通常有:来自电源的谐波干扰,设备自身感性元件动作的干扰以及单片机周围的电场、磁场的干扰等。
2软件抗干扰方法
抗干扰问题,实际上是一个很复杂的问题.通常需要在硬件、软件上密切配合。对于以单片机为核心的控制系统,无论从可靠性、灵活性、方便性等方面评价,用软件方法提高系统的tl适应能力具有更大的优势,下面重点从软件方面来讨论抗干扰方法。
2.1复位法
PC内容被破坏的自诊断
导致这种问题的原因主要是设备在运行过程中,多种干扰源综合作用的结果。为此,可在与设备运行周期T相对应的时间段,在运动轨迹上确定两个有代表性的测试点A、B,同时安排一个中断程序,中断间隔时问t≤T。每次中断被响应后,测试A、B点,若在一个周期内,任何一个点未被测到,当不考虑运动轨迹相关元件损坏这一因素,通常是Pc内容被破坏,使程序不能正常运行。为使程序回到规定的位置,可以在中断返回前,改变栈顶内容,这样,中断程序将按栈顶当前内容,返回到主流程的指定位置,实现软件复位。
(2)中断程序被干扰时的自诊断在一个大的控制系统中,为尽可能少地占用CPU的时间,很多过程可通过中断技术完成。由于干扰源的多样性和随机性,中断程序被干扰是完全可能的。对于这种情况,可采用“中断不结束则让系统复位”方法。类似Mcs-96系列单片机的监视定时器电路,对于无该功能的单片机,可外接一计数器,赋给初值N,让它在时钟激励下作减计数。设计数器从N减到0所用的时间为△T。当计数器从N减到0时,发出一输出信號让CPU复位。与此同时,让上述中断源以定时方式中断,其时间间隔△t (3)设陷阱的自诊断方法
当调试好的控制程序写入EPROM后,一般会剩下一片空单元,由于干扰,一旦运行程序落入这片区域后,必然出现死机现象。不妨将这片区域设为陷阱,为使程序走出陷阱并回到预先期望的地方。可在陷阱中写满转到某一特定地址的指令。指令应以短转移指令为主,适当安排少量无条件长转移指令(长转移指令的多少,以短转移指令能否与它们衔接而定)。原因是短转移指令一般为二字节指令,其中第一字节为操作码,即只有一个非操作码字节,而长转移指令一般为三字节指令,有两个非操作码字节。当运行程序落入陷阱后,只要落到操作码字节处,就可顺利跳出。显然,用短转移指令跳出陷阱的概率比用长转移指令大很多。
以上方法都可以在系统被干扰时重新启动,但对于一个高可靠性控制系统,总是力图避开在每次遇到意外情况都涉及全局的问韪,因此,在意外情况下通过局部调整,提高系统的白适应能力显得更为重要,以下方法就是基于这种思想而设计的。
2.2参数修正法
(1)对控制所需的数据刷新
在一些机电一体化设备或产品中,很多伺服电机常承担多项任务,通常按给定的不同数据进行不同速度的运转,或在一段时间内变速运转,正、反向运转等。正是这些电机的频繁变速、换向,给控制系统带来了大量干扰信号,使控制电机的给定数据也因干扰而被改变,最终导致电机不能按预定的方式运行。对此,可通过中断方式定时刷新控制数据。只要中断的时间间隔控制在数毫秒内,每次中断被响应,电机的控制数据刷新一次。当控制所需的数据未被干扰信号改变时,刷新对电机没有任何影响,而控制所需的数据被破坏时,这种刷新起到对现有数据的修正作用。由于电机运动是一种机械运动,而机械运动的非突变性对于数毫秒的速度变化是无法反应的。
(2)在PC内容被破坏现象发生概率较大的危险区的自诊断这种大概率事件的发生带有某种规律性,一般在某一电感元件动作后发生。自诊断的方法是:在该元件动作后到第一次遇到延时指令的程序段中设一个危险区标志,并将赋延时时间常数的指令安排在危险区首地址前完成。且将该元件动作后的下一条指令地址保存起来,然后安排一个定时中断与之配合。由于该元件动作到延时开始,所有指令的执行经历时间都在微秒数量级,表现在机械动作上,元件最多只作一种动作。每次中断响应,中断程序检查危险区标志,如果存在,则将主程序事先保存的地址换到栈顶后,执行中断返回,这样便可以在延时结束前,强行将PC中的内容换成危险区首址。延时期间,每发生一次中断,主程序就执行一次这一程序段,在反复执行过程中,只要有一次不被干扰。则危险段的程序执行在逻辑上就是正确的。当延时结束,主程序将危险区标志取消,待下次中断发生,主程序不再执行危险段程序,而是继续向下运行。这种方法,只要延时时同大于中断间隔时间,就有显著效果,延时时间越长,效果越好。
2.3全面跟踪的自诊断方法
为了防止运行程序被随机破坏,可以专设一中断程序。让中断时间间隔很小(如几毫秒),将运行程序分成若干段,每段执行指令时间略小于中断间隔时间。运行程序每执行一段指令前,将段首址保存,同时给中断计数器赋初值。随着程序的运行,被保存的段首址一直在更新。当运行程序处于正常情况下,中断请求不会发生,反之,中断请求发生。中断发生后.将最后保存的地址压入栈顶,然后按该地址返回到运行程序中。
由于每保存一个段首址,必须是先执行前段的所有指令,在运行程序被破坏而被中断程序重新拉回到最后一次被保存的地址处时,在此之前的任何一条指令都不会漏掉,而被重复执行的指令只有一段。对于任何一个机械动作或物理过程,都不会在几毫秒内由程序安排让其表现出两种不同的状态,所以部分指令的重复在逻辑上不会造成任何错误,外界也感觉不出程序曾经偏离过正常的轨道。
3结束语
抗干扰问题是控制系统设计中必须考虑的一个十分重要的、也是十分复杂的问题。文中所讨论的方法,在系统设计中应根据具体情况灵活考虑。复位法虽然能使系统在意外情况下顺利回到预期的地方,但它将影响全局。当系统复位不影响控制对象的正常运行时,可采用这种方法。参数修正及全面跟踪法是在各个局部采取措施,将被破坏的数据或程序恢复到正常的状态,是一种更为理想的自诊断方法。
[关键词]:单片机 控制 抗干扰
中图分类号:U976+.2 文献标识码:U 文章编号:1009-914X(2012)26-0247-01
1 概述
经典的控制理论都是以准确的数学模型为出发点的。然而,对于大多数机电一体化设备及产品,一方面它们常处于恶劣的工作环境下运行,受到环境的干扰,另一方面,受系统内部随机因素的影响。因此。对于某些过程,得到其数学模型不可能很精确,有时候想建立一个完全精确的数学模型几乎是不可能的。此外,某些过程的状态在运行中受随机因素的影响而改变,这种改变又难以用已知的时变规律去描述它。对于这样的过程,若再用一般的定常控制就不能达到预期的效果,而应设法让系统本身具有较强的抗干扰能力,自动修正控制动作,以适应对来自环境及系统内部的统计特性未知的干扰,让系统按预想的要求可靠运行。控制系统的可靠运行,归根结底是单片机的可靠运行。影响单片机可靠运行的因素通常有:来自电源的谐波干扰,设备自身感性元件动作的干扰以及单片机周围的电场、磁场的干扰等。
2软件抗干扰方法
抗干扰问题,实际上是一个很复杂的问题.通常需要在硬件、软件上密切配合。对于以单片机为核心的控制系统,无论从可靠性、灵活性、方便性等方面评价,用软件方法提高系统的tl适应能力具有更大的优势,下面重点从软件方面来讨论抗干扰方法。
2.1复位法
PC内容被破坏的自诊断
导致这种问题的原因主要是设备在运行过程中,多种干扰源综合作用的结果。为此,可在与设备运行周期T相对应的时间段,在运动轨迹上确定两个有代表性的测试点A、B,同时安排一个中断程序,中断间隔时问t≤T。每次中断被响应后,测试A、B点,若在一个周期内,任何一个点未被测到,当不考虑运动轨迹相关元件损坏这一因素,通常是Pc内容被破坏,使程序不能正常运行。为使程序回到规定的位置,可以在中断返回前,改变栈顶内容,这样,中断程序将按栈顶当前内容,返回到主流程的指定位置,实现软件复位。
(2)中断程序被干扰时的自诊断在一个大的控制系统中,为尽可能少地占用CPU的时间,很多过程可通过中断技术完成。由于干扰源的多样性和随机性,中断程序被干扰是完全可能的。对于这种情况,可采用“中断不结束则让系统复位”方法。类似Mcs-96系列单片机的监视定时器电路,对于无该功能的单片机,可外接一计数器,赋给初值N,让它在时钟激励下作减计数。设计数器从N减到0所用的时间为△T。当计数器从N减到0时,发出一输出信號让CPU复位。与此同时,让上述中断源以定时方式中断,其时间间隔△t
当调试好的控制程序写入EPROM后,一般会剩下一片空单元,由于干扰,一旦运行程序落入这片区域后,必然出现死机现象。不妨将这片区域设为陷阱,为使程序走出陷阱并回到预先期望的地方。可在陷阱中写满转到某一特定地址的指令。指令应以短转移指令为主,适当安排少量无条件长转移指令(长转移指令的多少,以短转移指令能否与它们衔接而定)。原因是短转移指令一般为二字节指令,其中第一字节为操作码,即只有一个非操作码字节,而长转移指令一般为三字节指令,有两个非操作码字节。当运行程序落入陷阱后,只要落到操作码字节处,就可顺利跳出。显然,用短转移指令跳出陷阱的概率比用长转移指令大很多。
以上方法都可以在系统被干扰时重新启动,但对于一个高可靠性控制系统,总是力图避开在每次遇到意外情况都涉及全局的问韪,因此,在意外情况下通过局部调整,提高系统的白适应能力显得更为重要,以下方法就是基于这种思想而设计的。
2.2参数修正法
(1)对控制所需的数据刷新
在一些机电一体化设备或产品中,很多伺服电机常承担多项任务,通常按给定的不同数据进行不同速度的运转,或在一段时间内变速运转,正、反向运转等。正是这些电机的频繁变速、换向,给控制系统带来了大量干扰信号,使控制电机的给定数据也因干扰而被改变,最终导致电机不能按预定的方式运行。对此,可通过中断方式定时刷新控制数据。只要中断的时间间隔控制在数毫秒内,每次中断被响应,电机的控制数据刷新一次。当控制所需的数据未被干扰信号改变时,刷新对电机没有任何影响,而控制所需的数据被破坏时,这种刷新起到对现有数据的修正作用。由于电机运动是一种机械运动,而机械运动的非突变性对于数毫秒的速度变化是无法反应的。
(2)在PC内容被破坏现象发生概率较大的危险区的自诊断这种大概率事件的发生带有某种规律性,一般在某一电感元件动作后发生。自诊断的方法是:在该元件动作后到第一次遇到延时指令的程序段中设一个危险区标志,并将赋延时时间常数的指令安排在危险区首地址前完成。且将该元件动作后的下一条指令地址保存起来,然后安排一个定时中断与之配合。由于该元件动作到延时开始,所有指令的执行经历时间都在微秒数量级,表现在机械动作上,元件最多只作一种动作。每次中断响应,中断程序检查危险区标志,如果存在,则将主程序事先保存的地址换到栈顶后,执行中断返回,这样便可以在延时结束前,强行将PC中的内容换成危险区首址。延时期间,每发生一次中断,主程序就执行一次这一程序段,在反复执行过程中,只要有一次不被干扰。则危险段的程序执行在逻辑上就是正确的。当延时结束,主程序将危险区标志取消,待下次中断发生,主程序不再执行危险段程序,而是继续向下运行。这种方法,只要延时时同大于中断间隔时间,就有显著效果,延时时间越长,效果越好。
2.3全面跟踪的自诊断方法
为了防止运行程序被随机破坏,可以专设一中断程序。让中断时间间隔很小(如几毫秒),将运行程序分成若干段,每段执行指令时间略小于中断间隔时间。运行程序每执行一段指令前,将段首址保存,同时给中断计数器赋初值。随着程序的运行,被保存的段首址一直在更新。当运行程序处于正常情况下,中断请求不会发生,反之,中断请求发生。中断发生后.将最后保存的地址压入栈顶,然后按该地址返回到运行程序中。
由于每保存一个段首址,必须是先执行前段的所有指令,在运行程序被破坏而被中断程序重新拉回到最后一次被保存的地址处时,在此之前的任何一条指令都不会漏掉,而被重复执行的指令只有一段。对于任何一个机械动作或物理过程,都不会在几毫秒内由程序安排让其表现出两种不同的状态,所以部分指令的重复在逻辑上不会造成任何错误,外界也感觉不出程序曾经偏离过正常的轨道。
3结束语
抗干扰问题是控制系统设计中必须考虑的一个十分重要的、也是十分复杂的问题。文中所讨论的方法,在系统设计中应根据具体情况灵活考虑。复位法虽然能使系统在意外情况下顺利回到预期的地方,但它将影响全局。当系统复位不影响控制对象的正常运行时,可采用这种方法。参数修正及全面跟踪法是在各个局部采取措施,将被破坏的数据或程序恢复到正常的状态,是一种更为理想的自诊断方法。