浅谈汽车仪表步进电机控制算法的仿真

出处:12864 发布于:2011-06-19 17:10:27

  随着计算机技术和微电子技术的发展,越来越多的新技术在汽车制造业得到了广泛应用。步进电机式汽车组合仪表是通过单片机控制微型步进电机,带动指针转动来显示和记录汽车行驶过程中的相关信息。与传统的动磁式和动圈式机芯汽车仪表相比,它具有体积小、重量轻、指示准确、可靠性高、抗干扰性强、生产和检测工艺简单、兼容性和通用性强、一致性好等优点,己成为当今世界汽车仪表的发展趋势。本文介绍一种基于MicronasCDC3207G微控制器的汽车仪表板步进电机控制的解决方案。

  步进电机控制

  步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

  步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为"步距角"),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(为100%)的特点,广泛应用于各种开环控制。现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。

  控制步进电机实际上是控制输入脉冲序列,使步进电机轴按照预定方向转动需要的角度。汽车仪表中应用的主要是两相步进电机,有两个独立绕组。通过控制两个独立绕组上的脉冲信号,就能实现对步进电机的控制。此外,一般步进电机内部在电机转轴与指针之间都装有降速齿轮组,使得转动轴与指针之间有一定的降速比,这样可以降低指针转动的抖动,使电机指针转动更加平滑。

  本控制算法采用Microcomponents公司的SWITEC步进电机,其电机转动轴与指针之间的转速比为180:1,即步进电机转动轴旋转180°,步进电机的指针旋转1°。

  步进电机控制算法

  控制算法基本功能

  控制算法主要功能是控制步进电机以完成仪表的显示,主要是根据实时数据计算得到显示仪表的位置信息,再根据位置信息计算出步进电机控制指令。对于内部集成了步进电机控制模块的微控制器,控制算法终输出控制寄存器的数值,微控制器根据寄存器的数值产生驱动信号,实现对步进电机的控制。

  CDC3207G微控制器

  CDC3207G微控制器是Micronas(微开)公司的一款基于ARM7TDMI内核的32位[0]微控制器,它集成了7个步进电机模块,再加上PWM软件模拟多可以直接驱动8路步进电机。每个步进电机模块通过4个控制器内部连接了H桥的高电流输出端口,直接驱动两相步进电机。通过软件便可以产生步进电机定位需要的各种脉冲。

  CDC3207G的步进电机模块可以提供多通道的PWM输出,输出信号频率通过硬件设置来选择,并且各个步进电机模块输出信号的时序具有偏移,可以提高电磁兼容性能(EMC)。

  根据控制两相步进电机的需要,CDC3207G内部提供了3个8位的寄存器,用于通过软件来产生控制脉冲。其中两个寄存器通过模块中的比较器与模块计时器进行比较,用于产生驱动电机的PWM信号,另外一个寄存器用来选择相应步进电机模块以及选择四个输出引脚的极性。这样,通过软件对三个寄存器的操作就能方便地对每一路步进电机进行控制。

  此外,CDC3207G还具有零位检测功能,即检测电机运转时的感应电流,得到电机运行的位置信息,据此判断电机是否达到初始位置(即汽车仪表的零位)。

  控制算法的实现

  软件的主要任务是根据不断更新的步进电机位置信息,计算控制寄存器的数值。同时,为了满足仪表指示的实时性要求,本方案采用周期性调用步进电机控制函数的办法,根据实际需要选择周期。本方案中,调用步进电机控制函数的周期为2ms.

  除了需要满足实时性以外,步进电机控制函数还需要控制步进电机平滑地运转,这样,指针的显示才不会在视觉上给人以不适的感觉。为此,控制函数需要限制步进电机的速度以及加速度。由于周期性更新步进电机位置信息,所以控制函数是通过比较当前位置与给定位置来计算每周期的步进量,终完成给定位置的显示。控制函数流程图如图1所示。

  图1 步进电机控制函数流程图

  本方案的SWITEC步进电机的指针显示范围为330°,指针每转动一度,步进电机转动轴需要转动180°,在软件中分为256步来实现。所以,按照步进数计算的步进电机量程为330×256=84480步。

  由于需要周期性更新步进电机的位置,且每一周期时间很短,步进数量有限,所以,对于一个新的仪表位置,步进电机要完成显示往往需要多个周期来实现。部分变量的简单说明见表1.

