近年来新能源汽车在中国掀起了一股热潮,而电动方程式赛车也因此得到了更广泛的关注。电控系统是电动方程式赛车的核心,涉及嵌入式、传感器、电力拖动、无线数据传输等多项技术。本文以Attacker赛车队的第二代电动方程式赛车为研究对象,自主开发整车控制器和无线数据采集系统。
整车控制器(VCU)、电机控制器(MCU)和电池管理系统(BMS)被称为新能源汽车三大核心技术。本文首先对电动方程式赛车的电机、电机控制器、电池管理系统进行选型,继而针对中国大学生方程式汽车大赛规则,开发整车控制器。整车控制器负责采集加速踏板和制动踏板等信号来判断驾驶员意图,通过CAN总线向动力系统发送整车控制指令。此外,整车控制器还兼备仪表显示、温控冷却系统、故障诊断等多项功能。
最后,本文结合无线数据传输技术和上位机技术,自主开发出无线数据采集系统,可以实时监控整车运行状态并绘制电机相关参数曲线,为电机的特性曲线标定提供极大的便利,对FSEC的技术发展具有一定意义。
关键词:电动方程式 整车控制器 无线数据采集 上位机
Electric System Design of University Student's Electric Formula Racing
In recent years, new energy vehicles in China set off a boom, and electric formula racing is also getting a wider range of attention. The electronic control system is the core of the electric formula car, involving embedded, sensor, electric drag, wireless data transmission and many other technologies. In this paper, Attacker racing team's second generation of electric formula racing as the object of study, independent development of vehicle controller and wireless data acquisition system.
The vehicle controller unit(VCU), motor controller unit (MCU) and battery management system (BMS) are known as the three core technologies of new energy vehicles. This article first of the electric formula racing motor, motor controller, battery management system selection, and then for the Chinese college students Formula One car competition rules, the development of vehicle controller. Vehicle controller is responsible for collecting the accelerator pedal and brake pedal and other signals to determine the driver's intention, through the CAN bus to the power system to send vehicle control instructions. In addition, the vehicle controller also has instrument display, temperature control cooling system, fault diagnosis and many other functions.
Finally, this paper combines the wireless data transmission technology and the host computer technology to develop the wireless data acquisition system independently. It can monitor the running status of the vehicle in real time and draw the curve of the relevant parameters of the motor. It provides great convenience for the calibration of the characteristic curve of the motor, also has a certain significance to FSEC.
Key words: electric formula racing; vehicle controller unit; wireless data acquisition; upper monitor
目 录
摘 要
Abstract
第1章 绪论
1.1 大学生方程式汽车大赛简介
1.2 纯电动汽车整车控制器研究现状
1.3 课题来源及意义
1.4 本文研究主要内容
第2章 整车电气方案设计
2.1 整车电气系统拓扑
2.2 电机选型
2.3 电机控制器选型与基本原理
2.3.1 电机控制器各项参数及优势
2.3.2 电机控制器工作原理简述
2.3.3 电机控制器调试
2.4 电池选型及相关计算
2.5 电池管理系统与基本原理
2.5.1 电池管理系统选型
2.5.2 电池管理系统工作流程
2.6 数据显示方案设计
2.6.1 数据显示方案方案选择
2.6.2 串口屏与整车控制器硬件连接
2.6.3 串口屏界面设计
2.7 整车控制器功能分析
第3章 整车控制器硬件设计
3.1 整车控制器主控芯片选型及其最小系统
3.1.1 整车控制器主控芯片选型
3.1.2 整车控制器主控芯片最小系统
3.2 整车控制器电源电路设计
3.3 CAN总线硬件设计
3.4 检测待驶状态相关硬件设计
3.5 加速踏板、制动踏板相关硬件设计
3.6 继电器、指示灯等驱动电路
3.7 整车控制器实物制作
第4章 整车控制器软件设计
4.1 嵌入式实时操作系统μC/OS-III 应用
4.1.1 嵌入式实时操作系统的引入及选择
4.1.2 嵌入式实时操作系统μC/OS-III具体应用
4.2 检测待驶状态任务
4.2.1 待驶状态相关规则
4.2.2 检测待驶状态相关程序设计
4.3 踏板信号采集任务
4.3.1 加速踏板、制动踏板相关规则
4.3.2 加速踏板、制动踏板相关程序设计
4.4 CAN总线软件设计
4.4.1 整车控制器至电机控制器的CAN报文
4.4.2 电机控制器至整车控制器的CAN报文
4.4.3 电池管理系统至整车控制器的CAN报文
第5章 FSEC无线数据采集系统设计
5.1 无线数据传输
5.1.1 无线数据传输方案选择
5.1.2 无线数据传输拓扑结构
5.1.3 无线数据传输接收模块硬件设计
5.1.4 无线数据传输协议定制
5.2 上位机设计
5.2.1 上位机界面设计
5.2.2 上位机串口通信协议定制及实现
5.2.3 无线数据采集系统功能验证
第6章 总结与展望
参考文献
致 谢
附录A
FSAE,即Formula SAE,在国际上被视为“学界的 F1 方程式赛车”。该赛事是一项车辆性能设计方面的比赛,也是一场“工程教育式的体验”,被誉为“汽车工程师的摇篮”。早在1979年,美国汽车工程师协会创办了首届FSAE大赛,后来,在内燃机车比赛的基础上,又发展了电车比赛。我国于2010年引入内燃机车赛事(即FSC),并于2013年首次举办了电车比赛(即FSEC),到2016年第4届中国大学生电动方程式大赛时 ,参赛队伍已达37支,参赛学生已超过千人。
大赛要求各车队严格按照赛事规则[1],由车队学生自主设计、制造一辆纯电动的方程式赛车。比赛分为静态赛和动态赛两大部分,各个项目的具体分值见下表1-1。
表1-1 FSEC各项目分值表
比赛项目 |
分值 |
总分 |
|
静态赛 |
设计答辩 |
150 |
325 |
成本答辩 |
100 |
||
营销答辩 |
75 |
||
动态赛 |
直线加速 |
75 |
675 |
八字绕环 |
50 |
||
高速避障 |
150 |
||
耐久测试 |
300 |
||
效率测试 |
100 |
如果把纯电动汽车比作一个人的话,整车控制器就相当于人的大脑。它负责采集驾驶员的操作指令,与电机控制器、电池管理系统和智能仪表系统进行 CAN 通信,进而判断车辆当前车况和驾驶员的行驶意图,同时进行故障诊断和处理,从而使车辆安全可靠地按照驾驶员的意图行驶。目前国内纯电动整车控制器的研究尚处于起步阶段,对电机和电池性能参数关注不够大,即对系统的控制功能还不够完善。
在国外,纯电动汽车整车控制技术的研究起步相对较早,研究范围和深度都更先进一些,包括整车控制器硬件开发、控制策略研究、应用技术与试验研究及试运营等诸多方面。国外纯电动汽车整车控制器的硬件电路和底层驱动软件往往由零部件厂商提供,整车厂只开发核心软件。国外的汽车电子企业大都涉猎整车控制器的设计和生产,如日本电装、美国德尔福、德国博世等。部分汽车设计公司如 AVL、FEV、RICARDD 等也为整车厂提供整车控制器技术方案,它们都在电动汽车整车控制器领域有不少成功的案例。
目前国内市场几乎没有专业为纯电动汽车生产整车控制器的公司,高校和科研院所担当了研发整车控制器的重任,如上海交通大学、吉林大学、合肥工业大学、北京交通大学、重庆大学、武汉理工大学等,且已经初步掌握了整车控制器的软硬件开发能力。设计方案都是采用嵌入式微处理器控制系统,编写控制程序,以达到安全可靠地驱动纯电动汽车的目的。整车控制器采集档位信号,钥匙开关等操作指令信号,并接收整车 CAN 网络上的各子系统状态信号,经过分析计算,发出控制指令,实现对整车的控制。吉林大学的纯电动汽车整车控制策略是通过对驾驶员意图即加速踏板开度进行分析,得出期望车速,通过该期望车速与实际车速的速度差,并运用模糊控制的方法获得电机输出期望转矩,从而达到控制车速的驾驶员预期行驶目标,尽可能减小车辆实际行驶状态与期望行驶状态的偏差[2]。重庆大学的纯电动汽车加速转矩补偿控制策略是通过采集电机转速和加速踏板开度,查询 Map 图而获得基本给定电机转矩;通过分析加速踏板开度及其变化率判断司机的驾驶意愿,并选用模糊控制算法来得出加速补偿转矩,最后以两者之和作为最后的给定电机转矩。山东大学纯电动汽车是采用基于踏板与车速的驱动控制策略,它根据踏板开度和电机转速,并利用试验获得的转矩基本 MAP 图得到基本输出转矩,最后根据电机和电池等的状态对转矩进行限定。
本课题来自浙江科技学院Attacker赛车队第二代纯电动方程式赛车项目,所开发的赛车由车队成员自主设计、加工而来。作者负责的是赛车的电气系统开发,围绕大赛规则,对整车控制器各个功能的进行硬件和软件设计,最后结合无线数据传输技术和上位机技术,自主开发无线数据采集系统,对FSEC赛事的技术发展具有一定意义。
本文对纯电动汽车整车控制系统的组成和工作原理进行了分析和总结。针对中国大学生方程式汽车大赛规则,开发相应的的整车控制器软硬件、无线数据采集系统。本文主要阐述了以下内容:
(1)纯电动汽车整车控制器国内外研究现状。
(2)纯电动方程式赛车整车控制器、电机控制器和电池管理系统的基本工作原理。
(3)纯电动方程式赛车整车控制器各功能模块的软硬件设计。
(4)纯电动方程式赛车无线数据采集系统的原理与设计。
整车控制器(VCU)、电池管理系统(BMS)电池管理系统(MCU)并称电动方程式赛车三大核心技术。本章主要从整车电气系统拓扑入手,阐述电机、VCU、MCU、BMS的连接关系和各自的功能。
整车电气系统拓扑结构如图2-1所示。电池管理系统、电池管理系统属于动态控制,而整车控制器则属于管理协调型控制。电池管理系统主要负责实时监测高压电池状态、控制高压上电流程、辅助充电机对高压电池充电;电机控制器主要负责将直流的高压转换成三相电压供给电机和驱动电机。
整车控制器则是整车电气系统的“最高指挥中心”,除了实现其本身的功能外,还负责控制电池管理系统和电机控制器。整车控制器采集踏板信号,并将计算出来的扭矩、刹车等信号发送给电机控制器,再由电机控制器驱动电机,相当于整车控制器间接控制电机。整车控制器还可以获取电池管理系统、电机控制器、电机的所有信息,并根据这些信息去协调电机扭矩输出。例如当电池SOC过低时,可以降低扭矩输出以提高续航时间。
为了优良的加速性能,选用三相交流永磁同步电机作为驱动电机[3]。同步电机以转速和电源频率保持严格同步著称,只要电源频率保持恒定,同步电机的转速就绝对不变,即同步电机的运转速度是不随负载转矩变化而变化的。相比于异步电机,永磁同步电机响应快速、力矩惯量比高、能量密度高,并且具有结构简单,体积小、重量轻、损耗小、效率高、功率因数高等优点。
经过各方面的综合考虑,最终选用杭州德沃仕电动科技有限公司的320V三相永磁同步电机,相比去年的额定电压为144V、额定功率为16KW、峰值功率为32KW的三相异步电机,三相永磁同步电机启动转矩大,响应更快,有效地提高了启动时的加速度。电机的外观见下图2-2,电机具体参数见下表2-1。
电机的连接线分为高压连接线和低压控制线。高压连接线U、V、W分别是电机内部的三相绕组;低压控制线用于连接电机控制器,分别是地线、电机温度数据线、6根旋转变压器线,6根旋变线分别是激励正、激励负、正弦正、正弦负、余弦正、余弦负。电机控制器通过电机温度数据线采集电机温度,通过旋变控制电机和采集电机转速等相关数据。
表2-1 电机基本参数
型号类型 |
DWS-TYC-320-30B永磁同步 |
电机重量 |
45 kg |
额定电压 |
320 VDC |
防护等级 |
IP67 |
额定功率 |
30 kW |
峰值功率 |
55 KW |
额定转速 |
3000 rpm |
峰值转速 |
8000 rpm |
额定转矩 |
95.5 N·m |
峰值转矩 |
180N·m |
由于选用的电机额定电压为320VDC,出于成本上的考虑,选用了深圳依思普林科技有限公司的EMC30‐336电机控制器,该电机控制器额定容量为30KVA,最大容量为80KVA,额定输入电压为336V,额定输入电流为90A,峰值电流为270A,采用水冷方式冷却。 图2-3为该电机控制器的外观图。该控制器具有下列优势:
(1)使用功能强大的汽车级微处理器,先进的矢量控制技术;
(2)抗电磁干扰、抗震动性强;
(3)非常宽的力矩和速度控制范围;
(4)设有电池欠压保护功能和电机温度保护功能;
(5)通过配套的 CAN 总线上位机可以显示控制器采集的参数,方便调试。
电机控制器正常工作时,通过逆变器将直流高压转换成三相电压供给电机,通过矢量控制算法控制电机。电机控制器通过旋转变压器测量电机转子位置、电机转速、电机转矩等参数,并将这些参数和控制器自身信息通过CAN总线发送给整车控制器。整车控制器通过CAN总线发送电机使能命令来使能电机,通过发送改变转矩大小命令来改变电机输出的扭矩。
(1)首先将电机控制器的UVW三相与电机上的UVW三相分别对应相接,电机未转动。UVW任意两相互换会导致磁场方向改变,电机也会反转。根据这一原理,对调电机控制器UV两相,电机可以起转。
(2)由于一级减速机构是行星齿轮减速器、二级减速机构是链传动,电机正转但整车行驶方向为后退,通过发送负转矩命令理论上可以让电机反转从而使整车前进,但由于电机的旋变未调零位,电机未转动。
(3)在永磁同步电机等高精度控制的场合一般需要安装旋转变压器(简称旋变)等位置传感器来获得电机转子的准确位置。由于安装造成的误差会使位置传感器的零位产生偏差,零位偏差将造成转子位置检测的零位偏差,而永磁同步电机转子位置检测零位偏差的存在将引起不期望和不可控制的直轴电流(人耳能听到此电流噪声),严重时会造成电机无法启动或反转。经过CAN上位机调整电机零位后,电机可以正常反转,即整车可以正常前进。
本赛季动力电池单体采用长春浩泰科技有限公司生产的标称电压3.7V、额定容量22000mAH三元聚合物钴酸锂电池。由于单体标称值为3.7V,目标额定电压为318.2V,故共需单体318.2/3.7=86个。总容量为22AH×3.7V×86=7.0004kWH,即总容量约为7度电。86串电池可以以15C的倍率放电,最大电流可以达到400A,正常放电电流约为100A。单体串联连接方式避免了电池并联方式所形成的自放电,从而延长了电池的使用寿命。图2-4是高压电池与电池管理系统组装完成后的实物图。
电池管理系统同往年一样,采用深圳科列技术股份有限公司赞助的一个主控BMU05-I-G-12/24V-400V和两个从控BSU05-48S20T-12V/24V-100K-I。主控主要检测电池两端电压,控制主继电器、预充继电器、充电继电器;每个从控分别采集43个单体电池电压和20路单体温度,并将采集到的信息通过内部CAN总线传输给主控。
科列 BMS 除具备总压采集、单体电压采集,温度采集,电流采集,绝缘监测、风扇控制,加热控制等基本功能外,还具备主动均衡、远程监控、容量管理、充电管理,配电管理等高级功能。其功能图如下图所示。
电池系统高压拓扑如图2-6所示。BMS主要控制K1预充继电器、K2总正继电器、K3充电继电器、K6总负继电器。下图中Rp为预充电电阻,Rs为放电电阻,C为电机控制器内部高压电容,驱动器即为电机控制器。
(1)上电流程:只供给BMS工作电压BMS不会工作,当BMS检测到ON档信号后(一个大于8V的激活信号),BMU进行自检,自检无误后,先吸K6总负继电器之后吸合K1预充继电器,进行预充电,预充电是为了保护电机控制器内部的高压电容不受瞬间的高压冲击。当负载端电压达到总压90%后,则吸合K2总正继电器,之后断开K1预充继电器,完成上电流程。
(2)下电流程:当BMS收到OFF档信号时(ON档信号小于8V),断开高压继电器,保存数据后,进入休眠状态。
(3)充电流程:BMS检测到充电枪插入信号后,进行自检,自检无误后,则吸合K3继电器进行充电。
当BMS正常工作时,若在自检或者出现一级故障时,会自动断开高压继电器,进入低压检测状态。
除必要的故障指示灯外,规则对数据显示的要求仅仅是要显示电池管理系统数据,因此数据显示方面可以有很大的选择和创新空间。如果选用科列的电池管理系统自带的仪表,那么只能显示电池管理系统的参数,2015赛季Attacker赛车队的赛车就是采用了这种方案,弊端显而易见,故在本赛季采用自制仪表的方案。
在确定数据显示方案的时候,有以下两种方案可供选择:
(1)串口屏。只需做好串口屏界面,定义好串口屏控件,仅需一个串口就可以控制屏幕,大大节省开发时间。
(2)TFTLCD+emWin。使用STM32等支持emWin的芯片移植emWin来绘制界面。这种方式需要较大的内存,且编程难度相较于串口屏控制要大很多。在非量产的情况下,成本比直接购买串口屏高。
综上考虑,本文最终选择使用广州大彩的4.3寸基本型组态工业串口屏,只需要一个串口即可控制仪表的显示。先通过其他软件绘制好仪表的界面背景,再通过与串口屏配套的上位机软件添加相关控件,最后通过串口给串口屏发送相应的命令即可,命令格式为:起始信号+画面ID+控件ID+控件值+结束信号。
串口屏与整车控制器硬件连接非常简单,只需四根线,分别是:12V电源、地线、TXD、RXD。其中12V电源是锂电池正极经过整车控制器上的一个500mA的保险丝再供给串口屏,地线与整车控制器共地,整车控制器的串口3的TXD连接串口的RXD,整车控制器的串口3的RXD连接串口的TXD。
其实,串口屏的TXD线可以不连,因为串口屏只接收整车控制器数据来更新界面,而没有通过界面来反馈信息给整车控制器。但实际布线的时候,还是将这根线连上作为备用。
为了兼顾赛车调试与车手驾驶体验,本文设计了两个串口屏画面,在未进入待驶状态前,串口屏显示整车21个参数,方便整车的调试;进入待驶状态后,自动切换到待驶状态相应的界面,此界面根据车手习惯定制,只显示整车三个参数,即:电池剩余电量、电机控制器温度、电机温度。这三个参数有利于耐久赛时车手对驾驶策略的调整。图2-7和图2-8分别为等待状态和待驶状态相应的串口屏界面。
根据整车电气系统拓扑结构和大赛规则分析,整车控制器需要完成如下功能:
(1)进入待驶状态。规则将待驶状态定义为:电机能对加速踏板输入信号做出相应的状态。因此,车手需作出额外动作使得赛车进入待驶状态,例如在驱动系统被激活后按下一个专用的启动按钮。因为已进入待驶状态,所以所采取的动作必须包含同时踩下制动踏板。
(2)启动鸣笛:当赛车进入待驶状态时必须发出有特点的声音,持续1到3秒。
(3)加速踏板线位移传感器模拟量信号采集以及制动踏板油压开关量信号采集。
(4)与电池管理系统以及电机控制器建立CAN通信。
(5)显示面板的实时更新。
(6)自动温控冷却系统,冷却电机控制器与电机。
(7)整车故障诊断与处理,严重时可以发出警报并断开高压系统。
(8)根据不同的动态赛项目切换不同的行驶模式,提高赛车对赛道的适应性。
对于大学生电动方程式赛车整车控制器而言,其对主控芯片的运算能力、运算速度、接口数量等性能要求有较高的要求,故优先考虑32位单片机。出于对编程要求、使用难度、成本预算上的考虑,最终选择意法半导体生产的基于Cortex-M3[4]内核的STM32F105RB单片机。
最小系统是由电源电路、时钟电路、复位电路共同组成的,它是整车控制器的基本构成与核心,STM32最小系统原理图如图3-1所示。
(1)晶振电路:晶振选择8MHz无源晶振,软件配置PLL锁相环倍频倍数,使系统时钟达到72MHz,外设也可以配置相应的倍频倍数,从而减小了系统功耗。
(2)复位电路:采用经典的复位电路,低电平复位。
(3)电源电路:见3.2小节整车控制器电源电路设计。
(4)下载电路:STM32 的程序下载有多种方法:串口ISP、JTAG、SWD等,这几种方式都可以用来给 STM32 下载代码。JTAG和SWD下载速度最快,且可以调试代码,但JTAG占用的引脚数过多,不利于充分利用IO资源。最常用、最经济的,就是通过串口1给 STM32 下载代码,下载速度虽然比前两者慢,但是最大优点是可以通过串口结合串口助手调试程序。本设计将下载接口设计成标准的USB接口,可以很方便地在现场直接修改和调试程序。
STM32 串口1下载的标准方法是把 BOOT0接VCC3.3(保持 BOOT1 接 GND)后按一下复位按键下载,下载完后再将BOOT0重新接回GND。整个下载需要重复跳线并按下复位键,较为繁琐。
此处借鉴正点原子团队设计的一键下载电路[5],可以实现一键下载,无需任何跳线和复位操作。利用FlyMcu下载程序,在FlyMcu中设置DTR 的低电平复位,RTS 高电平进 BootLoader,FlyMcu会通过 DTR 和 RTS 信号来控制板载的一键下载功能电路,以实现一键下载功能。一键下载电路如图3-2所示。
整车控制器电源电路设计如下图3-3所示,整个系统的电源来源为低压锂电池,锂电池电压约为13.8V,接入750mA自恢复保险丝防止输入电流过大,DB107整流二极管可以起到防反接作用,最大限度保护整车控制器的工作安全。虽然开关电源转换效率高,但是纹波大,不适合给传感器供电,且整车控制器上无大功率器件,故使用三端稳压器LM7805,它可以将波动的输入电压稳定在5V,提供最大1A的输出电流。LDO器件AMS1117-3.3可以将5V电压稳定在3.3V,以此得到12V电压、5V电压、3.3V电压给整个系统供电。
由于规则要求使用至少两个加速踏板传感器,且不得共用电源,所以另一片LM7805就是为了给整车的另一个加速踏板线位移传感器供电的。
B0505LS-1W是隔离电源器件,是为了隔离CAN总线电路。B0505LS-1W理论上输入5V输出5V,但实际上后级电路轻载时,隔离后的电压高达5.5V,因此使用稳压二极管ZM4733A-5.1V将电压稳定在5V左右。实际测试发现稳压效果较好,稳定后的电压约为5.02V,给TAJ1050 芯片供电后可以正常工作。
CAN[6]是Controller Area Network的缩写,是ISO国际标准化的串行通信协议。CAN 通过 ISO11898 及 ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议,并被广泛地应用于工业自动化、船舶、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。
CAN总线是整车控制器与电池管理系统、电机控制器通信的唯一通道,其重要性不言而喻。为了使软件设计模块化,本文设计了两路独立的带隔离的CAN总线,电路如图3-4所示。
STM32F105RB内部集成2路CAN控制器,但需要外接CAN收发器电路,收发器采用NXP公司的TJA1050芯片。当赛车的环境复杂时,CAN总线各节点之间存在很高的共模电压,虽然CAN采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过CAN驱动器的极限接收电压时,CAN收发器就无法正常工作了,严重时甚至会烧毁芯片。为了适应强干扰环境或是高性能要求,必须对CAN总线各通信节点实行电气隔离。传统的CAN总线隔离方法是使用高速光耦,但双通道数字隔离器ADUM1201性能更优于光电隔离器件,该隔离器件将高速CMOS与单芯片变压器技术融为一体,具有极其出色的性能,因此本设计采用了该芯片。在CAN_H和CAN_L之间并接两个120欧姆的电阻,可以匹配总线阻抗,消除信号反射。
规则要求赛车在进入待驶状态后才可以使能电机。对于本设计而言,进入待驶实际上就是同时给整车控制器两个信号:制动信号和待驶信号,即同时踩下制动踏板、按下待驶信号开关。
整车控制器需要检测制动信号(12V)以及待驶开关信号(12V),而STM32的电平为3.3V,因此需要进行电平转换。可以选用电阻分压法、光电隔离法等方法,鉴于光电隔离法隔离性好,故采用光电隔离法,电路设计如图3-5所示。光耦器件采用东芝原装的TLP521-1。Brake_In和Start_In为12V信号,经过1KΩ电阻限流后,光耦导通。为使光耦不导通时单片机检测到的电压为3.3V、光耦导通时单片机检测到的电压为0V,需要确保光耦工作在开关状态而非线性状态,即满足下式。经计算,光耦满足开关状态工作条件。
因为加速踏板使用了线位移传感器,制动踏板使用的是油压开关,所以踏板信号采集包括了加速踏板的模拟量信号采集和制动踏板的开关量信号采集。制动踏板相关电路已经在3.4小节中叙述过了,这里不再重复叙述。
规则要求至少使用两个加速踏板传感器,并且当传感器短路或断路时可以被整车控制器检测到,故需要在传感器信号输出端加下拉电阻或上拉电阻。因为传感器是5V输入,0-5V线性输出,而STM32F105RBT6的基准电压固定为3.3V,所以需要经电阻分压后再经A/D转换,但由于使用的线位移传感器是电位器型传感器[7],在输出端加下拉电阻、使用电阻分压相当于电阻与传感器内部电阻并联,从而会大大影响传感器的信号准确性。
为了解决上述矛盾,本文设计了下图3-6所示电路。下拉电阻选用1M欧姆高阻值电阻,减小了电阻并联造成的影响。传感器输出先经下拉电阻和10nF电容滤除高频干扰后进入由ADI公司生产的双运算放大器AD8629构成的电压跟随器。电压跟随器隔离了前后级影响,提高了STM32的A/D转换器的输入阻抗,增强了抗电磁干扰能力。电压跟随器输出电压先通过电阻分压,再进入STM32进行AD转换,分压比例为3.3:5,可将5V模拟信号线性缩小至3.3V。
整车控制器的驱动电路主要包括三类:12V继电器、12V蜂鸣器、12V指示灯,这三者的硬件原理相同,都是由NPN三级管来驱动,其中蜂鸣器和指示灯都是采用负控的方式来控制,即正极接12V,负极接NPN三极管的集电极。具体的硬件电路如下图3-7所示。
蜂鸣器用来进入待驶状态时的鸣笛,鸣笛时间持续时间由整车控制器软件控制。
故障指示灯是规则所必须要求的,要求在电池管理系统发生故障时点亮。
把一路常闭继电器被控制端串在安全回路中,一旦整车控制器检测到严重故障,可以吸和该继电器断开安全回路,从而断开整车的高压系统来保护车手安全。图中省略了另一路继电器电路,其电路和图中继电器电路一致,唯一不同的是使用的是继电器的常开触点,该继电器用来控制整车冷却系统(以下简称冷却系统继电器),即风扇和水泵(二者是并联关系)。整车控制器通过CAN总线来获取电机温度和电机控制器温度,当电机或电机控制器的温度超过45℃时,便吸和冷却系统继电器启动冷却系统;当电机和电机控制器的温度同时低于40℃时,便释放冷却系统继电器关闭冷却系统。这样就达到了一个最简单的自动温控效果。
本章主要阐述了整车控制器的硬件设计,图3-8和图3-9分别是整车控制器PCB布线图和实物图[8]、[9]。为了提升整车控制器的抗干扰性,采用6063-T5工业挤压铝合金型材作为整车控制器外壳,只露出25P接插件和下载调试接口。
传统的单片机编程是死循环模式,即while(1)模式或for(;;)模式,这种编程方式在实时性要求高的场合存在很大的弊端,实时性无法得到保障,因此引入实时操作系统是非常有必要的。嵌入式实时操作系统的核心是可剥夺的多任务内核,可以给创建的任务设置优先级,高优先级任务可以剥夺低优先级任务的CPU使用权,相当于CPU总是执行当前就绪的最高优先级任务,故使用嵌入式实时操作系统比传统的while(1)顺序循环结构具有更高的实时性。且因为单片机的执行速度非常快,宏观上就好像每个任务独占了CPU运行,但实际上在一个时刻CPU只能执行一个任务。这种“错觉”有利于程序的模块化编程,减小了整车控制器软件开发难度。
当前流行的嵌入式实时操作系统非常多,诸如μC/OS-II、μC/OS-III、Free RTOS、RT-Thread等。以下对这几种嵌入式实时操作系统做简要的介绍:
(1)μC/OS-III[10]是μC/OS的第三代开源内核,在性能上相较于μC/OS-II有很大的提升,比如取消了任务数限制、支持其内核稳定性经过专业的认证,曾应用在航空领域、导弹等领域,故稳定性毋庸置疑,主要缺点是商业用途收费。
(2)Free RTOS是一款免费的开源嵌入式实时操作系统,简洁精悍,市场占有率高达20%,深受嵌入式开发者的青睐,美中不足的是其稳定性未经专业组织的认证。
(3)RT-Thread是国内一款优秀的开源嵌入式实时操作系统,开发团队采纳广大使用者的建议,不断优化内核。其最大的特色就是其附带的可裁剪的强大组件,如LwIP、文件系统、finish shell、GUI等,但使用难度较前两者高。
综上对比,以稳定性为首要考虑因素,最终选择了μC/OS-III作为此设计的嵌入式实时操作系统。
μC/OS-III 是一个可裁剪、可剥夺的多任务系统,没有任务数目的限制,是μC/OS的第三代内核。μC/OS-III可以给创建的任务设置优先级,任务优先级序号越小,表示任务优先级越高,高优先级任务可以剥夺低优先级任务的CPU使用权。
程序在运行μC/OS-III之前,先初始化各种外设,外设初始化完毕后初始化μC/OS-III然后运行μC/OS-III,此时CPU完全交由μC/OS-III来管理。
本文总共设置了以下五个任务:
(1)创建任务,主要负责创建其他任务,创建完成后便删除自身。
(2)故障诊断任务,此任务是备用任务,当TSET这个宏定义被定义成1时,程序会通过条件编译再创建一个“故障诊断任务”,主要功能是通过CAN总线获取电池管理系统与电机控制器的所有故障信息,并通过串口打印出来,有利于加快赛车无法启动时对故障的排查。
(3)检测待驶状态任务,规则要求赛车必须进入待驶状态后才能使能电机,且进入待驶状态需要额外的动作和提示音,具体实现过程见4.2小节。
(4)踏板信号采集任务,主要采集加速踏板模拟量信号和制动踏板开关量信号。此任务优先级设计为最低(空闲任务和统计任务这两个系统任务不算在内),然后任务切换时间设置为0,这样做的好处便是可以最大限度的发挥CPU的效率,因为只要别的任务处于等待态,此任务就会一直运行直到被优先级更高的就绪态任务剥夺了CPU使用权。实测踏板信号采集任务每秒可以运行约50次,满足采样需求。具体实现过程见4.3小节。
(5)串口屏显示与CAN报文诊断任务,此任务其实是用来处理实时性要求不高的功能,如看门狗的喂狗、温控冷却系统、仪表更新显示、CAN报文故障诊断等。
规则将待驶状态定义为:电机能对加速踏板输入信号做出相应的反应。车手需作出额外动作使得赛车进入待驶状态,例如在驱动系统被激活后按下一个专用的启动按钮。因为已进入待驶状态,所以所采取的动作必须包含同时踩下制动踏板。当赛车进入待驶状态时必须发出有特点的声音(一声但不连续),持续时间必须1到3秒。
结合待驶状态相关规则和硬件设计,本文设计了上图4-1函数。当赛车未进入待驶状态且未踩下制动踏板时,长按待驶信号3s可以切换驾驶模式,并将模式写入EEPROM里断电保存。当踩下制动并按下待驶开关时,赛车进入待驶状态,并启动鸣笛喇叭,持续2.2秒,随后开启负责发送CAN报文给电机控制器的定时器,此时电机可以响应加速踏板信号。最后发起任务调度交出CPU使用权。
加速踏板、制动踏板的规则包含了机械部分和电气部分,以下只列出了电气部分主要的规则:
(1)加速踏板传感器由两个以上独立传感器构成,它们不可共用电源和信号线。
(2)当加速踏板两个传感器间的偏差值超过 10%的踏板行程时,即认为产生冲突。如果传感器的数值有冲突,应立刻完全断开电机的动力输出。不必彻底断开驱动系统,电机控制器切断电机的能量供给即可。
(3)若使用模拟信号(如通过一个 5V 的传感器),则当加速踏板传感器处于断路或短路(此时产生的信号超出正常操作范围,如<0.5V 或>4.5V)状态时,将被视为失效。用于评估传感器的电路将使用下拉或上拉电阻来保证断路信号能被监测出来。
(4)当加速踏板位移大于 25%的踏板行程并踩下制动踏板时,应立即完全切断电机动力源。无论是否松开制动踏板,电机动力中断必须保持有效,直至加速踏板位移小于 5%的踏板行程。
由于本设计未使用霍尔传感器测量实际轮速,故无法使用PID或模糊控制[11]等算法做牵引力控制。为了简单起见,采用查表法[12]使电机的输出扭矩与加速踏板的开度成正比关系,再根据车手的驾驶反馈,反复修正扭矩与开度对应关系表。
图4-2是针对4.3.1小节所述规则的流程图。由于车检时不检查“加速踏板偏差超过10%需要电机断电”这一项,故去除了这一项计算以避免意外情况。
图4-3即为“踏板信号采集任务”的程序。根据踏板开度和行车模式查询相应的扭矩表,扭矩赋值给VCU发送给MCU的报文结构体成员,随后定时器会周期性地将报文发送至CAN总线。
图4-3中核心程序是Get_Ratio_Acc函数,具体程序见图4-4,此程序是图踏板信号处理流程图的具体实现:
(1)首先对两路踏板传感器分别进行连续的多次模数转换,并通过平均值滤波算法分别计算两个传感器的采样值的平均值。由于安装误差,需要软件对采样值进行适当修正。
(2)当检测到加速踏板传感器没有断路后,取两个传感器采样的平均值作为此次的采集值,并判断是否小于Min_Valve。 Min_Valve是根据安装位置事先定义好的传感器采样最小值,Width_Valve是事先规定的传感器采样值的有效区间长度。当采集值小于Min_Valve时返回踏板开度为0,以达到无怠速的效果。
(3)当上述检测通过后,再进一步判断是否有制动信号或加速信号与制动信号产生冲突。只要检测到制动信号便返回加速踏板零开度,此时若检测到加速踏板开度大于25%,则额外给加速踏板设置一个“加锁”标志,“加锁”标志的存在会一直使加速踏板的采集值处于零开度,直到加速踏板位移小于 5%的踏板行程时“解锁”加速踏板。最后将加速踏板的开度值限制在100%以内,并返回加速踏板开度值。
经过实际测试,如果以失能电机命令来代替电机零扭矩命令,车手踩下制动踏板并松开后,动力会中断并持续数秒,严重影响整车的驾驶性能。
整车控制器的CAN总线主要分为三大部分,即整车控制器与电机控制器的双向通信、整车控制器监听电池管理系统的CAN报文。
整车控制器发给电机控制器的报文需要根据电机控制器厂家提供的通信协议定制,下表即为厂家提供的CAN通信协议。
表4-1 整车控制器至电机控制器CAN报文协议
VCU报文 |
字节 |
位 |
参数 |
分辨率 |
偏移量 |
范围 |
描述 |
通信速率:250Kbps 报文格式: 扩展帧 ID: 0x04F00170 周期:20ms |
Byte0 |
bit0 |
电机使能 |
1 |
0 |
0-1 |
0:电机关闭 1:电机使能 |
bit1 |
电机控制模式 |
1 |
0 |
0-7 |
1:转矩控制 2:转速控制 其他:预留 |
||
bit2 |
|||||||
bit3 |
|||||||
bit4 |
电机驱动方向 |
1 |
0 |
0-3 |
1:正向驱动 2:反向驱动 其他:预留 |
||
bit5 |
|||||||
bit6 |
刹车信号 |
1 |
0 |
0-1 |
0:无刹车 1:有刹车 |
||
bit7 |
手刹信号 |
1 |
0 |
0-1 |
0:无手刹 1:有手刹 |
||
Byte1 |
电机目标转矩 |
1%/bit |
-125 |
0-250 |
最大转矩的-125%~125% |
||
Byte2、3 |
预留 |
预留 |
预留 |
预留 |
预留 |
||
Byte4 |
电机目标转速 |
1rpm /bit |
-30000 |
0-60000 |
正转为正 反转为负 |
||
Byte5 |
|||||||
Byte6 |
预留 |
预留 |
预留 |
预留 |
预留 |
||
Byte7 |
生命信号 |
1 |
0 |
0-255 |
报文帧数 |
根据上表协议,将STM32的CAN1的通信速率配置250Kbps,并编写整车控制器CAN报文发送函数,如下图所示。
图4-5中的VCU_TO_MCU是一个结构体,其定义如图4-6所示,对报文参数进行配置只需改变结构体成员即可。程序通过中断优先级最高的定时周期为20ms的定时器3中断来周期性地调用此函数,以确保通信的实时性。
图4-6 整车控制器CAN发送报文的结构体定义
STM32的CAN控制器自带3级深度的2个接收FIFO,28个接收过滤器。本文将FIFO0分配给CAN1,将FIFO1分配给CAN2;将过滤器0关联至FIFO0,过滤器14关联至FIFO1。CAN1与CAN2都采用中断方式分别接收电机控制器与电池管理系统的CAN报文。电机控制器至整车控制器的CAN报文协议与表4-1类似,只是多了母线电压、母线电流、控制器温度、故障指示等信息。
配置过滤器可以提高CAN总线的效率,通过设置整车控制器相关的CAN寄存器,可以设置接收的ID哪些位可以不予理会、哪些位必须匹配。根据上述电机控制器发送给整车控制器的4个报文ID每个位的异同,可以得出如下二进制数:000x xx00 1111 0001 0000 0xxx 1110 1111(其中x表示0或1,下同)。由STM32的CAN库函数得知,得到的二进制数还要左移三位才能正确地写入到相应的寄存器,故得到xxx0 0111 1000 1000 00xx x111 0111 1xxx。由于将过滤器配置为标识符屏蔽位模式,故掩码寄存器写输入值为0001 1111 1111 1111 1100 0111 1111 1000,0表示此位对应的ID位无需关心,1表示此位对应的ID位必须和写入ID寄存器的对应ID位必须一致。
CAN1中断函数如下图4-8所示,由于篇幅限制,只截取了部分。报文经过过滤器过滤后到达FIFO0,产生CAN接收中断,中断服务函数进一步判别报文ID从而识别报文类型。MCU_TO_VCU是一个结构体,其成员变量即是相应的电机控制器CAN报文参数。
整车控制器通过CAN2接收电池管理系统的CAN报文,以实时了解电池组各方面的信息。由于电池组的信息量太大,因此使用了二级结构体来给科列提供的报文协议给信息分类。CAN2的过滤器配置过程与CAN1相似,此处不再赘述。
通过整车控制器接收电池管理系统的CAN报文,可以获取高压电池组的整体信息,如电池电压、电池充放电电流、电池SOC、单体温度、单体电压、故障信息、主继电器状态等详细信息,一旦整车控制器检测到电池管理系统发出故障警告,则自动根据警告等级采取相应的保护措施,故障等级低则限制电机扭矩输出,故障等级高则吸和控制安全回路的继电器来断开安全回路。同时,获取电池管理系统的CAN报文也为自制数据显示表盘打下了信息基础。
上位机是工控领域非常重要的一部分,使用上位机来调试下位机(PLC或单片机)往往可以达到事半功倍的效果,上位机也常用来采集和记录数据,可以说是数据采集系统不可或缺的一部分。
由于无线数据采集系统的设计在比赛结束后才开始,且整车控制器没有预留无线传输接口,故本章最后采用无线发送模块来模拟整车控制器给无线接收模块发送数据,以此来初步验证无线数据采集系统的可行性。
物联网技术的快速发展的时代,局域网无线数据传输技术也五花八门,常见的如WiFi、蓝牙、ZigBee、LoRa等,它们大多工作在433MHz、915MHz、2.4GHz等频段,它们有各自的优缺点:
(1)WiFi方案是非常适合上位机的,因为市面上的大多数笔记本都支持WiFi,当下位机作为AP、上位机作为STA时,不需要任何媒介即可实现上位机与下位机的通信;当下位机和上位机都作为STA时,需要下位机和上位机连到同一个AP才能实现二者通信。但一般WiFi的通信距离只有几十至一百多米,这显然不适合方程式赛车的数据采集。
(2)蓝牙方案常用于智能设备之间的通信,其通信距离过短,显然也不符合本设计要求。
(3)ZigBee顾名思义,其原理是借鉴了蜜蜂挥动翅膀发出声音传输信号,一般用于传感网络中,ZigBee网络通常由协调器、路由器、终端组成,不太适合点对点通信。
虽然2.4GHz频段的穿透力不及433MHz频段,但由于赛车在空旷地带行驶,故穿透力不是首要指标。综上考虑,最终使用了NORDIC公司生产的工作在2.4GHz~2.5GHz的nRF24L01芯片,其传输速率最大可达2Mbps。模块采用成都亿佰特公司生产的E01-ML01DP5,外置天线增益2.5dBi,最大功率可达100mW,空旷传输距离可达2500米,满足设计需要。实物如下图5-1所示。
上位机无法直接接收nRF24L01发出的数据,故需要中间媒介将其转换成上位机可以接收的数据。下位机与上位机最简单的通讯方式莫过于串口,本设计使用了STM32F103C8T6+nRF24L01方案接收无线数据,再通过串口传输给上位机,串口转USB芯片采用CH340G。整个无线数据采集拓扑结构如下图5-2所示。
接收模块硬件主要包括三大部分:STM32F103C8、nRF24L01接口、一键下载电路(CH340G电路)。为力求减小接收模块尺寸,采用了双面布器件的形式。使用标准USB-A公头,可以方便地与PC的USB接口对接,方便下载程序和串口调试。模块带有蓝色的电源指示灯、红色的发送指示灯和绿色接收指示灯,方便观察其工作情况。图5-3是接收模块的PCB布线图,图5-4是焊接完成后的实物图。图5-5是接收模块与nRF24L01组装后再与上位机对接的实物图。接收模块的原理图见附录A中的图A-1。
通信一般需要双方遵循同一通信协议,无线通信也不例外。nRF24L01一次可以发送或接收32字节用户数据,并自带硬件CRC校验和重发机制,有利于协议的简化。本文设计了一种简单通信协议,如下表4-1所示。发送方一次发送7字节数据,接收方一次接收7字节数据,其中第一字节表示数据类型。
表5-1 无线数据传输协议表
发送周期 |
第0字节 |
第1字节 |
第2字节 |
第3字节 |
第4字节 |
第5字节 |
第6字节 |
20ms |
0x01 |
电机转速 |
电机扭矩 |
电机功率 |
加速踏板开度 |
||
200ms |
0x02 |
VCU温度 |
电机温度 |
电池电流 |
MCU母线电压 |
状态标志位 |
|
500ms |
0x03 |
MCU温度 |
电池温度 |
电池SOC |
电池SOH |
电池电压 |
本设计以面向对象语言C#[13]作为上位机开发语言、以Visual Studio 2013作为开发平台开发上位机。上位机开发主要分为两大部分:串口部分和控件部分。串口部分直接使用了VS软件自带的SerialPort控件,控件部分使用了第三方控件Iocomp。最终设计完成的上位机界面如图5-6所示。
为了让上位机准确地识别接收模块发出的串口数据,需要定制一个串口通信协议,此通信协议是在5.1.4小节的无线数据传输协议上修改的。具体地说,串口协议帧为10个字节,其中第0字节和第1字节分别固定为0xFF和0xAA,第2字节至第8字节为无线数据传输协议里对应的7个字节,第9字节为第2字节累加至第8字节的和。
当接收模块接收到7个字节的无线数据时,在无线数据前面加上0xFF和0xAA,在无线数据后面加上无线数据的累加和,最后开启串口发送DMA,将这10个字节发送至上位机。具体实现过程如下图5-7所示。
将上位机的SerialPort的ReceivedBytesThreshold属性改为10,每次SerialPort检测到接收缓冲区中有大于等于10个字节时,就会触发串口接收方法。该接收方法会将串口缓冲区中的数据读取出来,进而对其长度与串口协议帧长度进行对比,若长度匹配则计算无线数据帧的和进行和校验,若和校验和包头校验(检验包头是否为0xFFAA)都通过,则根据无线数据协议来更新相应的Iocomp控件,如图5-8所示。由于串口接收方法代码过长,图5-8只是其中的一部分,包括协议解析和周期为10ms的控件更新,其余两种不同周期的控件更新代码未在图内,但其原理是一样的。
本设计的上位机最大的特色是电机参数曲线(包括电机转速、电机扭矩、电机功率)、加速踏板开度的实时绘制。横轴坐标为实时时间,采样率为50Hz,上位机可以自动将采集的数据点连成曲线,鼠标可以在图中左右拖动来观察这段时间内采集的完整曲线。这无疑为电机的特性曲线标定提供了极大的便利,也有利于车手们练车时自我观察提高车技。
由于本设计的上位机开发在整车控制器完成之后才完成,且本赛季的整车控制器没有预留nRF24L01的接口(见附录A中的图A-2),所以为了验证上述无线数据采集系统的功能,本设计采用另一个发送模块来模拟整车控制器以及电机转速等数据,此发送模块只是硬件与前文所述的接收模块完全相同,但程序完全不同。
发送模块移植了FreeRTOS操作系统,并创建了两个任务,一个任务用来模拟车手赛车,如上高压、进入待驶状态、踩加速踏板等动作,即模拟出一系列数据;另一个任务用nRF24L01将模拟出的数据发送至接收模块。
图5-9是用发送模块给接收模块发送数据时上位机的截图,各个控件均能有条不紊地工作,初步验证了无线数据采集方案的可行性。
Attacker赛车队于2016年11月6日参加了在上海奥迪国际赛车场举办的中国大学生电动方程式汽车大赛,与来自全国35所高校的车队和来自德国的KIT车队同台竞技,并最终取得了高速避障第11名、耐久赛第6名、效率测试第8名、总成绩第11名的好成绩。
本设计研究的整车控制器稳定性得到了证明,但由于作者才疏学浅,设计过程中难免有许多不足之处:
(1)整车控制器上的继电器的被控制端有部分走线经过整车控制器,这段走线有大电流通过,但相关的布线未做走线开窗处理。作者为了弥补这一疏漏,使用刻刀刮开相关布线上面的漆再补上焊锡。另外,本文研究的整车控制器PCB采用了最简单的双层板,其抗干扰性相较于四层及以上多层板逊色不少,因此希望下一届车队能采用多层板设计。
(2)整车控制器没有牵引力控制功能,导致起步时扭矩过大后轮易打滑。这是作者在开发过程中的一大遗憾,也迫切希望下一届的车队成员能不畏艰难,突破这一技术瓶颈,完善整车控制策略。
(3)整车控制器的CAN报文解析不应该在中断函数里进行,而是需要用到相关报文的时候再解析。因为CAN接收中断的频率非常高,但大部分报文参数使用的频率很低,这样就会造成CPU将大部分时间浪费在报文解析上。
(4)虽然串口屏使用起来非常简单,有利于减小开发难度,但这与大赛的初衷是背道而驰的,参赛学生应该大胆地去设计、去创作。如果赛车上的器件都用成品,那比赛也就失去了意义。因此希望下一届车队能自主开发仪表驱动,如通过STemWin等途径。
(5)本文研究的无线数据采集系统尚未在实车上得到验证,希望下一届车队能借鉴作者成果,在此基础上开发出更加优秀的无线数据采集系统。
时光荏苒,岁月如梭,有幸与Attacker赛车队一起奋斗了两年。在这两年的时间里我和车队一起经历了许许多多辛酸和快乐,学会了单片机、氩气保护焊、Fluent流体仿真等技术。在此非常感谢车队的指导老师——吴坚老师、李强老师、黄富平老师,是他们一直在背后默默付出,为车队的同学争取到这样一个极具锻炼意义的平台,让我们通过这个比赛平台开阔了视野、掌握了许多技能,培养了我们吃苦耐劳、永不言弃的精神。特别感谢李强老师,在调试整车高压驱动系统的时候,李老师给予了非常专业和耐心的指导,不仅如此,李强老师在生活上也给予车队同学无微不至的关心。在此,我还要感谢车队所有的同学,没有大家的同甘共苦,就没有赛场上Attacker赛车的呼啸。特别感谢学长张强华、学弟徐文普,从头至尾是他们和我一起搭建整车电控系统,在整车控制器的开发过程中给予了我许许多多帮助和宝贵的建议。
在此,我还要特别感谢梁艺忠老师。在这两年的时间里,梁艺忠老师不仅对我给以生活上的关心,在我学习成长的道路上更是对我精心指导。无论是整车控制器开发过程中遇到的问题,还是论文的反复修改,梁艺忠老师都始终以细心、耐心的态度给予我支持。值此论文完成之际,谨向梁艺忠老师这两年多的辛勤培养、精心指导和殷切关怀致以最诚挚的敬意和衷心的感谢!
此外,我还要感谢涂章锋老师的支持,在赛车制造过程中给予我精神上的鼓励,在论文的修改过程中给予我宝贵的建议。
最后,衷心感谢参与答辩评审的的各位老师在百忙之中抽出宝贵的时间来审阅我的论文。