控制步进电机自学习的方法及设备转让专利

申请号 : CN201310118125.X

文献号 : CN103195597B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 祁克光

申请人 : 奇瑞汽车股份有限公司

摘要 :

本发明公开了一种控制步进电机自学习的方法及设备,属于汽车电子控制技术领域。所述方法包括:确定本次自学习的首次步数及失步保护值,并根据确定的本次自学习的首次步数及失步保护值设定本次自学习的总步数;按照设定的本次自学习的总步数对步进电机的本次自学习进行控制。本发明通过以首次步数与失步保护值设定的本次自学习的总步数对自学习进行控制,从而保证步进电机在自学习结束时走到关闭位置,减少步进电机失步的发生,提高怠速控制质量;同时,控制步进电机采用步进预设步后延迟预设时间的方式进行自学习,并且在接近关闭位置降低步进电机的步进速度,可以有效防止步进电机反弹,延长步进电机的使用寿命。

权利要求 :

1.一种控制步进电机自学习的方法,其特征在于,所述方法包括:判断上次自学习的控制过程中是否出现异常掉电;

如果出现异常掉电,则将本次自学习的首次步数设置为全开位置的步数;

如果未出现异常掉电,则将本次自学习的首次步数设置为点火钥匙关闭前所设置的步数;

确定本次自学习的失步保护值,并根据确定的本次自学习的首次步数及失步保护值设定本次自学习的总步数;

按照设定的本次自学习的总步数对所述步进电机的本次自学习进行控制。

2.根据权利要求1所述的方法,其特征在于,所述按照设定的本次自学习的总步数对所述步进电机的本次自学习进行控制,包括:控制所述步进电机以第一速度从当前位置向关闭位置方向走本次自学习的首次步数步及第一预设步;

在延迟预设时间后,检测已走步数与本次自学习的总步数之间相差的步数是否为第二预设步;

如果已走步数与所述本次自学习的总步数之间相差的步数为所述第二预设步,则控制所述步进电机以第二速度再走所述第一预设步;

在延迟所述预设时间后,检测已走步数是否达到所述本次自学习的总步数,如果已走步数达到所述本次自学习的总步数,自学习结束;

其中,所述第二速度慢于所述第一速度。

3.根据权利要求2所述的方法,其特征在于,所述检测已走步数与所述本次自学习的总步数之间是否差第二预设步之后,还包括:如果已走步数与所述本次自学习的总步数之间相差的步数大于所述第二预设步,控制所述步进电机以所述第一速度再走所述第一预设步;

在延迟所述预设时间后,再检测已走步数与所述本次自学习的总步数之间相差的步数是否为所述第二预设步,如此循环,直至已走步数与所述本次自学习的总步数之间相差的步数为所述第二预设步;

所述检测已走步数是否为所述本次自学习的总步数之后,还包括:如果已走步数未达到所述本次自学习的总步数,控制所述步进电机以所述第二速度再走第一预设步;

在延迟所述预设时间后,再检测已走步数是否达到所述本次自学习的总步数,如此循环,直至已走步数达到所述本次自学习的总步数。

4.根据权利要求1至权利要求3任一权利要求所述的方法,其特征在于,所述方法,还包括:判断车辆是否启动,如果车辆启动,判断是否自学习结束;

如果自学习结束,启动喷油器;

如果自学习未结束,禁止喷油器喷油,等待自学习结束后启动喷油器。

5.一种控制步进电机自学习的设备,其特征在于,所述设备包括:第一确定模块,用于判断上次自学习的控制过程中是否出现异常掉电,当出现异常掉电时,将本次自学习的首次步数设置为全开位置的步数,当未出现异常掉电时,将本次自学习的首次步数设置为点火钥匙关闭前所设置的步数;

第二确定模块,用于确定本次自学习的失步保护值;

设定模块,用于根据所述第一确定模块确定的所述本次自学习的首次步数及所述第二确定模块确定的所述本次自学习的失步保护值设定本次自学习的总步数;

第一控制模块,用于按照所述设定模块设定的所述本次自学习的总步数对所述步进电机的本次自学习进行控制。

6.根据权利要求5所述的设备,其特征在于,所述第一控制模块,用于控制所述步进电机以第一速度从当前位置向关闭位置方向走本次自学习的首次步数步及第一预设步;

在延迟预设时间后,检测已走步数与本次自学习的总步数之间相差的步数是否为第二预设步;

