本发明涉及步进电机控制领域,尤其涉及一种用于消除旋转图案盘齿轮比为无理数的控制方法。
背景技术:
电脑摇头灯由于各种要求使得灯具内部空间结构非常的紧凑,因为空间的限制和图案的个数要求使得旋转图案盘的自转和公转盘的尺寸受到很大影响,从而影响到齿轮的传动比例,导致齿轮传动比例差别很大,传动比是整数或者是有理数的时候没有误差,但如果是无理数的时候就会产生误差,误差很难去补偿甚至消除。
步进电机广泛的应用于我们的灯具上面,通常步进电机细分4、8、16、32、64、128、256等等,我们用的一般是64或者256细分,步进电机为1.8度,齿轮比为3:2.2(比例为无理数),通过齿轮比后得到旋转图案盘自转一圈的步数为3*200*64/2.2=19200/11或者3*200*256/2.2=76800/11,其中200为步进电机转一圈的步数,64、256为细分数,得到的还无理数;细分的目的是提高电机的运转精度,实现步进电机步距角的高精度细分;其次,细分技术的附带功能是减弱或消除步进电机的低频振动,而低频振荡是步进电机的固有特性。
现有技术中,通常采用的方法:采用64细分,通过来计算得到旋转图案盘自转一圈的步数为3*200*64/2.2=19200/11微步,得到无理数,运动一圈后根据累计的误差和当前的位置通过齿轮比例修复当前的位置,如此循环,但因为自转一圈的步数为19200/11微步,得到无理数,所以始终存在误差,无法输出实际的准确位置。
技术实现要素:
本发明提供了一种用于消除旋转图案盘齿轮比为无理数的控制方法,以解决输出齿轮比为无理数的技术问题,从而输出齿轮比为有理数,进而实现步进电机输出实际的准确位置。
为了解决上述技术问题,本发明实施例提供了一种用于消除旋转图案盘齿轮比为无理数的控制方法,包括:
根据旋转图案盘的自转盘的齿轮比运用最小公倍数公式计算出步进电机的细分数据,使得所述细分数据与所述齿轮比相乘的积为有理数;
将所述细分数据的值设置为步进电机的一个步距脚细分的值,并通过正弦函数得到细分的正弦波曲线;
通过旋转图案盘的自转盘的dmx通道功能,利用所述的正弦波曲线计算步进电机旋转的步数值,从而确定运行后的位置。
作为优选方案,所述根据旋转图案盘的自转盘的齿轮比通过最小公倍数的计算方法计算出步进电机的细分数据,使得所述细分数据与所述齿轮比相乘的积为有理数,包括:
获取旋转图案盘的自转盘的齿轮比数值m;
计算所述齿轮比的分子和分母的最小公倍数;
将计算得到的所述最小公倍数设置为步进电机的细分数据n;
计算得到旋转图案盘自转一圈的步数=200*n*m,其中200为步进电机转一圈的步数。
作为优选方案,所述将所述细分数据的值设置为步进电机的一个步距脚细分的值,并通过函数得到细分的正弦波曲线,包括:
将所述细分数据的值设置为步进电机的一个步距脚细分的值,计算得到整个正弦波步数的细分数;
根据整个正弦波的细分数通过函数计算得到对应的正弦值;
根据所述的正弦值计算得到函数对应的pwm值;
根据得到的所述整个正弦波步数的细分数、所述正弦值和所述pwm值绘制出对应的正弦函数波形曲线数据。
作为优选方案,所述通过旋转图案盘的自转盘的dmx通道功能,利用所述的正弦波曲线计算步进电机旋转的步数值,从而确定运行后的位置,包括:
根据旋转图案盘的自转盘的dmx通道功能选择通道中的位置模式或者无极旋转模式;
如果选择位置模式,则在旋转图案盘的自转盘的dmx通道功能中的位置模式,通过对应的dmx值根据正弦波曲线计算对应的位置数值得到实际位置;
如果选择无极旋转模式,则在旋转图案盘的自转盘的dmx通道功能中的无极旋转模式,通过对初始步数的计算得到实际位置;
输出实际位置。
作为优选方案,所述如果选择无极旋转模式,则在旋转图案盘的自转盘的dmx通道功能中的无极旋转模式,通过对初始步数的计算得到实际位置,包括:
选择无极旋转模式后,对步进电机进行顺时针方向和逆时针方向判断;
如果是顺时针方向,则将当前旋转的步数减去初始位置的步数得到数值a;
如果是逆时针方向,则将初始位置减去当前旋转的步数的步数得到数值b。
作为优选方案,所述如果是顺时针方向,则将当前旋转的步数减去初始位置的步数得到实际位置,还包括:
将数值a与图案盘自传一圈的步数进行比较,若数值a大于图案盘自传一圈的步数,则在当前的位置数据减去一圈的数值,以使方便计算和防止数据溢出,当无极模式切换到位置模式的时候,减少运动距离,由于位置模式时候是在0-360度的位置,因此不用反方向旋转。
作为优选方案,所述如果是逆时针方向,则将初始位置减去当前旋转的步数的步数得到数值b,还包括:
将数值b与图案盘自传一圈的步数进行比较,若数值b大于图案盘自传一圈的步数,则在当前的位置数据加上一圈的数值,以使方便计算和防止数据溢出,当无极模式切换到位置模式的时候,减少运动距离,由于位置模式时候是在0-360度的位置,因此不用反方向旋转。
一种用于消除旋转图案盘齿轮比为无理数的控制方法,包括:
根据旋转图案盘的自转盘的齿轮比运用最小公倍数公式计算出步进电机的细分数据,使得所述细分数据与所述齿轮比相乘的积为有理数;
将所述细分数据的值设置为步进电机的一个步距脚细分的值,并通过正弦函数得到细分的正弦波曲线;
通过旋转图案盘的自转盘的dmx通道功能,利用所述的正弦波曲线计算步进电机旋转的步数值,从而确定运行后的位置;
所述根据旋转图案盘的自转盘的齿轮比通过最小公倍数的计算方法计算出步进电机的细分数据,使得所述细分数据与所述齿轮比相乘的积为有理数,包括:
获取旋转图案盘的自转盘的齿轮比数值m;
计算所述齿轮比的分子和分母的最小公倍数;
将计算得到的所述最小公倍数设置为步进电机的细分数据n;
计算得到旋转图案盘自转一圈的步数=200*n*m,其中200为步进电机转一圈的步数;
所述将所述细分数据的值设置为步进电机的一个步距脚细分的值,并通过函数得到细分的正弦波曲线,包括:
将所述细分数据的值设置为步进电机的一个步距脚细分的值,计算得到整个正弦波步数的细分数;
根据整个正弦波的细分数通过函数计算得到对应的正弦值;
根据所述的正弦值计算得到函数对应的pwm值;
根据得到的所述整个正弦波步数的细分数、所述正弦值和所述pwm值绘制出对应的正弦函数波形曲线数据;
所述通过旋转图案盘的自转盘的dmx通道功能,利用所述的正弦波曲线计算步进电机旋转的步数值,从而确定运行后的位置,包括:
根据旋转图案盘的自转盘的dmx通道功能选择通道中的位置模式或者无极旋转模式;
如果选择位置模式,则在旋转图案盘的自转盘的dmx通道功能中的位置模式,通过对应的dmx值根据正弦波曲线计算对应的位置数值得到实际位置;
如果选择无极旋转模式,则在旋转图案盘的自转盘的dmx通道功能中的无极旋转模式,通过对初始步数的计算得到实际位置;
输出实际位置;
所述如果选择无极旋转模式,则在旋转图案盘的自转盘的dmx通道功能中的无极旋转模式,通过对初始步数的计算得到实际位置,包括:
选择无极旋转模式后,对步进电机进行顺时针方向和逆时针方向判断;
如果是顺时针方向,则将当前旋转的步数减去初始位置的步数得到数值a;
如果是逆时针方向,则将初始位置减去当前旋转的步数的步数得到数值b;
所述如果是顺时针方向,则将当前旋转的步数减去初始位置的步数得到实际位置,还包括:
将数值a与图案盘自传一圈的步数进行比较,若数值a大于图案盘自传一圈的步数,则在当前的位置数据减去一圈的数值,以使方便计算和防止数据溢出,当无极模式切换到位置模式的时候,减少运动距离,由于位置模式时候是在0-360度的位置,因此不用反方向旋转;
所述如果是逆时针方向,则将初始位置减去当前旋转的步数的步数得到数值b,还包括:
将数值b与图案盘自传一圈的步数进行比较,若数值b大于图案盘自传一圈的步数,则在当前的位置数据加上一圈的数值,以使方便计算和防止数据溢出,当无极模式切换到位置模式的时候,减少运动距离,由于位置模式时候是在0-360度的位置,因此不用反方向旋转。
相比于现有技术,本发明实施例具有如下有益效果:
通过对齿轮比的数值进行最小公倍数求积得到细分数,解决了输出齿轮比为无理数的技术问题,从而输出齿轮比为有理数,进而实现步进电机输出实际的准确位置。
附图说明
图1:为本发明控制方法的实施流程示意图;
图2:为本发明控制方法实施例中的总步骤流程图;
图3:为本发明控制方法实施例中步骤s1的具体流程图;
图4:为本发明控制方法实施例中步骤s2的具体流程图;
图5:为本发明控制方法实施例中步骤s3的具体流程图;
图6:为本发明控制方法实施例中步骤s33的具体流程图;
图7:为本发明控制方法实施例中正弦波曲线的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1和图2,本发明优选实施例提供了一种用于消除旋转图案盘齿轮比为无理数的控制方法,包括:
s1,根据旋转图案盘的自转盘的齿轮比运用最小公倍数公式计算出步进电机的细分数据,使得所述细分数据与所述齿轮比相乘的积为有理数;
s2,将所述细分数据的值设置为步进电机的一个步距脚细分的值,并通过正弦函数得到细分的正弦波曲线;
s3,通过旋转图案盘的自转盘的dmx通道功能,利用所述的正弦波曲线计算步进电机旋转的步数值,从而确定运行后的位置。
参照图3,在本实施例中,所述步骤s1根据旋转图案盘的自转盘的齿轮比通过最小公倍数的计算方法计算出步进电机的细分数据,使得所述细分数据与所述齿轮比相乘的积为有理数,包括:
s11,获取旋转图案盘的自转盘的齿轮比数值m;
s12,计算所述齿轮比的分子和分母的最小公倍数;
s13,将计算得到的所述最小公倍数设置为步进电机的细分数据n;
s14,计算得到旋转图案盘自转一圈的步数=200*n*m,其中200为步进电机转一圈的步数。
参照图4和图7,在本实施例中,所述步骤s2将所述细分数据的值设置为步进电机的一个步距脚细分的值,并通过函数得到细分的正弦波曲线,包括:
s21,将所述细分数据的值设置为步进电机的一个步距脚细分的值,计算得到整个正弦波步数的细分数;
s22,根据整个正弦波的细分数通过函数计算得到对应的正弦值;
s23,根据所述的正弦值计算得到函数对应的pwm值;
s24,根据得到的所述整个正弦波步数的细分数、所述正弦值和所述pwm值绘制出对应的正弦函数波形曲线数据。
参照图5,在本实施例中,所述步骤s3通过旋转图案盘的自转盘的dmx通道功能,利用所述的正弦波曲线计算步进电机旋转的步数值,从而确定运行后的位置,包括:
s31,根据旋转图案盘的自转盘的dmx通道功能选择通道中的位置模式或者无极旋转模式;
s32,如果选择位置模式,则在旋转图案盘的自转盘的dmx通道功能中的位置模式,通过对应的dmx值根据正弦波曲线计算对应的位置数值得到实际位置;
s33,如果选择无极旋转模式,则在旋转图案盘的自转盘的dmx通道功能中的无极旋转模式,通过对初始步数的计算得到实际位置;
s34,输出实际位置。
参照图6,在本实施例中,所述步骤s33如果选择无极旋转模式,则在旋转图案盘的自转盘的dmx通道功能中的无极旋转模式,通过对初始步数的计算得到实际位置,包括:
s331,选择无极旋转模式后,对步进电机进行顺时针方向和逆时针方向判断;
s332,如果是顺时针方向,则将当前旋转的步数减去初始位置的步数得到数值a;
s333,如果是逆时针方向,则将初始位置减去当前旋转的步数的步数得到数值b。
在本实施例中,所述步骤s332如果是顺时针方向,则将当前旋转的步数减去初始位置的步数得到实际位置,还包括:
将数值a与图案盘自传一圈的步数进行比较,若数值a大于图案盘自传一圈的步数,则在当前的位置数据减去一圈的数值,以使方便计算和防止数据溢出,当无极模式切换到位置模式的时候,减少运动距离,由于位置模式时候是在0-360度的位置,因此不用反方向旋转。
在本实施例中,所述步骤s333如果是逆时针方向,则将初始位置减去当前旋转的步数的步数得到数值b,还包括:
将数值b与图案盘自传一圈的步数进行比较,若数值b大于图案盘自传一圈的步数,则在当前的位置数据加上一圈的数值,以使方便计算和防止数据溢出,当无极模式切换到位置模式的时候,减少运动距离,由于位置模式时候是在0-360度的位置,因此不用反方向旋转。
再参照图1和图7,在实施例中,本发明的具体实施步骤流程如下:
首先,获取旋转图案盘的自转盘的齿轮比为3:2.2,通过最小公倍数的方法求3和22的最小公倍数得到细分数为66,通过来计算得到旋转图案盘自转一圈的步数为3*200*66/2.2=18000微步,(其中200为步进电机转一圈的步数)细分后得到的是整数,在后续计算中不存在误差,也就消除了误差,使得旋转图案盘运动过程中无任何累计误差,从而消除旋转图案盘运行后位置偏移的情况。
然后,得到步进电机细分后通过正弦函数等得到细分的正弦波曲线,具体如下:步进电机采用双四拍运行,一个步距脚细分为66(即为四分之一的正弦波),整个正弦波步数为264个细分,一个完整的正弦波值0到263对应的正弦值sinφ=2*n*π/264(n为正弦波值0到263的值,π圆周率(pai)),φn=φ+φ偏移值(φn为0-263对应的正弦值),nφ=128*φn(nφ为正弦函数对应的pwm值,128值是cpu定时器设置的pwm定时器值的一半),计算得到对应的正弦函数波形曲线数据,如图7。
最后,旋转图案盘的自转盘的dmx通道功能通常分为位置和无极旋转模式,1、位置模式:对应的dmx值为0-120,0-120对应的位置(一圈的某个值)关系通过公式:l=n*18000/120(3*200*66/2.2=18000跑一圈对应的细分值)可以得到;2、无极旋转模式:电机顺时针方向不断的旋转,当前旋转的步数减去初始位置的步数值大于来18000步说明旋转图案盘的自转盘顺时针旋转了一圈,为了方便计算和数据步会溢出这个时候在当前的位置数据减去一圈的值,重新开始计算,电机逆时针方向不断的旋转,当初始位置值减去当前旋转的步数大于18000步说明旋转图案盘的自转盘逆时针旋转了一圈,为了方便计算和数据步会溢出这个时候在当前的位置数据加上一圈的值,重新开始计算,依此循环。
本发明通过对齿轮比的数值进行最小公倍数求积得到细分数,解决了输出齿轮比为无理数的技术问题,从而输出齿轮比为有理数,进而实现步进电机输出实际的准确位置。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。