摘 要: 介绍了一种基于组合电阻式步进电机细分驱动的原理,并给出用该方法实现的船用柴油机状态监控仪表。仪表实现了对船用柴油机的转速、机油压力、机油温度、冷却水温度、电瓶电压等参数进行实时显示监控的功能。设计采用软硬件相结合的驱动方法,既保障了系统的可靠性,又降低了仪表成本。
关键词: 船用仪表;步进电机;细分驱动;组合电阻
船用仪表从工作原理上区分,有模拟式仪表和数字式仪表[1]。以模拟量组合单元仪表为主的监控仪表所需要的器件数量多,指示精度低。数字式船用仪表多为LED数码管显示方式,虽然分辨率高,但不够直观,尤其在单屏面上显示多个数据时,不利于进行远距离观察,而且它显示的是单纯的一个数据,没有在一定范围内进行显示,观察人员还需将观察到的数据再过滤比较,才能对运行状况作出判断,不利于发现异常情况。因此为了既适应船用仪表的需要,又满足人机工程的要求,本文提出了一种全数字步进电机式船用柴油机状态监控仪表,与传统的模拟量为传输量的指针式仪表不同的是,它把数字量用步进电机式指针进行了模拟式指示,将数字显示的准确性和模拟指示的直观性结合在一起,克服了以往模拟式仪表指针指示的非线性、抖动、卡滞等现象,指针示值准确、能够快速追踪参数的变化,运行平稳。
1 步进电机式船用仪表的总体设计方案
步进电机式船用仪表总体结构框图如图1所示,本设计采用带有LCD显示模块的PIC核的单片机作为控制器,对柴油机运行参数(包括转速、机油压力、机油温度、冷却水温度、电瓶电压等)进行数据采集,把数据处理成相对应的步进电机式指针要走的步数,并在指针式仪表上进行显示。选用的VID29-05步进电机为两相步进电机,内置减速比180/1的齿轮系,可用分步模式或微步模式驱动。输出轴的步距角最小可以达到(1/12)°,最大角速度为600 °/s。
2 步进电机组合电阻式细分驱动的硬件设计
步进电机是把脉冲信号转换成角位移或直线位移的执行元件,是一种输出与输入数字脉冲相对应的增量驱动元件[2]。步进电机的运行方式主要有整步、分步、微步3种[3]。为了使仪表指针能够高精度地准确定位,使步进电机平稳、无卡滞地运行,减少电机的振荡和噪声,需要对步进电机进行细分驱动,即微步模式。
步进电机的细分驱动方式有专用芯片法和PWM脉宽调制法。专用芯片法采用硬件的方法实现步进电机的细分驱动,容易实现,但成本较高。PWM脉宽调制法采用PWM脉冲直接对步进电机进行驱动,采用软件的方式实现,驱动硬件成本较低,但需要多路PWM模块,对单片机的选型要求较高。因此综合成本和实用性两方面的因素考虑后,本设计提出一种基于组合电阻式的步进电机细分驱动方法,该驱动方式的硬件为3个电阻的组合,成本低,原理简单,易实现。驱动软件为仪表指针跟踪算法的设计,不需要单片机的PWM模块,实用性较强。
在本设计中励磁绕组采用阶梯型电压驱动,在绕组上进行电流叠加,即每经过一个细分信号周期,单片机输出到电机线圈的电压顺次发生变化,使得通过线圈的电流按上述公式产生接近正弦波的变化,逐渐增大或减少,而不是一次性地通入或切断,使电机能更平稳地运行。
组合电阻式细分驱动是指步进电机每一相线圈一端与单片机的I/O口相连,另一端与N个阻值不同、处于并联方式的电阻相连,N个电阻的数量和取值大小需要考虑电机内部线圈电阻,以便产生能够驱动电机的、接近于正弦波的阶梯波形。单片机与步进电机之间无专用驱动芯片。并联电阻N的个数越多,则步进电机每一相上出现的状态就越多,细分的程度也越高。图2所示为该24细分驱动法的硬件电路图。
图中M1、M2为步进电机的一相绕组,M3、M4为另一相绕组,SN74HC595是串行输入并行输出芯片,用作扩展PIC单片机的I/O口,每一相绕组上都接有3个并联的电阻。因为VID29-05输出轴的步距角最小可以达到(1/12)°,而它内置减速比为180/1的齿轮系,因此一个微步表示指针转子转动15°。VID29-05步进电机一个周期共有6个分步,即每个分步相位相差60°,每个分步可以细分为4个微步,整个周期细分为24个微步,即24细分,其对称的阶梯波形图如图3所示。
因为有12个不同的对称阶梯数值,故选取3个不同阻值的电阻与步进电机绕组线圈电阻一起就能得到16种逻辑组合,选取其中最合适的12种即可。在硬件电路中每一相都有3个电阻相并联,VID29-05步进电机的每相内部绕组电阻为210 ?赘,单片机I/O口输出电压为5 V,再根据VID29-05步进电机微步驱动的各相电流值,可以计算出3个电阻与电机内部绕组在电路中的总等效电阻值和步进电机一相绕组上的电压值,根据这些数据就可选配3个电阻的阻值和控制电阻引脚的电平逻辑。当QD输出高电平时,QA、QB、QC有8种组合可选,除去输出全高状态(因为若QA、QB、QC、QD全为高时,就没有电流输出),可根据需要取出其中最适合的6种状态。当QD输出低电平时,同理可取出除去全低状态外的最适合的6种状态,由此可得到12个值。将此12个值进行x轴对称则可得出另一组阶梯波。将整组数据建成一个表,通过查表的方式就可以控制步进电机。
3 步进电机组合电阻式细分驱动的软件设计
3.1 指示参数位置与步进电机微步数的关系
在本设计中,要显示的参数有温度、压力、转速和电压。温度显示范围为40 ℃~120 ℃,压力显示范围为0~1 MPa,转速显示范围为0~3 000 r/min,电压显示范围为18 V~32 V。在此对温度显示与步进电机微步数的计算关系进行说明,其余三表类似。根据厂家给定的温度面板满量程刻度为112.5°,步进电机细分驱动中每一步旋转角度(1/12)°,因此当达到满量程时步进电机的微步数为step=112.5×12=1 350 步。但温度是从40 ℃开始显示的,应将40 ℃作为指示零点,且满量程为120 ℃,满量程点与初始点相差温度为80 ℃,而它们之间的物理角度差为112.5°,因此温度每相差一度,指针应走过的物理角度为(112.5/80)°,温度与电压近似成线性关系,如图4所示的温度-电压关系图,由此可得关系式:
根据式(2)和式(3)就可计算出相对应的目标温度值y,再根据式(4)就可计算出目标温度相对应的仪表指针位置,即指针距初始点(“40 ℃”点)的微步数。将此位置与指针的当前位置进行比较,即可得到指针应转动的方向和转角。由此可建立温度-微步数表,通过查表的方式就可得到目标温度值所对应的微步数。
由于温度与电压之间的非线性关系及电机齿轮的误差影响,导致满度定位有偏差,可以通过分段线性处理的方法,在半满量程点、2/3满量程点和满量程点,对式(4)进行补偿修正,从而获得准确的定位。
3.2 仪表指针跟踪算法的实现
仪表指针运行的效果要求平滑且跟踪快,要满足这两项要求,必须要有好的升降频控制算法,因此必须在软件设计上配合实现硬件电路的细分驱动。硬件电路提供驱动步进电机的阶梯波形,软件设计将控制此波形的时间间隔,使得指针快速、精准地定位,并且平滑、无卡滞地运行。主要包括指针归零模块、分频驱动中断模块、跟踪控制模块。
常用的升降频控制方法有3种[4]:直线升降频、指数曲线升降频、抛物线升降频。直线升降频是以恒定的加速度进行升降,平稳性较好,适用于速度变化较大的快速定位方式。软件实现比较简单,但其加速度时间比较长。指数升降频控制具有较强的跟踪能力,但当速度变化较大的时侯其平衡性较差。抛物线升降频是将直线升降频和指数曲线升降频相融合,充分考虑到步进电机低速时的有效转矩,使升降速的时间大为缩短,同时又考虑使其具有较强的跟踪能力,这是一种比较好的升降频控制方法,本设计所采用的升降频控制方法正是此方法。
指针跟踪程序流程图如图5所示,查参数-微步数表得到目标微步数后,与当前位置比较确定指针的转动方向和转角。为使指针能快速跟踪、准确定位,需要按抛物线升降频法,建立一张位置差值-指针速度表,当目标位置离当前位置较远时,指针速度较快,反之则较慢,如参数突然变化较大,不能直接从上一较快(较慢)的指针速度一次变化到较慢(较快)的目标速度,会使指针产生卡滞、抖动等现象,此时应在程序中控制指针速度渐进的变化。
将步进电机应用到船用仪表中,推动了数字化指针仪表的发展,显示方式更符合人机工程学的要求。本文对实现组合电阻式步进电机细分驱动的软硬件设计进行了描述,与专用芯片法(硬件)和PWM脉宽调制法(软件)相比,性价比较好。仪表指针跟踪位置的准确性、快速性及运行平稳性都超过了普通模拟指针表的功能,有
着较强的通用性和广阔的应用前景。该仪表已通过厂家的装船测试,各项指标达到设计要求,并已交付使用,运行正常。
参考文献
[1] 陈立军,黄学武,郑华耀.SMSC船用智能仪表的研究[J].自动化与仪表,2007,22(4):21-24.
[2] 胡惟文,蔡剑华,王先春.基于FPGA的步进电机均匀细 分驱动器的实现[J].微计算机信息,2008,24(2):183-184.
[3] 李铮,鲜继清,王平.直驱型数控指针式仪表的设计与实现[J].仪器仪表学报,2007,28(2):327-330.
[4] 李明泉.功率步进电机升降频过程的最优控制[J].微电机,1988(4):8-16.