如果已走步数与所述本次自学习的总步数之间相差的步数为所述第二预设步,则控制所述步进电机以第二速度再走所述第一预设步;

在延迟所述预设时间后,检测已走步数是否达到所述本次自学习的总步数,如果已走步数达到所述本次自学习的总步数,自学习结束;

其中,所述第二速度慢于所述第一速度。

7.根据权利要求6所述的设备,其特征在于,所述第一控制模块,还用于当已走步数与所述本次自学习的总步数之间相差的步数大于所述第二预设步时,控制所述步进电机以所述第一速度再走所述第一预设步;

在延迟所述预设时间后,再检测已走步数与所述本次自学习的总步数之间相差的步数是否为所述第二预设步,如此循环,直至已走步数与所述本次自学习的总步数之间相差的步数为所述第二预设步;

还用于当已走步数未达到所述本次自学习的总步数时,控制所述步进电机以所述第二速度再走第一预设步;

在延迟所述预设时间后,再检测已走步数是否达到所述本次自学习的总步数,如此循环,直至已走步数达到所述本次自学习的总步数。

8.根据权利要求5至权利要求7任一权利要求所述的设备,其特征在于,所述设备,还包括:第一判断模块,用于判断车辆是否启动;

第二判断模块,用于当所述第一判断模块判断车辆启动时,判断是否自学习结束;

第二控制模块,用于当所述第二判断模块判断自学习结束时,启动喷油器;当所述第二判断模块判断自学习未结束时,禁止喷油器喷油,等待自学习结束后启动喷油器。

说明书 :

控制步进电机自学习的方法及设备

技术领域

[0001] 本发明涉及汽车电子控制技术领域,特别涉及一种控制步进电机自学习的方法及设备。

背景技术

[0002] 为了在所有可能的工况条件下提供理想的怠速空气量,对汽车进行怠速控制显得尤为重要。而步进电机作为对汽车进行怠速控制时的非常重要的一个部件,其控制策略直接影响到怠速控制质量。步进电机的控制策略为开环控制,ECU(Electronic Control Unit,电子控制单元)依据需求位置进行控制,但并无法通过反馈识别步进电机是否真正的按照需求走到预定位置,步进电机常常因为信号干扰等问题导致步进电机控制失步,而步进电机自学习可以有效避免步进电机的控制失步,因此,如何控制步进电机自学习,是提高怠速控制质量的关键。
[0003] 现有技术在控制步进电机自学习时,步进电机自学习开始后,ECU以开环控制方式驱动步进电机采用固定的频率逐步向关闭位置走Step_currentt(当前步数)步,此时认为步进电机的当前位置到达ECU要求的位置,即达到关闭位置,驱动步进电机结束自学习过程。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 由于ECU以开环控制方式驱动步进电机走Step_currentt步,这种开环控制方式使得ECU在驱动步进电机走Step_currentt后,ECU无法识别步进电机实际走的步数,存在步进电机结束自学习后仍未走到关闭位置的情况,导致自学习并未到达关闭位置,进而影响下次汽车发动时的怠速控制;另外,由于步进电机自学习时采用固定的频率向关闭位置步进,当失步较小时,存在步进电机以固定频率不停的在关闭位置步进,进而导致步进电机在关闭位置反弹产生新的失步,同时也影响步进电机的使用寿命。

发明内容

