欢迎来到天天文库
浏览记录
ID:23730080
大小:53.50 KB
页数:6页
时间:2018-11-10
《基于arm的给煤机控制系统的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于ARM的给煤机控制系统的设计
2、第1内容加载中...摘要:本文介绍了给煤机控制系统的基本结构以及控制系统的硬/软件设计,并详细分析了实时多任务操作系统mC/OS-II在Samsung公司32位ARM控制器S3C44B0x上的移植。引言本文设计的给煤机控制系统主要用于火力发电厂的磨煤制粉系统中,它与磨煤机设备配合,承担向系统定量均匀供煤的任务,是火力发电厂重要的辅助设备。这种系统同样可以应用于冶金、化工等部门的散状物料的计量输送系统,对于节约能源和提高经济效益及保证安全方面有重大意义。500)this.style.ouseg(this)">500)this.styl
3、e.ouseg(this)">图1自跟踪电源电路500)this.style.ouseg(this)">图24~20mA电流产生电路控制系统硬件的设计该控制系统主要包括称重传感器信号的检测、数字式速度传感器信号的检测、键盘输入信号的扫描、液晶显示屏的显示,以及一些报警装置等。由于本设计对主控制器的要求较高,所以最终采用了Samsung公司的基于ARM7TDMI-S内核的低功耗ARM处理器S3C44B0x作为系统的主控制器。称重传感器信号的采集是影响本系统控制精度的最重要因素之一,本设计中将传感器桥路设计成4片应变片都受力的形式。同时由于应变片式传感器的输出信号非常小
4、,因而要求桥路的电压特别稳定,所以此系统采用了对称型、并有正负压自跟踪性能的电源,如图1所示。传感器的信号首先经过放大、滤波处理,然后送到A/D控制器。S3C44B0x处理器内部集成了8路10位的A/D控制器、零比较器和内部产生的比较时钟信号,支持软件使能休眠模式,所以可以很精确的测出传感器的信号。并且通过使用该处理器使得本系统不需要再外扩A/D转换芯片,从而减少了系统的复杂性。速度传感器检测的是皮带的速度,由于电机旋转的速度和皮带的速度一般不同,有一个比例系数,为了确保准确性,本设计单独采用了速度传感器,速度传感器的脉冲输出正比于皮带速度。通过将皮带的速度信号和称
5、重传感器的重量信号送入微处理器进行处理,就得到了以吨/小时为单位的实际流量。通过键盘输入所需要的给煤量,将实际给煤量和所需给煤量进行PID运算,并把产生的控制信号用来控制变频器,进而来控制电机的转速。本系统用的变频器是西门子的MMV400,将此变频器设置为4~20mA的电流控制,由控制器比较用户指令和现场的状态反馈后发送4~20mA电流至变频器的模拟量输入口,然后变频器将输入的电流信号转换为对应的频率后输出来控制电机。其中产生4~20mA电流的电路如图2所示。ARM处理器的控制数据首先经过光电隔离送到D/A控制器(TLC5615),转换成0~2V的电压信号,然后经过
6、V/I转换器(AD694)产生4~20mA的电流信号,用来精确的控制电机的转速。LCD显示屏显示的内容包括电机的转速、所需给煤量、实际的给煤量,以及皮带的速度等。S3C44B0x中集成了LCD控制器,可以将显示缓存中的数据传送到外部的LCD驱动电路中,并可以支持单色、4或16级灰度的LCD和256级的彩色LCD。大量的I/O口作为继电器信号输出。并且S3C44B0x还可以通过串口RS-232和上位机进行通信。控制系统软件的设计给煤机控制系统软件选用嵌入式实时多任务操作系统mC/OS-II。它是一个源代码公开、可移植、可固化、可剪裁、占先式的实时多任务操作系统。其绝大
7、部分源代码是用ANSIC写的,移植方便,并且运行稳定可靠。目前,它已经在几十种从8位到64位的微处理器,微控制器上实现了成功的移植。mC/OS-II在S3C44B0x上的移植移植mC/OS-II主要包括:声明3个宏(开中断,关中断和任务切换);设置堆栈的增长方向;声明10个与编译器相关的数据类型;用C语言编写6个与操作系统有关的函数(OS-CPU-C.C任务堆栈初始化和5个钩子函数);用汇编语言编写4个与处理器相关的函数(OS-CPU.ASM)。用汇编语言编写4个与处理器相关的函数如下。mC/OS-II需要先禁止中断再访问代码的临界断,并且在访问结束后重新允许中断,
8、操作系统是通过OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()两函数来实现开中断和关中断的。在mC/OS-II中,使用OS-STK-GRO中,这就完成了OS-CPU.ASM文件的移植。上层任务调度部分不需要任何改动。完成以上工作后,mC/OS-II就可以正常运行在S3C44B0x处理器上了。系统任务的划分以及调度嵌入式实时系统中的任务不同于前后台系统中的子程序模块,一般,一个任务对应于一段独立的主程序,它可以调用子程序,并使用如中断等各种系统资源。嵌入式系统的任务划分,是将系统中所要处理的事情划分为一个个相对独立的任务模块,将其按顺序
此文档下载收益归作者所有