斯特林发动机智能监控系统设计与实现
2016-11-25范伟成彭小方
范伟成,彭小方,潘 雪,曹 毅
(上海齐耀动力技术有限公司 上海 201203)
斯特林发动机智能监控系统设计与实现
范伟成,彭小方,潘 雪,曹 毅
(上海齐耀动力技术有限公司 上海 201203)
针对斯特林发动机运行监控需要,以MC9S12DG256和ATmega128单片机为核心设计了一款基于CAN总线及μCOS-II平台的监控系统。硬件分为主控制板、开关量板和模拟量板,软件上采用集中式与分布式结合的控制思想实现了斯特林发动机运行状态的检测和控制。文中介绍了系统工作原理、软硬件设计、CAN总线ID设计、μCOS-II在MCU上的移植和应用程序的设计。实际应用结果证明,该监控系统能有效对斯特林发动机的运行进行监控,验证了此方案的可行性,具有一定的设计参考价值。
斯特林发动机;CAN总线;μCOS-II;MC9S12DG256;ATmega128
斯特林发动机,又称热气机,是一种利用斯特林循环将燃料的化学能转换为机械能的外燃式发动机。与内燃机相比,斯特林发动机具有燃料适应范围广,噪音低,维护保养费用低等优点[1]。斯特林发动机运行时,通过调节工质压力和燃料供给量来控制斯特林发动机工作温度,使之工作在材料的耐温安全范围内,是提高斯特林发动机效率的重要方法;同时也要对发电品质进行检测以保证系统安全[2]。因此,设计了一款斯特林发动机智能监控系统,以完成斯特林发动机状态检测和控制任务,测量相关数据以研究斯特林发动机的特性。
文中基于CAN总线[3]和采用μC/OS-Ⅱ[4]作为系统任务调度内核平台,设计了一种斯特林发动机智能监控系统。文章首先对斯特林发动机智能监控系统的结构组成和工作原理进行了简单介绍,然后进行了系统硬件设计、μC/OS-Ⅱ的移植、CAN通信设计、系统应用程序和人机对话界面设计,最后是系统应用结果分析。
1 系统结构组成及工作原理
1.1 系统结构组成
斯特林发动机监控系统不仅功能多,而且要求有较高的抗干扰能力和高可靠性,因此将系统分为3部分:主控制板、开关量板、模拟量板。主控制板是整个监控系统的核心,完成斯特林发动机运行的控制逻辑、算法以及通信功能。开关板负责开关量信号的采集和输出,采集得到的信息通过CAN总线传输给主控制板处理,根据主控制板指令输出相应的开关量信号。模拟量板负责模拟信号的采集和输出,采集得到的信息通过CAN总线传输至主控制板处理,根据主控制板指令输出相应的模拟量信号。人机对话基于带触摸功能的工业平板电脑,带CAN2.0B通信接口。系统结构图如图1所示。
1.2 工作原理
本系统采用集中式与分布式结合的控制思想。斯特林发动机自动运行时,主控制板为运算中心,开关量板和模拟量板为测量与执行机构,此为集中式控制;斯特林发动机手动调试运行时,改由机旁平板电脑直接操作模拟量板和开关量板,此为分布式控制。开关量板、模拟量板和主控制板均采用了嵌入式实时操作系统μC/OSⅡ,开关量板和模拟量板仅有执行与反馈的功能,控制算法由主控制板承担,RS-485是斯特林发动机监控系统预留远程操作接口,以方便多套机组的集中操作。
图1 系统结构图
2 系统硬件设计
主控制板的微控制器采用16位单片机MC9S12DG256,属于HCS12系列,其内部集成了两路CAN控制器、Watchdog等,支持在线仿真、调试和编程,内部总线速率高达25 MHz,有工业控制专用的通信模块,用作数据运算处理和通信可以取得较好的效果[5]。主控制板主要由电源电路、复位电路、实时时钟、CAN电路、RS485和RS232等组成。为了提高抗干扰能力,CAN通讯、RS232和RS485与主控芯片MC9S12DG256之间进行光电隔离处理,同时采用独立模块电源供电,地线完全隔离。硬件设计连接图如图2所示。
图2 主控制板硬件连接图
开关量板、模拟量板的微控制器均采用Atmel公司的8位RISC高速微控制器ATMega128,该控制器有53个可编程的通用I/O脚,峰值运算速度达16 MIPS,具备SPI、I2C串行等接口,非常适合应用在嵌入式系统中[6]。CAN控制器选用NXP公司的SJA1000独立CAN控制器,能自主完成报文的发送和接收、报文滤波、发送扫描等功能[7]。CAN收发器选用TJA1050,它具有速度高、电磁辐射低、短路保护、热保护等功能[8]。开关量板主要处理开关信号的输入输出,均用光耦PC817进行隔离。模拟量板的AD采用AD7888[9]完成,其电路示意图如图3所示。
图3 模拟量板电路示意图
3 系统软件设计
3.1 μC/OS-Ⅱ移植
斯特林发动机监控系统控制板之间的数据交换是通过CAN总线技术实现的,系统中需要处理的事件任务繁多,尤其总线通信的实时响应要求非常高。前后台模式已经难以保证系统的稳定和可靠。因此引入了嵌入式实时操作系统进行软件开发。μC/OS-Ⅱ是一个嵌入式实时操作系统,短小精悍,非常适合应用在8位、16位嵌入式系统中,且内核源代码公开、可移植性好,因此选择uC/OS-Ⅱ作为系统任务调度内核[10]。在特定MCU上使用μC/OS-Ⅱ进行软件开发前,需要进行操作系统移植,使他能在该MCU上远行。所以首先必须进行μC/ OS-Ⅱ在MCU上的移植[11]。
移植工作主要主要分为3大步骤:μC/OS-Ⅱ中与文处理器相关代码的修改、与编译器相关代码的修改和应用软件的添加。MC9S12DG256单片机的C语言集成开发环境为Code Warrior5.9,移植μC/OS-Ⅱ共需要7个文件,分别是:ucos_9S12.C、INCLUDES.H、interrupt.c、OS_CFG.H、OS_CPU.h、OS_CPU_C.C、uCOS_II.h,需要进行相应的修改。
3.2 CAN总线通信程序设计
采用 Vector公司的 CAN总线开发工具完成。在CANdb++[12]软件环境下进行开发,先使用CAPL语言实现通讯机制的定义,再在CANoe环境下进行全模拟节点仿真,然后观察仿真结果(如总线负载,消息的优先级是否满足实时性要求),调整通讯机制,最后使用CANscope、CANlog、CANstress测试网络的鲁棒性和物理通讯的可靠性。
在基于CAN总线的监控系统中,应用协议的规划对整个网络稳定运行起着至关重要的作用。合理的通讯机制及ID分配决定了整个网络的通讯性能[13]。根据本系统的特点和报文功能重要性,报文可分为控制指令、底层数据传输、参数设置、报警信息、底层传向上位机信息(重要性由高到低排列)5大类。根据报文的目的地址可分为:开关量板、主控板、模拟量板、机旁监控装置(重要性由高到低排列)4大类。在分配CAN-ID号时充分考虑系统的此特点,将11位ID划分如图4所示。优先级高的数值较小,优先级低的数值越大。
图4 ID规划图
3.3 基于μC/OS-Ⅱ的应用程序设计
通电后,斯特林发动机监控系统开始工作,首先初始化微控制器MC9S12DG256和ATMega128以及外设,其次是初始化μC/OS-Ⅱ嵌入式操作系统、CAN通讯和Modbus通讯。初始化工作完成后,开启中断和设置中断服务子程序,然后根据系统资源分配以及任务关系创建信号量和消息邮箱,最后创建任务且根据每个任务性质赋予不同的优先级,任务处于就绪状态开始工作。此时,开关量板和模拟量板根据CAN总线的指令进行工作,并把各自的状态通过CAN总线反馈给主控板;主控板的任务主要由停车阶段任务、复位阶段任务、联锁检查任务、点火阶段任务、拖动阶段任务、爬坡阶段任务、运行阶段任务和报警处理任务。主控板主程序流程图如图5所示。
图5 主控板主程序流程图
3.4 平板电脑软件设计
平板电脑是采用WinCE嵌入式操作系统的基于ARM9核微处理器的触摸屏,主要功能为人机交互作用,其通过监测CAN总线的数据,将发动机的性能参数转换成屏幕上直观的数据。同时还承担参数设置、起动、手自切换、数据保存、报警记录等任务。平板电脑软件基于eMbedded Visual C++开发环境开发,充分利用eVC内带的MFC基本类库,其软件设计步骤为:首先安装SDK开发包,其次应用C++编写应用程序,然后编译生成.EXE文件,最后将应用程序同步至平板电脑。设计中应用程序必须使用UNICODE字符串,同时要注意应用程序必须是低内存的[14]。
开发完成的平板电脑软件主要由主界面、系统运行、参数数据、控制操作、历史趋势和报警记录等6个部分组成,如图6所示。此软件是操作人员与发动机进行人机对话的窗口,发动机的所有状态信息通过此软件进行显示,发动机的运行参数设置也是通过此界面进行设置,通过点选各功能页面可直接切换至所需页面。如主界面显示当前发动机的主要性能参数,包括功率,电流,温度和压力等;历史趋势可以查看发动机各个参数的运行趋势,可以用作寿命统计分析;报警记录主要记录发动机参数信息和警报类型,方便分析故障。
图6 平板电脑软件主界面
4 系统应用结果
在实际应用中,模拟量板完成斯特林发动机的管壁温度、压力、流量、功率、电流等模拟量检测工作;开关量板完成异步电机、水泵、工质短路阀和点火器等执行机构控制以及开关量传感器信号识别工作;主控制板根据状态判断是进入手动调试状态还是进入全自动运行状态。如果进入全自动运行状态,则根据当前所处的阶段执行相应的任务,主控制板将控制指令发往CAN总线,由开关量板与模拟量板分别接收执行。最后将发动机性能参数通过CAN总线发往机旁监控单元—平板电脑,由平板电脑加以显示、记录。图7所示的Statistics窗口可知,CAN网络通讯平稳,CAN-ID分布较合理,图8所示的Bus Statistics窗口可知,整个网络的最高负载为5.29%,远低于CAN网络30%[15]的临界线,总线利用率较高。
图7 Statistics窗口
图8 Bus Statistics窗口
斯特林发动机运行时,燃料中甲烷体积分数波动会造成发动机管壁温度变化,主控制板根据该温度自动调节燃料量和空气量的比例,控制温度在加热器材料的安全工作要求之下,同时调节发动机的工质压力,保证发动机高效稳定运行和输出高品质的电力。表1是部分试验数据,表明该监控系统完成了监控目标。
表1 发动机运行部分数据
5结 论
1)采用CAN总线和μC/OS-Ⅱ平台设计了一套斯特林发动机智能监控系统,CAN通信网络的负载远远低于其临界值,说明CAN-ID分布合理,有较高的利用率;uC/OS-Ⅱ嵌入式系统可以处理发动机繁多的任务要求,提高了整个监控系统的可靠性和稳定性。
2)集中式与分布式结合的控制思想有效的对应了斯特林发动机自动运行和手动调试两种模式,满足了斯特林发动机运行的需要,使系统响应迅速,操作方便,安全可靠。
3)监控系统在多个研究课题中得到了应用,能够让发动机按预期目标工作,获得了发动机大量性能参数,推进了斯特林发动机的研究工作,证明了本方案的正确性和可行性,具有一定的设计参考价值。
[1]钱国柱.热气机[M].北京:国防工业出版社,1982.
[2]金东寒.斯特林发动机技术[M].哈尔滨:哈尔滨工程大学出版社,2009.
[3]饶运涛,邹继军,王进宏,等.现场总线CAN原理与应用技术[M].2版.北京:北京航空航天大学出版社,2007.
[4]邵贝贝.嵌入式实时操作系统uC/OS-Ⅱ[M].2版.北京:北京航空航天大学出版社,2003.
[5]孙同景.Freescale 9s12十六位单片机原理及嵌入式开发技术[M].北京:机械工业出版社,2008.
[6]陈冬云,杜敬仓,任柯燕.ATmega128单片机原理与开发指导[M].北京:机械工业出版社,2006.
[7]律德才,马峰.CAN总线控制器SJA1000的原理及应用[J].电测与仪表,2002,(4):57-59.
[8]郑淑清,曾令国.CAN总线在全电子化计算机联锁系统中的应用[J].仪器仪表学报,2005,26(8):500-501.
[9]王琮泽,裴玉明,杨佳.模数转换器AD7888的应用探讨[J].吉林建筑工程学院学报,2010,27(4):53-56.
[10]王劲松,李正熙,夏旺盛.嵌入式操作系统UC/OS-II的内核实现[J].现代电子技术,2003,(8):48-50.
[11]刘海峰,刘百芬.嵌入式操作系统uC/OS-II在DSP上的移植研究[J].华东交通大学学报,2006,23(1):106-108.
[12]陈觉晓,孙泽昌.基于CANoe的实时CAN总线数据记录软件的设计方法[J].测控技术,2006(2):45-47.
[13]蔺京敏.基于P87C591单片机的CAN总线应用层协议的研究[D].天津:河北工业大学,2004.
[14]陈显楚,郭其一.基于Windows CE的嵌入式车载监控系统设计[J].计算机测量与控制,2007,15(1):85-87.
[15]卫星,张建军,张利,等.电动汽车CAN网络应用层协议研究[J].电子测量与仪器学报,2011,25(9):799-803.
Design and implementation of intelligent monitoring system for Stirling engine
FAN Wei-cheng,PENG Xiao-fang,PAN Xue,CAO Yi
(Shanghai Micropowers Ltd.,Shanghai 201203,China)
In order to meet the requirements of monitoring Stirling engine,an intelligent monitoring system has been designed,which uses the MC9S12DG256 and ATmega128 as the microprocessor,based on μCOS-II embedded system platform and CAN-bus.The hardware includes main control board,discrete board and the analog board,software on the centralized and distributed control theory combined with the detection and control of engine operation state of Stirling engine.This paper introduces the design principle of system,hardware and software design,CAN bus ID design,The design of μCOS-II in MCU on the transplant and Application.The practical application results show that,the monitoring system can monitor effectively the stirling engine running,verify the feasibility of this scheme,has a certain reference value.
Stirling engine;CAN-bus;μCOS-II;MC9S12DG256;ATmega128
TN803.5
A
1674-6236(2016)18-0085-04
2016-02-02 稿件编号:201602008
国家海洋局可再生能源专项资金 (GHME2011GC01);上海市科技攻关项目 (12dz1201200);上海市节能减排项目(11dz1202700);上海热气机工程技术研究中心(13DZ250100)
范伟成(1979—),男,江苏灌云人,工程师。研究方向:斯特林发动机控制。