基于ARM和_C_OS_II的电液比例控制系统的设计_图文_第1页
基于ARM和_C_OS_II的电液比例控制系统的设计_图文_第2页
基于ARM和_C_OS_II的电液比例控制系统的设计_图文_第3页
基于ARM和_C_OS_II的电液比例控制系统的设计_图文_第4页
基于ARM和_C_OS_II的电液比例控制系统的设计_图文_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、技术纵横Method 方法 86自动化博览2006年8月刊文献标识码:B 文章编号:1003-0492(200604-0086-03 中图分类号:TP273基于ARM 和µC /OS-II 的电液比例控制系统的设计Design of Electro-Hydraulic Proportional Control System Based on ARM and µC/OS-II(湖南大学电气与信息工程学院,湖南长沙410082 蒙娟,彭楚武,马记平(湖南科技大学,湖南湘潭411100 韦文祥基金项目:湖南省2004年度重点科技攻关项目(04GK2012收稿日期:2006-06-

2、24摘要:针对传统电液比例控制系统的性能较差,本文提出了一种基于ARM 和µC /OS-II 的电液比例控制系统的设计,并详细介绍了以ARM 内核微控制器LPC2292和电机驱动芯片LMD18200为核心的硬件电路,以及嵌入式操作系统µC /OS-II 在ARM7上的实现。关键词:ARM ;电液比例控制;LMD18200;µC /OS-IIAbstract: Because of bad performance of traditional electro-hydraulic proportional control system, this paper has

3、put forward a new system based on ARM and ¦ÌC/OS-II , and has introduced the hardware circuit based on ARM microcontroller LPC2292 and motor-driven chip LMD18200 in detail, as well as the realization of embedded operating system ¦ÌC/OS-II on ARM7.Key words: ARM; Electro-hydraulic

4、 proportional control; LMD18200; µC /OS-II蒙娟(1982-女,四川南充人,在读硕士研究生,主要研究方向为嵌入式系统、机电控制。在现代工程机械中,电液比例控制系统具有控制精度高、安装使用灵活以及抗污染能力强等多方面优点,因此应用领域日益拓宽。传统的电液比例控制系统采用8位或16位的单片机作为控制器,使用单任务顺序机制,系统的实时性、安全可靠性较差,运算处理和资源管理能力都很有限。本文采用Philips 公司的ARM7TDMI 内核微处理器LPC2292作为控制器,电机专用芯片LMD18200作为PWM 驱动器,µC/OS-II 作为操

5、作系统大大提高了系统的稳定性、可靠性和实时响应能力。1系统工作原理电液比例控制系统是根据输入电信号的大小按比例连续地控制液压系统的压力、流量或方向等参数3。通常,电液比例控制系统主要由操作手柄、控制器、PWM 驱动电路、比例电磁铁、电液比例阀及执行机构等部分组成。在一般的工程机械场合,电液比例控制系统采用开环控制均能满足要求,只需采用电流闭环以稳定输出量。电液比例阀控制方式大多采用PWM 技术进行控制,通过改变PWM 信号的占空比来调整比例电磁铁的平均电流,以降低摩擦、减少电磁铁的滞环和死区现象,提高电液比例阀的响应速度。2硬件电路设计综合电液比例控制系统的功能需求,整个系统的控制电路包括外扩

6、FLA SH 、SRAM 、模拟量输入、数字量输入、键盘输入、PWM 输出、LCD 显示、数字量输出、CAN 总线通信等部分组成。其硬件电路框图如图1所示。图1电液比例控制系统硬件电路框图2.1LPC2292简介2LPC2292是一款基于16/32位ARM7TDMI-S ,支持实时仿真和跟踪的CPU ,并带有256KB 嵌入的高速Flash 存储器和16KB 的静态RAM 。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大60MHz 的时钟速率下运行。LPC2292具有ISP 和IAP 功能,包括多个32位定时器、8路10位ADC 、2路高级CAN 通道、2个UART 接口及多达

7、9个的外部中断。更重要的是,LPC2292带有6路PWM 输出和高达112个GPIO 口,使LPC2292成为电液比例控制系统控制器的首选。2.2系统存储器电路的设计大多数的ARM 微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器。本文扩展了一片1MB ×16的CMOS 多功能FLASH SST39VF160和一个512KB ×16的高速CMOS 静态RAM IS61LV51216,用以缓冲数据和存贮程序。技术纵横Method方法 872006年8月刊自动化博览LPC2292带有外部存储器接口EMC 模块,管脚地址输出线是A23:0,其中地址位A25:24用

8、于4个存储器组的译码(CS 3:0。通过EMC 可以扩展4个Bank 寄存器组(Bank 0Bank3,每个寄存器空间大小为16MB 字节。为了方便程序的调试及最终代码的固化应用,使用了LPC2292的Bank0和Bank1的地址空间,并通过跳线将片选信号CS0和CS1分别分配给SRAM 和FLASH 。在调试程序时,分配SRAM 为Bank0地址,因为Ban k0可以进行异常向量表的重新映射操作;在固化代码到FLASH 时,分配FLASH 为Bank0地址,因为Bank0可以用来引导程序运行。由于SST39VF160和IS61LV51216都是16位总线接口,所以使用LPC2292的地址总线

9、A1A20与它们相连。接口电路如图2所示。图2电液比例控制系统存储电路2.3LPC2292与LMD18200的连接电液比例控制的核心是控制电液比例阀的电流,其驱动电流一般为1A 左右,需要对LPC2292输出的PWM 信号进行放大,还要设计电液比例阀的相关保护电路,以避免过流、欠压、短路、回流等现象。本系统中,采用美国国家半导体公司推出的直流电机驱动芯片LMD18200作为PWM 驱动器,内部电路如图3所示。LMD18200具有很强的驱动能力,瞬间驱动电流可达6A ,正常工作电流可达3A ,还具备温度报警、过热与短路保护的功能。图3LMD18200内部电路LMD18200可提供双极性驱动方式或

10、单极性驱动方式,本系统中的电液比例阀为单极性控制,故LMD18200采用单极性方式。其控制信号由方向信号和幅值信号组成,幅值信号由PWM 的占空比决定,方向信号由DIR 的电平决定,零脉冲代表零电压。本文将L M D 18200的D I R 脚直接接地,实现LMD18200的单极性控制,将LPC2292的P0.7、P0.8、P0.9、P0.21配置为PWM 输出,再经过光电隔离输出到LMD18200的PWM 输入端,实现LMD18200的幅值控制。LMD18200的第8脚是电流取样信号,每输出1A 电流,脚8输出377nA 的取样电流,将这个信号反馈到LPC2292的模拟通道中,形成电流闭环回

11、路,以加快电液比例阀的响应、启动和增强低频稳定性。同时在阀的输入端设计了续流二极管以保护电液比例阀。其驱动电路部分如图4所示。图4电液比例阀驱动电路2.4LCD 显示模块液晶显示模块采用320×240液晶显示模块SED1335,内嵌64KB RAM ,其特点是:有较强功能的I/O 缓冲器;操作指令功能丰富;四位数据并行发送,最大驱动能力为640×256点阵;图形和文本方式混合显示等。SED1335与ARM 的接口采用直接访问方式。SED1335的数据线DB0DB7与LPC2292的D0D7相连,SED1335的A0、WR 、RD 分别与LPC2292的A0、WE 、OE 相

12、连,SED1335的片选信号CS 是经过LPC2292的CS3和A23A21进行地址译码后选中。2.5其他模块整个系统的电源来自车载的+24V ,而系统需要提供的电源有:LPC2292的内核供电电源为1.8V ,I/O 口供电电源为3.3V ,系统部分外设的供电电源为5V ,这些都由+24V 转化而来。系统还设计了C A N 总线收发器,采用了T I 公司的SN65HVD230,外围监控器件SP708和串行时钟芯片S3530等相关电路。3软件设计电液比例控制系统的软件设计包括µC/OS-II 在ARM7上的移植和应用程序的编写。其开发环境采用的是ARM 公司推出的ARM 核微控制器集

13、成开发工具ADS1.2。ADS 支持软件调试及JTA G 硬件仿真调试,支持汇编、C 、C+源程序,具有编译效率高、系统库功能强等特点1。3.1µC/OS-II 简介4µC/OS-II 是基于优先级的抢占式实时多任务操作系统,是技术纵横Method 方法 88自动化博览2006年8月刊一个完整的、可移植、可固化、可裁减的多任务内核。绝大部分µC/OS-II 的代码是用ANSI C 语言编写,与硬件相关部分用汇编语言编写,可用于各类8位、16位和32位单片机或DSP 等不同架构的微处理器。µC/OS-II 可以管理64个任务,具有实时内核、任务管理、时间管

14、理、任务间通信同步(信号量,邮箱,消息队列和内存管理等系统功能。至今,从8位到64位,µC/OS-II 已在超过40种不同架构的微处理器上运行。3.2µC/OS-II 在ARM7上的移植根据µC/OS-II 的要求,移植µC/OS-II 到ARM7TDMI 上需要提供3个与处理器相关的文件5。(1 OS_CPU.H (C 语言头文件OS_CPU.H 文件主要是定义与编译器无关的数据类型、堆栈类型、堆栈增长方向和SWI 服务函数。在ARM7处理器中,用户任务可以使用两种处理器模式:用户模式和系统模式,各种方式对系统资源有不同的访问控制权限。为了使底层接口函

15、数与处理器状态无关,同时不需要知道函数的位置,移植中要使用软中断指令SWI 作为底层接口,使用不同的功能号区分不同的函数。(2 OS_CPU_C.C (C 程序源文件OS_CPU_C.C 文件中主要是任务堆栈初始化代码、软中断异常处理程序、开关中断、钩子函数和移植增加的特定函数。根据ARM 内核的特点,增加了处理器模式转换函数和两个任务初始化指令集设置函数。它们都是通过SWI 转换到系统模式,通过软件中断服务程序实现的。(3 OS_CPU_A.S (汇编程序源文件OS_CPU_A.S 文件主要包括软件中断的汇编接口、任务级任务切换函数O S _T A S K _S W 和中断级任务切换函数OS

16、IntCtxSw 以及启动最高优先级就绪任务函数。(4 中断及时钟节拍在本系统的移植中,只使用了ARM 的IRQ 中断。编写中断服务程序代码比较简单,关键在于把程序与芯片的相关中断源挂接,使芯片在产生相应的中断后会调用相应的处理程序。这需要做两方面的事:一是增加汇编接口的支持;二是初始化向量中断控制器。至于时钟节拍服务程序是通过在中断服务子程序中调用OSTimeTick(实现的。不过,值得注意的是,用户必须在多任务系统启动以后再开启时钟节拍器,否则容易造成用户应用程序的崩溃。3.3应用程序的编写根据电液比例控制系统所要实现的功能,并考虑到系统的实时性和可靠性,进行任务划分、创建任务并确定每个任

17、务的优先级。按优先级高低顺序排列,并行存在以下七个任务:起始任务,监控任务,键盘扫描任务,模拟信号采集任务,PWM 输出任务,液晶显示任务,通信任务。其中,起始任务包括启动时钟节拍,创建邮箱、消息量,初始化统计任务,创建其他任务等;监控任务检测数字式传感器输入的信号,比较是否属于危险操作,是否需要报警等;键盘扫描任务主要对键盘阵列进行处理,当检测到有键按下时进入该按键子程序;模拟信号采集任务主要是采集手柄信号并进行AD 转换;PWM 输出任务根据控制算法输出占空比可调的PWM 信号;液晶显示任务显示当前时间、系统状态和一些人机对话框;通信任务通过CAN 总线实现前端单元和电液比例控制系统的信息

18、交互,数据上传等。 编写好这些任务的代码、相关的调用程序和中断服务程序后,启动操作系统应用程序就开始运行。软件流程图如图5所示。图5软件流程图4结语本文详细介绍了基于ARM 和C/OS-的电液比例控制系统的设计思路。采用ARM 核LPC2292嵌入式微处理器,可以使系统小型化、功能集成度高、便于提高性能以及和各种外设的扩展。采用嵌入式实时操作系统C/OS-,便于多任务的管理调度。经过实验表明,本系统具有精度高、可靠性好、运行稳定、实时性好、抗干扰能力强等特点,可以在多种工程机械领域中推广应用。其他作者:彭楚武(1949-,男,湖南长沙人,教授,研究方向为嵌入式系统及CIM S 的研究;韦文祥(1977-,男,安徽太湖人,硕士,讲师,研究方向为测试计量技术及应用;马记平(1979

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论