CN102811012B - 基于fpga的多轴伺服电机电流环控制系统及控制方法 - Google Patents
基于fpga的多轴伺服电机电流环控制系统及控制方法 Download PDFInfo
- Publication number
- CN102811012B CN102811012B CN201210253149.1A CN201210253149A CN102811012B CN 102811012 B CN102811012 B CN 102811012B CN 201210253149 A CN201210253149 A CN 201210253149A CN 102811012 B CN102811012 B CN 102811012B
- Authority
- CN
- China
- Prior art keywords
- module
- computing
- motor shaft
- current
- converter unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Control Of Ac Motors In General (AREA)
Abstract
本发明公开了一种基于FPGA的多轴伺服电机电流环控制系统及控制方法,该控制系统包括设置在FPGA上的并行总线通讯模块、AD采样控制模块、矢量变换模块、复矢量调节器、编码器反馈信号处理模块、正余弦计算模块、SVPWM运算模块、PWM标准输出模块、时序规划模块和电流调理模块,采用纯硬件逻辑实现,能够独立完成对多轴交流伺服电机电流环的同步控制;同时,本发明综合流水线和时分复用的思想,提出了一种多轴时序控制方法,能够提高FPGA资源利用率和运算速度;本发明在显著缩短电流环调节时间的同时,能满足高速高精度伺服驱动、多轴同步驱动、绕组电感较小的伺服电机控制等多种应用需求。
Description
技术领域
本发明属于工业自动化控制领域,尤其涉及一种基于FPGA的多轴伺服电机电流环控制系统及控制方法。
背景技术
目前广泛使用的伺服驱动器大多采用基于MCU或DSP等微处理器采用纯软件的方式实现,受软件所固有的代码串行执行的特点以及微处理器频率的限制,很难从总体实现的角度减小完成一次采样控制所需要的时间,而常见的基于软件的方案产生的滞后,也大大降低了电机控制的实时性,尤其降低了伺服系统电流环的控制性能。因此,此类驱动器在面对一些绕组电感较小的电机时,由于相对较长的控制滞后,不易得到理想的控制效果。而且,受限于微处理器的处理速度和非常有限的外设资源,当需要构建更加庞大的控制系统(比如完成多电机协同控制)时,有时不得不采用多处理器或者多个驱动器的方案,这使得系统的成本和体积增加,而性能很难得到大幅度提高。
采用专用的电机控制ASIC芯片虽然具有高速的运算处理能力,但是ASIC芯片内部的电机控制算法以及芯片引脚配置已经固化,用户无法改变,灵活性不足,单片结构也限制了其在高速、多轴同步联动时的应用。而对于目前普遍采用的现场总线网络如工业以太网实现多轴同步伺服控制的方案,为了实现对分立的伺服控制轴的同步控制,在网络接口协议中需要处理复杂的分布时钟同步运算,不易实现简单的多轴同步控制。
发明内容
本发明的目的是提供一种基于FPGA的多轴伺服电机电流环控制系统及方法,本发明可以缩短电流环的调节时间,减小电流环控制滞后,保证较高的运算精度,同时接收多轴电流指令,实现多轴电流环同步控制并输出PWM信号驱动各电机轴功率逆变器模块。
本发明提供了一种基于FPGA的多轴伺服电机电流环控制系统,包括设置在FPGA上的并行总线通讯模块、AD采样控制模块、矢量变换模块、复矢量调节器、编码器反馈信号处理模块、正余弦计算模块、SVPWM运算模块、PWM标准输出模块、时序规划模块和电流调理模块;所述并行总线通讯模块用于实现与外部微处理器之间的通讯,接收所述微处理器发送的配置信息、电流指令(Id *、Iq *)以及电流环周期控制启动信号,并回传给微处理器相关的状态变量;所述编码器反馈信号处理模块用于接收外部的位置反馈元件的反馈信号,并将所述反馈信号进行处理后输出电角度信息(θe);所述AD采样控制模块用于控制外部多通道AD转换器的启动/停止,为所述AD转换器提供模数转换所必须的时钟信号,并从所述AD转换器获取各电机轴对应通道的电流采样值;所述电流调理模块接收所述AD采样控制模块输出的各电机轴的电流采样值,对所述电流采样值进行调理运算,并根据所述时序规划模块输出的当前控制电机轴号,输出对应轴号电机的电流调理值(Ia、Ib);所述正余弦计算模块接收所述编码器反馈信号处理模块输出的各电机轴的电角度信息(θe),对所述电角度信息进行正余弦计算后输出电角度的正余弦值;所述矢量变换模块包括CLARK变换单元、PARK变换单元、IPARK变换单元;所述CLARK变换单元将所述电流调理模块输出的电流调理值(Ia、Ib)进行CLARK变换后输出两相α-β静止坐标系下的电流值(Iα、Iβ);所述PARK变换单元将所述电流值(Iα、Iβ)进行PARK变换后输出两相d-q同步旋转坐标系下电流反馈信号(Id、Iq);所述复矢量调节器将来自所述并行总线通讯模块的各电机轴电流给定信号(Id *、Iq *)、调节器控制参数、交叉耦合项(ωeT)以及PARK变换单元输出的两相d-q同步旋转坐标系下电流反馈信号(Id、Iq)进行复矢量调节,输出两相d-q同步旋转坐标系下参考电压矢量(Vd *,Vq *);所述IPARK变换单元将所述复矢量调节器输出的两相d-q同步旋转坐标系下参考电压矢量(Vd *,Vq *)进行IPARK变换后输出两相α-β静止坐标系下参考电压矢量(Vα、Vβ);所述SVPWM运算模块接收IPARK变换单元输出的所述两相α-β静止坐标系下参考电压矢量(Vα、Vβ),根据当前进行控制运算的电机轴号计算并输出对应轴号的三相PWM信号脉宽给定值;所述PWM标准输出模块根据所述SVPWM运算模块输出的三相PWM信号脉宽给定值输出相应的PWM信号并驱动功率逆变器的功率开关;所述时序规划模块根据所述并行总线通讯模块输出的电流环周期控制启动信号调度所述AD采样控制模块、所述矢量变换模块、所述复矢量调节器、所述编码器反馈信号处理模块、所述正余弦计算模块、所述SVPWM运算模块以及所述电流调理模块的时序,按照一定的顺序完成多轴伺服电机电流环控制;具体为:将电流调理模块、CLARK变换单元、PARK变换单元、复矢量调节器、IPARK变换单元以及SVPWM运算模块依次构成一个六级流水线;采用所述六级流水线对各个电机轴进行控制运算:设j表示待控电机轴的序号,j=0~N,流水线中的每一个功能模块对第j号电机轴的运算启动以前一个功能模块对第j号电机轴的运算结束且后一个功能模块对第j-1号电机轴的运算已经启动为条件;其中,当j=0时,每一个功能模块对第0号电机轴的运算结束之后立即启动后一个功能模块对第0号电机轴的运算;当j=N时,当流水线中的所述IPARK变换单元对第N号电机轴的运算结束且所述SVPWM运算模块对第N-1号电机轴的运算结束后启动所述SVPWM运算模块对第N号电机轴的运算;根据运算结果分别对多轴伺服电机电流环进行PWM输出控制。
更进一步地,所述并行总线通讯模块包括:第一缓冲寄存器和第二缓冲寄存器;所述第一缓冲寄存器的使能端用于接收总线写使能信号,所述第一缓冲寄存器的输入端用于接收总线上的数据;所述第二缓冲寄存器的输入端连接至所述第一缓冲寄存器的输出端,所述第二缓冲寄存器的使能端用于接收FPGA内部刷新控制信号,所述第二缓冲寄存器的输出端用于输出FPGA内部使用的实时控制参数。
更进一步地,所述CLARK变换单元采用变换矩阵 实现将三相a-b-c静止坐标系下的电流调理值(Ia、Ib)变换为两相α-β静止坐标系下的电流值(Iα、Iβ)。
更进一步地,所述PARK变换单元采用变换矩阵 实现将两相α-β静止坐标系下的电流值(Iα、Iβ)变换为两相d-q同步旋转坐标系下电流反馈信号(Id、Iq)。
更进一步地,所述IPARK变换单元采用变换矩阵 实现将两相d-q同步旋转坐标系下的参考电压矢量(Vd *,Vq *)变换为两相α-β静止坐标系下参考电压矢量(Vα、Vβ)。
更进一步地,所述正余弦计算模块采用平面坐标系CORDIC算法实现对所述电角度信息的正余弦计算;其中,数据位数为18位,迭代次数为16次。
更进一步地,所述复矢量调节器进行复矢量调节的运算公式为:
errd=Id *-Id;errq=Iq *-Iq;Kp为比例系数,Ki为积分系数,T为电流环控制周期。
更进一步地,所述复矢量调节器输出的参考电压矢量(Vd *,Vq *)采用下式进行限幅处理:
Usmax为复矢量调节器输出参考电压矢量之限幅值,Udmax为复矢量调节器输出参考电压矢量之d轴限幅值,Uqmax为调节器输出参考电压矢量之q轴限幅值。
更进一步地,所述是采用双曲线坐标系CORDIC算法实现的。
本发明的目的还在于提供一种基于FPGA的多轴伺服电机电流环的控制方法,包括下述步骤:
S1:将电流调理模块、CLARK变换单元、PARK变换单元、复矢量调节器、IPARK变换单元以及SVPWM运算模块依次构成一个六级流水线;
S2:采用所述六级流水线对各个电机轴进行控制运算;设j为待控电机轴的序号,j=0~N,流水线中的每一个功能模块对第j号电机轴的运算启动必须以前一个功能模块对第j号电机轴的运算结束且后一个功能模块对第j-1号电机轴的运算已经启动为条件;其中,当j=0时,每一个功能模块对第0号电机轴的运算结束之后立即启动后一个功能模块对第0号电机轴的运算;当j=N时,当流水线中的所述IPARK变换单元对第N号电机轴的运算结束且所述SVPWM运算模块对第N-1号电机轴的运算结束后启动所述SVPWM运算模块对第N号电机轴的运算;
S3:根据步骤S2中的运算结果对多轴伺服电机电流环进行PWM输出控制。
本发明的技术效果体现在:
(1)根据现有技术的不足,本发明采用FPGA可编程逻辑器件实现了基于纯硬件逻辑的交流伺服电机电流环控制,FPGA只需要实时接收微处理器发送的各电机的电流指令便可通过内部硬件逻辑独立完成电流环的控制,使得交流电机的电流环控制与微处理器独立。本发明大幅缩短了电流环的调节时间,减小电流控制滞后,完成单个电机单次电流调节计算,只需要微秒级的时间,使电流环控制性能得到很大提高。
(2)本发明可以根据用户需要,自由配置电机轴数、电机参数、控制参数,FPGA与微处理器的并行总线通讯接口采用双缓冲设计,避免了因为实时参数读写冲突产生的数据竞争,保证了信息的正确性和控制的平稳性。
(3)本发明采用改进的复矢量解耦电流控制算法,该方法利用调节器的复数零点去消除电机对象的复数极点,对电机参数的变化具有一定的鲁棒性,实现了很好的解耦性能;该方法经过本发明的改进后,降低了调节器输出饱和非线性带来的不利影响,使电机获得更强的负载输出能力和更稳定的高频响应。
(4)本发明对时序规划模块进行调度优化,使得实现多个电机轴电流环控制并没有因为轴数的增加而成倍增加相应的逻辑资源,很好地控制了系统硬件成本,同时较好地保证了多轴控制的实时性。
(5)本发明对每一个功能模块的的输入输出变量都进行了标幺处理,对所有参与运算的参数选取合适的Q格式表达,并对每一步定点运算进行溢出控制,能够有效提高FPGA运算的精度并保证运算的正确性。
附图说明
图1是本发明提供的多轴伺服电机电流环控制的结构框图;
图2是双缓冲结构框图;
图3是CORDIC算法实施框图;
图4是单轴控制时序规划时序图;
图5是多轴控制时序规划时序图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,本发明中,控制系统包括设置在FPGA上的并行总线通讯模块1、AD采样控制模块2、矢量变换模块3、复矢量调节器4、编码器反馈信号处理模块5、正余弦计算模块6、SVPWM运算模块7、PWM标准输出模块8、时序规划模块9和电流调理模块10。
并行总线通讯模块1用于实现与微处理器之间的通讯,接收微处理器(如DSP)发来的配置信息(如调节器控制参数、待控电机总数等)、电流指令(Id *、Iq *)以及电流环周期控制启动信号,并回送给微处理器相关的状态变量(如电流反馈信号、参考电压矢量等);本发明对于FPGA实时控制需要用到的一些参数(如调节器控制参数)及电流指令采用双缓冲处理,并用FPGA内部的控制信号同步刷新寄存器,双缓冲结构框图如图2所示,图中FPGA内部刷新控制信号选用多轴电流控制运算开始信号。本发明可以根据用户需要,自由配置电机轴数、电机参数、控制参数,FPGA与微处理器的并行总线通讯接口采用双缓冲设计,避免了因为实时参数读写冲突产生的数据竞争,保证了信息的正确性和控制的平稳性。
编码器反馈信号处理模块5接收位置反馈元件如增量式光电编码器反馈信号,进行倍频鉴相、加减计数和条件锁存处理,计算得到电角度信息(θe),输出给正余弦计算模块6。
AD采样控制模块2控制外部多通道12位串行AD转换器(如AD7265)的启动、停止,选择所需的通道,并为串行AD转换器提供模数转换所必须的时钟信号,获取外部AD的电流采样结果,提供给电流调理模块。
电流调理模块10接收AD采样控制模块输出的各电机轴电流采样结果,获取各电机轴电流采样的零点偏移,进行零点校正运算,并根据时序规划模块9输出的当前控制电机轴号输出对应轴号电机的三相a-b-c静止坐标系下电流调理值Ia、Ib。
矢量变换模块3包括图1所示的CLARK变换单元31、PARK变换单元32、IPARK变换单元33,具体步骤如下:CLARK变换单元31接收电流调理模块10输出的交流电机三相a-b-c静止坐标系下电流调理值Ia、Ib,实现从三相a-b-c静止坐标系到两相α-β静止坐标系的变换,得到两相α-β静止坐标系下电流值Iα、Iβ,并提供给PARK变换单元使用。对于三相星形连接绕组,有Ia+Ib+Ic=0,采用变换矩阵如下:
PARK变换单元32接收CLARK变换单元31输出的两相α-β静止坐标系下电流值Iα、Iβ,,实现从两相α-β静止坐标系到两相d-q同步旋转坐标系的变换,得到两相d-q同步旋转坐标系下电流反馈信号Id、Iq,并提供给复矢量调节器使用。变换矩阵如下:
IPARK变换单元33接收复矢量调节器输出的两相d-q同步旋转坐标系下参考电压矢量Vd、Vq,实现从两相d-q同步旋转坐标系到两相α-β静止坐标系的变换,得到两相α-β静止坐标系下参考电压矢量Vα、Vβ,并提供给SVPWM运算模块。变换矩阵如下:
适当调整IPARK变换单元33输入变量和输出变量的顺序,可以得到和PARK变换单元32一样的变换矩阵,因此,本发明的PARK变换单元32、IPARK变换单元33可以用同一段代码来实现。PARK变换单元32和IPARK变换单元33所用到的正余弦值由正余弦计算模块6计算得到,并通过多路选择器选择对应电机轴号的正余弦值参与PARK变换单元32和IPARK变换单元33的运算。
正余弦计算模块6接收编码器反馈信号处理模块5输出的各电机轴电角度信息(θe),计算并输出电角度的正余弦值供PARK变换单元32和IPARK变换单元33使用。CORDIC算法是一种非常强大的算法,它仅仅采用移位、加法两种运算的迭代就能实现三角函数、反三角函数、平方根等高精度的超越函数计算,非常适合应用在FPGA逻辑设计中。本发明优先采用平面坐标系CORDIC算法实现正余弦计算模块6,数据位数选用18位,迭代次数选择16次。如图3(a)所示,若设定输入信号X=1/K(K为常数,K=1.64676)、Y=0、Z=θe,则平面坐标系CORDIC算法可以输出得到正余弦值sinθe、cosθe。
复矢量调节器4接收来自并行总线通讯模块的各电机轴电流给定信号(Id *、Iq *)、调节器控制参数(如Kp、Ki、Udmax、Usmax等)、交叉耦合项(ωeT)以及两相d-q同步旋转坐标系下电流反馈信号(Id、Iq)、完成复矢量调节算法,输出两相d-q同步旋转坐标系下参考电压矢量(Vd *,Vq *),提供给IPARK变换单元使用。
由于采用时分复用的原理,每次启动复矢量调节器4时,复矢量调节器都要先根据当前进行控制运算的电机轴号加载对应轴号调节器的历史状态变量(比如历史积分量),然后进行调节算法计算,模块计算结束前需将当前控制轴的调节器历史状态变量进行保存以供下一次启动调节器时加载。为了提高调节器的计算精度,调节器内部的比例项、积分项等中间变量都根据需要,灵活采用了32~64位的存储形式,能够保证较高的运算精度。复矢量调节器利用调节器的复数零点去消除电机对象的复数极点,对电机参数的变化具有一定的鲁棒性,可以达到较好的解耦控制效果。复矢量调节器理论上采用双边补偿方式,虽然可以从理论上实现完全解耦控制,但是考虑到实际应用中的调节器都存在饱和非线性的影响,双边补偿不利于在全频率范围内实现精确的控制,本发明改进了双边补偿方式,采用了单边补偿策略,并且对调节器输出的参考电压矢量做了矢量限幅处理,降低了调节器输出饱和非线性带来的不利影响,使得电机不仅获得更强的负载输出能力,而且高频域响应更稳定。该方法对于常见的Id=0电机矢量控制,具有良好的实际控制效果。
本实施例中所述的复矢量调节算法采用PI控制,其运算公式如下:
所述式④中,errd=Id *-Id;errq=Iq *-Iq;Kp、Ki为比例系数和积分系数,由微处理器通过并行总线通讯模块设置;T为电流环控制周期。
调节器输出参考电压矢量限幅处理方法如下:
式⑤
式⑧;其中Usmax为复矢量调节器输出参考电压矢量之限幅值,Udmax为复矢量调节器输出参考电压矢量之d轴限幅值,Uqmax为复矢量调节器输出参考电压矢量之q轴限幅值。
本发明采用改进的复矢量解耦电流控制算法,该方法利用调节器的复数零点去消除电机对象的复数极点,对电机参数的变化具有一定的鲁棒性,实现了很好的解耦性能;该方法经过本发明的改进后,降低了调节器输出饱和非线性带来的不利影响,使电机获得更强的负载输出能力和更稳定的高频响应。
本发明优先采用双曲线坐标系CORDIC算法实现所述式⑦的平方根运算,如图3(b)所示,若设定输入信号X=Uqmax 2+1/4、Y=Uqmax 2-1/4,则双曲线坐标系CORDIC算法可以输出得到(K*为常数,K*=0.82816),结果再乘以1/K*,即得平方根值
SVPWM运算模块7接收IPARK变换输出的两相α-β静止坐标系下参考电压矢量(Vα、Vβ),运用空间矢量脉宽调制原理,根据当前进行控制运算的电机轴号计算对应轴号的三相PWM信号脉宽给定值,输出给PWM标准输出模块8。
PWM标准输出模块8根据三相PWM信号脉宽给定值输出相应的PWM信号去驱动功率逆变器的功率开关。用户可以根据需要配置载波频率、载波幅值、死区时间、有效电平极性、刷新方式、高阻态输出控制等,适用于各种功率电路。
时序规划模块9接收来自并行总线通讯模块1的电流环周期控制启动信号,采用有限状态机的设计方法,负责调度系统其它功能模块的时序,使得这些功能模块按照一定的顺序完成多轴伺服电机电流环控制。
在本发明实施例中,时序规划模块9从功能上分为单轴控制时序规划和多轴控制时序规划。如图4所示,单轴控制时序规划避免采用各功能模块串行执行的方法,根据各模块的工作特点,当电流环周期控制启动信号有效时,使AD采样控制模块2和编码器反馈信号处理模块5同步启动,编码器反馈信号处理模块5完成之后启动正余弦计算模块,根据实际AD采样控制模块完成时刻和正余弦值计算模块完成时刻的先后顺序,选择在后一时刻启动电流环控制运算,随后串行完成电流调理模块10、CLARK变换单元31、PARK变换单元32、复矢量调节器4、IPARK变换单元33、SVPWM运算模块7等运算。
在本发明实施例中,多轴控制时序规划摒弃了轴与轴之间仅采用并行或者串行的方法,综合了流水线结构和时分复用的思想,多轴电流控制可以共用单轴电流控制的硬件逻辑资源,并让处于空闲状态的运算模块及时投入到下一个轴的运算中去,充分利用FPGA的运算资源,提高FPGA运算速度。如图5所示,按照各模块的时序特点,多轴控制时序规划分为两个阶段:数据准备阶段及控制运算阶段。数据准备阶段完成各电机轴电流采样、编码器反馈信号处理、电角度正余弦值的计算;控制运算阶段完成各电机轴电流矢量控制运算。当电流环周期控制启动信号到来时进入数据准备阶段,同时启动AD采样控制模块2和编码器反馈信号处理模块5,编码器反馈信号处理模块5完成后启动正余弦计算模块6依次计算各电机轴电角度正余弦值,待AD采样控制模块2完成AD采样,且正余弦计算模块6计算完成各电机轴电角度正余弦值后,FPGA产生一个多轴电流控制运算开始信号,随后进入控制运算阶段;在控制运算阶段,依次完成从0号电机轴到N号电机轴的电流控制运算(假定总共有N+1个待控电机轴),综合流水线和时分复用的思想,电流调理模块10、CLARK变换单元31、PARK变换单元32、复矢量调节器4、IPARK变换单元33、SVPWM运算模块7这六个功能模块依次构成一个六级流水线结构,能够在不消耗更多的资源的前提下保证多轴控制运算的时间最短。
本实施例的六级流水线结构的时序调度原理如下:设j表示待控电机轴的序号,按照时分复用的思想,要求同一功能模块在同一时刻只能进行某一个电机轴的控制运算,又因为构成流水线结构的6个功能模块所需的执行时间长短可能不尽相同,因此,流水线中的每一个功能模块对第j号电机轴的运算启动须以前一个功能模块对第j号电机轴的运算结束,且后一个功能对第j-1号电机轴的运算已经启动为条件。需要说明的是,由于0号电机轴处于多轴控制的起始轴,而电流调理模块10、SVPWM运算模块7分别处于流水线的最前端和最后端,所以0号电机轴的时序调度、电流调理模块10时序调度、SVPWM运算模块7时序调度较为特殊。当每一个功能模块对第0号电机轴的运算结束后,则立即启动后一个功能模块对第0号电机轴的运算;当CLARK变换单元31对第j-1号电机轴的运算启动后,则立即启动电流调理模块10对第j号电机轴的运算;当IPARK变换单元33对第j号电机轴的运算结束,且SVPWM运算模块7对第j-1号电机轴的运算结束,则启动SVPWM运算模块7对第j号电机轴的运算。
作为本发明的一个实施例,按照上述流水线时序调度原理,六级流水线结构的时序调度方法具体如下:
(1)如果多轴电流控制运算开始信号有效,则启动电流调理模块10对第0号电机轴的运算;
(2)如果电流调理模块10对第0号电机轴的运算结束,则启动后一个功能模块—CLARK变换单元31对第0号电机轴的运算;
(3)如果CLARK变换单元31对第0号电机轴的运算结束,则启动后一个功能模块—PARK变换单元32对第0号电机轴的运算;
(4)依此类推至启动SVPWM运算模块7对第0号电机轴的运算;
(5)如果CLARK变换单元31对第0号电机轴的运算启动,则启动电流调理模块10对第1号电机轴的运算;
(6)如果CLARK变换单元31对第1号电机轴的运算启动,则启动电流调理模块10对第2号电机轴的运算;
(7)依此类推至启动电流调理模块10对第N号电机轴的运算;
(8)如果IPARK变换单元33对第1号电机轴的运算结束,且SVPWM运算模块7对第0号电机轴的运算结束,则启动SVPWM运算模块7对第1号电机轴的运算;
(9)如果IPARK变换单元33对第2号电机轴的运算结束,且SVPWM运算模块7对第1号电机轴的运算结束,则启动SVPWM运算模块7对第2号电机轴的运算;
(10)依此类推至启动SVPWM运算模块7对第N号电机轴的运算;
(11)如果电流调理模块10(前一个功能模块)对第1号电机轴的运算结束,且PARK变换单元32(后一个功能模块)对第0号电机轴的运算启动,则启动CLARK变换单元31对第1号电机轴的运算;
(12)依此类推至启动其余各功能模块对其它电机轴的运算。
本发明对所有模块的输入输出变量均进行了标幺处理,一律采用[-32768~32767]范围的16位的有符号补码数来表示,可与16位微处理器实现无缝连接;所有的控制运算都采用同一个时钟,避免了异步时钟域可能引起的冲突,提高了运算的可靠性。本发明对每一个功能模块的的输入输出变量都进行了标幺处理,对所有参与运算的参数选取合适的Q格式表达,并对每一步定点运算进行溢出控制,能够有效提高FPGA运算的精度并保证运算的正确性。
本发明实施例中所有模块均采用VerilogHDL描述,具有很强的可移植性,并在Altera CycloneII系列FPGA中实验成功。实验中完成四轴电流环的控制只需要一万个LE左右的逻辑资源,并且完成四轴电流环的控制运算只需要约5微秒(不包括AD采样的时间)。
在本发明实施例中,采用FPGA可编程逻辑器件实现了基于纯硬件逻辑的交流伺服电机电流环控制,FPGA只需要实时接收微处理器发送的各电机的电流指令便可通过内部硬件逻辑独立完成电流环的控制,使得交流电机的电流环控制与微处理器独立;缩短了电流环的调节时间,减小电流控制滞后,完成单个电机单次电流调节计算,只需要微秒级的时间,使电流环控制性能得到很大提高;另外,对时序规划模块进行调度优化,使得实现多个电机轴电流环控制并没有因为轴数的增加而成倍增加相应的逻辑资源,很好地控制了系统硬件成本,同时较好地保证了多轴控制的实时性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于FPGA的多轴伺服电机电流环控制系统,其特征在于,包括设置在FPGA上的并行总线通讯模块、AD采样控制模块、矢量变换模块、复矢量调节器、编码器反馈信号处理模块、正余弦计算模块、SVPWM运算模块、PWM标准输出模块、时序规划模块和电流调理模块;
所述并行总线通讯模块用于实现与外部微处理器之间的通讯,接收所述微处理器发送的配置信息、电流指令(Id *、Iq *)以及电流环周期控制启动信号,并回传给微处理器相关的状态变量;
所述编码器反馈信号处理模块用于接收外部的位置反馈元件的反馈信号,并将所述反馈信号进行处理后输出电角度信息(θe);
所述AD采样控制模块用于控制外部多通道AD转换器的启动/停止,为所述AD转换器提供模数转换所必须的时钟信号,并从所述AD转换器获取各电机轴对应通道的电流采样值;
所述电流调理模块接收所述AD采样控制模块输出的各电机轴的电流采样值,对所述电流采样值进行调理运算,并根据所述时序规划模块输出的当前控制电机轴号,输出对应轴号电机的电流调理值(Ia、Ib);
所述正余弦计算模块接收所述编码器反馈信号处理模块输出的各电机轴的电角度信息(θe),对所述电角度信息进行正余弦计算后输出电角度的正余弦值;
所述矢量变换模块包括CLARK变换单元、PARK变换单元、IPARK变换单元;所述CLARK变换单元将所述电流调理模块输出的电流调理值(Ia、Ib)进行CLARK变换后输出两相α-β静止坐标系下的电流值(Iα、Iβ);所述PARK变换单元将所述电流值(Iα、Iβ)进行PARK变换后输出两相d-q同步旋转坐标系下电流反馈信号(Id、Iq);
所述复矢量调节器将来自所述并行总线通讯模块的各电机轴电流给定信号(Id *、Iq *)、调节器控制参数、交叉耦合项(ωeT)以及PARK变换单元输出的两相d-q同步旋转坐标系下电流反馈信号(Id、Iq)进行复矢量调节,输出两相d-q同步旋转坐标系下参考电压矢量(Vd *,Vq *);
所述IPARK变换单元将所述复矢量调节器输出的两相d-q同步旋转坐标系下参考电压矢量(Vd *,Vq *)进行IPARK变换后输出两相α-β静止坐标系下参考电压矢量(Vα、Vβ);
所述SVPWM运算模块接收IPARK变换单元输出的所述两相α-β静止坐标系下参考电压矢量(Vα、Vβ),根据当前进行控制运算的电机轴号计算并输出对应轴号的三相PWM信号脉宽给定值;
所述PWM标准输出模块根据所述SVPWM运算模块输出的三相PWM信号脉宽给定值输出相应的PWM信号并驱动功率逆变器的功率开关;
所述时序规划模块根据所述并行总线通讯模块输出的电流环周期控制启动信号调度所述AD采样控制模块、所述矢量变换模块、所述复矢量调节器、所述编码器反馈信号处理模块、所述正余弦计算模块、所述SVPWM运算模块以及所述电流调理模块的时序,完成多轴伺服电机电流环控制;具体为:将电流调理模块、CLARK变换单元、PARK变换单元、复矢量调节器、IPARK变换单元以及SVPWM运算模块依次构成一个六级流水线;采用所述六级流水线对各个电机轴进行控制运算:设j表示待控电机轴的序号,j=0~N,流水线中的每一个功能模块对第j号电机轴的运算启动以前一个功能模块对第j号电机轴的运算结束且后一个功能模块对第j-1号电机轴的运算已经启动为条件;其中,当j=0时,每一个功能模块对第0号电机轴的运算结束之后立即启动后一个功能模块对第0号电机轴的运算;当j=N时,当流水线中的所述IPARK变换单元对第N号电机轴的运算结束且所述SVPWM运算模块对第N-1号电机轴的运算结束后启动所述SVPWM运算模块对第N号电机轴的运算;根据运算结果分别对多轴伺服电机电流环进行PWM输出控制。
2.如权利要求1所述的系统,其特征在于,所述并行总线通讯模块包括第一缓冲寄存器和第二缓冲寄存器;所述第一缓冲寄存器的使能端用于接收总线写使能信号,所述第一缓冲寄存器的输入端用于接收总线上的数据;所述第二缓冲寄存器的输入端连接至所述第一缓冲寄存器的输出端,所述第二缓冲寄存器的使能端用于接收FPGA内部刷新控制信号,所述第二缓冲寄存器的输出端用于输出FPGA内部使用的实时控制参数。
3.如权利要求1所述的系统,其特征在于,所述CLARK变换单元采用变换矩阵 实现将三相a-b-c静止坐标系下的电流调理值(Ia、Ib)变换为两相α-β静止坐标系下的电流值(Iα、Iβ)。
4.如权利要求3所述的系统,其特征在于,所述PARK变换单元采用变换矩阵 实现将两相α-β静止坐标系下的电流值(Iα、Iβ)变换为两相d-q同步旋转坐标系下电流反馈信号(Id、Iq)。
5.如权利要求4所述的系统,其特征在于,所述IPARK变换单元采用变换矩阵 实现将两相d-q同步旋转坐标系下的参考电压矢量(Vd *,Vq *)变换为两相α-β静止坐标系下参考电压矢量(Vα、Vβ)。
6.如权利要求1所述的系统,其特征在于,所述正余弦计算模块采用平面坐标系CORDIC算法实现对所述电角度信息的正余弦计算;其中,数据位数为18位,迭代次数为16次。
7.如权利要求1所述的系统,其特征在于,所述复矢量调节器进行复矢量调节的运算公式为:
errd=Id *-Id;errq=Iq *-Iq;Kp为比例系数,Ki为积分系数,T为电流环控制周期。
8.如权利要求1所述的系统,其特征在于,所述复矢量调节器输出的参考电压矢量(Vd *,Vq *)采用下式进行限幅处理:
Usmax为复矢量调节器输出参考电压矢量之限幅值,Udmax为复矢量调节器输出参考电压矢量之d轴限幅值,Uqmax为复矢量调节器输出参考电压矢量之q轴限幅值。
9.如权利要求8所述的系统,其特征在于,所述是采用双曲线坐标系CORDIC算法实现的。
10.一种基于FPGA的多轴伺服电机电流环的控制方法,其特征在于,包括下述步骤:
S1:将电流调理模块、CLARK变换单元、PARK变换单元、复矢量调节器、IPARK变换单元以及SVPWM运算模块依次构成一个六级流水线;
S2:采用所述六级流水线对各个电机轴进行控制运算:设j表示待控电机轴的序号,j=0~N,流水线中的每一个功能模块对第j号电机轴的运算启动以前一个功能模块对第j号电机轴的运算结束且后一个功能模块对第j-1号电机轴的运算已经启动为条件;其中,当j=0时,每一个功能模块对第0号电机轴的运算结束之后立即启动后一个功能模块对第0号电机轴的运算;当j=N时,当流水线中的所述IPARK变换单元对第N号电机轴的运算结束且所述SVPWM运算模块对第N-1号电机轴的运算结束后启动所述SVPWM运算模块对第N号电机轴的运算;
S3:根据步骤S2中的运算结果分别对多轴伺服电机电流环进行PWM输出控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210253149.1A CN102811012B (zh) | 2012-07-20 | 2012-07-20 | 基于fpga的多轴伺服电机电流环控制系统及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210253149.1A CN102811012B (zh) | 2012-07-20 | 2012-07-20 | 基于fpga的多轴伺服电机电流环控制系统及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102811012A CN102811012A (zh) | 2012-12-05 |
CN102811012B true CN102811012B (zh) | 2015-01-28 |
Family
ID=47234617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210253149.1A Active CN102811012B (zh) | 2012-07-20 | 2012-07-20 | 基于fpga的多轴伺服电机电流环控制系统及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102811012B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014091547A1 (ja) * | 2012-12-10 | 2014-06-19 | 三菱電機株式会社 | 多軸制御システム設定・調整機能支援装置 |
CN103490689A (zh) * | 2013-07-18 | 2014-01-01 | 上海晟矽微电子股份有限公司 | 电动机矢量控制中的矢量坐标变换方法及系统 |
CN103532457A (zh) * | 2013-09-18 | 2014-01-22 | 东莞博用电子科技有限公司 | 一种基于硬件的磁场定向控制(foc)装置和方法 |
CN104579031A (zh) * | 2013-10-29 | 2015-04-29 | 北京精密机电控制设备研究所 | 一种基于fpga芯片的多路永磁同步电机控制电路 |
CN103944461B (zh) * | 2014-03-26 | 2016-06-22 | 苏州相城常理工技术转移中心有限公司 | 一种单fpga实现的多台异步电机控制系统及控制方法 |
CN104037794A (zh) * | 2014-06-19 | 2014-09-10 | 国家电网公司 | 一种飞轮储能系统及其控制方法 |
CN106063122B (zh) * | 2014-09-30 | 2018-02-09 | 松下知识产权经营株式会社 | 电动机控制装置以及电动机控制方法 |
CN104898474B (zh) * | 2015-04-01 | 2017-12-01 | 华南理工大学 | 一种基于mcu的多通道均匀伺服脉冲生成方法 |
CN104796048B (zh) * | 2015-04-15 | 2017-05-10 | 华中科技大学 | 一种交流电机电流环并行数字控制实现方法 |
CN105450129A (zh) * | 2015-12-16 | 2016-03-30 | 四川长虹电器股份有限公司 | 一种电机的电压调节方法及空调 |
CN105577057A (zh) * | 2015-12-24 | 2016-05-11 | 宁波德业变频技术股份有限公司 | 一种高通用性的电机控制方法 |
CN105932925A (zh) * | 2016-06-02 | 2016-09-07 | 上海新时达电气股份有限公司 | 一种基于fpga的电流环控制系统和伺服装置 |
CN106208876B (zh) * | 2016-08-02 | 2018-07-03 | 苏州艾文芯伺电气技术有限公司 | 多轴交流伺服电机控制装置 |
CN106953567B (zh) * | 2017-04-27 | 2023-10-13 | 佛山冠湾智能科技有限公司 | 一种永磁同步电机磁场定向控制模块 |
CN106998165A (zh) * | 2017-04-27 | 2017-08-01 | 佛山三电智能科技有限公司 | 一种fpga的多轴电流环实现方法 |
CN107294446A (zh) * | 2017-06-12 | 2017-10-24 | 宁波韦尔德斯凯勒智能科技有限公司 | 单路/多路伺服电机的高速矢量控制方法及装置 |
CN107453668B (zh) * | 2017-09-21 | 2021-03-30 | 上海辛格林纳新时达电机有限公司 | 相电流检测方法及装置 |
CN107678334B (zh) * | 2017-09-25 | 2020-04-28 | 四川长虹电器股份有限公司 | 内置运放的mcu芯片及其在变频冰箱上的应用 |
CN108599659B (zh) * | 2018-05-22 | 2020-05-12 | 山东大学 | 基于实时运动控制平台以及fpga的伺服系统及其控制方法 |
CN109254567A (zh) * | 2018-07-11 | 2019-01-22 | 杭州电子科技大学 | 一种基于fpga的多轴工业机器人控制系统 |
CN109375572A (zh) * | 2018-11-14 | 2019-02-22 | 长光卫星技术有限公司 | 一种基于fpga的小卫星飞轮控制系统及控制方法 |
CN110677089B (zh) * | 2019-10-14 | 2020-09-22 | 湖北工业大学 | 一种交流伺服系统高响应电流控制方法 |
CN110752809A (zh) * | 2019-12-09 | 2020-02-04 | 深圳戴普森新能源技术有限公司 | 多轴伺服电机电流环的控制系统及其方法 |
CN113534659A (zh) * | 2020-04-20 | 2021-10-22 | 华中科技大学 | 一种多级流水线时分复用反馈控制方法及系统 |
CN112865650B (zh) * | 2020-05-31 | 2023-05-30 | 江苏金陵智造研究院有限公司 | 基于fpga的斩波周期可变的硬件电流环控制系统及方法 |
CN111628637B (zh) * | 2020-06-03 | 2021-06-01 | 浙江大学 | 一种高频软开关三相逆变器安全动态切换方法 |
CN111600525A (zh) * | 2020-06-04 | 2020-08-28 | 佛山智能装备技术研究院 | 基于控驱一体机器人的多轴矢量计算方法及装置 |
CN111857039B (zh) * | 2020-06-30 | 2022-05-13 | 中南大学 | 多电机剪切系统协同规划方法及系统 |
CN112039370A (zh) * | 2020-09-09 | 2020-12-04 | 华中科技大学 | 一种基于fpga芯片的多轴交流伺服电机的控制系统 |
CN112532142B (zh) * | 2020-11-27 | 2023-05-26 | 中电凯杰科技有限公司 | 一种agv双轴舵轮基于fpga高度资源复用的控制系统 |
CN112737455A (zh) * | 2020-12-16 | 2021-04-30 | 北京无线电测量研究所 | 一种基于嵌入式fpga的电流控制装置、系统和方法 |
CN112994532B (zh) * | 2021-04-27 | 2021-11-02 | 中国科学院宁波材料技术与工程研究所 | 一体化多轴同步运动控制系统及同步控制方法 |
CN113595460B (zh) * | 2021-07-07 | 2024-01-05 | 华中科技大学 | 一种基于多处理器架构的xy振镜数字控制系统 |
CN115472118A (zh) * | 2022-09-22 | 2022-12-13 | 广东美的智能科技有限公司 | 伺服驱动器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2641512Y (zh) * | 2003-03-20 | 2004-09-15 | 广东科龙电器股份有限公司 | 一种一拖多交流变频空调控制器 |
CN102045010A (zh) * | 2009-10-26 | 2011-05-04 | 北新集团建材股份有限公司 | 一种软启动一拖多控制系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4851250B2 (ja) * | 2006-07-03 | 2012-01-11 | デルタ エレクトロニックス,インコーポレイテッド | 三台一体型acサーボ駆動装置 |
-
2012
- 2012-07-20 CN CN201210253149.1A patent/CN102811012B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2641512Y (zh) * | 2003-03-20 | 2004-09-15 | 广东科龙电器股份有限公司 | 一种一拖多交流变频空调控制器 |
CN102045010A (zh) * | 2009-10-26 | 2011-05-04 | 北新集团建材股份有限公司 | 一种软启动一拖多控制系统 |
Non-Patent Citations (3)
Title |
---|
JP特开2008-17553A 2008.01.24 * |
交流电机高速化驱动关键控制技术研究;赵云;《中国博士学位论文全文数据库》;20120501;11,12,18,19,50-60,95,96 * |
李文虎,等.伺服驱动器EtherCAT接口设计.《电气传动》.2011,第41卷(第7期),51-55. * |
Also Published As
Publication number | Publication date |
---|---|
CN102811012A (zh) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102811012B (zh) | 基于fpga的多轴伺服电机电流环控制系统及控制方法 | |
CN103701382B (zh) | 一种基于fpga的永磁同步电机电流环带宽扩展装置 | |
CN103762964B (zh) | 一种多通道高精度pwm信号采样和生成装置 | |
CN101645685B (zh) | 基于fpga的交流同步电机控制器及其控制方法 | |
CN103516279B (zh) | 一种基于fpga的永磁同步电机控制芯片 | |
CN101272123A (zh) | 基于fpga的空间矢量脉宽调制方法 | |
CN104410345A (zh) | 基于fpga的永磁同步电机矢量控制装置及方法 | |
CN108768220A (zh) | 一种多关节机器人一体化协同控制装置及方法 | |
CN112994532B (zh) | 一体化多轴同步运动控制系统及同步控制方法 | |
CA2587717A1 (en) | Computing method of motor model, motor simulation method, motor simulation apparatus, motor-model computing program, simulation method and simulation program | |
Tazi et al. | Description of an entirely reconfigurable architecture dedicated to the current vector control of a set of AC machines | |
Amornwongpeeti et al. | A single chip FPGA-based solution for controlling of multi-unit PMSM motor with time-division multiplexing scheme | |
CN103744352A (zh) | 一种基于fpga的三次b样条曲线的硬件插补器 | |
CN116961511A (zh) | 一种改进型msmu硬件电流环及控制方法 | |
CN204374726U (zh) | 一种基于b样条曲线高速实时插补的数控系统 | |
CN108108570B (zh) | 面向仿真模型设计的交流电机统一建模方法 | |
CN103746677B (zh) | 一种svpwm实现方法 | |
CN212433614U (zh) | 一种基于fpga的多轴电机流水线控制系统 | |
Sun et al. | An SoC-based platform for integrated multi-axis motion control and motor drive | |
Hemdani et al. | FPGA-based sliding mode direct power control of three-phase PWM boost rectifier | |
CN112039370A (zh) | 一种基于fpga芯片的多轴交流伺服电机的控制系统 | |
US20040027254A9 (en) | Modular functional block for an electronic control system | |
CN104656563B (zh) | 一种脉冲型数控装置及方法 | |
Dong et al. | A digital high performance PMSM servo system based on DSP and FPGA | |
CN113589734B (zh) | 一种基于分布式fpga构架的电机模拟器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |