APP下载

基于STM32的自由活塞内燃发电机电控系统设计

2017-07-07何谦益左正兴冯慧华郭宇耀

车辆与动力技术 2017年2期
关键词:上位串口活塞

何谦益, 左正兴, 冯慧华, 李 龙, 郭宇耀

(北京理工大学 机械与车辆学院,北京 100081)

基于STM32的自由活塞内燃发电机电控系统设计

何谦益, 左正兴, 冯慧华, 李 龙, 郭宇耀

(北京理工大学 机械与车辆学院,北京 100081)

围绕STM32F407设计了符合自由活塞内燃发电机控制需求的电控系统,并匹配设计了对应软件.从样机结构特点、运行特点入手,分析了控制系统具体功能与需求,提出STM32与FPGA联合控制的总体方案,并介绍了处理器单元模块、数据采集模块、驱动模块以及通信模块的硬件设计.提出通过运行速度调整后续控制参数的控制策略并进行仿真,使用软件分层设计思想以及前沿工具STM32CubeMX进行ECU软件开发.最后试验验证了ECU与PC之间串口通信的实现.

自由活塞内燃发电机;电控系统;串口通信

自由活塞内燃发电机(Free-piston Engine Generator,简称FPEG)是由自由活塞内燃发动机与直线电机耦合而成的一种新型能量转换装置.得益于其结构的特殊性,具有传递路径短、结构紧凑等优点,应用前景广阔[1-3].但也因其唯一运动部件活塞组件不受机械限制,没有固定的上下止点,给整机控制带来了很大困难.机器运动规律完全取决于其受力状态,因此,在压缩冲程中施加给活塞组件的能量要恰好使活塞完成压缩冲程,能量过多将活塞位移过度,甚至损坏发动机,能量不足将导致发动机失火.所以控制问题是关乎自由活塞内燃发电机稳定运行的核心问题[4].

现阶段对FPEG控制方面的研究成果大多停留在控制策略层面[5-8],虽然有少数研究人员对控制系统展开过研发[9],但因当时控制芯片发展条件所限,所选用的微控制器(Micro Controller Unit,简称MCU)性能远落后于当前的主流芯片.本文针对自由活塞内燃发电机的控制问题,提出STM32与FPGA联合控制的方案,对FPEG电子控制系统的硬件进行设计,提出通过运行速度调整后续控制参数的控制策略,在软件分层思想的指导下,运用前沿开发工具STM32CubeMX进行软件开发,并实现ECU与上位机之间的串口通信.

1 控制系统需求分析

FPEG一种常见的结构如图1所示.两个气缸分布在左右两侧,中间为直线电机,活塞连杆与电机中间的动子磁芯通过螺纹固连.FPEG工作时,控制系统需读取左右两侧气缸内的压力、活塞位置等信号,将这些数据传给MCU,计算出喷油量、点火时机等信息,最后通过驱动电路来控制执行器件工作.此外,电子控制单元(Electronic Control Unit,简称ECU)也需要与上位机或者传感器之间进行通信.

图1 FPEG样机结构图

有研究者通过控制板卡或电机供应商提供的控制平台对自由活塞内燃发电机进行控制[10],但这种方法不能及时将上一行程采集到的工作状态参数经过计算运用到下一行程控制当中,极大地限制了控制策略实现的可能性.因此,重新设计独立的FPEG控制系统有着重要意义.

通过以上分析可知FPEG对控制系统有如下需求:①较高的信号处理速度:FPEG没有飞轮或液压缸这类储能机构,峰值运动速度和加速度明显快于传统内燃机,需要对其输入信号进行快速处理;②多个A/D转换通道:控制系统工作时需要同时采集两侧缸内压力、两侧缸内温度、两个进气流量等多个模拟量信号;③强大的驱动能力:需要对喷油器、点火装置、步进电机等进行驱动;④满足多种通信协议:ECU需要与上位机和控制板卡之间进行通信,必须支持不同种类的通信协议例如RS-232、RS-485、CAN等.

2 ECU硬件设计

2.1 硬件总体方案

根据上述需求,选取意法半导体公司推出的STM32F407控制芯片作为MCU.速度方面,STM32F407使用Cortex-M4内核,频率高达168 MHz,指令周期仅为5.9 ns,可完全满足FPEG样机25 Hz左右运行频率的需求;模数转换方面,该芯片拥有3个12位A/D转换器,多达24个通道,满足FPEG近10项的输入信号通道需求;驱动方面,既可以驱动普通开关式控制器,又可以通过内置DAC或定时器输出PWM信号控制步进电机控制节气门开度;通信方面,该芯片拥有多达15个接口,其中多个UART可为RS-232与RS-485协议下的通信提供硬件平台,2个CAN接口为CAN总线通信提供资源.

从功能角度而言STM32芯片更侧重于任务调度,相比之下现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)具有更强的计算能力.所以选用二者联合的方案,各取所长,运用STM32进行任务调度,运用FPGA进行主要计算或者对某些位移采集设备进行解码.此外,STM32也能够胜任对自由活塞内燃发电机控制参数的计算,因此,预留了信号输入电路,保证在FPGA出现异常的情况下,可以使STM32承担起计算任务.控制系统硬件架构如图2所示.

2.2 处理器单元模块

为提高自由活塞内燃发电机ECU对不同MCU的兼容性,本文采用ECU处理器单元与各功能模块分离的方案.处理器单元位于核心板,主要用来布置MCU芯片的最小系统以及和底板的连接电路,底板上主要用来放置输出信号处理电路、执行器驱动电路、FPGA、连接器电路等功能型电路.

2.2.1 电源电路

ECU使用3.3 V电压为STM32芯片供电,但同时也需要5 V电压为其他器件进行供电,如测量活塞位移的SR27A型磁栅位移传感器等.

设计中采用2级降压的方式,先将外部电源提供的12 V直流电转换为5 V,一方面作为ECU中一些元器件的驱动电源,另一方面作为输入电压,再经过转换输出3.3 V电压.若将12 V电压直接转化为3.3 V电压,线性三端稳压器往往会产生巨大热量,发生纹波控制问题,故选择先将12 V转为5 V,再转为3.3 V的方案.选用直流降压转换芯片MP2359来进行第一级降压得到5 V电源,正向低压差稳压器AMS1117-3.3来进行第2级降压得到3.3 V电源.

图2 控制系统硬件架构

2.2.2 时钟电路

STM32F407内部已经包含了16 MHz的高速内部振荡电路和32 kHz,但是精度都不高.因为FPEG运行速度快,对点火时刻有着严格的要求,低精度时钟会影响点火时刻的准确性,所以在外部增加了高精度25 MHz和32.768 kHz的时钟晶振电路,分别为系统的可靠工作提供时序基准,以及为看门狗和实时时钟提供驱动.

2.3 数据采集模块

测量缸内温度、缸内压力、进气流量等绝大部分传感器输出信号为模拟量,需要进行稳压或模数转换处理才能供控制芯片使用.模拟信号被分成2路:一路经过稳压电路直接输入给STM32F407芯片内置ADC,另一路通过外置模数转换电路处理后输入给FPGA.

对模拟信号只需进行简单的分压与稳压处理,将输出电压稳定在3.3 V左右,满足STM32F407芯片输入电压条件即可直接输入.通过2个分压电阻和一个稳压二极管即可实现该功能.

在A/D转换电路的设计过程中,将模拟量到数字量的转换过程分为2步来进行,第1步是通过型号为LM2901D的电压比较器来进行鉴幅,将连续的模拟量转换成阶跃式的数字量,第2步是在施密特触发器中将信号整形成规则的矩形脉冲.

2.4 执行器驱动模块

FPEG的执行器有3类: ①需要大功率来驱动,例如点火系统;②普通开关类执行器,例如喷油器、油泵驱动器等;③需要PWM信号来驱动,例如控制气门开度的电机.

FPEG样机使用商用点火系统,由12 V直流电压驱动,选用高速高电压功率MOS管和IGBT驱动芯片IR2101S可满足其需求.点火驱动电路原理图如图3所示, 大电容和稳压二极管的作用是与HO、LO后面的负载组成一个升压电路,在VB口上产生一个12 V电压,芯片会用VB口的电压来驱动NMOS上管.由MCU发出逻辑信号,经LIN或HIN口进入驱动芯片,后经过低端推挽输出极将功率进行放大后输出12 V的电压对后面的点火模块进行驱动.

图3 点火驱动电路原理图

FPEG中的喷油器与燃油泵均可由12 V直流电压驱动,与点火系统相比,对功率的要求较低,所以驱动信号可视为开关信号.因为对喷油器的控制本质是对电磁阀的启闭进行控制,故选用英飞凌公司为驱动感性负载推出的4通道低侧开关TLE6228.在电路设计上,通过稳压二极管外接12 V直流电源,运用TLE6228的输出信号控制稳压二极管通断,进而控制12 V直流电源对喷油器或燃油泵进行驱动.

FPEG中控制节气门开度的步进电机可由大小为5 V的PWM信号驱动.设计中,直接使用ECU发出PWM信号来控制作为开关的三极管,并在三极管集电极外接5 V直流电源以满足步进电机的控制需求.

2.5 通信模块

FPEG要求其ECU工作过程中与其他多个单位进行通信,其中包括:直线电机驱动控制卡、上位机、特定传感器.

ECU不能驱动工作电压高达380 V的直线电机,需要在ECU与驱动控制板卡建立通信,通过板卡使用外部电源对直线电机进行控制与驱动,这里通过CAN总线通信实现.ECU也需要和作为上位机的PC进行通信,在PC上显示FPEG的工作状况以及实时参数,通过串口通信或者CAN总线通信实现,其中串口通信操作简单但是对环境的要求相对严格,例如2个通讯端之间的距离不宜太长,适合在前期调试时使用.RS-485总线通信协议适用于大部分传感器,主要为了满足测量活塞组件位置的直线位移传感器与FPGA的通信需求.自由活塞内燃发电机ECU的通信模块架构如图4所示.

图4 ECU通信模块架构图

3 ECU软件设计

3.1 软件开发思想

在自由活塞内燃发电机 ECU软件开发过程中,运用了软件分层设计的思想.分层思想将系统按不同职责组织成有序层次,其中每一层仅提供若干服务供其相邻的上层使用,仅调用其相邻下层的服务.根据中航工业洛阳电光设备研究所孙磊的观点,分层架构通常在逻辑上进行垂直层次划分,在从下到上依次包括:驱动层、基础层、中间层、应用层[11].这种分层方式适用于手机这种功能十分齐全的嵌入式系统,对于自由活塞内燃发电机电子控制单元,暂不需要实现如此复杂的功能,所以在软件分层上可以进行一定简化,具体分为:驱动层、基础层、应用层.

3.2 驱动层软件

STM32CubeMX是2016年以来被STM32开发者广泛使用的一个新工具,由ST公司原创,目的是减少开发工作时间和费用.从本质上说STM32CubeMX是一个图形化的C代码自动生成环境.在编写ECU底层驱动程序时,使用STM32CubeMX工具来进行辅助编程.

首先将外部25 MHz的晶振经过倍频与分频得到多种频率的时钟脉冲,其中:168 MHz的时钟提供给内核与系统总线AHB,AHB在ECU与上位机串口通信时为直接内存存取端口 (Direct Memory Access,简称DMA)与内置存储器提供总线通道;42 MHz的APB1时钟,为FPEG电控单元与上位机、传感器之间的通信提供时钟脉冲;84 MHz的APB2时钟,为所有传感器的模数转换、所有控制信号的输出提供时钟脉冲.

其次,根据FPEG的控制需求对各外部设备进行配置,例如根据各传感器额定参数,确定ADC的分辨率,其中大部分设置为10位;根据火花塞驱动电路,将相应的GPIO设置为低速下拉输出模式等.

3.3 控制软件

控制程序在ECU软件整体架构中位于应用层与基础层,建立在驱动层之上,其核心是控制策略.本文采用通过速度调整后续点火时刻、喷油量的控制策略,旨在弥补某冲程循环变动导致的扰动,维持样机稳定运行.根据样机运行过程中若受循环变动的影响,对本行程异侧气缸点火时机、下行程同侧气缸的喷油量与点火时机进行调整.当检测到样机运行受影响时,异侧气缸内已完成油气混合,暂无法对异侧气缸喷油、进气量进行修正.以左侧气缸发生循环变动为例,若左侧气缸运行速度慢于预期,则控制本行程右侧点火时刻提前,下行程左侧喷油量增加、点火时刻提前.其控制策略逻辑如图5所示.对控制模型进行仿真结果见图6.从图中可以看出当机器运行0.15 s后,由于循环变动导致左侧缸内燃烧不充分,能量不足,最大速度明显低于前3个循环,但通过提高喷油量等措施进行能量补偿,使下一个循环机器工作恢复正常.

图5 控制策略逻辑图

图6 控制模型仿真结果

3.4 串口通信

本ECU使用USART1与上位机进行通信.USART通信软件需要初始化串口通信模块,包括:串口时钟的开启、GPIO的设置、NVIC的设置、DMA的配置、奇偶校验等的配置,最后使能串口中断.当数据接收或发送中断请求发生时,ECU会进入中断函数完成数据的接收和发送,之后清除中断标志位,等待下一轮中断事件.

4 上位机程序开发与验证

4.1 串口读写函数

上位机软件的设计在LabView环境中进行.在上位机与下位机通信时,需要特定的通信协议来进行二者信息的对接,本控制系统规定串口每次发送12字节的字符串:其中首个字节为起始帧,数据上行时为0xFF,下行时为0xFE;第2与第3个字节为标识区;之后8个字节为数据位;最后一个为校验字节,即前面11个字节之和对256的余数.

4.2 串口通信试验验证

用ECU向上位机按通信协议发送一串字符,得到结果如图7所示,其中,左边为上位机串口收发程序的前面板,右边为串口调试助手,显示PC串口实际接收到的数据.从图中可以看出,ECU发送的12字节十六进制字符串校被上位机成功接收.

图7 串口通信PC接收正确数据验证图

再用ECU向上位机发送不符合通信协议的字符串,其中校验位由72改为了88,其结果如图8所示.可以看出已经有一个由相应的字符串进入PC串口,但是没有通过和校验函数,上位机程序拒绝接收.通过对比证明了ECU与PC实现了串口通信.

图8 串口通信PC接收错误数据验证图

5 总 结

1)提出MCU与计算模块FPGA联合的新方案,围绕微控制器STM32F407,结合自由活塞内燃发电机控制特点,对控制系统进行了硬件设计与制作.

2)提出通过速度调整后续点火时刻、喷油量

和进气量的控制策略,并进行仿真验证;运用分层思想进行ECU软件设计,并在驱动程序的开发中使用新工具STM32CubeMX.

3)使用核心板与底板分离的方案,适应能力强,能够很好地应对控制芯片领域快速的更新换代,方便未来对FPEG控制系统的设计.

[1] Mikalsen R, Roskilly A P. Performance simulation of a spark ignited free-piston engine generator [J]. Applied Thermal Engineering, 2008, 28(15):1726-1733.

[2] Mao J, Zuo Z, Feng H. Parameters coupling designation of diesel free-piston engine with linear alternator [J]. Applied Energy, 2011, 88(12):4577-4589.

[3] Mao J, Zuo Z, Liu D. Numerical simulation of a park ignited two-stroke free-piston engine generator[J]. Journal of Beijing Institute of Technology, 2009, 1(3):283-297.

[4] 田春来. 直线电机式自由活塞发动机运动特性与控制策略研究[D]. 北京:北京理工大学, 2012.

[5] Mikalsen R, Roskilly A P. An investigation into the free-piston engine concept and its potential for high efficiency and low emissions power generator [D]. Newcastle upon Tyne, UK: Newcastle University,2008.

[6] Mikalsen R, Roskilly A P. The control of a free-piston engine generator. Part 1: Fundamental analyses [J]. Applied Energy, 2010, 87(4):1273-1280.

[7] Mikalsen R, Roskilly A P. The control of a free-piston engine generator. Part 2: Engine dynamics and piston motion contro [J]. Applied Energy, 2010, 87(4):1281-1287.

[8] 唐玉梅. 内燃—直线发电集成动力系统中自由活塞发动机空燃比与点火时刻的控制[D]. 江苏:南京理工大学, 2008.

[9] 闫红力,徐 兵,杨华勇. 基于DSP的液压自由活塞发动机控制器的设计[J]. 机床与液压, 2006(4):115-116

[10]王梦秋. 点燃式FPEG启动过程仿真与实验研究[D]. 北京:北京理工大学, 2014.

[11]孙 磊. 嵌入式软件分层架构设计与实现[J]. 软件导刊,2014,13(6):14-15.

Electronic Control System Design of the Free-Piston EngineGenerator based on STM32

HE Qian-yi, ZUO Zheng-xing, FENG Hui-hua, LI Long, GUO Yu-yao

(School of Mechanical Engineering, Beijing Institute of Technology, Beijing 100081, China)

Based on the STM32F407, an electronic control unit (ECU) and its corresponding software were designed for its electronic control system of a Free-Piston Engine Generator (FPEG). According to the features of the prototype in its structure and operation modes, the specific functions and requirements of the system were analyzed and a general control scheme was proposed of combining the STM32 with the FPGA. The hardware design of such modules of the system was introduced as a processor, a data acquisition, a driver and a communication. The strategy of adjusting the subsequent control parameters was proposed based on the operation speed, and the simulation was conducted. By means of the layered structure design concept, the ECU software was developed with an advanced tool, STM32CubeMX. The feasibility and robustness of the serial communication is verified between the ECU and the principal computer.

free-piston engine generator; electronic control system; serial communication

1009-4687(2017)02-0001-06

2016-12-16

何谦益(1991-),男,硕士,研究方向为发动机电子控制.

TK441

A

猜你喜欢

上位串口活塞
一种活塞挤压式室内通风设备的研发与应用
浅谈AB PLC串口跟RFID传感器的通讯应用
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
以新思路促推现代农业上位
KS Kolbenschmidt公司的新型钢活塞