[0006] 为了解决现有技术的问题,本发明实施例提供了一种控制步进电机自学习的方法及设备。所述技术方案如下:
[0007] 一方面,提供了一种控制步进电机自学习的方法,所述方法包括:
[0008] 判断上次自学习的控制过程中是否出现异常掉电;
[0009] 如果出现异常掉电,则将本次自学习的首次步数设置为全开位置的步数;
[0010] 如果未出现异常掉电,则将本次自学习的首次步数设置为点火钥匙关闭前所设置的步数;
[0011] 确定本次自学习的失步保护值,并根据确定的本次自学习的首次步数及失步保护值设定本次自学习的总步数;
[0012] 按照设定的本次自学习的总步数对所述步进电机的本次自学习进行控制。
[0013] 进一步地,所述按照设定的本次自学习的总步数对所述步进电机的本次自学习进行控制,包括:
[0014] 控制所述步进电机以第一速度从当前位置向关闭位置方向走本次自学习的首次步数步及第一预设步;
[0015] 在延迟预设时间后,检测已走步数与本次自学习的总步数之间相差的步数是否为第二预设步;
[0016] 如果已走步数与所述本次自学习的总步数之间相差的步数为所述第二预设步,则控制所述步进电机以第二速度再走所述第一预设步;
[0017] 在延迟所述预设时间后,检测已走步数是否达到所述本次自学习的总步数,如果已走步数达到所述本次自学习的总步数,自学习结束;
[0018] 其中,所述第二速度慢于所述第一速度。
[0019] 进一步地,所述检测已走步数与所述本次自学习的总步数之间是否差第二预设步之后,还包括:
[0020] 如果已走步数与所述本次自学习的总步数之间相差的步数大于所述第二预设步,控制所述步进电机以所述第一速度再走所述第一预设步;
[0021] 在延迟所述预设时间后,再检测已走步数与所述本次自学习的总步数之间相差的步数是否为所述第二预设步,如此循环,直至已走步数与所述本次自学习的总步数之间相差的步数为所述第二预设步;
[0022] 所述检测已走步数是否为所述本次自学习的总步数之后,还包括:
[0023] 如果已走步数未达到所述本次自学习的总步数,控制所述步进电机以所述第二速度再走第一预设步;
[0024] 在延迟所述预设时间后,再检测已走步数是否达到所述本次自学习的总步数,如此循环,直至已走步数达到所述本次自学习的总步数。
[0025] 进一步地,所述方法,还包括:
[0026] 判断车辆是否启动,如果车辆启动,判断是否自学习结束;
[0027] 如果自学习结束,启动喷油器;
[0028] 如果自学习未结束,禁止喷油器喷油,等待自学习结束后启动喷油器。
[0029] 另一方面,提供了一种控制步进电机自学习的设备,所述设备包括:
[0030] 第一确定模块,用于判断上次自学习的控制过程中是否出现异常掉电,当出现异常掉电时,将本次自学习的首次步数设置为全开位置的步数,当未出现异常掉电时,将本次自学习的首次步数设置为点火钥匙关闭前所设置的步数;
[0031] 第二确定模块,用于确定本次自学习的失步保护值;
[0032] 设定模块,用于根据所述第一确定模块确定的所述本次自学习的首次步数及所述第二确定模块确定的所述本次自学习的失步保护值设定本次自学习的总步数;
[0033] 第一控制模块,用于按照所述设定模块设定的所述本次自学习的总步数对所述步进电机的本次自学习进行控制。
[0034] 进一步地,所述第一控制模块,用于控制所述步进电机以第一速度从当前位置向关闭位置方向走本次自学习的首次步数步及第一预设步;
[0035] 在延迟预设时间后,检测已走步数与本次自学习的总步数之间相差的步数是否为第二预设步;
[0036] 如果已走步数与所述本次自学习的总步数之间相差的步数为所述第二预设步,则控制所述步进电机以第二速度再走所述第一预设步;
[0037] 在延迟所述预设时间后,检测已走步数是否达到所述本次自学习的总步数,如果已走步数达到所述本次自学习的总步数,自学习结束;
[0038] 其中,所述第二速度慢于所述第一速度。
[0039] 进一步地,所述第一控制模块,还用于当已走步数与所述本次自学习的总步数之间相差的步数大于所述第二预设步时,控制所述步进电机以所述第一速度再走所述第一预设步;
[0040] 在延迟所述预设时间后,再检测已走步数与所述本次自学习的总步数之间相差的步数是否为所述第二预设步,如此循环,直至已走步数与所述本次自学习的总步数之间相差的步数为所述第二预设步;
[0041] 还用于当已走步数未达到所述本次自学习的总步数时,控制所述步进电机以所述第二速度再走第一预设步;
[0042] 在延迟所述预设时间后,再检测已走步数是否达到所述本次自学习的总步数,如此循环,直至已走步数达到所述本次自学习的总步数。
[0043] 进一步地,所述设备,还包括:
[0044] 第一判断模块,用于判断车辆是否启动;
[0045] 第二判断模块,用于当所述第一判断模块判断车辆启动时,判断是否自学习结束;
[0046] 第二控制模块,用于当所述第二判断模块判断自学习结束时,启动喷油器;当所述第二判断模块判断自学习未结束时,禁止喷油器喷油,等待自学习结束后启动喷油器。
[0047] 本发明实施例提供的技术方案带来的有益效果是:
[0048] 通过以首次步数与失步保护值设定的本次自学习的总步数对自学习进行控制,从而保证步进电机在自学习结束时走到关闭位置,减少步进电机失步的发生,提高怠速控制质量;同时,控制步进电机采用步进预设步后延迟预设时间的方式进行自学习,并且在接近关闭位置降低步进电机的步进速度,可以有效防止步进电机反弹,延长步进电机的使用寿命。

