基于ARM+μC/OS-Ⅱ的斜井防跑车控制器设计
2021-05-18 来源:eefocus
1 引言
煤炭作为我国的基础能源,占到国内能源消费的近四分之三,在我国经济与社会发展中起着重要的作用。煤炭生产安全事关国计民生,安徽省1966~2003年煤矿事故中,运输事故死亡750人,占17%。运输是煤矿生产的重要环节,从运输巷道的布置情况来分,有立井、斜井、平巷3种运输形式。在斜井运输中,由于超载、失修、误操作等原因,发生提升车辆断绳、脱钩现象,使运行的车辆沿斜井轨道向下的加速运动,即所谓的斜井跑车。煤矿安全规程规定:在斜井串车提升井巷中,必须安设能够将运行中断绳、脱钩的车辆阻止住的跑车防护装置。
斜井提升跑车防护装置一般有传感器、控制器、执行机构和挡车器等几部分组成。其中正确灵敏地拾取跑车信号并发出控制指令是跑车防护装置发挥作用的关键;现有的斜井跑车防护装置中有机械联锁原理的、PLC作为控制器的,电子电路作为控制器的,存在着寿命短、维修量大、算法不灵活、抗干扰能力差等缺陷。本设计提出了一种基于32位ARM 7微处理器LPC2119和实时操作系统μC/OS-Ⅱ的斜井防跑车装置控制器实现方法。
2 系统硬件设计
2.1 装置组成
该防护装置是一种常闭型装置,由控制器、执行结构、挡车装置和测速与到位传感器构成。如图1所示。
传感器A,B完成矿车速度测定及方向识别,传感器C完成机车下行时发出放下挡车装置信号或机车上行时发出提起挡车装置信号,传感器E,F分别用于检测挡车装置提升和下放到位信号。
当矿车以正常速度行车时,挡车装置自动开启让矿车通过,然后自动关闭挡车装置。当发生跑车或脱车等情况,由于速度异常挡车装置闭合,将矿车挡住。
2.2 控制器设计
控制器通过传感器A,B获得机车速度,通过传感器C获得机车运行位置,并实时提升或放下挡车装置,通过传感器E,F获得挡车装置位置信号。同时通过键盘设定防护速度,一般情况运行速度不大于4 m/s。本控制器以LPC2119为核心,由最小系统、输入通道和输出通道等构成,其硬件结构图如图2所示。
(1)最小工作系统:最小工作系统以Philips公司的LPC2000系列ARM 7微控制器LPC2119为核心,采用11.059 2 MHz晶振,并利用MAX708SD组成复位电路,它包含一个看门狗定时器、一个微处理器复位模块、一个供电失败比较器及一个手动复位输入模块。系统电源采用78M05,LM1117-3.3,LM1117-1.8三种电路产生所需的工作电压。
(2)输出通道设计:本系统输出通道输出的信号为编码信号,符合MC145026编码规范,用于对执行机构的控制,为了隔离被控对象对系统的干扰,采用光耦4N33进行隔离。输出通道如图3所示。
(3)输入通道设计:输入通道主要传输传感器信号,采用TLP521-4光电器件进行隔离,同时采用三极管限流防止外部接线短路。输入通道如图4所示。
3控制器软件设计
控制器采用μC/OS-Ⅱ操作系统作为应用软件的平台,可以避免传统的前后台程序设计时伴随系统功能增加而造成程序编写量呈指数增加以及资源调度不当发生的死锁现象,同时也提高了系统的实时性和可靠性。
3.1μC/OS-Ⅱ的移植
μC/OS-Ⅱ是一个源码开放的嵌入式多任务实时操作系统内核。其核心代码结构简洁精练,具有足够的稳定性和安全性。μC/OS-Ⅱ的移植对处理器有一定的要求,比如必须具有响应中断的能力,并同时具有开关中断的指令,处理器必须可支持一定数量的硬件堆栈,并且应该有对堆栈指令进行读/写操作的指令等。同时在移植时编译器应该具有产生可重入代码的能力。本设计所选用的处理器LPC2119以及开发工具ADS1.2能满足移植要求。μC/OS-Ⅱ的文件系统结构包括核心代码部分、配置代码部分、处理器相关代码部分。其中处理器相关代码部分是移植时需要修改的部分,它包括OS CPU.H,OS CPU C.C,OS CPU A.S三个文件,OC CPU.H包括数据类型定义、堆栈单位定义、堆栈增长方向定义、关中断和开中断宏定义等。OSCPU C.C它包含6个函数,其中,OSInetEnter()是任务堆栈初始化函数是必须的,其他5个函数都是钩子函数可以为空。OS_CPU_A.S这部分需要对处理器和寄存器进行操作,用汇编语言编写,包括四个函数:
OSStartHighRdy()函数被OSStart()调用,使就绪的最高优先级任务运行;OSCtwSw()在任务级切换函数中调用,保存任务环境变量、将当前SP存入TCB中、载入就绪最高优先级任务的SP、中断返回等、OSIntCtxSw()在退出中断服务函数OSIntExit()中调用,实现中断级任务的切换。OSTickISR()是系统时钟节拍中断服务函数,它为内核提供时钟节拍,频率越高系统负荷越重;使用硬件定时器作为时钟中断源,定时中断频率一般为10~100 Hz。
3.2 用户任务设计
在嵌入式系统中,合理的划分任务及优先级,不但能简化软件设计的复杂性、任务调度的正确性,而且还能增强系统的稳定性、健壮性以及实时性。
本系统软件主要功能有:
(1)矿车运行速度计算;
(2)矿车运行方向的识别;
(3)执行机构控制;
(4)挡车装置到位检测;
(5)矿车下行和上行时挡车装置关闭或打开。
基于μC/OS-Ⅱ实时操作系统,根据自动信号系统的功能要求,划分了,任务以及优先级,任务优先级取偶数,为以后系统升级留下空间。如表1所示
TaskStart()是μC/OS-Ⅱ初始化后运行的第一个任务,由它来创建自动信号系统的其他任务,该任务执行一次后删除,自身不再执行。Task_Control()任务对执行机构进行控制。Task_Speed_Check()对矿车速度进行计算,依据图1中A,B传感器的工作状况有两种速度计算方法,当A,B完好时,v=L/t,其中L为A,B二者之间的距离,当A,B有1台损坏时,v=l/t,其中L为矿车轮距;Task_Position_Check()完成挡车装置到位检测并即时发送信息给Task_Control()关断电机电源;Task_Up-down_Check()检测机车上行、下行位置,并即时发送信息给Task_Control()开启或关闭挡车装置;Task_Clock()系统实时时钟驱动Task_Up_down_Check(),Task_Position_Check()任务,各任务关系如图5所示。
在起始任务中,建立邮箱、信号量以及各个任务;邮箱及信号量如下:
软件流程框图如图6所示。
4 结 语
(1)ARM系列微处理器LPC2119及实时操作系统μC/OS-Ⅱ应用于应用于斜井防跑车控制器设计中,增加了系统的可靠性实时性以及灵活性;
(2)基于LPC2119和μC/OS-Ⅱ的斜井防跑车控制装置控制器各项功能已初步得到验证。
上一篇:基于ARM嵌入式系统的ISP设计
下一篇:基于多核ARM的数控系统的设计