摘 要:本文介绍了给煤机控制系统的基本结构以及控制系统的硬/软件设计,并详细分析了实时多任务操作系统mC/OS-II在Samsung公司32位ARM控制器S3C44B0x上的移植。
关键词:给煤机控制系统;S3C44B0x;mC/OS-II
引言
本文设计的给煤机控制系统主要用于火力发电厂的磨煤制粉系统中,它与磨煤机设备配合,承担向系统定量均匀供煤的任务,是火力发电厂重要的辅助设备。这种系统同样可以应用于冶金、化工等部门的散状物料的计量输送系统,对于节约能源和提高经济效益及保证安全方面有重大意义。
图1 自跟踪电源电路
图2 4"20mA电流产生电路
[b]控制系统硬件的设计
[/b] 该控制系统主要包括称重传感器信号的检测、数字式速度传感器信号的检测、键盘输入信号的扫描、液晶显示屏的显示,以及一些报警装置等。由于本设计对主控制器的要求较高,所以最终采用了Samsung公司的基于ARM7TDMI-S内核的低功耗ARM处理器S3C44B0x作为系统的主控制器。
称重传感器信号的采集是影响本系统控制精度的最重要因素之一,本设计中将传感器桥路设计成4片应变片都受力的形式。同时由于应变片式传感器的输出信号非常小,因而要求桥路的电压特别稳定,所以此系统采用了对称型、并有正负压自跟踪性能的电源,如图1所示。
传感器的信号首先经过放大、滤波处理,然后送到A/D控制器。S3C44B0x处理器内部集成了8路10位的A/D控制器、零比较器和内部产生的比较时钟信号,支持软件使能休眠模式,所以可以很精确的测出传感器的信号。并且通过使用该处理器使得本系统不需要再外扩A/D转换芯片,从而减少了系统的复杂性。
速度传感器检测的是皮带的速度,由于电机旋转的速度和皮带的速度一般不同,有一个比例系数,为了确保准确性,本设计单独采用了速度传感器,速度传感器的脉冲输出正比于皮带速度。通过将皮带的速度信号和称重传感器的重量信号送入微处理器进行处理,就得到了以吨/小时为单位的实际流量。
通过键盘输入所需要的给煤量,将实际给煤量和所需给煤量进行PID运算,并把产生的控制信号用来控制变频器,进而来控制电机的转速。本系统用的变频器是西门子的MMV400,将此变频器设置为4"20mA的电流控制,由控制器比较用户指令和现场的状态反馈后发送4"20mA电流至变频器的模拟量输入口,然后变频器将输入的电流信号转换为对应的频率后输出来控制电机。其中产生4"20mA电流的电路如图2所示。
ARM处理器的控制数据首先经过光电隔离送到D/A控制器(TLC5615),转换成0"2V的电压信号,然后经过V/I转换器(AD694)产生4"20mA的电流信号,用来精确的控制电机的转速。
LCD显示屏显示的内容包括电机的转速、所需给煤量、实际的给煤量,以及皮带的速度等。S3C44B0x中集成了LCD控制器,可以将显示缓存中的数据传送到外部的LCD驱动电路中,并可以支持单色、4或16级灰度的LCD和256级的彩色LCD。大量的I/O口作为继电器信号输出。并且S3C44B0x还可以通过串口RS-232和上位机进行通信。
[b]控制系统软件的设计
[/b] 给煤机控制系统软件选用嵌入式实时多任务操作系统mC/OS-II。它是一个源代码公开、可移植、可固化、可剪裁、占先式的实时多任务操作系统。其绝大部分源代码是用ANSI C写的,移植方便,并且运行稳定可靠。目前,它已经在几十种从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需要先禁止中断再访问代码的临界断,并且在访问结束后重新允许中断, 操作系统是通过OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()两函数来实现开中断和关中断的。
在mC/OS-II中,使用OS-STK-GROWTH来指定堆栈的增长方向,0表示从低地址向高地址增长,1则相反。但是所用的ADS编译器仅支持高地址向低地址增长的方式,所以OS-STK-GROWTH应设置为1。
然后用汇编语言编写4个与处理器相关的函数,放到函数OS-CPU.ASM中,这就完成了OS-CPU.ASM文件的移植。上层任务调度部分不需要任何改动。完成以上工作后,mC/OS-II就可以正常运行在S3C44B0x处理器上了。
系统任务的划分以及调度
嵌入式实时系统中的任务不同于前后台系统中的子程序模块,一般,一个任务对应于一段独立的主程序,它可以调用子程序,并使用如中断等各种系统资源。嵌入式系统的任务划分,是将系统中所要处理的事情划分为一个个相对独立的任务模块,将其按顺序建立一个个的任务,并且分配不同的优先级。在主程序中,所需要做的是建立这些模块的任务,然后每次执行就绪任务队列中优先级最高的任务。根据本控制系统的特点,可将任务划分如下:键盘扫描、传感器信号的检测、电机速
度减慢、电机速度变快,以及液晶显示等任务。
mC/OS-II的任务调度是按优先级进行的,所以必须为每个任务分配不同的优先级,其中0,1,2,3,OS_LOWEST_PRIO-3, OS_LOWEST_PRIO-2, OS_LOWEST_PRIO-1, OS_LOWEST_PRIO,这几个优先级供系统使用,所以必须保留。
根据每个任务的实时性要求以及重要程度,分别将以上任务的优先级分配为:12、6、7、8和13等。任务优先级号越低,优先级越高。
当给煤机控制系统启动后,如果启动一切正常,则进行送煤任务,运行时,如果传感器信号检测到给煤量偏多,则发送信号给电机减慢的任务,反之,就发送信号给电机加速任务。此外,当有一些故障、危险出现时,则发送信号给停机任务。总之,在控制系统中,信号、消息不断传递,使得各任务不断切换运行,从而整个系统得以正常的连续的工作。
[b]结语
[/b] 本文在介绍了给煤机结构的基础上,介绍了其控制系统的硬件原理以及软件设计,经多次现场调试运行,本控制系统能很好的完成电厂的给煤任务。
编辑: 引用地址:基于ARM的给煤机控制系统的设计
上一篇:基于ARM的车辆检测系统控制单元设计
下一篇:实车碰撞车速控制系统控制器的设计与实现
- 热门资源推荐
- 热门放大器推荐
小广播
热门活动
换一批
更多
最新传感技术文章
更多精选电路图
更多热门文章
更多每日新闻
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
更多往期活动
- 【抢楼有奖】聊聊对光电子的认识!
- 提出你的电源问题&技术解答,提升自我电源知识,赢取好礼
- ADI有奖下载活动之20:基于NDIR和PID的ADI气体探测器解决方案和新产品
- 3月21日有奖直播:ADI新一代高阻抗输入SAR ADC的优势与应用
- 帮忙他人,成就自我——EEWORLD问答榜(10期)
- 了解keysight汽车电子解决方案,答题赢好礼
- 逛安富利新能源技术创新云会展 赢好礼!
- 免费试用Atmel MCU开发板,抢“鲜”体验优越性能,更有大奖等你拿!
- 福禄克首款热成像万用表Fluke-279FC 即将上市!填写问卷赢好礼喽!
- 有奖直播:如何利用瑞萨电子的GreenPAK™平台优化混合信号电路设计
11月16日历史上的今天
厂商技术中心