基于PWM的汽车仪表步进电机控制算法
2012-09-03赵志杰郭太峰
黄 英, 赵志杰, 郭太峰
(1.合肥工业大学 电子科学与应用物理学院,安徽 合肥 230009;2.合肥工业大学 计算机与信息学院,安徽 合肥 230009)
步进电机是一个完整的数字模拟转化执行元件。在非超载的情况下,电机转速、停止位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即其接受数字模拟型号(电脉冲信号)并转化成与之相应的角位移。输入一个脉冲信号就能得到一个规定的位置增量,所以可通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。加之步进电机只有周期性的误差而无累积误差等特点,在各控制领域步进电机的使用越来越广泛[1]。
针对中国重汽新款重卡车型研发的新款仪表,采用瑞士SONCEBOZ公司型号6403R200的新型步进电机,微控制器(MCU)采用Freescale的MC9S12XHZ512芯片。
6403R200是6400系列仪表用步进电机的最新产品,采用无轴设计。工作电压4.5~7.5V,驱动电流20mA,在-50℃~105℃的恶劣环境下也能正常工作[2]。
MC9S12XHZ512是Freescale公司在2006年10月推出的一款汽车仪表组设计的16位微控制器(MCU),其中集成了一个薄膜晶体管(TFT)显示驱动。它负责处理关键应用的智能控制功能,并驱动汽车仪表板中的显示屏。除了支持TFT显示屏之外,该设备还可以驱动模拟仪表、液晶显示屏(LCD)和发光二极管(LED)显示屏。S12XHZ512的主要特色包括512KB的片上闪存(是以前S12HZ产品的2倍)、LCD驱动程序和仪表的步进马达驱动模块[3]。
本文主要利用S12XHZ512款中MCU所提供的12条道脉冲宽度调制(PWM)信道,采用软件方式,实现仪表步进电机的驱动。
1 步进电机的驱动及细分技术
步进电机的驱动一般采用专用的驱动芯片和直接使用MCU驱动。专用芯片技术已相当成熟,在控制电机能力方面有较好的表现,具有一定的性价比和可操控性;用MCU驱动步进电机最简单的方式是整步驱动,即直接用单片机的IO口产生各相脉冲通过功率器件来控制电机运转。这种方法虽然简单,却存在精度不高、相电流突变导致运行不够平稳、有噪声等缺点[4]。还有一种驱动方式,即采用脉宽调制(PWM),此法适用于提供PWM模块的MCU。
步进电机的细分技术实质上是一种电子阻尼技术,其主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。以步进角为1.8°的两相混合式步进电机为例,如果细分驱动器设为4,那么电机的运转分辨率为每个脉冲0.45°[2,5]。
控制技术是能够较为有效地降低步进电机低频运转时的振动和噪声的主要控制方法。不论是阶梯型电压驱动或PWM控制,实质都是在电机的励磁绕组中产生阶梯波电流,达到相电流的阶梯化正弦控制,使每步的电机转子合成力矩相同,产生一个微步旋转磁场,从而带动电机以更小的步距角转动。同时由于正弦波电流变化平滑,电机运行更平稳、噪声更小。
2 加减速算法控制
2.1 步进电机运行方式
(1)启动阶段。通常电机在低于启动频率下启动,逐步增加脉冲频率直至期望的最大速度,其变化速度要保证电机不发生失步,且加速时间尽量短。
(2)匀速阶段。当电机达到最大速度时,不再加速,匀速运行。
(3)停止阶段。电机停止下来之前,必须从最高速度开始,逐步减小脉冲频率,直到一个能停止的速度(约等同于启动速率)。
所以,当步进电机在负载下转动时,其运动过程为加速→匀速→减速。其速度变化可以近似表示为图1所示的形式。
图1 步进电机加/减速过程中的频率变化
2.2 简单加(减)速算法
简单加速算法就是用恒定的角加速度(即恒定的脉冲频率)驱动电机,在此过程中,电机恒加速、恒减速,角速度是线性的一次函数。
2.3 变加(减)速算法
在实际操作中,简单加速算法往往不尽如人意,运行不够平稳、安静,精度亦无保障,所以对简单加(减)速算法进行改进,加速度按照一定的指数曲线变化(上升或下降),角速度为非线性的指数(二次)函数。
变加(减)速算法更有利于步进电机运行,可以提高机器的定位精度,也可以缩短加速过程,提高性能。
2.4 设计一种易于操作的加(减)速算法
参考Motorola公司的专用步进电机驱动芯片MC33976的设计模型和理念,对步进电机的加减速也采取24个步骤的形式。设第1步的脉冲发送次数为N1,第2步的脉冲次数为N2,依次类推至。其中,,为使算法更简单易行,令Δ为常数[6]。
对于加速阶段,多次试验后得到一组优化数据,再将此组数据反向即可应用于减速阶段。试验结果令人满意,步进电机角速度可以达到200°/s,噪音值≤30dB。
3 基于PWM的驱动细分
PWM(Pulse Width Modulation,简称PWM)脉宽调制,是一种开关式稳压电源应用,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
PWM技术是采用脉宽调制方式,即占空比不同的方波电压产生不同的平均电流。
由于电机线圈电感对电流变化的阻碍作用,线圈中的电流波形围绕平均值上下波动,当PWM波的频率足够高时,线圈中的电流可以看成为大小恒定电流。通过调节占空比可以产生不同的平均电流,如图2所示。
图2 PWM中电压/电流波形对比
使用带PWM模块的单片机驱动步进电机可以获得较高的细分精度,根据细分程度的要求,可以将正弦波分割成阶梯状,计算出各个位置所对应的电流值[7]。
模仿步进电机驱动芯片MC33976的驱动细分方式,将正弦波分割成阶梯状,以15°为细分单位,将单个脉冲细分为24个微步,采用相同的占空比[6-7],见表1所列和图3所示。
表1 步进电机细分后各细步电流值
图3 步进电机细分驱动电流示意图
取MCPER=900(MCPER为PWM的电机寄存器时间,经过多次试验后选取值为900),则电机控制的占空比系数为:
每个PWM信号重复1次。
4 设计解决方案
步进电机是借助其同步转矩而启动的,通过对定子上的各个线圈交替通电产生步进式旋转磁场,从而带动转子作步进式旋转,相应改变输入电流的极性来改变步进电机的旋转方向。
4.1 走步方案
在SCM的软件设计上按照图4所示方式,可实现步进电机的走步方案[8]。
图4 软件设计流程
(1)SinTb[]的计算方法:Sin#*900,再转换为16进制数字。
(2)CosTb[]的计算方法:Cos#*900,再转换为16进制数字,取值为 0,15°,…,330°,345°,360°。
如果转动步数>4 000时,计数器清零,不操作。为使转动平稳,精度更高,进行再次细分,即步数/2,分次走完全部的转动步数。
4.2 回零
当仪表掉电时,一些重要参数需要利用仪表电路板上的大电容储存的少量余电进行工作,记录到MCU的FLASH区或者片外EEPROM中。在下一次工作重启后,再从这些储存区读出数据进行相关工作,即步进电机的回零。
本文直接将储存区记录的上一次工作状态中当前步Current Position赋值给步进电机转动所需步数,指定目标步为0,转动方向恒为0。再以这些参数进行上节中所述操作,即可回零,只有回零后才可以进行后续的正常工作。
实验中的PWM输出波形如图5所示,不同占空比的脉冲输出代表不同的电压输出,此脉冲可以等效成正弦波电压输出。
图5 PWM输出波形
本方案在图6所示的实际汽车仪表上演示,在大范围同方向转动以及往复转动效果良好,指针走动平稳快速,可达到400°/s,完全符合设计需求,并且定位精准,无失步现象。实验具体数据见表2所列。
图6 实验用电动汽车仪表
表2 PWM驱动步进电机走步实验结果
5 结束语
实验结果证实,利用单片机自带的PWM模块来实现步进电机的细分驱动,可以充分利用单片机的硬件资源,节省了D/A等器件,有利于降低产品成本,同时也使步进电机的细分驱动更容易。本文所采用的细分方法经过实践验证,在提高细分精度的同时,使步进电机的运行更平稳,噪声明显降低,此法已成功运用于某新款仪表中。
[1]舒大松.基于STC单片机的SPWM步进电机细分控制研究与实现[J].制造业与自动化,2011,33(3):92-102.
[2]Sonceboz Ltd.Slimline stepper motors 6403reference manual[EB/OL].[2011-10-02].http://www.sonceboz.com/medias/produits/fiches-techniques/6403-bd.pdf.
[3]Freescale Semiconductor Corporation.MC9S12XHZ512 datasheet[EB/OL].[2011-10-02].http://pdf.ic37.com/icasp/pdf-download.asp?id=4570478-217202.
[4]彭 礴,张明敏,林飞龙,等.基于AT89S52高精度步进电机伺服控制系统设计[J].电子测量技术,2011,34(3):49-53.
[5]黄 勇.一种基于TMS320F2812的五相电机细分驱动方案[J].湖北民族学院学报:自然科学版,2011,29(1):96-99.
[6]Freescale Semiconductor Corporation.MC33976Datasheet[EB/OL].[2011-10-02].http://pdf.ic37.com/icasp/pdfdownload.asp?id=4874451-114230.
[7]谭 晔,江 平.单变量均匀静态奇数点细分格式的构造和连续性分析[J].合肥工业大学学报:自然科学版,2010,33(6):925-928.
[8]丁强强,鲍远慧.基于CAN总线的汽车检测线计算机控制系统[J].合肥工业大学学报:自然科学版,2010,33(4):514-518.