一种基于LPC2119和μC/OS-Ⅱ的斜井防跑车装置控制器
eeskill 2021-10-21

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-Ⅱ的斜井防跑车控制装置控制器各项功能已初步得到验证。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【7.24 深圳】2025国际AI+IoT生态发展大会/2025全球 MCU及嵌入式技术论坛


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 3AT89C51单片机引脚说明及引脚图

    AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU...

    前天
  • 51单片机对LCD1602液晶的驱动设计

    51单片机——LCD1602 1、1602液晶读写时序 (1)、读状态 RS=L,R/W=H,E=H。(判断忙完毕后释放总线) (2)、读数据 RS=H,R/W=H,E=H。 (3)、写指令 RS=L,R/W=L,D0~D7=指令码,E=高脉冲 (4)、写数据 RS=H,R/W=L,D0~D...

    前天
  • 单片机串口如何接收不定长数据的?

    我们在使用其他STM32的单片机的时候,会发现有些困难,会发现常用的方法并不能用,在还没有接收完数据的时候,就解决不了。于是,只能用通用的方法来解决了。 这个通用的方法,其实原理和使用IDLE的原理一样:...

    前天
  • ARM处理器的选型原则

    鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,...

    07-10
  • 有哪些低功耗设计方法?单片机系统低功耗设计要点介绍

    功耗,已经是一个老生常谈的话题了。对于功耗,大家多多少少有所了解。目前,很多产品的宣传里便带有低功耗噱头。为增进大家对功耗的认识,本文将基于两点介绍功耗:1.低功耗主要设计方法,2.单片机系统低功耗设计...

    07-10
  • 8位32位MCU如何选择?如何选择合适的MCU?

    MCU,对于普通人而言,是一个高大上的存在。但是,在工业中,MCU确实常见产品。为增进大家对MCU的认识,本文将基于两点介绍MCU:1.8位MCU和32位MCU如何选择?2.如何选择合适的MCU。如果你对MCU具有兴趣,不妨继续往...

    07-09
  • ARM开发:一 ARM微处理器概述

    1.1ARM-Advanced RISC Machines ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术...

    07-08
  • 分析C51单片机的一些误区和注意事项

    简介:常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变量和变量的作 用域,编译器就把一个固定地址给这个变量。怎么取得这个变量的地址?要用指针。 1) C...

    07-08
  • 51单片机几个延时程序

    简介:51单片机几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响. 一. 500ms延时子程序(晶振12MHz,一个机器周期1us.) 程...

    07-08
  • 总结单片机软件抗干扰的几种办法

    简介:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。 1、软件抗干扰方法的研究 在工程实践中...

    07-08
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    07-02
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    07-02
下载排行榜
更多
评测报告
更多
广告