本发明属于机电控制技术领域,具体涉及一种提高直流电机运动精度的控制方法。
背景技术:
电机每转动预设角度会输出一个霍尔信号,通过统计电机输出的霍尔信号的个数,可以对电机的转速及运行步长等进行计算,进而对电机进行相应的控制。电机由控制器进行控制,电机输出的霍尔信号由控制器采集。现有技术中,控制器每采集到一组上升沿和下降沿,则认为电机输出一个霍尔信号,通过统计上升沿和下降沿的个数,来统计电机输出的霍尔信号的个数。即信号处理方式是以两路霍尔信号的边沿触发作为计数的依据,从而实现电机的控制。
然而,受电机自身性能和工作环境的影响,电机输出的霍尔信号中经常会夹杂有干扰信号(例如窄脉冲信号),有干扰信号以及电机正转反转切换的时候会出现多次计数,结果就是计数的偏差越来越多。因此,采用检测上升沿和下降沿的方法统计得到的霍尔信号的个数并不能准确反映电机实际输出的霍尔信号的个数,使得根据该统计结果计算得到的电机转速或运行步长等出现错误,从而导致后续对电机的控制出错。
技术实现要素:
为了解决上述问题,本发明提供了一种提高直流电机运动精度的控制方法,对霍尔信号的采集进行优化,实现直流电机的运动精度的精准控制。
本发明的技术方案为:一种提高直流电机运动精度的控制方法,包括:
(a)分别在霍尔信号a的上升沿以及下降沿为正常触发信号时,计数器均增加一个计数单位,并记录霍尔信号a在上升沿以及下降沿前所对应的霍尔信号a以及霍尔信号b的电平状态值;
(b)分别在霍尔信号b的上升沿以及下降沿为正常触发信号时,计数器均增加一个计数单位,并记录霍尔信号b在上升沿以及下降沿前所对应的霍尔信号a以及霍尔信号b的电平状态值;
(c)若霍尔信号a下降沿前所对应的霍尔信号a以及霍尔信号b的电平状态值,与霍尔信号a中下降沿为正常触发信号时所对应的霍尔信号a以及霍尔信号b的电平状态值不对应时,则该信号为非正常触发信号,计数器减少一个计数单位;
(d)若霍尔信号b下降沿前所对应的霍尔信号a以及霍尔信号b的电平状态值,与霍尔信号b中下降沿为正常触发信号时所对应的霍尔信号a以及霍尔信号b的电平状态值不对应时,则该信号为非正常触发信号,计数器减少一个计数单位。
本发明对霍尔信号a和霍尔信号b的上升沿以及下降沿进行方向判断,若方向判断准确,则为正常触发信号,例如若正常触发信号为正转触发信号,非正常触发信号就为反转触发信号。
作为优选,所述步骤(a)和步骤(b)中正常触发信号的检测方法包括:
(1)读取霍尔信号a与霍尔信号b的高电平状态值和低电平状态值作为初始值;
(2)检测到霍尔信号a的上升沿时,根据步骤(1)所述的霍尔信号a的高电平状态值以及低电平状态值判断出此信号为正常触发信号,计数器数值增加一个计数单位,并记录此次霍尔信号a的上升沿前所对应的霍尔信号a以及霍尔信号b的电平状态值;
(3)检测到霍尔信号b的上升沿时,根据步骤(2)记录的霍尔信号a以及霍尔信号b的电平状态值判断出此信号为正常触发信号,计数器数值增加一个计数单位,并记录此次霍尔信号b的上升沿前所对应的霍尔信号a以及霍尔信号b的电平状态值;
(4)检测到霍尔信号a的下降沿时,根据步骤(3)记录的霍尔信号a以及霍尔信号b的电平状态值判断出此信号为正常触发信号,计数器数值增加一个计数单位,并记录此次霍尔信号a的下降沿前所对应的霍尔信号a以及霍尔信号b的电平状态值;
(5)检测到霍尔信号b的下降沿时,根据步骤(4)记录的霍尔信号a以及霍尔信号b的电平状态值判断出此信号为正常触发信号,计数器数值增加一个计数单位,并记录此次霍尔信号b的下降沿前所对应的霍尔信号a以及霍尔信号b的电平状态值。
与现有技术相比,本发明的有益效果体现在:
本发明相比传统的边沿计数来说,本发明增加了一次方向判断,从而实现滤波效果,在计数上更加准确,不会因为外部干扰或正反转反复切换造成脉冲计算的累积偏差。因此本发明对霍尔信号的采集进行了优化,从而实现直流电机的运动精度的精准控制。
附图说明
图1为本发明钟电机运行时没有抖动和干扰的情况下的霍尔信号波形图。
图2为本发明中电机运行时有干扰情况下的霍尔信号波形图。
图3为本发明中电机运行时换向抖动情况下的霍尔信号波形图。
具体实施方式
实施例1(无抖动和干扰的情况)
当电机正转运行,没有抖动与干扰的情况下,图1为没有抖动和干扰的情况下的霍尔信号波形图。检测步骤如下:
(1)读取霍尔信号a与霍尔信号b的高电平状态值和低电平状态值作为初始值;
(2)检测到霍尔信号a的上升沿时,根据步骤(1)所述的霍尔信号a的高电平状态值以及低电平状态值判断出此信号为正转触发信号,计数器数值增加一个计数单位,并记录此次霍尔信号a的上升沿前所对应的霍尔信号a以及霍尔信号b的电平状态值;
(3)检测到霍尔信号b的上升沿时,根据步骤(2)记录的霍尔信号a以及霍尔信号b的电平状态值判断出此信号为正转触发信号,计数器数值增加一个计数单位,并记录此次霍尔信号b的上升沿前所对应的霍尔信号a以及霍尔信号b的电平状态值;
(4)检测到霍尔信号a的下降沿时,根据步骤(3)记录的霍尔信号a以及霍尔信号b的电平状态值判断出此信号为正转触发信号,计数器数值增加一个计数单位,并记录此次霍尔信号a的下降沿前所对应的霍尔信号a以及霍尔信号b的电平状态值;
(5)检测到霍尔信号b的下降沿时,根据步骤(4)记录的霍尔信号a以及霍尔信号b的电平状态值判断出此信号为正转触发信号,计数器数值增加一个计数单位,并记录此次霍尔信号b的下降沿前所对应的霍尔信号a以及霍尔信号b的电平状态值。
实施例2(有干扰的情况)
当实施例的电机正转运行,遇到干扰的情况下,图2为有干扰情况下的霍尔信号波形图,检测步骤如下:
干扰信号1之前霍尔信号a与霍尔信号b的脉冲状态是霍尔信号a在高电平位状态,霍尔信号b在低电平位状态,霍尔信号b在收到干扰信号1的上升沿信号的时候,霍尔信号a与霍尔信号b都在高电平位状态,比较上个正转触发信号状态,判断出这个是正转信号,所以计数器增加一个计数单位,重新记录本次的霍尔信号a与霍尔信号b的信号状态值;之后又检测到霍尔信号b的下降沿,对比上一次正转触发信号状态,判断出这个是反转触发信号,所以计数器减少一个单位,重新记录本次霍尔信号b下降沿之后所对应的霍尔信号a与霍尔信号b的电平状态值;干扰段之后是霍尔信号b的上升沿,同样的,检测出是正转触发信号,计数器增加一个计数单位。
干扰信号2的干扰段之前是霍尔信号a与霍尔信号b信号都在低电平位状态,第一次的干扰触发是霍尔信号a的上升沿,对比上一次正转触发信号状态可判断该信号是正转触发信号,计数器增加一个计数单位,接着是霍尔信号a的下降沿,采用同样的方法对比得出是一个反转触发信号,计数器减去一个计数单位,然后又是霍尔信号a的上升沿,计数器增加一个单位。
从上数可知,干扰信号1与干扰信号2最终的计数是增加一个计数单位,然后又减去一个计数单位,这与没有干扰的情况下计数增加量一样。
实施例3(换向有抖动的情况)
若实施例1中的电机运行中换向的情况处理,图3为电机运行换向抖动情况下的霍尔信号波形图。
电机在换相过程中产生了抖动,会造成计数不准,但在本实施例里,如图3所示,换相抖动状态前,霍尔信号a与霍尔信号b的状态分别是霍尔信号a在高电平位状态,霍尔信号b在低电平位。抖动的信号都在霍尔信号b信号,分别是上升沿、下降沿、上升沿、下降沿。同样对比状态是正转、反转、正转、反转。最终的计数器统计的计数单位总数因为正转增加反转减少而保持不变。