表1 变量说明

  由于程序中的位置信息都是按照步进数来表示的,因此,可以预先定义一个常数数组,保存步进数对应的控制寄存器的数值。这样,根据需要步进数查表便可以得到所需要的寄存器的数值。

  控制算法分析

  为了进一步分析本算法的性能,用LabVIEW编程软件进行算法仿真,这样就可以很方便地在不连接步进电机的情况下对算法进行分析。在LabVIEW7.1中可以采用图2的框图对本算法进行分析。

  图2 LabVIEW的算法框图

  在LabVIEW中,用一个while结构来周期地对算法的目标地址进行处理,每次循环都得到pos_new的数值,即每周期结束后步进电机的显示数值,然后将该数值输出到LabVIEW的前面板上。前面板如图3所示。

  图3 LabVIEW的算法前面板

  通过前面板中Start按钮可以控制循环的开始与结束,手动改变pos_set的数值来模拟实际仪表中的数据变化。本例中该值的变化范围为0至100,并且每次试验都使该值由0突变为100.再用Gauge(量具)来仿真步进电机的显示,可以很方便地观察到不同参数改变后显示的视觉效果。此外,还可以通过LabVIEW提供的绘图功能得到控制算法中一些重要变量随时间变化的图像,更加直观地进行性能分析。

  图4为步进电机目标值pos_set由0突变为100的过程中,步进电机实际输出值pos_new随时间的变化曲线图。由于设定的while循环周期为1ms,所以,时间轴显示每周期步进电机输出,纵坐标POS即为步进电机的显示结果。

图4 pos_new随时间的变化

  观察0至128ms区间的曲线,可以看出此阶段曲线的斜率是逐渐增加的,表明步进电机在加速运行,因为初始阶段步进电机目标位置与实际位置之间的差值很大,计算得到的speed_delta数值超过了MAX_ACC这一常数的限制。128ms至475ms区间的曲线为直线,说明在此区间步进电机已达到速度MAX_SPEED,并以该速度匀速运行。

  余下区间的曲线,斜率是逐渐减小的,这时步进电机在减速运行,因为这时目标位置与实际位置的差值已经很小,计算得到的speed_delta数值已经处于由MAX_ACC限制的范围内。变量speed随时间的变化曲线更能清楚地分辨出这三个过程。如图5所示。

  图5 speed随时间的变化

  将常数MAX_ACC(即相邻周期步进数量的变化)由1改为10,仿真得到结果如图6所示。从中可以看出,增大MAX_ACC后,曲线中起始阶段变陡了,即步进电机起步阶段的加速变快了,而步进电机由初始值0到100的完成时间受到的影响不是很大。

  图6 改变MAX_ACC后pos_new随时间的变化

  由流程图中不难看出,常数MAX_ACC只是限制了相邻两个周期步进数的变化,而每周期步进数的限制是由MAX_SPEED来设定的。将该数值由原来的128改变为256再作同上的试验可以发现,曲线中200ms至400ms之间变得更陡,步进电机由0到100的完成时间缩短的比较明显。这说明通过改变每周期步进数量的限制可以比较显着地改变步进电机的完成时间。

  当然,的显示结果与仿真得到的结果,由于步进电机自身性能的原因会有偏差,并且实际步进电机还会有诸如噪音等一些用LabVIEW无法仿真出来的问题。因此,用LabVIEW进行的算法仿真只能作为参考,参数的确定还需要通过在实际步进电机上进行试验后才能完成。

  结语

  对于本控制方案,设计开发人员可以根据实际的硬件(如步进电机型号)以及仪表产品的需要,在程序中修改相应变量的上下限等常量数值,就能改变步进电机指示的量程、指示的平滑性、响应速度等一序列指标。修改调试起来十分方便。

  虽然本方案是针对CDC3207G微控制器而设计的,但是软件设计中的控制算法思想,对于汽车仪表步进电机的控制具有普遍的适用性。

  参考文献:

  1. Micronas GmbH. CDC 32xxG-C Automotive Controller Family User Manual 2005

  2. Microcomponents SA. SWITEC M-S Motor XC5.xxx Specification2002

  3. [美]Bishop,R.H. LabVIEW 6i实用教程。 乔瑞萍等译。 电子工业出版社,2003

  4. ARM7TDMI datasheet https://www.dzsc.com/datasheet/ARM7TDMI_139812.html.

  5. EMC datasheet https://www.dzsc.com/datasheet/EMC_2342312.html.

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!