基于集成开发环境的EHPS控制器的软件设计
2014-02-20闫伟南金瑞
闫伟,南金瑞
(1.中北大学,山西 太原 030051;2.北京理工大学,北京 100081)
基于集成开发环境的EHPS控制器的软件设计
闫伟1,南金瑞2
(1.中北大学,山西 太原 030051;2.北京理工大学,北京 100081)
为了让电控液压助力转向系统(EHPS)控制器能够正常的工作起来,只有硬件是不行的,必须满足相匹配功能的软件系统。本文基于瑞萨公司的集成开发环境平台,采用C语言编程主控芯片,结合模块化的编程思路,设计了以完成系统初始化、电机启动工作的主程序和实现控制算法的子程序。程序经过在线编译调试,达到了先期的设计目标。有效地提高了软件的可移植性和运行效率,对EHPS控制功能最终实现起着关键性的作用。
EHPS;模块化;控制算法
CLC NO.:U463.4Document Code:AArticle ID:1671-7988(2014)02-57-04
引言
本文基于瑞萨公司一系列的集编辑、编译、链接、在线仿真、硬件调试以及实时数据跟踪功能的集成开发环境,使得程序开发变得简单易行。软件程序依循完成硬件相应动作设计,采用瑞萨电子专门为NEC系列单片机开发的集成开发环境PM+编译,界面如图1所示。最后使用NEC公司V850系列32位单片机调试的MINICUBE2仿真器实现微控制器调试接口与主机之间的通信。
1、EHPS控制器下位机软件总体结构设计
EHPS的软件设计要求是根据车速和方向盘转角传感器的信号确定电机的目标转速,并根据霍尔位置传感器和电流采样信号对电机进行换向控制,通过调节PWM占空比来实现对电机转速进行控制的目的。根据控制器要实现的功能制定了控制器程序流程图,如图2所示。
2、EHPS控制器下位机主程序设计
该控制系统软件工程主要包括两部分:主程序和对应的子程序。主程序的功能主要是要完成整个控制系统的初始化并启动电机至怠速状态运行,系统上电后,首先对各模块进行初始化,主要包括系统时钟、看门狗、I/O端口状态、系统中断等初始化操作。在初始化过程中,需要禁止所有中断防止意外的中断请求。
2.1 系统初始化
控制器正式进入工作状态前,需要对各模块进行初始化操作,初始化工作主要包括系统控制模块初始化、参数变量初始化、各外设模块的初始化、中断向量初始化以及各级中断的使能等等。具体流程图如图3所示。
(1)系统控制模块的初始化
系统控制模块的初始化主要为系统分配时钟并处理看门狗电路,为了调试程序方便,在初始化程序中将看门狗电路关闭。完成控制模块的初始化之后需要将中断关闭,以防在接下来的初始化过程中产生意外的中断请求。然后对程序中要用到的全局变量进行初始化赋值。
(2)外设模块的初始化
外设模块初始化主要是对将要使用的外设模块的各控制寄存器及各外设对应使用的引脚端口进行初始化操作。
2.2 电机启动
直流无刷电机采用的是电子换向,所以需要处理器不断检测转子的位置并确定逆变器功率开关管的导通状态。电机启动和霍尔信号中断捕捉模块就是读取三个霍尔位置传感器的状态,以确定逆变器的换相顺序。电机启动程序的流程图如图4所示。
这里只需要设置比较单元的比较寄存器,给电机首次运行设置一个合适的PWM占空比,然后将CAP1~3引脚设定为IO功能,用于查询此时霍尔传
感器输入信号从而得到电机转子的当前位置。电机运转起来之后,霍尔信号的状态就会发生改变,从而产生捕获中断,进入到捕获中断程序,根据当前霍尔信号的状态改变PWM输出引脚的电平,电机就可以连续旋转起来了。给电机预设一个怠速值,通过中断子程序的调速即可使电机启动后提供助力并稳定在一个目标怠速状态。
3、EHPS控制器下位机子程序设计
整个控制系统的算法实现主要是在子程序中完成的,对于子程序而言,大部分都是通过中断实现的。就本设计而言,主要应用的中断源有定时器中断和AD中断,对于电机的换相和驱动主要是通过事件管理器模块的比较中断和捕捉中断实现的,与上位机的通讯主要是通过CAN总线中断来实现的。
3.1 AD中断
AD中断完成EHPS系统下层软件控制策略即电机电流的采样和处理即电流闭环及电机是否出现过流情况,这里设置AD采集模块的内部时钟频率为1MHz,工作在级联/顺序采样模式,主要流程图如图5所示。
AD模块对一个序列的通道开始转换必须要有一个启动信号,通常情况下,可以由软件启动、事件启动或外部引脚触发启动等。本设计采用定时器周期中断的方式作为AD转换的触发信号。当定时器定时时间到产生定时中断时,AD开始对ANI0通道进行采样,当序列发生器转换结束时便产生一个AD中断,进入AD中断程序。在中断程序中首先要对AD模块的转换数据进行存储和滤波处理,然后再完成电机目标转速的计算和输出。
在实际的控制系统中,检测信号会掺杂一些干扰信号,除了一些必要的硬件滤波之外,很多滤波任务都是有数字滤波器来完成的。数字滤波器实际上是一种数字处理方法,是由计算机程序实现的一系列数学运算。与硬件滤波相比,它主要有以下几大优点:成本低、修改方便、可以实现硬件滤波难以实现的滤波效果。常用的数字滤波方法主要有:算数平均值法、加权算数平均法、中值滤波法、中值平均滤波法等。
为了达到很好的滤波效果,本设计应用到了数字滤波中的中值滤波法,因为系统需要对电流信号进行采样,中值平均滤波法不但可以消除干扰,还可以平滑滤波,对快、慢干扰都有很好的抑制作用。
3.2 定时器周期中断
在定时器的周期中断子程序内,主要是完成EHPS系统下层软件控制策略的实现,即对电机转速进行速度外环电流内环的双闭环调节。具体的程序流程图如图6所示。
进入定时周期中断子程序后,首先对流过电机的电流进行检测,如果出现了过流的问题,将切断助力退出程序,如果系统工作正常则开始调节转速和电流。
从该中断流程图中可以看出,为了对负载的变化响应快,使得电流环的调节比转速环要快,在本控制系统的设计过程中,电流环的调节速率是速度环的20倍,既能保证对瞬时电流的抑制,也能保证
速度控制的平稳。
3.3 捕获中断
捕获中断程序主要是实现电机的换相保证电机可以连续旋转,另外一个功能就是根据捕获到的转子位置信号计算电机的实际转速,用于转速的闭环PI调节。其流程图如图7所示。
当电机启动后,霍尔位置传感器输出的表示转子位置信号的矩形波的跳变沿被捕捉引脚捕获到就会触发捕获中断,进入捕获中断子程序。进入此程序后,换相流程跟前提到的电机启动时的流程类似,通过CAP1~3引脚的分时复用实现位置信号电平的检测来确定转子的位置,从而实现换相。
在执行完该中断程序退出之前,要将CAP1~3引脚的功能由I/O口恢复为捕获功能。
在捕获中断子程序中,读完位置信号后,就会调用换相子程序。另外为了实时监测电机的转速值,需要不断的将测到的电机转速值通过CAN总线接口发送到上位机实时显示出来,以方便PI参数的调节。
对于本设计,车速信号、转向盘转角信号和上位机监控软件与下位机的通信都采用的是CAN总线通信,因此在这里必须对CAN模块进行初始化。在CAN模块正式使用之前,要通过软件设置CnGMCS寄存器中的系统时钟,并且在CAN模块工作的时候不要改变这一系统时钟。通过设置CnGMCTRL寄存器即可启动CAN模块。
4、总结
在本设计中,用 MINICUBE2硬件设备连接电脑主机、目标板进行通讯,连接方式如图8所示。
本文主要阐述了EHPS控制器的软件设计过程,着重介绍程序的设计思路及流程,经过不断在线编译调试,达到了先期的设计目标。然后配合硬件。
[1] 许阳坡.电动液压助力转向(EHPS)系统控制算法研究及实现[D].天津大学硕士学位论文.2006.
[2] 王晓明.电动机的单片机控制(第2版)[M].北京:北京航空航天大学出版社,2007,84,-90.
[3] 徐艺文,陈忠辉.单片机应用系统的软件抗干扰技术[J].宁德师专学报(自然科学版).2002(03):226~229.
[4] Hong tei Eric Tseng Beh rouz A shraft D inu Madau The develo pment of vehicle stability control at ford.[J].IEEE/ ASME Transactions on Mechatronics.1999(3):223~234.
The software design of EHPS controller based on the integrated development environment
Yan Wei1, Nan JinRui2
(1.North University of China, ShanxiTaiyuan 030051; 2.Beijing Institute of Technology, Beijing 100081)
Not only the hardware is not, but also match the functional of the software system that can make the Electrically Hydraulic Power Steering(EHPS)controller work normally. The paper based on the platform of the RENESAS company which develop the integration, program the chip by using C language and combining the modular idea. Design to complete the main program about the system initialization and the motor starting and achieve subroutines of controlling algorithm. The programachieves the design goal in advance through online debugging. Improve the software portability and efficiency effectively, and play a key role to finish the EHPS control function finally.
EHPS; Modularize; Control Algorithms
U463.4
A
1671-7988(2014)02-57-04
闫伟,就读于中北大学。