陈 扬
(南京理工大学 自动化学院,江苏 南京 210094)
随着我国经济快速增长,交通运输、建筑等领域工程建设量的加大,推动了挖掘机市场的飞速发展。小型挖掘机依靠其灵活小巧、机动性强、功能丰富等优势,成为工程应用的理想选择。电子控制系统作为液压挖掘机的重要配套系统,是小型挖掘机技术发展和功能改善的关键,一般具有控制、远程管理、监测与报警、照明等功能[1]。国产挖掘机电控技术与国外先进水平相比还有较大差距,只有少数厂家生产的小型挖掘机选用国产控制器,且只具备一般监控功能与相对简单的节能控制技术,可靠性、可扩展性不强[2]。本文以沃尔沃小型挖掘机电控设备国产化为背景,以飞思卡尔Kinetis 系列微控制器为硬件平台,设计了一款应用于沃尔沃小型挖掘机EC60C 的仪表电子控制单元(以下简称“IECU”)。IECU负责采集挖掘机各种工况参数,如冷却液温度、燃油液位、发动机转速、机油压力等,并通过人机交互界面实现工况参数实时显示、代码锁定和选项设定,同时还具备报警与工作时间保存功能。其与车载电子控制单元(以下简称 “VECU”) 等通过CAN 总线连接在一起,共同组成了EC60C 的电子控制系统。该IECU 易于阅读,可使操作状态检查更快捷,工作效率更高。
IECU 以飞思卡尔MK10DN512VLL10 为控制核心,外扩脉冲信号采集电路、开关与模拟量采集电路、键盘电路、CAN 总线接口电路、步进电机与LED 驱动电路。其使用LCD、步进电机和LED 作为仪表显示部件,磁电存储器用于存储重要数据,并通过CAN 总线与VECU进行信息交互。IECU 整个系统的组成如图1 所示。
IECU 通过开关量、模拟量与脉冲信号量采集电路采集外部开关、传感器、交流电机P 端子传来的各种工作参数并由MCU 做相应的判断与处理。采集的工况参数与信号类别如表1 所示。
图1 IECU 系统结构框图Fig.1 Diagram of IECU system
表1 工况参数及其信号类别Tab.1 Working parameters and classification
当要执行某项操作时,操作员先通过键盘上的滚动键与确认键选择功能菜单中对应选项,仪表盘上相应的LED 指示灯便会闪烁提醒,IECU 将相应的操作码通过CAN 总线发送给VECU。与此同时,VECU 采集其外部开关(包括控制杆开关与手柄开关等)或传感器的状态,若同时满足一定条件,则VECU会激励电磁阀或继电器完成相应的操作,如自动怠速、动臂偏置选择等。
ARM Cortex-M4 是由ARM 开发的最新嵌入式处理器,在M3 内核基础上强化了运算能力,增加了浮点、DSP等功能。MK10DN512VLL10 搭 载ARM Cortex-M4内核,是Kinetis 系列微控制器的入门芯片。其最高工作频率达100MHz,内 置512KB 的Flash存储器与128KB 的RAM,包含2 个16 位精度ADC 模块、可编程延时模块、8 通道PWM、SPI、CAN、UART 等丰富资源,并融合了最新的低功耗革新技术[3]。
本次设计的IECU 中的冷却液温度表和燃油油位表使用指针方式来指示。步进电机作为驱动元件带动指针转动,其转角与冷却液温度、燃油油位成正比。使用PWM 数字控制方式调速,具有抗干扰能力强、控制性能好、无累积误差的优点[4]。步进电机可选择Wellgain公司的VID29 系列步进电机,其可选择分步模式或微步模式驱动。微步模式下输出轴的步距角最小可达到(1/12)°的高精度,最大转动角速度可达600°/s。仪表步进电机的驱动芯片可选择同公司的VID66-08。该驱动芯片可控制步进电机以微步转动,同时驱动两路电机,适用于汽车仪表、航空仪表等。VID66-08 的驱动电路如图2 所示。
图2 步进电机驱动电路Fig.2 Drive circuit of stepper motor
其中F(scx)A、F(scx)B 为驱动脉冲输入端,可用PWM驱动。CW/CCWA、CW/CCWB 控制步进电机转动方向。其中M1 用作燃油油位表,M2 用作冷却液温度表。
EC60C 的IECU 使用发光LED 作为监控和报警指示灯,包括安全带指示灯、动臂偏置指示灯、推土板浮动指示灯等。本次设计选择TI 公司的8 通道恒定电流吸入型LED 驱动器TLC5916。该芯片工作于3.3V 或5V 电压,可同时驱动8 路LED,输出恒定电流不随负载电压而改变。可以通过改变外部电阻来调整吸收5mA~120mA 的电流,实现LED 亮度灵活控制。其与MCU 采用SPI 接口相连,工作时钟达30MHz。IECU 包括各种报警指示灯在内总共需要驱动15 路LED,因此将两片TLC5916 级联。
磁电存储器采用ECERSPIN 公司的非易失性磁性随机存储器MR25H10,其具有1MB 的存储容量。该MRAM 使用简单的SPI 接口,工作时钟高达40MHz。对于需要长期保存、快速读取与恢复的重要数据,该MRAM 是理想的存储器方案。MR25H10 可以用来保存挖掘机类型号、工作时间等重要的工况参数。
(1)步进电机指数形曲线加减速控制。常见的步进电机加减速控制曲线有三种: 梯形曲线、指数形曲线与S形曲线[5]。其中梯形曲线实现最简单,但其加速、匀速与减速过程过渡不光滑,会影响电机的运行与使用寿命;S 形曲线的优点是加速度不会突变,提高了平稳性,缺点是实现比较复杂[6]。综合考虑算法性能与系统需求,此处重点讨论指数形曲线加减速控制。
指数形曲线是从步进电机矩频特性推导而来,符合步进电机的固有规律。其运动方程式为:
减速运行阶段:
其中: vm—步进电机的最高运行速度,τ1、τ2—决定步进电机升降速快慢的时间常数。
(2)指数形曲线的离散化处理。本设计中步进电机最高启动频率为120°/s,最高运行频率为600°/s。根据实际情况留取一定裕量,取启动频率为100°/s,最高运行频率为500°/s,代入式(1)、(2)与(3)中并加以修正得到其实际运动方程为:
为了能使用微控制器对步进电机速度进行控制,此处对指数形曲线的转速按级差100°/s 分段离散化处理,如图3 所示。
图3 指数形加减速曲线的离散化Fig.3 Discretization of index-curve
设升速过程与降速过程时间相等,同为△t。为了保证总运行时间最短,应使加减速过程时间尽量短,匀速运行时间尽量长。实验中,给定不同的值,分别计算出对应的加减速时间与运行总时间。进而计算出每个速度分段点的时间值与该速度级运行步数。在给定运行角度为100°时,计算结果如表2 所示。
从上表可以看出随着加减速过程时间的减 小,总 运行时间也减小。当 减 小至5ms 时,步进电机出现了失步与启动卡死的现象。实际上这时加减速阶段的转速加速度已经超过了步进电机允许的最大加速度。因此取最佳值,τ1=6.21,τ2=5.58,可保证步进电机在不失步的条件下总运行时间最短。各时间分段点对应的离散速度级的转速和级步数(脉冲数)计算结果如表3 所示。
表2 τ值对应的△t与总时间(运行角度:100°)Tab.2 τ,△t and total time(angle:100°)中
(3)步进电机软件模块设计。步进电机软件模块主要分成两部分: PIT 中断处理和指数形调速曲线的软件实现。周期中断定时器PIT 可用来对输入信号进行周期性的测量,同时设定指针的目标位置。PIT 中断处理流程如图4 所示。进入PIT 中断后,首先对冷却液温度传感器、燃油油位传感器的电压信号进行AD 采样和滤波操作,并根据表盘量程与物理量范围的对应关系计算目标位置。当输入信号变化很快时,PIT 的采样周期较短,可能会出现下次设定目标位置时电机还未转到位的情况。若当前电机仍在转动,就需要做进一步判断。若目标位置θn小于当前位置θcur,则表示转动方向与目标位置不一致,需要先减速到停止,再反向转动[7]。θs是电机减速到停止过程中转过的角度。根据不同的判断结果计算位置增量并确定步进电机的转动方向。当位置增量小于等于指数形曲线的加速与减速段的总运行角度θa-d时,调用匀速转动子函数,否则调用指数形调速函数。
表3 离散速度级步数(△t=10ms)Tab.3 Discrete speed level steps(△t=10ms)
图4 PIT 中断处理流程Fig.4 The flow chart of PIT interruption processing
图5 指数形加减速曲线的软件流程Fig.5 The flow chart of indexcurve
指数形调速的软件实现流程如图5 所示。根据上一节的计算结果,将离散化后的各速度级转速和对应的级步数(脉冲数)分别存入两个数组中。输入一个目标位置,先按照图3 计算在匀速阶段步进电机需要运行的步数和总的级步数,接着打开PWM 及其溢出中断,启动步进电机。之后步进电机每接收到一个PWM 脉冲就运行一个微步(1/12)°。当一个PWM 周期完成时就会触发并进入溢出中断,在中断中当前速度级步数减1,总级步数减1。每到新的一级速度,需更新PWM 频率。直到总级步数减为0,电机运行到了指定位置,这就完成了一次指数形加减速的过程。
根据IECU 的功能需求设计了三种模式: 运行模式、设定模式和服务模式,并以菜单结构组织。操作者可以通过键盘上的上下方向键、SELECT 键与ESC 键在不同的功能界面间切换。
(1)运行模式。运行模式中的核心界面是转速/时间界面,该界面显示了当前时间和发动机转速。此外运行模式还包括X1 流量控制等功能。按下SELECT 键5s,可切换至服务模式菜单界面,进入服务模式;若按下时间不足5s,则切换至设定模式菜单界面,进入设定模式。
(2)设定模式。在设定模式中可以重新设定当前系统时间。按ESC 键可以返回至转速/时间界面。
(3)服务模式。进入服务模式后,可以通过服务模式菜单界面选择相应选项,包括车辆、发动机、液压和电气系统的相关信息。车辆信息界面中可以重置并设定工作时间,查看当前挖掘机型号,选择防盗、自动怠速、推土板浮动等功能;发动机界面中可以查看冷却液温度、燃油油位和发动机转速的具体值;液压界面中可查看液压系统运行状态;电气系统界面中不仅可查看电池电压,也能对输入输出值,如PWM、开关量等进行检查。
实际测试结果表明,采用上述的指数形算法可以保证燃油油位表、冷却液温度表指针快速、平稳、准确地转动到指定位置。设计的运行模式、设定模式和服务模式之间可灵活切换,方便驾驶员对挖掘机运行参数实时监控、记录与设定。该IECU 界面简洁美观,操作方便,具有良好的工程应用价值。
[1] 魏斌,刘会娟.小型液压挖掘机电控系统的现状与发展[J]. 建筑机械化,2012,9.
[2] 胡凯利. 某中型液压挖掘机电控系统的设计与实现[D]. 南京理工大学,2010.
[3] 王宜怀,吴瑾,蒋银珍. 嵌入式系统原理与实践:ARM Cortex-M4 Kinetis 微控制器[M]. 北京:电子工业出版社,2012.
[4] 廖建斌. 步进电机式汽车仪表控制技术[J]. 汽车电器,2008,6.
[5] 曹东杰,韩峰,任云燕. 单片机控制步进电机按S 形曲线升降频设计[J]. 弹箭与制导学报,2006,2.
[6] 李晓菲,胡泓,王炜. 步进电机加减速控制规律[J].机电产品开发与创新,2006,19.
[7] 傅志强. 在HCS08 系列MCU 上用软件实现仪表步进电机的驱动[J].电子产品世界,2010,5.