基于步进电机驱动器MC33991的车速表设计
步进电机式仪表与模拟电路电子式仪表相比,其分度均匀,指针的重复性能好、响应速度快、抖动小、产品品质的稳定性和可靠性有根本保证[1],因此步进电机式汽车仪表在我国逐渐普及。这种汽车仪表通常采用微控制器驱动步进电机带动仪表指针转动。微控制器控制步进电机一般需要外加驱动电路,而采用专用的汽车仪表步进电机驱动集成电路可以简化汽车仪表的软硬件设计,提高仪表的稳定性和可靠性。本文介绍并比较了国内常用的驱动器的性能特点,最后以飞思卡尔半导体生产的MC33991为实例设计了车速表。
常用仪表电机驱动芯片特点及性能比较
国内常用的仪表步进电机驱动芯片包括瑞典SWITEC公司的X12.017、伟盈集团生产的VID66-06和美国飞思卡尔公司生产的MC33991等。
1.1X12.017与VID66-06的主要特点
SWITEC公司生产的X12.017在国内应用较广,可以同时驱动4路十字线圈步进电机。VID66-06控制方式和X12.017完全相同,其各项性能参数也基本相同。它们的主要特点如下
这种驱动器控制简单,输入信号CW/CCW控制步进电机的转动方向,输入信号F(scx)的上升沿驱动电机转动一个微步。通过发送脉冲的频率可以控制电机的转动速度。
MC33991的主要特点
MC33991是单独封装,通过SPI(串行外设接口)进行通信,可同时控制2个步进电机的驱动电路。该电路也可以仿照气隙磁通的运动,把普通电机转化为步进电机来控制。
MC33991可设定步进电机最大转速。其具有内部状态机,保证在正常操作时,驱动器接收到位置命令后,以恒定加速度到达最大速度,然后在合适的时间减速,并保证减速过程中不超过最大减速度,到达指定位置后速度等于零,避免指针抖动。此外,MC33991可以允许2个步进电机或其中之一工作。其内部诊断功能可诊断单个步进电机是否过热、电池电压过高或者过低、指针归零状态驱动器内部时钟的工作状态、确定仪表的指针是否在转动。由以上性能特点可以看出,MC33991比X12.017和VID66-06功能更丰富,如过电压和过热诊断功能、回零校验功能。且使用X12.017和VID66-06作为驱动时,为使仪表指针运行平滑,必须在微控制器程序中对步进电机速度进行细分,否则容易产生超调抖动。
汽车在行驶过程中,汽车车速传感器产生频率与汽车车速成正比的脉冲信号,此脉冲信号经过滤波放大后送给微控制器,微控制器利用输入捕捉通道捕捉2次脉冲信号的间隔时间,并根据间隔时间计算汽车行驶速度。最后,微控制器把计算得到的速度转换成位置命令发送给MC33991,MC33991驱动步进电机指向对应的刻度。
本设计选用微控制器MC68HC908GR16作为主控芯片,采用SWITEC公司生产的仪表用步进电机X15.288作为执行器。MC68HC908GR16是飞思卡尔半导体公司生产的8位微控制器,片内具有16KBFLASH存储器和1KBRAM存储器。其内部锁相环(PLL)可以把外部32.768kHz晶振频率升频至8MHz内部总线频率。微控制器内部集成了增强的串行通信模块(ESCI)、8路10位A/D模块、SPI模块、8位键盘模块,拥有2个独立的16位定时器,每个定时器都由1个定时计数器和2个输入输出通道组成。其内部还集成了定时基模块,可以定时把微控制器从STOP模式中唤醒。
MC33991内部有6个寄存器,微控制器通过发送16位的SPI命令到这些寄存器来控制并读取MC33991的工作状态。16位SPI数据的15~13位是地址,MC33991接收到微控制器的命令后,把命令的15~13位与这些地址对比,并把数据放到对应的寄存器。这些寄存器的地址与功能如表1所列。微控制器通过这些寄存器来控制电机的最大速度、指针位置、指针回零,并读取电机的运行状态、线圈是否过热、电压是否过高或过低。
硬件电路包括速度传感器信号调理电路、微控制器与MC33991的接口电路。
速度脉冲检测电路
车速传感器把车速信号转化为脉冲信号,其频率与车速成正比。此脉冲信号经过调理电路送给单片机的T1CH0,速度脉冲的调理电路如图1所示。在没有脉冲信号输入时,三极管集电极和发射极关断,脉冲调理电路输出高电平。有脉冲输入时,三极管导通,调理电路输出跳变到低电平。