音圈电机驱动器及其控制方法

文档序号:10596837阅读:3781来源:国知局
音圈电机驱动器及其控制方法
【专利摘要】本发明公开了音圈电机驱动器及其控制方法。控制方法由位置环模块接收上位机发送的给定位置指令并发送给电机模组;速度环模块接收上位机发送的给定速度指令并发送给电机模组;位置环模块接收电机模组反馈的位置偏差信息,据位置偏差信息和给定位置指令调整输出电流并输给电机模组;速度环模块接收电机模组反馈的速度偏差信息,据速度偏差信息和给定速度指令调整输出电流并输给电机模组。本发明采用位置环和速度环并行解耦控制使电流环自动调节控制电机,位置环模块确定位置反馈是否到达给定位置,速度环模块确定速度反馈是否到达给定速度,电流控制不受位置环和速度环影响使位置环和速度环解耦控制,位置环不受速度环和电流环影响,提高控制精度。
【专利说明】
音圈电机驱动器及其控制方法
技术领域
[0001]本发明涉及电机控制技术领域,特别涉及一种音圈电机驱动器及其控制方法。
【背景技术】
[0002]近年来,随着音圈电机技术的发展,音圈电机被广泛应用在各种精密定位系统和许多不同形式的高加速度、高频率响应、高速高精度定位系统中,与之匹配的音圈电机驱动器的性能要求也越来越高。
[0003]目前音圈电机驱动器大多采用位置环、速度环和电流环串联控制的方法,由于三个闭环之间相互耦合,如图1所示,位置环、速度环、电流环和电机依次串联,电机的实现电流反馈给电流环,电机的实际速度反馈给速度环,电机的实现位置反馈给位置环。
[0004]在图1中,Pc为给定位置,Pa为反馈位置,Pin为位置环输入,Vc为给定速度,Va为反馈速度,Vin为速度环输入,I c为给定电流,Ia为实际电流,I in为电流环输入,1ut为电流环输出。
[0005]F(Pc,Pa)是Pc和Pa相关的函数,Pin=F(Pc,Pa);
F(Pin)是Pin相关的函数,Vc=F(Pin);
F(Vc,Va)是Vc和Va相关的函数,Vin=F(Vc,Va);
F(Vin)是Vin相关的函数,Ic=F(Vin);
F(Ic, Ia)是Ic和Ia相关的函数,Iin=F(Ic, Ia);
F(Pin)是Pin相关的函数,Vc=F(Pin);
1ut是Iin相关的函数,1ut=F(in);
上述的控制回路的环环相扣,往往会在它们之间造成相互影响的耦合作用,也即系统中每一个控制回路的输入信号对所有回路的输出都会有影响,而每一个回路的输出又会受到所有输入的作用,从而构成了耦合系统。由于耦合关系,往往使系统难于控制、性能很差。而且这种运动控制算法中,本身所要求的被控制参数往往较多,因此,必须设置多个控制回路对输出进行控制。
[0006]由此可见,闭环系统调整参数非常困难,容易造成系统超调、振荡以及出现稳态跟随误差等现象,使得音圈电机高速高精度的优势不能很好的表现出来。因而现有技术还有待改进和提尚。

【发明内容】