附图说明

[0049] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0050] 图1是本发明实施例一提供的一种控制步进电机自学习的方法流程图;
[0051] 图2是本发明实施例二提供的一种控制步进电机自学习的方法流程图;
[0052] 图3是本发明实施例二提供的一种车辆启动判断的方法流程图;
[0053] 图4是本发明实施例三提供的一种控制步进电机自学习的装置结构示意图;
[0054] 图5是本发明实施例三提供的另一种控制步进电机自学习的装置结构示意图。

具体实施方式

[0055] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0056] 实施例一
[0057] 本实施例提供了一种控制步进电机自学习的方法,参见图1,本实施例提供的方法流程具体如下:
[0058] 101:确定本次自学习的首次步数及失步保护值,并根据确定的本次自学习的首次步数及失步保护值设定本次自学习的总步数;
[0059] 102:按照设定的本次自学习的总步数对步进电机的本次自学习进行控制。
[0060] 本发明实施例提供的方法,通过以首次步数与失步保护值设定的本次自学习的总步数对自学习进行控制,从而保证步进电机在自学习结束时走到关闭位置,减少步进电机失步的发生,提高怠速控制质量。
[0061] 为了更加清楚地阐述上述实施例提供的一种控制步进电机自学习的方法,结合上述实施例的内容,以如下实施例二为例,对一种控制步进电机自学习的方法进行详细说明,详见如下实施例二:
[0062] 实施例二
[0063] 本发明实施例提供了一种控制步进电机自学习的方法,为了便于理解,结合上述实施例一的内容,以点火钥匙关闭前所设置的步数为60,M(失步保护值)为30,SP1(第一速度)为5ms/步,n(第一预设步)为3,p(第二预设步)为9,SP2(第二速度)为30ms/步为例,本实施例提供的方法进行详细地举例说明。参见图2,本实施例提供的方法流程包括:
[0064] 201:确定本次自学习的首次步数及M,并根据确定的本次自学习的首次步数及M设定本次自学习的总步数;
[0065] 具体实施过程中,Step_current(本次自学习的首次步数)的确定方法为:判断上次自学习的控制过程中是否出现异常掉电,根据是否出现异常掉电设置Step_current的值,本实施例不对代表自学习的首次步数的参数进行具体限定。
[0066] 本实施例不对判断上次自学习的控制过程中是否出现异常掉电的方法进行具体限定,包括但不限于设定特定参数,以该特定参数的特定值作为判断依据。
[0067] 例如,以设定e作为是否出现异常掉电的特定参数,e=0代表未出现异常掉电,e=1代表出现异常掉电为例,通过确定e是否为0,可以判断上次自学习的控制过程中是否出现异常掉电情况。如果e=0则表明上次自学习的控制过程正常结束,并未出现异常掉电情况;如果e=1则表明上次自学习的控制过程未正常结束,出现异常掉电情况。
[0068] 当然,作为标识的参数除e外还可以为r,或者t,或者其它内容,本实施例不对作为标识的参数进行具体限定;除0代表未出现异常掉电外,也可以2代表未出现异常掉电,或者5代表未出现异常掉电,在此不对未出现异常掉电的e的值进行具体限定;除1代表出现异常掉电例外,也可以4代表出现异常掉电例,或者6代表出现异常掉电例,在此不对代表出现异常掉电例的e的值进行具体限定。
[0069] 进一步地,针对上述判断,会出现如下两种判断结果中的一种:
[0070] 一种结果:出现异常掉电,则将本次自学习的首次步数设置为全开位置的步数;
[0071] 其中,全开位置的步数为步进电机的特性定义的最大步数,根据步进电机不同,步进电机的全开位置的步数也不同,本实施例不对全开位置的具体值进行限定。
[0072] 仍以上述例子为例,假如步进电机的全开位置为200,则当e=0时,设置Step_currentt=200。
[0073] 另一种结果:未出现异常掉电,则将本次自学习的首次步数设置为点火钥匙关闭前所设置的步数。
[0074] 还以上述例子为例,如果e=1,则设置Step_currentt=60。
[0075] 进一步地,M为经验值,本实施例不对M的值进行具体限定,优选的M值大于20。
[0076] 进一步地,TS(本次自学习的总步数)为Step_current与M的和。如果上次自学习过程中出现异常掉电,优选的TS值大于200,本实施例不对本次自学习的总步数的参数进行具体限定。
[0077] 具体的,如果上述判断结果为上次自学习的控制过程中出现异常掉电的第一种结果,即e=0,且Step_current=200,则TS=Step_current+M=200+30=230;如果上述判断结果为上次自学习的控制过程中未出现异常掉电的另一种结果,即e=1,且Step_current=60,TS=Step_current+M=60+30=90。
[0078] 需要说明的是,本实施例均以上次自学习的控制过程中未出现掉电情况为例,对于上次自学习的控制过程中出现掉电情况不再进行具体说明。
[0079] 202:控制步进电机以SP1从当前位置向关闭位置方向走Step_current步及n步;
[0080] 针对该步骤,SP1是依据步进电机特性参数确定的速度值,步进电机不同,SP1值也不同,在此不对SP1值进行具体限定。当步进电机确定后,SP1值也会随之确定。本实施例不对确定SP1值依据的具体参数进行限定,例如可以根据步进电机的不稳定范围确定SP1的值,或者根据步进电机的失步范围确定SP1的值。另外,n是根据步进电机特性确定的经验值,本实施例不对n的具体值进行限定,优选的n=3。
[0081] 例如,步进电机从当前位置以5ms/步的速度向关闭位置方向走60步及3步。
[0082] 需要说明的是,在设定TS后,控制步进电机自学习时,会标识步进电机已经进入自学习状态,用于ECU(Electronic Control Unit,电子控制单元)根据该标识判断自学习是否结束。本实施例不对步进电机进入自学习状态的标识进行具体限定,包括但不限于设定特定参数,以该特定参数的特定值作为标识。
[0083] 例如,设定参数i作为是否开始自学习标识,其中i=0代表未进入自学习状态,i=1代表进入自学习状态。初始值为0,进入自学习状态后,设置i=1。当然,作为标识的参数除i外还可以为r,或者t,或者其它内容,本实施例不对作为标识的参数进行具体限定;除0代表未进入自学习状态外,也可以2代表未进入自学习状态,或者5代表未进入自学习状态,在此不对代表未进入自学习状态的i的值进行具体限定;除1代表进入自学习状态外,也可以4代表进入自学习状态,或者6代表进入自学习状态,在此不对代表进入自学习状态的i的值进行具体限定。
[0084] 另外,在标识步进电机已经进入自学习状态的同时,也会标识步进电机本次自学习的控制过程是否出现异常掉电,用于电子控制单元下次进行自学习控制时根据该标识判断上次自学习的控制过程中是否出现异常掉电。本实施例不对步进电机本次自学习的控制过程是否出现异常掉电的标识进行具体限定,包括但不限于设定特定参数,以该特定参数的特定值作为标识。
[0085] 例如,步骤201中以e作为判断是否出现异常掉电的特定参数,则进入自学习状态后,设置e=1。
[0086] 203:在延迟预设时间后,检测已走步数与本次自学习的总步数之间相差的步数是否为p步,如果否,执行步骤204,如果是,执行步骤206;
[0087] 针对此步骤,延迟预设时间是为了防止步进电机持续走导致步进电机损坏。本实施例不对延迟的预设时间进行具体限定,包括但不限于延迟当前速度走1步的时间。
[0088] 另外,p是根据步进电机特性以及n的值确定的经验值,在步进电机以及n确定后即保证了步进电机一定会出现已走步数与TS之间差p步的情况,本实施例不对p的值进行具体限定,优选的p=9。
[0089] 例如,在延迟5ms后,已走步数为Step_current+n=60+3=63步。此时,已走步数与TS之间相差90-63=27步,不是9步。
[0090] 204:控制步进电机以SP1再走n步;
[0091] 具体的,步骤203中检测到已走步数与本次自学习的总步数之间相差的步数为27步大于9步,控制步进电机以5ms/步的速度再走3步。
[0092] 205:在延迟预设时间后,再检测已走步数与本次自学习的总步数之间相差的步数是否为p步,如此循环,直至已走步数与本次自学习的总步数之间相差的步数为p步;
[0093] 仍以步骤203中的例子为例,执行完步骤204并且延迟5ms之后,已走步数为63+3=66步,已走步数与TS差90-66=24步,仍大于9步。再次控制步进电机以5ms/步的速度再走3步,且延迟5ms,此时已走步数为66+3=69步,已走步数与TS差90-69=21步,大于9步。循环重复四次控制步进电机以5ms/步的速度再走3步,且延迟5ms,此时已走步数为69+3+3+3+3=81步,已走步数与TS差90-81=9步,执行步骤206。
[0094] 206:控制步进电机以SP2再走n步,在延迟预设时间后,检测已走步数是否达到本次自学习的总步数,如果否,执行步骤207,如果是,执行步骤209;
[0095] 针对该步骤,SP2是慢于SP1的经验速度,为了防止步进电机持续以快速的SP1速度走导致步进电机在关闭位置反弹,因此,当已走步数与本次自学习的总步数之间相差p步之后会控制步进电机以更慢的SP2的速度继续走。本实施例不对SP2的具体值进行限定,优选的SP2=30ms/步。
[0096] 仍以步骤203中的例子为例,在执行完步骤205后,已走步数与TS之间差9步,继续以30ms/步的速度走3步,再延迟30ms后,此时已走步数为81+3=84,已完步数84未达到90。
[0097] 207:控制步进电机以SP2再走n步;
[0098] 仍以步骤203中的例子为例,在执行完步骤206后,已走完的步数为84,未达到90,控制步进电机以30ms/步的速度再走3步。
[0099] 208:在延迟预设时间后,再检测已走步数是否达到本次自学习的总步数,如此循环,直至已走步数达到本次自学习的总步数;
[0100] 仍以步骤203中的例子为例,在执行完步骤207并延迟30ms后,此时已走步数为84+3=87,已走步数步87仍未达到90。循环一次控制步进电机以30ms/步的速度再走3步,且延迟30ms后,此时已走步数为87+3=90,已走步数步90达到90,执行步骤209。
[0101] 209:自学习结束。
[0102] 针对此步骤,当控制步进电机走完总步数之后,将标识自学习结束并且标识自学习过程未出现异常掉电情况。
[0103] 具体的,以步骤202中i作为是否开始自学习标识,及e作为是否出现异常掉电的特定参数为例,设定i=0,e=0。
[0104] 需要说明的是,i初始值为0,在自学习开始也就是进入自学习状态时i设定为1后,整个自学习过程i始终为1,只在自学习完成时i才重新设定为0,因此根据i的值是0或者是1就可以判断步进电机是否仍然处于自学习状态也就是可以判断步进电机自学习是否结束,如果i=0,表示步进电机未进入自学习状态或者是自学习已经结束,如果i=1,表示步进电机已经进入自学习状态并且自学习未结束。
[0105] 另外,e初始值为0,在自学习开始后e设定为1,整个自学习过程e始终为1,只在自学习正常完成时e才重新设定为0,因此根据e的值是0或者是1就可以判断自学习是否正常结束也就是自学习过程是否出现异常掉电情况,如果e=0,表示自学习已经正常结束即整个自学习过程未出现异常掉电情况,如果e=1,表示自学习未正常结束及自学习过程中出现异常掉电情况。
[0106] 需要说明的是,在步骤201控制步进电机开始自学习到步骤209步进电机自学习完成的过程中,本实施例提供的方法还包括判断车辆是否启动的过程,以根据车辆是否启动来控制喷油器是否喷油,参见图3,该控制过程包括如下步骤:
[0107] 301:判断车辆是否启动;
[0108] 本实施例不对判断车辆是否启动的方式进行具体限定,包括但不限于判断点火钥匙是否开启,如果点火钥匙开启,则判断车辆启动,如果点火钥匙未开启,则判断车辆未启动。
[0109] 302:如果车辆启动,判断是否自学习结束;
[0110] 本实施例不对步进电机进入自学习是否结束的判断方法进行具体限定,包括但不限于判断特定参数的值是否为特定值。
[0111] 以i作为是否开始自学习标识,其中i=0代表未进入自学习状态,i=1代表进入自学习状态为例,如果i=0,表示未进入自学习状态也就是自学习已经结束,如果i=1,表示进入自学习状态也就是自学习未结束。
[0112] 303:如果自学习结束,启动喷油器。
[0113] 仍以步骤302中的例子为例,当i=0时,启动喷油器。
[0114] 304:如果自学习未结束,禁止喷油器喷油,等待自学习结束后启动喷油器。
[0115] 仍以步骤302中的例子为例,当i=1时,禁止喷油器喷油,等待i=0即自学习结束后启动喷油器。
[0116] 本实施例提供的方法,通过以首次步数与失步保护值设定的本次自学习的总步数对自学习进行控制,从而保证步进电机在自学习结束时走到关闭位置,减少步进电机失步的发生,提高怠速控制质量;同时,控制步进电机采用步进预设步后延迟预设时间的方式进行自学习,并且在接近关闭位置降低步进电机的步进速度,可以有效防止步进电机反弹,延长步进电机的使用寿命。
[0117] 实施例三
[0118] 本发明实施例提供了一种控制步进电机自学习的设备,参见图4,该设备包括:
[0119] 第一确定模块401,用于确定本次自学习的首次步数;
[0120] 第二确定模块402,用于确定本次自学习的失步保护值;
[0121] 设定模块403,用于根据第一确定模块401确定的本次自学习的首次步数及第二确定模块402确定的本次自学习的失步保护值设定本次自学习的总步数;
[0122] 第一控制模块404,用于按照设定模块403设定的本次自学习的总步数对步进电机的本次自学习进行控制。
[0123] 进一步地,第一控制模块404,用于控制步进电机以第一速度从当前位置向关闭位置方向走本次自学习的首次步数步及第一预设步;
[0124] 在延迟预设时间后,检测已走步数与本次自学习的总步数之间相差的步数是否为第二预设步;
[0125] 如果已走步数与本次自学习的总步数之间相差的步数为第二预设步,则控制步进电机以第二速度再走第一预设步;
[0126] 在延迟预设时间后,检测已走步数是否达到本次自学习的总步数,如果已走步数达到本次自学习的总步数,自学习结束;
[0127] 其中,第二速度慢于第一速度。
[0128] 进一步地,第一控制模块404,还用于当已走步数与本次自学习的总步数之间相差的步数大于第二预设步时,控制步进电机以第一速度再走第一预设步;
[0129] 在延迟预设时间后,再检测已走步数与本次自学习的总步数之间相差的步数是否为第二预设步,如此循环,直至已走步数与本次自学习的总步数之间相差的步数为第二预设步;
[0130] 还用于当已走步数未达到本次自学习的总步数时,控制步进电机以第二速度再走第一预设步;
[0131] 在延迟预设时间后,再检测已走步数是否达到本次自学习的总步数,如此循环,直至已走步数达到本次自学习的总步数。
[0132] 进一步地,第一确定模块401,用于判断上次自学习的控制过程中是否出现异常掉电;当出现异常掉电时,将本次自学习的首次步数设置为全开位置的步数;当未出现异常掉电时,将本次自学习的首次步数设置为点火钥匙关闭前所设置的步数。
[0133] 参见图5,该设备,还包括:
[0134] 第一判断模块405,用于判断车辆是否启动;
[0135] 第二判断模块406,用于当第一判断模块405判断车辆启动时,判断是否自学习结束;
[0136] 第二控制模块407,用于当第二判断模块406判断自学习结束时,启动喷油器;当第二判断模块406判断自学习未结束时,禁止喷油器喷油,等待自学习结束后启动喷油器。
[0137] 需要说明的是,具体实施过程中,本实施例提供的设备可以为ECU,或是其他控制设备,本实施例不对控制步进电机自学习的设备的具体产品形态进行限定。
[0138] 综上所述,本发明实施例所述设备,通过以首次步数与失步保护值设定的本次自学习的总步数对自学习进行控制,从而保证步进电机在自学习结束时走到关闭位置,减少步进电机失步的发生,提高怠速控制质量;同时,控制步进电机采用步进预设步后延迟预设时间的方式进行自学习,并且在接近关闭位置降低步进电机的步进速度,可以有效防止步进电机反弹,延长步进电机的使用寿命。
[0139] 需要说明的是:上述实施例提供的控制步进电机自学习的设备在实现步进电机控制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制步进电机自学习的设备与实现控制步进电机自学习的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0140] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0141] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0142] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。