驱动步进电机转动的方法和系统的制作方法【
技术领域:
】[0001]本发明涉及一种电机驱动
技术领域:
,具体地说涉及一种驱动步进电机转动的方法和系统。【
背景技术:
】[0002]目前汽车上的仪表普遍采用数字化仪表,仪表由指针式仪表盘,报警指示灯,故障诊断显示屏,轻触式按键等组成,其中指针式仪表盘通过步进电机转动指针指示车辆工作参数,如:发动机转速、车速、水温、油量等,为了指针式仪表盘能正确显示车辆的工作参数,则需要对步进电机进行驱动。步进电机是一种将电脉冲信号转变为机械角位移或线位移的执行元件,步进电机驱动器的主要功能是将接收到的脉冲信号按照一定顺序和分配方式分配给步进电机各相绕组,使其按照要求的时间和顺序通、断电,从而实现对步进电机的调速、启停以及正反转控制等。[0003]电机从静止到开始转动,转动过程中,转动到停止整个过程中,所需要的驱动力是不相同的,特别是从静止到启动时,过快变化输出的PWM波信号,将会导致电机无法转动;过慢变化输出的PWM信号,又会导致电机整个运行过程中转动过慢,控制好电机从静止到启动的过程,是保证电机平稳快速转动的关键,也是保证指针式仪表盘能正确反应发动机转速等车辆状态的实现变化的关键。现有技术中驱动电机工作时,在控制策略上常采用加速,恒速和减速的控制方法,以驱动电机正常转动。加速即变化PWM输出信号的时间间隔从慢到快,恒速即以相同的时间间隔PWM输出信号,减速与加速正好相反,即变化PWM输出信号的时间间隔从快到慢。此种方法需要设置加速、恒速和减速三个过程,使得控制过程复杂,不利于步进电机平稳且快速的过渡到恒速区。【
发明内容】[0004]为此,本发明所要解决的技术问题在于电机从静止到开始转动的过程中,驱动方法复杂,不利于步进电机平稳且快速的过渡到恒速区。从而提出一种驱动步进电机转动的方法和系统。[0005]为解决上述技术问题,本发明的技术方案如下:[0006]一种驱动步进电机转动的方法,包括如下步骤:[0007]S1:设置步进电机从开始启动至恒速运转所需加速的总次数N,以及第η次加速所需要的时间tn,η为整数且I彡η彡N,同时,tn<tn_!;[0008]S2:按照所述总次数N及每一次加速所需要的时间tn,对所述步进电机进行驱动;[0009]S3:当加速次数等于所述总次数N之后,驱动所述步进电机以恒定速度运转至目标位置。[0010]所述的驱动步进电机转动的方法,所述步骤SI中,设置步进电机第η次加速所需要的时间tn的具体过程为:[0011]设定基准时间[0012]设置加速数组,所述加速数组中包括a1;Sfalri,an共N个数组元素,其中,(an_an-1)Xt0=tn,an-an^<an_「an_2。[0013]所述的驱动步进电机转动的方法,所述步骤S2中,对所述步进电机进行驱动的具体步骤如下:[0014]S21:实时获取所述步进电机的当前位置,并根据所述当前位置获得每一路驱动脉冲号的占空比;[0015]S22:输出相应占空比的驱动脉冲信号驱动所述步进电机转动一个步长。[0016]所述的数字仪表步进电机的驱动方法,所述步骤S21中具体包括如下步骤:[0017]S211:获得正弦波驱动脉冲信号和余弦波驱动脉冲信号的分步数F;[0018]S212:获得所述驱动脉冲信号上与所述步进电机当前位置Ma相对应的分步位置Ad,Ad=Ma%F;[0019]S213:根据所述分步位置获取正弦波驱动脉冲信号和余弦波驱动脉冲信号的占空比:[0020]Sin_table=Sin(2JiXAd/F);[0021]Cos_table=Cos(2JiXAd/F)。[0022]一种驱动步进电机转动的系统,包括:[0023]数据设置模块,用于设置电机从开始启动至恒速运转所需加速的总次数N,以及第η次加速所需要的时间tn,η为整数且I彡η彡N,同时,tn<;[0024]加速驱动信号输出模块,用于按照所述总次数N及每一次加速所需要的时间tn,对电机进行驱动;[0025]恒速驱动信号输出模块,用于当加速次数等于所述总次数N之后,驱动电机以恒定速度运转至目标位置。[0026]所述的一种驱动步进电机转动的系统,所述数据设置模块中具体包括:[0027]基准时间设置子模块,用于设置所述步进电机加速的基准时间tQ;[0028]加速数组设置子模块,用于设置加速数组,所述加速数组中包括a1;afan_1;an共N个数组元素,其中,Xt0=tn,an-an_!<an_「an_2。[0029]所述的驱动步进电机转动的系统,所述加速驱动信号输出模块具体包括:[0030]数据获取处理模块,实时获取所述步进电机的当前位置,并根据所述当前位置获得每一路驱动脉冲信号的占空比;[0031]驱动信号输出模块,输出相应占空比的驱动脉冲信号驱动所述步进电机转动一个步长。[0032]所述的驱动步进电机转动的系统,所述数据获取处理模块中包括:[0033]第一数据获取单元,获得正弦波驱动脉冲信号和余弦波驱动脉冲信号的分步数F;[0034]第二数据获取单元,获得所述驱动脉冲信号上与所述步进电机当前位置Ma相对应的分步位置Ad,Ad=Ma%F;[0035]占空比获取单元,根据所述分步位置获取正弦波驱动脉冲信号和余弦波驱动脉冲信号的占空比:[0036]Sin_table=Sin(2JiXAd/F);[0037]Cos_table=Cos(2JiXAd/F)。[0038]—种利用数字仪表中的中央处理单元驱动步进电机转动的方法,所述中央处理单元利用上述任一所述的驱动步进电机转动的方法输出驱动脉冲信号驱动步进电机。[0039]所述的利用数字仪表中的中央处理单元驱动步进电机转动的方法,所述中央处理单元为MC9S12H256芯片,其具有24个PWM输出端口,其中4个PWM输出端口作为驱动脉冲信号的输出端与一个待驱动的步进电机的定子磁场线圈的电压输入端连接。[0040]本发明的上述技术方案相比现有技术具有以下优点:[0041](I)本发明提供的驱动步进电机转动的方法和系统,设置步进电机从开始启动至恒速运转所需加速的总次数N,以及第η次加速所需要的时间tn,n为整数且I<η<N,同时,tn<tn_i;按照所述总次数N及每一次加速所需要的时间tn,对步进电机进行驱动;当加速次数等于所述总次数N之后,驱动电机以恒定速度运转。采用这种控制方法驱动步进电机工作时,只需包括加速和恒速的过程,使得控制过程简单,同时,由于所需加速的总次数N和第η次加速所需要的时间tn均可调,这有利于控制步进电机运行的稳定即保证了步进电机平稳快速的转动至恒速区。[0042](2)本发明提供的驱动步进电机转动的方法和系统,通过设置加速数组和基准时间,使得步进电机按照预设的加速过程,平稳快速的转动到恒速区,便于对步进电机的加速过程进行控制。[0043](3)本发明提供的驱动步进电机转动的方法和系统,通过在控制流程上实时获取所述步进电机的当前位置,并根据所述当前位置获得每一路驱动脉冲信号的占空比;输出相应占空比的驱动脉冲信号驱动所述步进电机转动一个步长,这便可以实时的确定步进电机的运行状态,控制步进电机的运行过程。[0044](4)本发明提供的利用数字仪表中的中央处理单元驱动步进电机转动的方法,利用中央处理单元输出驱动脉冲信号驱动步进电机。一般的数字步进电机驱动器需外加专门的电机驱动芯片实现对步进电机的驱动,一般一片电机驱动芯片可以驱动两路步进电机,一块数字化仪表上则需要2-3片电机驱动芯片。从产品成本上说,I片电机驱动芯片按照10元计算,2-3片电机驱动芯片则需要20-30元,数字化仪表是批量产品,一块数字化仪表增加20-30元则是不小的成本;从硬件空间上说:在数字化仪表上增加2-3片电机驱动芯片,增大了所需的硬件空间,不利于数字化仪表的小型化。采用中央控制单元直接驱动步进电机,降低了成本,节省了硬件空间,有利于数字化仪表的小型化。[0045](5)本发明提供的利用数字仪表中的中央处理单元驱动步进电机转动的方法,中央处理单元为MC9S12H256芯片,其具有24个P丽输出端口,其中4个PWM输出端口作为驱动脉冲信号的输出端与一个待驱动的步进电机的定子磁场线圈的电压当前第1页1 2 3