[0007]鉴于上述现有技术的不足之处,本发明的目的在于提供一种音圈电机驱动器及其控制方法,能使位置环和速度环解耦控制,使得位置环不再受速度环和电流环的影响,从而提尚了控制精度。
[0008]为了达到上述目的,本发明采取了以下技术方案:
一种音圈电机驱动器,其包括:
位置环模块,用于接收上位机发送的给定位置指令,并发送给电机模组;以及接收电机模组反馈的位置偏差信息,根据所述位置偏差信息和给定位置指令调整输出电流,并输出给电机模组;
速度环模块,用于接收上位机发送的给定速度指令,并发送给电机模组;以及接收电机模组反馈的速度偏差信息,根据所述速度偏差信息和给定速度指令调整输出电流,并输出给电机模组;
所述位置环模块与所述速度环模块解耦并联。
[0009]所述的音圈电机驱动器中,
所述位置环模块用于当位置偏差信息大于给定位置信息时,减小输出电流输出给电机模组;当位置偏差信息小于给定位置信息时,增加输出电流输出给电机模组;
所述速度环模块用于当速度偏差信息大于给定速度信息时,减小输出电流输出给电机模组;当速度偏差信息小于给定速度信息时,增加输出电流输出给电机模组。
[0010]所述的音圈电机驱动器,还包括速度前馈模块,用于接收上位机发送的给定速度指令,补偿相应的电流,输出给速度环模块。
[0011]所述的音圈电机驱动器中,所述电机模组的驱动电流为: lout = Ip + Iv
其中,IP为位置环模块的输出电流,IV为速度环模块的输出电流;
所述位置环模块的控制函数如下:
Ip = Kp*Ep+Kd*(Ep_EpO)+Kim*Ki*EE;
其中,Ep为当前位置偏差;EpO为上次位置偏差;ΣΕ为位置偏差累计值;Kp为比例增益;Kd为微分增益;Ki为积分增益;Kim为积分模式,其取值范围O或I,O表不总是积分,I表不只在稳态时积分,默认值设为O ;
速度环模块的控制函数如下:
Iv = Kp*Ev+Kvff*Vc;
其中,Ev是速度偏差;Kp为比例增益;Kvf f为速度前馈增益;Vc为给定速度。
[0012]所述的音圈电机驱动器,还包括滤波模块,用于将位置环模块和速度环模块输出的电流进行滤波处理后输出给电机模组。
[0013]—种音圈电机驱动器的控制方法,其包括如下步骤:
A、由位置环模块接收上位机发送的给定位置指令,并发送给电机模组;同时速度环模块接收上位机发送的给定速度指令,并发送给电机模组;
B、位置环模块接收电机模组反馈的位置偏差信息,根据所述位置偏差信息和给定位置指令调整输出电流,并输出给电机模组;同时,速度环模块接收电机模组反馈的速度偏差信息,根据所述速度偏差信息和给定速度指令调整输出电流,并输出给电机模组。
[0014]所述的音圈电机驱动器的控制方法中,在所述步骤B中,输出电流的调节具体包括:当位置偏差信息大于给定位置信息时,位置环模块减小输出电流输出给电机模组;当位置偏差信息小于给定位置信息时,位置环模块增加输出电流输出给电机模组。
[0015]所述的音圈电机驱动器的控制方法中,所述步骤A还包括:由速度前馈模块接收上位机发送的给定速度指令,补偿相应的电流,输出给速度环模块。
[0016]所述的音圈电机驱动器的控制方法中,所述电机模组的驱动电流为: lout = Ip + Iv 其中,IP为位置环模块的输出电流,IV为速度环模块的输出电流;
所述位置环模块的控制函数如下:
Ip = Kp*Ep+Kd*(Ep_EpO)+Kim*Ki*EE;
其中,Ep为当前位置偏差;EpO为上次位置偏差;ΣΕ为位置偏差累计值;Kp为比例增益;Kd为微分增益;Ki为积分增益;Kim为积分模式,其取值范围O或I,O表不总是积分,I表不只在稳态时积分,默认值设为O ;
速度环模块的控制函数如下:
Iv = Kp*Ev+Kvff*Vc;
其中,Ev是速度偏差;Kp为比例增益;Kvf f为速度前馈增益;Vc为给定速度。
[0017]所述的音圈电机驱动器的控制方法中,所述步骤B还包括:由滤波模块将位置环模块和速度环模块输出的电流进行滤波处理后输出给电机模组。
[0018]相较于现有技术,本发明提供的音圈电机驱动器及其控制方法,其控制方法由位置环模块接收上位机发送的给定位置指令,并发送给电机模组;同时速度环模块接收上位机发送的给定速度指令,并发送给电机模组;位置环模块接收电机模组反馈的位置偏差信息,根据所述位置偏差信息和给定位置指令调整输出电流,并输出给电机模组;同时,速度环模块接收电机模组反馈的速度偏差信息,根据所述速度偏差信息和给定速度指令调整输出电流,并输出给电机模组。本发明通过采用位置环和速度环并行解耦控制的方式,使电流环自动调节控制电机,位置环模块只需确定位置反馈是否到达给定位置,速度环模块只需确定速度反馈是否到达给定速度,电流的控制不受位置环和速度环的影响,从而使位置环和速度环解耦控制使得位置环不再受速度环和电流环的影响,从而提高了控制精度。
【附图说明】
[0019]图1为现有音圈电机驱动器的结构框图。
[0020]图2为本发明提供的音圈电机驱动器的结构示意图。
[0021]图3为本发明提供的音圈电机驱动器的等效示意图。
[0022]图4为本发明提供的音圈电机驱动器的应用实施例的结构框图。
[0023]图5为本发明提供的音圈电机驱动器中滤波模块处理后的FFT曲线的示意图。
[0024]图6为本发明提供的音圈电机驱动器中滤波模块处理后的电流曲线的示意图。
[0025]图7本发明提供的音圈电机驱动器的控制方法的流程图。
[0026]图8为本发明提供的音圈电机驱动器的控制方法中电流调节方式的流程图。
【具体实施方式】
[0027]本发明提供音圈电机驱动器及其控制方法,电流环自动调节的控制方式,在传统PID算法(是一种闭环控制算法)的基础上,增加了速度前馈算法、低通滤波器以及陷波滤波器算法。另外,本音圈电机驱动器在兼容以往的脉冲控制方式的同时,支持485总线控制,采用标准Modbus-RTU协议,提供基于VC或VB的上位机控制API函数库(应用程序编程接口函数库),在没有运动控制卡的情况下也能方便地进行运动控制。
[0028]为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0029]请参阅图2,本发明提供的音圈电机驱动器包括:位置环模块10和速度环模块20。所述位置环模块10的输入端连接上位机,位置环模块10的输出端连接电机模组30,所述速度环模块20的输入端连接上位机,位置环模块10的输出端连接电机模组30。其中,所述位置环模块10及速度环模块20与上位机之间可通过RS485接口连接,采用485总线采用Modbus-RTU协议进行通讯,实现精确的控制。
[0030]具体地,位置环模块10用于接收上位机发送的给定位置指令,并发送给电机模组30;以及接收电机模组30反馈的位置偏差信息,根据所述位置偏差信息和给定位置指令调整输出电流,并输出给电机模组30。速度环模块20用于接收上位机发送的给定速度指令,并发送给电机模组30;以及接收电机模组30反馈的速度偏差信息,根据所述速度偏差信息和给定速度指令调整输出电流,并输出给电机模组30。
[0031]本发明采用位置环模块10与所述速度环模块20解耦并联的连接方式,位置环和速度环解耦控制使得位置环不再受速度环和电流环的影响,位置环和速度环的给定均来自上位机的规划的曲线,实现了根据位置环模块10与速度环模块20的输出电流,使电流环自动调节控制电机,位置环模块10只需确定位置反馈是否到达给定位置,速度环模块20只需确定速度反馈是否到达给定速度,电流的控制不受位置环和速度环的影响,从而使位置环和速度环解耦控制使得位置环不再受速度环和电流环的影响,从而提高了控制精度。而且,在控制电机时,操作人员只需对六个参数进行调节,简化了调试过程,降低了使用者的调试难度。
[0032]在进行电流调节时,所述位置环模块10,具体用于当位置偏差信息大于给定位置信息时,减小输出电流输出给电机模组30;当位置偏差信息小于给定位置信息时,增加输出电流输出给电机模组30。相应地,所述速度环模块20,具体用于当速度偏差信息大于给定速度信息时,减小输出电流输出给电机模组30;当速度偏差信息小于给定速度信息时,增加输出电流输出给电机模组30。
[0033]请一并参阅图3,本发明通过位置环模块10和速度环模块20分别输出电流给电机模组30,使为电机模组30的驱动电流为位置环模块10和速度环模块20输出电流之和,而位置环模块10输出的电流也综合上位机给定的位置及电机模组30反馈的位置计算得出最终的输出电流,速度环模块20输出的电流也综合上位机给定的速度及电机模组30反馈的速度计算得出最终的输出电流。
[0034]在图2和图3中,Pc为给定位置,Pa为反馈位置,Pin为位置环输入,Ip为位置环输出,Vc为给定速度,Va为反馈速度,Vin为速度环输入,Iv为速度环输出。
[0035]而给定位置的计算公式为:Pc= 1/2*A*T~2;其中A为规划加速度,T为时间;
给定速度的计算公式为:Vc=A*T;
F(Pc,Pa)是Pc和Pa相关的函数,Pin=F(Pc, Pa);
F(Vc,Va)是Vc和Va相关的函数,Vin=F(Vc, Va);
F(Pin)是Pin相关的函数,Ip=F(Pin);
最终,位置环模块10和速度环模块20的输出电流之和为:1ut=Ip+Iv;
本发明通过采用位置环和速度环解耦控制的方式,使电流的调节根据位置偏差和速度偏差进行,电流反馈不再直接参与到控制环节当中,所以位置环和速度环可以解耦分离出来,位置环只需看位置反馈是否到达给定位置,速度环只需看速度反馈是否到达给定速度,即可精确控制电机的工作。
[0036]请一并参阅图4,为了进一步提高控制精度,发明的音圈电机驱动器还包括速度前馈模块40,所述速度前馈模块40的输入端连接上位机,速度前馈模块40的输出端连接速度环模块20的输入端。所述速度前馈模块40用于接收上位机发送的给定速度指令,补偿相应的电流,输出给速度环模块20,当给定速度越大,前馈电流补偿也越大,从而达到对电流超前控制的作用。
[0037]本实施例中,所述速度前馈模块40输出的前馈电流补偿值通过以下公式计算获得:
Ivff = Kvff *Vc;
其中,Kvff是速度前馈增益,Vc是给定速度,Ivff是前馈电流补偿值,当给定速度越大,前馈电流补偿也越大,从而达到对电流超前控制的作用。
[0038]根据给定位置、给定速度、位置反馈、速度反馈、速度前馈最终得出电机模组30的驱动电流为:
lout = Ip + Iv
其中,Ip为位置环模块10的输出电流,Iv为速度环模块20的输出电流,即整的输出电流为位置环Ip和速度环Iv的合成;
所述位置环模块10的控制函数如下:
Ip = Kp*Ep+Kd*(Ep_EpO)+Kim*Ki*EE;
其中,Ep为当前位置偏差;EpO为上次位置偏差;ΣΕ为位置偏差累计值;Kp为比例增益;Kd为微分增益;Ki为积分增益;Kim为积分模式,其取值范围O或I,O表不总是积分,I表不只在稳态时积分,默认值设为O ;
速度环模块20的控制函数如下:
Iv = Kp*Ev+Kvff*Vc;
其中,Ev是速度偏差;Kp为比例增益;Kvf f为速度前馈增益;Vc为给定速度。
[0039]本发明的音圈电机驱动器采用位置环和速度环并行解耦控制,电流环自动调节的控制方式,简化了调试过程,降低了使用者的调试难度,在调节时,只需在显示界面上调节恥、1((1、1(#匕灯、灯111、1((3这6个参数即可对电机进行精度调试,该调试过程比传统驱动器需要调试几十个参数更轻松。
[0040]在调试时,各参数的具体取值范围如下:
Kp:比例增益,其取值范围O?65535,比例增益决定系统的刚性,数值越大,刚性越强,但越容易产生低频振荡。
[0041 ] Kd:微分增益,其取值范围O?65535,微分增益产生阻尼作用,对运动产生平滑效果,数值越大,平滑效果越强,但越容易产生高频振荡。
[0042]K1:积分增益,其取值范围O?65535,积分增益用于消除跟随误差。数值越大,跟随误差消除越快,但越容易产生振荡。
[0043]Kim:积分模式,其取值范围O或I。设为O时表示总是积分,设为I时表示只在稳态时积分,默认值设为O。当系统的超调量较大,而调节其它参数也无法改善时,可以考虑将积分模式设置为I。
[0044]Kvff:速度前馈增益,其取值范围O?65535,速度前馈增益用于改善动态跟随性能,一般设置Kvff和Kd相等或者Kvff比Kd稍大。另外,对动态跟随误差要求不高的点到点应用,也可以设置Kvf f为O,电机运动会更柔和,噪音更小。
[0045]Kc:稳态比例增益,其取值范围O?65535。稳态比例增益Kc和比例增益Kp类似,但仅用于稳态时,如果稳态时电机发生抖动或者嘯叫,可以设置Kc为比Kp稍小的值。另外,当Kc设置为O时,表示稳态和动态比例增益均使用Kp。
[0046]操作人员可根据电机实际运行情况设置这6个参数,以便达到最优的伺服性能。
[0047]进一步地,位置偏差的计算公式为:
Ep = Pc-Pa;
位置偏差累计值的计算公式为:
ΣΕ = Ep+Ep0+Epl+Ep2+…+Epn;
EpO为上次位置偏差,Epl为上上次位置偏差,以此类推。
[0048]另外,当伺服系统进入稳态时,即命令速度Vc=O时,位置环的比例增益切换到Kc,相应的位置环控制函数变换为:
Ip = Kc*Ep+Kd*(Ep_EpO)+Kim*Ki*EE;
所述速度偏差的计算公式为:
Ev = Vc-Va,其中,Vc为给定速度,Va为电机模组30反馈的速度。
[0049]本驱动器算法上采用了速度前馈控制,比传统控制算法具有更优良的动态跟随性能,跟随误差更小,在操作时,控制界面上显示的实际速度曲线和指令速度曲线几乎重叠,位置跟随误差仅为IScounts(现有的位置跟随误差高达350countS),动态跟随性能比传统控制算法提升了将近20倍。
[0050]请继续参阅图2至图4,为了进一步提高控制精度,本发明的音圈电机驱动器还包括滤波模块50,滤波模块50的输入端连接位置环模块10和速度环模块20,滤波模块50的输出端连接电机模组30。所述滤波模块50可采用低通滤波器,或者陷波滤波器,其用于将位置环模块10和速度环模块20输出的电流进行滤波处理后输出给电机模组30。所述电机模组30包括电机和编码器,由编码器向位置环模块10反馈电机实际位置,并同时向速度环模块20反馈电机实际速度,便于位置环模块10和位置环模块10相应调整电流。
[0051]本发明采用滤波模块50可以很大程度上消弱音圈电机运行的噪音,没有设置低通滤波器之前,电流有很多高频谐波的尖峰,从而产生运行噪音。滤波模块50的具体处理过程包括:首先将电流控制量进行FFT(快速傅里叶变换)运算,得到各电流分量的频谱,经过频谱分析后,分析得出哪些频率分量是用于参与控制电机出力,哪些频率分量会产生噪音,而低频部分是控制电机出力,高频部分会产生噪音,分析出噪音频率,再高频噪音滤除,在滤波处理后,FFT曲线和电流曲线的毛刺都被去除,处理结果如图5所示。
[0052]基本上述的音圈电机驱动器,本发明还相应提供一种音圈电机驱动器的控制方法,请参阅图7,所述的控制方法包括:
S100、由位置环模块接收上位机发送的给定位置指令,并发送给电机模组;同时速度环模块接收上位机发送的给定速度指令,并发送给电机模组;
S200、位置环模块接收电机模组反馈的位置偏差信息,根据所述位置偏差信息和给定位置指令调整输出电流,并输出给电机模组;同时,速度环模块接收电机模组反馈的速度偏差信息,根据所述速度偏差信息和给定速度指令调整输出电流,并输出给电机模组。
[0053]请一并参阅图8,在输出电流的调节具体包括:当位置偏差信息大于给定位置信息时,位置环模块减小输出电流输出给电机模组;当位置偏差信息小于给定位置信息时,位置环模块增加输出电流输出给电机模组。具体请参阅上述音圈电机驱动器对应的实施例。
[0054]为了提高控制精度,所述步骤SlOO还包括:由速度前馈模块接收上位机发送的给定速度指令,补偿相应的电流,输出给速度环模块。具体请参阅上述音圈电机驱动器对应的实施例。
[0055]所述电机模组的驱动电流为: lout = Ip + Iv
其中,IP为位置环模块的输出电流,IV为速度环模块的输出电流;
所述位置环模块的控制函数如下:
Ip = Kp*Ep+Kd*(Ep_EpO)+Kim*Ki*EE;
其中,Ep为当前位置偏差;EpO为上次位置偏差;ΣΕ为位置偏差累计值;Kp为比例增益;Kd为微分增益;Ki为积分增益;Kim为积分模式,其取值范围O或I,O表不总是积分,I表不只在稳态时积分,默认值设为O ;
速度环模块的控制函数如下:
Iv = Kp*Ev+Kvff*Vc;
其中,Ev是速度偏差;Kp为比例增益;Kvff为速度前馈增益;Vc为给定速度。具体请参阅上述音圈电机驱动器对应的实施例。
[0056]进一步地,所述步骤S200还包括由滤波模块将位置环模块和速度环模块输出的电流进行滤波处理后输出给电机模组。具体请参阅上述音圈电机驱动器对应的实施例。
[0057]此外,本发明的音圈电机驱动器除了能够完成传统驱动器的功能外,还兼具运动控制功能,此功能可以在没有运动控制卡的情况下,依然可以通过PC控制电机进行运动控制,采用DLL动态链接库的形式封装好各种控制功能,由用户自行调用,这样大大节省了控制卡成本。另外,驱动器支持独立运行模式,可以在没有上位机控制的情况下,运动内置的运动程序。
[0058]其中,免控制卡的上位机PC机控制简介:
动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在Windows系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是〃.dll〃、〃.0CX〃 (包含ActiveX控制的库),动态链接库提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL文件中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。使用动态链接库可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。
[0059]通过动态链接的方式,驱动器将使能,相对运动,绝对运动等基础控制功能,封装成可方便调用的函数模块,提供给用户调用。
[0060]独立运行模式
由驱动器内置的类C语言指令得以支持,以下是独立运行模式的指令表: SetVel(unsigned short usVelocity);
SetAcc(unsigned short usAccelerat1n);SetPos(long nPosit1n);
Enable(BOOL bEnabIe);
MoveRel(long nRelativeCounts);
MoveAbs(long nPost1n);
WaitInput(unsigned char ucPin, unsigned char H1rLow);
Delay(unsigned short usMiliseconds);
BeginLoopO ;
EndLoopO ;
ServoMode(unsigned char ucMode);
CmdVel(short sVelocity);
CmdCur(short sCurrent);
FindIndex(unsigned short usVel,unsigned short usAcc,unsigned char dir);BeginRepeat(unsigned short usTimes);
EndRepeatO ;
FindHardLimit(unsigned short sCurrent);
每条指令的意义如下:
SetVel(unsigned short usVelocity);
设置最高运行速度,带I个参数,usVelocity表示位置模式下的速度,取值范围I?65535。这个参数是梯形或S形加速曲线的所能达到的最高速度值,值得注意的是,电机的实际运行速度会根据行程和加速度自动调整,而且最高不会超过“参数设置”页面中设置的“最大速度”。对于音圈电机,速度的单位为mm/s,例如:SetVel (200)表示最高运行速度为200mm/so
[0061]SetAcc(unsigned short usAccelerat1n);
设置运行加速度,带I个参数,usAccelerat1n表示位置或速度模式下的加速度,取值范围I?65535。加速度不能超过“参数设置”页面中设置的“最大加速度' 对于音圈电机,力口速度的单位为111111/8/8,例如36〖八(3(3(3000)表示运行加速度为3000111111/8/8。
[0062]SetPos(long nPosit1n);
设置当前绝对位置坐标,带I个参数,nPosit1n表示待设置的绝对位置坐标。取值范围-2147483648?2147483647。位置的单位是:counts。
[0063]Enable(BOOL bEnabIe);
使能电机,带I个参数,bEnable表示是否使能,取值范围是O或I。例如Enable (I)表示使能电机,Enable(O)表示释放电机D
[0064]MoveRel(long nRelativeCounts);
相对运动,带I个参数,nRelativeCounts表示相对运动的脉冲数,取值范围-2147483648?2147483647。脉冲数的单位是:counts。参数的正负表示运动的方向。例如MoveRe I (-1000)表不向负方向运动 I OOOcounts D
[0065]MoveAbs(long nPost1n);
绝对运动,带I个参数,nPost1n表示绝对运动的位置坐标,取值范围-2147483648?2147483647 位置坐标的单位是:Countstj例如MoveAbs (O)表示运动到位置坐标为O的位置,即归零操作。
[0066]WaitInput(unsigned char ucPin, unsigned char H1rLow);
等待一个输入状态。带2个参数,第I个参数ucPin是输入的引脚位,取值范围是O?2,分别对应PUL、DIR、ENA三个引脚位。第2个参数H1rLow是检测的电平状态,取值范围是O或I,当H1r Low=O时表示检测低电平,当H1r Low=I时表示检测高电平。
[0067]Delay(unsigned short usMiliseconds);
延时若干毫秒,带I个参数,usMiliseconds表示待延时的毫秒数,取值范围是I?65535。
[0068]BeginLoopO ;
开始循环执行,不带参数。只能与EndLoop O配套使用,表示在BeginLoopO和EndLoopO两条指令之间的所有指令将循环地执行。类似于C语言的while(l) {…}。
[0069]EndLoopO ;
结束循环执行,不带参数。见上述BeginLoopO的说明。注意,一个运动程序中最多只能出现一对BeginLoopO和EndLoopO,不支持嵌套。
[0070]ServoMode(unsigned char ucMode);
设置伺服工作模式,带I个参数,ucMode表示工作模式,取值范围O?2。当UcMode=O时,驱动器工作在位置模式,当UcMode=I时,驱动器工作在速度模式,当uCMode=2时,驱动器工作在电流模式。驱动器上电后,默认工作在位置模式。
[0071]CmdVel(short sVelocity);
设置速度模式下的速度,带I个参数,sVelocity表示指令速度,取值范围-32768?32767。该设置仅当驱动器工作在速度模式时有效,且最高不会超过“参数设置”页面中设置的“最大速度”。对于音圈电机,速度的单位为mm/s。
[0072]CmdCur(short sCurrent);
设置电流模式下的电流,带I个参数,sCurrent表示指令电流,取值范围-2047?2047。该电流值是一个无纲量,sCurrent的正负表示电流的方向,数值的绝对值越大,实际输出电流越大,与实际的电流输出成非线性关系。
[0073]FindIndex(unsigned short usVel,unsigned short usAcc,unsigned chardir);
搜索编码器的零位,带3个参数,usVel表示搜索零位的速度,取值范围I?65535 ,usAcc表示搜索零位的加速度,取值范围I?65535,对于音圈电机,速度的单位为mm/s,加速度的单位为mm/s/s,dir表示搜索零位的运动方向,取值范围O或I,O表示往正方向搜索零位,I表示往负方向搜索零位。
[0074]BeginRepeat(unsigned short usTimes);
开始重复执行一段命令,带I个参数。与EndRepeat O配套使用,usTimes表示重复执行的次数,取值范围I?65535,在BeginRepeat(n)和EndRepeatO两条指令之间的所有指令将重复地执行η次。
[0075]EndRepeatO ;
结束重复执行,不带参数。见上述BeginRepeat()的说明。注意,BeginRepeat()和EndRepeat O可以成对多次使用,但不支持嵌套。
[0076]FindHardLimit(unsigned short sCurrent); 搜索机械硬限位,带I个参数。sCurrent表示搜索零位的电流,取值范围-2047?2047。该电流值是一个无纲量,sCurrent的正负表示搜索零位的运动方向。注意,如果取值太小,可能无法克服机械摩擦阻力,导致搜索到的硬限位不正确。推荐取值±200。
[0077]可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
【主权项】
1.一种音圈电机驱动器,其特征在于,包括: 位置环模块,用于接收上位机发送的给定位置指令,并发送给电机模组;以及接收电机模组反馈的位置偏差信息,根据所述位置偏差信息和给定位置指令调整输出电流,并输出给电机模组; 速度环模块,用于接收上位机发送的给定速度指令,并发送给电机模组;以及接收电机模组反馈的速度偏差信息,根据所述速度偏差信息和给定速度指令调整输出电流,并输出给电机模组; 所述位置环模块与所述速度环模块解耦并联。2.根据权利要求1所述的音圈电机驱动器,其特征在于, 所述位置环模块用于当位置偏差信息大于给定位置信息时,减小输出电流输出给电机模组;当位置偏差信息小于给定位置信息时,增加输出电流输出给电机模组; 所述速度环模块用于当速度偏差信息大于给定速度信息时,减小输出电流输出给电机模组;当速度偏差信息小于给定速度信息时,增加输出电流输出给电机模组。3.根据权利要求1所述的音圈电机驱动器,其特征在于,还包括速度前馈模块,用于接收上位机发送的给定速度指令,补偿相应的电流,输出给速度环模块。4.根据权利要求3所述的音圈电机驱动器,其特征在于,所述电机模组的驱动电流为: lout = Ip + Iv 其中,Ip为位置环模块的输出电流,IV为速度环模块的输出电流; 所述位置环模块的控制函数如下: Ip = Kp*Ep+Kd*(Ep_EpO)+Kim*Ki*EE; 其中,Ep为当前位置偏差;EpO为上次位置偏差;ΣΕ为位置偏差累计值;Kp为比例增益;Kd为微分增益;Ki为积分增益;Kim为积分模式,其取值范围O或I,O表不总是积分,I表不只在稳态时积分,默认值设为O ; 速度环模块的控制函数如下: Iv = Kp*Ev+Kvff*Vc; 其中,Ev是速度偏差;Kp为比例增益;Kvf f为速度前馈增益;Vc为给定速度。5.根据权利要求1所述的音圈电机驱动器,其特征在于,还包括滤波模块,用于将位置环模块和速度环模块输出的电流进行滤波处理后输出给电机模组。6.—种音圈电机驱动器的控制方法,其特征在于,包括如下步骤: A、由位置环模块接收上位机发送的给定位置指令,并发送给电机模组;同时速度环模块接收上位机发送的给定速度指令,并发送给电机模组; B、位置环模块接收电机模组反馈的位置偏差信息,根据所述位置偏差信息和给定位置指令调整输出电流,并输出给电机模组;同时,速度环模块接收电机模组反馈的速度偏差信息,根据所述速度偏差信息和给定速度指令调整输出电流,并输出给电机模组。7.根据权利要求6所述的音圈电机驱动器的控制方法,其特征在于,在所述步骤B中,输出电流的调节具体包括:当位置偏差信息大于给定位置信息时,位置环模块减小输出电流输出给电机模组;当位置偏差信息小于给定位置信息时,位置环模块增加输出电流输出给电机模组。8.根据权利要求6所述的音圈电机驱动器的控制方法,其特征在于,所述步骤A还包括:由速度前馈模块接收上位机发送的给定速度指令,补偿相应的电流,输出给速度环模块。9.根据权利要求8所述的音圈电机驱动器的控制方法,其特征在于,所述电机模组的驱动电流为: lout = Ip + Iv 其中,Ip为位置环模块的输出电流,IV为速度环模块的输出电流; 所述位置环模块的控制函数如下: Ip = Kp*Ep+Kd*(Ep_EpO)+Kim*Ki*EE; 其中,Ep为当前位置偏差;EpO为上次位置偏差;ΣΕ为位置偏差累计值;Kp为比例增益;Kd为微分增益;Ki为积分增益;Kim为积分模式,其取值范围O或I,O表不总是积分,I表不只在稳态时积分,默认值设为O ; 速度环模块的控制函数如下: Iv = Kp*Ev+Kvff*Vc; 其中,Ev是速度偏差;Kp为比例增益;Kvf f为速度前馈增益;Vc为给定速度。10.根据权利要求6所述的音圈电机驱动器的控制方法,其特征在于,所述步骤B还包括:由滤波模块将位置环模块和速度环模块输出的电流进行滤波处理后输出给电机模组。
【文档编号】H02P31/00GK105958898SQ201610381186
【公开日】2016年9月21日
【申请日】2016年6月1日
【发明人】李庆光, 戴帝水, 柯玉理
【申请人】深圳德康威尔科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1