CN116961511A - 一种改进型msmu硬件电流环及控制方法 - Google Patents
一种改进型msmu硬件电流环及控制方法 Download PDFInfo
- Publication number
- CN116961511A CN116961511A CN202310956585.3A CN202310956585A CN116961511A CN 116961511 A CN116961511 A CN 116961511A CN 202310956585 A CN202310956585 A CN 202310956585A CN 116961511 A CN116961511 A CN 116961511A
- Authority
- CN
- China
- Prior art keywords
- module
- encoder
- signal
- angle
- current
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000005070 sampling Methods 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 39
- 238000006243 chemical reaction Methods 0.000 claims abstract description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 24
- 238000013461 design Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000002441 reversible effect Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 10
- 238000004904 shortening Methods 0.000 abstract description 5
- 238000007670 refining Methods 0.000 abstract description 3
- 230000009466 transformation Effects 0.000 abstract description 3
- 230000001934 delay Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/22—Current control, e.g. using a current control loop
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/0003—Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P27/00—Arrangements or methods for the control of AC motors characterised by the kind of supply voltage
- H02P27/04—Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage
- H02P27/06—Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters
- H02P27/08—Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters with pulse width modulation
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
本发明属于电机控制技术领域,公开了一种改进型MSMU硬件电流环及控制方法,重新规划FPGA的全局定时器功能,以实现对电流采样、编码器数据读取、编码器数据计算、坐标变换、PID运算、SVPWM输出模块的完全实时控制,从而缩短角度更新到角度计算的延迟,以此提高电流环的控制精度。改进后的MSMU占空比更新策略将角度触发和三角函数计算的时序进行细化,利用FPGA高速并行的特点,使电流获取模块、角度更新和三角函数运算模块并行工作,进行Park变换前,同步锁存至对应的寄存器。本发明通过对全局定时器和FPGA功能模块的细化,制定了电角度实时更新的改进MSMU硬件电流环更新策略,将电角度更新延迟从T+Δtθ缩短为TN,实现了电角度更新延迟的优化。
Description
技术领域
本发明属于电机控制技术领域,尤其涉及一种改进型MSMU硬件电流环。
背景技术
通用永磁同步电机控制技术通常采用位置环、速度环、电流环三环控制,其中作为三环控制内环的电流环的性能直接影响到速度环与位置环等外环乃至整个控制***的控制特性。
得益于DSP处理器编程简单、开发周期短等特性,目前,市面常见的伺服驱动器通常采用DSP实现三环控制。受限于电机控制专用DSP的主频(如TI公司的STM320F28XX系列,最高主频仅为150MHz),DSP等微处理器仅支持指令串行执行的架构,决定了电流环的控制周期难以进一步减小;同时,通用总线的应用(如CANopen总线等),使得用于通信处理的时间进一步增加,***载荷进一步增大,导致控制周期外的空闲时间进一步缩小,算法优化的难度增大。不仅如此,依赖于DSP的斩波更新特性,将导致本周期内的采样计算只能在下一周期更新,产生一段时间的滞后,大大降低了电流环的带宽和***的实时性。
通过上述分析,现有技术存在的问题及缺陷为:现有的电流环本周期内的采样计算只能在下一周期更新,产生一段时间的滞后,大大降低了电流环的带宽和***的实时性。
发明内容
针对现有技术存在的问题,本发明提供了一种改进型MSMU硬件电流环。
本发明是这样实现的,一种改进型MSMU硬件电流环,改进型MSMU硬件电流环包括:
全局定时器,用于对中断时间进行控制;
电流采样模块,用于对信号进行采样;
编码器数据读取模块,用于读取编码器信号;
编码器数据计算模块,用于对读取的编码器信号进行解算;
PID运算模块用于实现对电机的精确控制;
SVPWM输出模块,用于输出控制信号。
进一步,包括:
全局定时器:
实现全局定时器可以借助FPGA内部的计时器资源或外部时钟源;可以设置计时器的计数周期来实现所需的中断时间;当计时器计数到设定值时,会触发中断信号,从而在固定周期内执行电流环的控制算法;
电流采样模块:
电流采样模块需要借助模数转换器来将电机电流信号从模拟形式转换为数字形式;ADC的采样速率应根据控制要求和信号频率来确定,通常会设置为足够高的采样率以确保准确的信号采样;
编码器数据读取和计算模块:
读取编码器信号需要与编码器进行接口连接,通过计数器或输入捕获模块来实现;通过读取编码器信号的计数值或脉冲数,可以计算电机的角度信息;
PID运算模块:
PID运算模块实现PID控制算法,包括比例项(P)、积分项(I)、微分项(D)的计算;PID算法的输入是电流误差(设定电流值与实际电流值之差),输出是控制信号;
SVPWM输出模块:
SVPWM输出模块根据PID运算模块的输出,计算对应的PWM信号;SVPWM算法是一种用于产生三相交流电压的调制技术,可以实现对电机的精确控制;
FPGA高速并行特性的利用:
FPGA的高速并行特性可以通过合理的硬件设计和并行计算实现;在电流获取模块、角度更新和三角函数运算模块之间建立合适的数据通路和控制逻辑,使它们可以在同一个时钟周期内同时进行计算,从而提高整个电流环的运算效率;
Park变换前的同步锁存:
在进行Park变换之前,确保电角度更新与电流采样的同步;可以使用适当的时钟同步和寄存器锁存技术,将电角度更新的值在电流采样时刻锁存至对应的寄存器,以确保正确的数据处理。
进一步,编码器数据读取和计算模块的实现涉及硬件接口的设计和编码器信号的解析具体包括:
1.硬件接口设计:
首先,将编码器的AB相信号接入到FPGA芯片的输入引脚;编码器的A相和B相信号是两路正交的方波信号,用于确定转子的转动方向和速度;
2.AB相信号解析:
FPGA芯片上的计数器或输入捕获模块用于捕获AB相信号的脉冲;每次捕获到脉冲时,计数器值会相应地增加或减少;编码器的AB相信号正交编码,可以实现在正转时计数器值递增,在反转时计数器值递减;
3.角度计算:
假设编码器的AB相信号每转一周产生N个脉冲(N通常为偶数),那么每个脉冲代表360度/N的角度;通过读取计数器的值,可以计算电机转子的角度;
当计数器值为k时,电机转子角度为k/N*360度;例如,当计数器值为3时,电机转子角度为3/360*360度=3度;
4.零位标定:
在实际应用中,通常需要进行零位标定,即确定电机转子的起始位置;零位标定的过程是通过检测编码器的零位信号或特定序列的脉冲来确定起始位置,并相应地校准计数器的初始值;
具体的编码器接口和计数器/捕获模块的配置因不同的FPGA芯片和编码器型号而有所差异。
进一步,编码器数据读取和计算模块的实现可以分为以下几个关键步骤:
1.硬件接口设计:
首先,需要将编码器的输出信号连接到FPGA芯片的输入引脚;编码器输出两个信号:A相和B相,这些信号是两路正交的方波脉冲信号;此外,还有一个Z相信号用于零位标定,但在这里我们暂不考虑Z相信号;
2.计数器或输入捕获模块配置:
FPGA芯片内部通常有计数器或输入捕获模块可以用来捕获编码器的脉冲信号;计数器是一个寄存器,可以在每次接收到一个触发信号时增加或减少计数值;输入捕获模块则用于精确地捕获脉冲信号的时间戳;
3.信号解码和计数:
根据编码器的输出信号,可以判断电机是顺时针转动还是逆时针转动;通过对A相和B相信号进行解码,可以得到每次转动的方向;计数器可以记录脉冲信号的数量,从而实时地追踪电机转动的角度;例如,每个脉冲代表360度/N的角度,那么计数器值除以N即为电机转动的角度;
4.零位标定:
零位标定是通过检测编码器的零位信号或特定序列的脉冲来确定电机的起始位置;在启动电机前或***初始化时,可以进行零位标定,将计数器的初始值设置为一个已知的位置,从而建立电机角度与计数器值之间的映射关系。
进一步,利用FPGA高速并行的特点,使电流获取模块、角度更新和三角函数运算模块并行工作,并在进行Park变换前,同步锁存至对应的寄存器。
进一步,设N为一次速度环周期内,电角度的更新次数,则电角度更新延迟为:Δtθ=ΔtI=T/N。
本发明的另一目的在于提供一种应用所述的改进型MSMU硬件电流环的改进型MSMU硬件电流环控制方法,改进型MSMU硬件电流环控制方法包括:
步骤一,通过全局定时器设置中断时间;
步骤二,通过电流采样模块对信号进行采样;
步骤三,通过编码器数据读取模块读取编码器信号;
步骤四,通过编码器数据计算模块对读取的编码器信号进行解算;
步骤五,通过PID运算模块产生控制信号;
步骤六,通过SVPWM输出模块输出控制信号。
本发明的另一目的在于提供一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的改进型MSMU硬件电流环控制方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的改进型MSMU硬件电流环控制方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,信息数据处理终端用于实现所述的改进型MSMU硬件电流环。
结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
第一,本发明对电流环的控制架构和控制性能进行分析,并针对电角度更新延迟进行详细研究,采用基于改进MSMU的更新策略,对硬件电流环进行了优化。
本发明通过对全局定时器和FPGA功能模块的细化,制定了电角度实时更新的改进MSMU硬件电流环更新策略,将电角度更新延迟从T+Δtθ缩短为T/N,实了现电角度更新延迟的优化。
第二,本发明的技术方案解决了人们一直渴望解决、但始终未能获得成功的技术难题:
在实际的应用中,由于离散采样导致的延时是不可避免的,且在信号传递的每个环节中,均引入了各种误差和延迟。为了提高伺服驱动***的控制实时性,需将各模块在嵌入式微处理器或者其他可编程器件中进行实现,详细考虑各模块的资源分配、时序设计和信号延迟。
因此,本发明提出一种改进型MSMU硬件电流环控制策略,过对全局定时器和FPGA功能模块的细化,制定了电角度实时更新的改进MSMU硬件电流环更新策略,将电角度更新延迟从T+Δtθ缩短为为T/N,从而实现电角度更新延迟的优化。采用本发明,能够解决伺服驱动控制中磁场定向控制策略下的电角度更新延迟误差变大问题,有效提高***的电流环控制实时性,保证驱动电流的控制精度。
第三,在电机控制器中,各个结构部件的取得的显著技术进步涵盖了多个领域。以下是一些重要的技术进步:
1.全局定时器:
显著的技术进步在于更高精度和稳定性的全局定时器。现代FPGA和嵌入式***中的计时器资源通常具有更高的时钟频率和精确的计时能力,可以实现更精准的中断触发,从而提高电机控制的稳定性和精确性。
2.电流采样模块:
ADC技术的进步使得电流采样变得更加高精度和快速。高精度的模数转换器允许更准确地将模拟电流信号转换为数字形式,而更快的采样速率能够实现更实时的电流监测,提高控制***的响应速度。
3.编码器数据读取和计算模块:
在编码器数据读取和计算模块方面,显著的技术进步包括更高的编码器脉冲分辨率和更快的数据处理能力。现代编码器的脉冲数和分辨率大大增加,使得电机角度计算更加准确。同时,FPGA和ASIC的高速并行计算能力使得电机角度的实时计算更加高效。
4.PID运算模块:
PID算法的实现一直在不断优化,使得控制器更加稳定和快速。自适应PID控制算法和增量式PID控制算法等新技术的引入,使得电机的控制响应更加灵活和适应性更强。
5.SVPWM输出模块:
在SVPWM输出模块方面,高效的SVPWM算法和硬件加速技术的应用使得PWM信号的生成更加高速和精确。现代FPGA和ASIC内部集成了硬件逻辑电路来加速SVPWM运算,从而提高电机控制的精度和效率。
综上所述,电机控制器中各个结构部件取得的显著技术进步涉及到硬件资源的提升、数据处理能力的提高以及控制算法的优化。这些技术进步共同推动了电机控制器的发展,使得电机控制在精确性、稳定性和效率方面取得了巨大的提升。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的工程应用中的FOC控制模块框图;
图2是本发明实施例提供的电流环更新策略对比图;
图3是本发明实施例提供的基于MCU和FPGA的电流环控制架构图;
图4是本发明实施例提供的考虑角度更新的硬件电流环MSMU更新时序图;
图5是本发明实施例提供的考虑角度更新的改进硬件电流环MSMU更新对比图;
图6是本发明实施例提供的电流闭环模式下的q轴电流示意图;其中,(a)本发明,(b)1个电流环周期,(c)4个电流环周期,(d)无处理;
图7是本发明实施例提供的电流闭环模式下的反馈速度曲线示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的具体的实现方案如下所述:
1.全局定时器:
实现全局定时器可以借助FPGA内部的计时器资源或外部时钟源。可以设置计时器的计数周期来实现所需的中断时间。当计时器计数到设定值时,会触发中断信号,从而在固定周期内执行电流环的控制算法。
2.电流采样模块:
电流采样模块需要借助模数转换器(ADC)来将电机电流信号从模拟形式转换为数字形式。ADC的采样速率应根据控制要求和信号频率来确定,通常会设置为足够高的采样率以确保准确的信号采样。
3.编码器数据读取和计算模块:
读取编码器信号需要与编码器进行接口连接,通过计数器或输入捕获模块来实现。通过读取编码器信号的计数值或脉冲数,可以计算电机的角度信息。
4.PID运算模块:
PID运算模块实现PID控制算法,包括比例项(P)、积分项(I)、微分项(D)的计算。PID算法的输入是电流误差(设定电流值与实际电流值之差),输出是控制信号,例如PWM占空比。
5.SVPWM输出模块:
SVPWM输出模块根据PID运算模块的输出,计算对应的PWM信号。SVPWM算法是一种用于产生三相交流电压的调制技术,可以实现对电机的精确控制;
6.FPGA高速并行特性的利用:
FPGA的高速并行特性可以通过合理的硬件设计和并行计算实现。在电流获取模块、角度更新和三角函数运算模块之间建立合适的数据通路和控制逻辑,使它们可以在同一个时钟周期内同时进行计算,从而提高整个电流环的运算效率。
7.Park变换前的同步锁存:
在进行Park变换之前,确保电角度更新与电流采样的同步。可以使用适当的时钟同步和寄存器锁存技术,将电角度更新的值在电流采样时刻锁存至对应的寄存器,以确保正确的数据处理。
对于每个模块的实际实现方案,还需要考虑具体的硬件平台和电路设计,以及控制算法的精度和性能要求。此外,针对具体应用场景和性能需求,还需要进行一些优化和特殊处理。
下面将针对每个模块给出一个简要的实现方案,尽涵盖每个模块的功能和关键步骤。请注意,实际的实现会因具体硬件平台和应用需求而有所不同。
1.全局定时器:
实现全局定时器可以借助FPGA内部的计时器资源或外部时钟源。可以设置计时器的计数周期来实现所需的中断时间。当计时器计数到设定值时,会触发中断信号,从而在固定周期内执行电流环的控制算法。
2.电流采样模块:
电流采样模块需要借助模数转换器(ADC)来将电机电流信号从模拟形式转换为数字形式。ADC的采样速率应根据控制要求和信号频率来确定,通常会设置为足够高的采样率以确保准确的信号采样。
3.编码器数据读取和计算模块:
读取编码器信号需要与编码器进行接口连接,通过计数器或输入捕获模块来实现。通过读取编码器信号的计数值或脉冲数,可以计算电机的角度信息。
4.PID运算模块:
PID运算模块实现PID控制算法,包括比例项(P)、积分项(I)、微分项(D)的计算。PID算法的输入是电流误差(设定电流值与实际电流值之差),输出是控制信号,例如PWM占空比。
5.SVPWM输出模块:
SVPWM输出模块根据PID运算模块的输出,计算对应的PWM信号。SVPWM算法是一种用于产生三相交流电压的调制技术,可以实现对电机的精确控制;
6.FPGA高速并行特性的利用:
FPGA的高速并行特性可以通过合理的硬件设计和并行计算实现。在电流获取模块、角度更新和三角函数运算模块之间建立合适的数据通路和控制逻辑,使它们可以在同一个时钟周期内同时进行计算,从而提高整个电流环的运算效率。
7.Park变换前的同步锁存:
在进行Park变换之前,确保电角度更新与电流采样的同步。可以使用适当的时钟同步和寄存器锁存技术,将电角度更新的值在电流采样时刻锁存至对应的寄存器,以确保正确的数据处理。
对于每个模块的实际实现方案,还需要考虑具体的硬件平台和电路设计,以及控制算法的精度和性能要求。此外,针对具体应用场景和性能需求,还需要进行一些优化和特殊处理。
编码器数据读取和计算模块的实现涉及硬件接口的设计和编码器信号的解析;
1.硬件接口设计:
首先,将编码器的AB相信号接入到FPGA芯片的输入引脚。编码器的A相和B相信号是两路正交的方波信号,用于确定转子的转动方向和速度。
2.AB相信号解析:
FPGA芯片上的计数器或输入捕获模块用于捕获AB相信号的脉冲。每次捕获到脉冲时,计数器值会相应地增加或减少。编码器的AB相信号正交编码,可以实现在正转时计数器值递增,在反转时计数器值递减。
3.角度计算:
假设编码器的AB相信号每转一周产生N个脉冲(N通常为偶数),那么每个脉冲代表360度/N的角度。通过读取计数器的值,可以计算电机转子的角度。
例如,假设计数器初始值为0,每个脉冲代表1度(N=360),并且编码器AB相信号采集到以下脉冲序列:0,1,2,3,...,N-2,N-1,0,1,2,...。
当计数器值为k时,电机转子角度为k/N*360度。例如,当计数器值为3时,电机转子角度为3/360*360度=3度。
4.零位标定(可选):
在实际应用中,通常需要进行零位标定,即确定电机转子的起始位置。零位标定的过程是通过检测编码器的零位信号或特定序列的脉冲来确定起始位置,并相应地校准计数器的初始值。
具体的编码器接口和计数器/捕获模块的配置因不同的FPGA芯片和编码器型号而有所差异。因此,在实际设计中,查阅FPGA芯片和编码器的手册,以了解其具体的接口和配置要求,并根据硬件平台进行相应的设置和调试。
编码器数据读取和计算模块的实现可以分为以下几个关键步骤:
1.硬件接口设计:
首先,需要将编码器的输出信号连接到FPGA芯片的输入引脚。编码器输出两个信号:A相和B相,这些信号是两路正交的方波脉冲信号。此外,还有一个Z相信号用于零位标定,但在这里我们暂不考虑Z相信号。
2.计数器或输入捕获模块配置:
FPGA芯片内部通常有计数器或输入捕获模块可以用来捕获编码器的脉冲信号。计数器是一个寄存器,可以在每次接收到一个触发信号时增加或减少计数值。输入捕获模块则用于精确地捕获脉冲信号的时间戳。
3.信号解码和计数:
根据编码器的输出信号,可以判断电机是顺时针转动还是逆时针转动。通过对A相和B相信号进行解码,可以得到每次转动的方向。计数器可以记录脉冲信号的数量,从而实时地追踪电机转动的角度。例如,每个脉冲代表360度/N的角度,那么计数器值除以N即为电机转动的角度。
4.零位标定(可选):
如前所述,零位标定是通过检测编码器的零位信号或特定序列的脉冲来确定电机的起始位置。在启动电机前或***初始化时,可以进行零位标定,将计数器的初始值设置为一个已知的位置,从而建立电机角度与计数器值之间的映射关系。
具体的实现细节会受到所使用的FPGA芯片型号、编码器型号以及应用需求的影响。因此,在实际设计中,查阅FPGA芯片和编码器的手册以了解其具体的接口和配置要求,并根据硬件平台进行相应的设置和调试。
编码器数据读取和计算模块的实现需要通过硬件接口连接编码器信号,然后使用计数器或输入捕获模块来捕获脉冲信号并实时计数。通过解码信号并进行角度计算,可以获取电机转动的角度信息,从而实现对电机的角度控制和定位。
在实际的应用中,由于离散采样导致的延时误差是不可避免的,在磁场导向控制算法中,电流环的反馈信号采样和数据处理过程如图1所示。在信号的采样过程中,会引入采样误差。在计算过程中,又会引入精度误差和延迟误差。为了将各模块在嵌入式微处理器或者其他可编程器件中进行实现,需要详细考虑各模块的资源分配、时序设计和信号延迟,以实现误差的最小化。本发明将对电流环的控制架构和控制性能进行分析,并针对电角度更新延迟进行详细研究,采用基于改进MSMU的更新策略,对硬件电流环进行优化。
1.电流环控制结构方案对比
提高电流环计算频率和PWM载波频率可以对转矩控制效果带来显著优化,但是由于三相逆变器功率模块开关损耗的限制,导致PWM载波频率不能太高,否则会导致功率器件效率降低甚至发热损坏,故PWM频率一般在20KHz以下。从图1中可知,优化电角度更新延迟和电流环计算流程可以提高转矩控制精度。故需要对伺服***的控制流程和架构进行分析。
对于单核MCU而言,一般采用定时器中断的方式来周期性地执行控制运算任务。其中断服务函数必须严格设计,以防止程序运行超时。否则会导致控制周期变化,从而影响控制效果,甚至发生后台程序卡死而发生意外情况。若MCU在定时器下溢中断执行控制函数,则在一个载波周期内,可进行单次电流采样和单次占空比更新(Single Sample andSingle Update,SSSU),该方案的更新延迟可以表示为:
其中T为MCU的中断周期,tθ为进入中断服务函数至读取并计算角度的三角函数值的时间,tI为进入中断服务函数至运行相应的电流环代码的时间。
对于运算性能较强的MCU,可在更短的时间内执行完中断服务函数,则可以将定时器上溢事件也作为中断源来触发中断,这样就可以在一个载波周期内,实现两次电流采样和两次占空比更新(Double Sample and Double Update,DSDU),进一步提高电流环的运算频率,其电流环延迟和角度更新延迟均为:
由于MCU是单核架构,其只能进行流水线工作,且频繁的中断将导致处理器运行效率低下,容易出现稳定性问题。当引入FPGA后,采用ARM+FPGA的架构,通过FPGA高速并行的特点来运行磁场定向控制算法,则可以在DSDU的基础上,进一步实现一个载波周期内多次电流采样和多次占空比更新(Multiple Sample and Multiple Update,MSMU)的硬件电流环策略,三种更新策略的对比如图2所示。设在一次MCU中断下,FPGA中的硬件电流环算法运行了N次,则MSMU策略的电流环和角度更新延迟可表示为:
这种多次电流采样和更新的方案,极大提高了电流环的运行频率,使电流控制的动态性能得到提高。对于硬件电流环的实现,需要在FPGA中使用超高速集成电路硬件描述语言(Very-High-Speed Integrated Circuit Hardware Description Language,VHDL)搭建全局定时器、电流采集模块、编码器解码模块以及电流环运算等模块,其结构如图3所示。由于各模块可独立并行工作,故需要通过全局时钟模块设置控制时序,使各模块有序执行。其电流环的计算速度得到了很大的的提高,在实现多次电流环计算和PWM占空比更新的同时,也不会给ARM的中断处理带来影响,从而对控制效率进一步的优化。
采用FPGA实现的电流环MSMU策略,突破了基于流水线架构的MCU的限制,而且基于全局定时器对各模块进行时序控制,可以严格实现电流环的周期性执行,使电流环运算更加稳定。但是通过对基于MCU和FPGA的电流环控制架构的分析可以看出,其中Park变换、iPark变换需要使用角度的正余弦值。因此角度更新的速度和精度,将影响电流环的性能。
本发明在对基于FPGA和MCU的硬件电流环的角度更新策略进行研究后,发现三角函数运算会在FPGA中占用较大规模的逻辑资源,为了实现控制器资源的有效利用,会将其放在具备三角函数定点运算库函数的MCU中实现。
由于MCU仅在中断时对FPGA的角度数据进行访问和计算,这将导致正余弦值更新不及时的缺陷。在每次定时器中断时,MCU会控制FPGA触发编码器更新任务,并在下一个周期,将编码器获得的角度值计算为正余弦值,传输给FPGA进行硬件电流环相关运算,当考虑角度更新后,MSMU的更新时序如图4所示。
MCU每次进入下溢中断时,会从FPGA中读取上一次编码器模块获得的角度信息,并触发FPGA的下一次编码器更新指令,将角度数据进行三角函数运算后,再写入FPGA对应的寄存器中。该过程使得角度更新的延迟在1个周期以上。
在一个控制周期内,电机的电角度在不断改变,而Park变换、iPark变换和SVPWM生成模块却使用了上一个周期获取的电角度位置正余弦值。且MCU缺乏实时特性,导致三角函数值的更新时间受程序影响,将该值设置为tθ:
尽管多次电流环计算提高了电流环的带宽,但是由于角度未更新,导致坐标变换得到的转矩电流与实际有误差,从而导致控制精度下降。当转速不断升高时,转矩电流计算值与实际值之前的误差逐渐增大。且由于电角度和机械角度之间存在极对数的倍数关系,导致极对数较大的电机,出现该问题的临界转速更低。
2.基于电角度实时更新的MSMU占空比更新
针对基于MSMU的硬件电流环电角度更新不及时的问题,本发明提出了一种基于改进MSMU的占空比更新方案,重新规划FPGA的全局定时器功能,以实现对电流采样、编码器数据读取、编码器数据计算、坐标变换、PID运算、SVPWM输出模块的完全实时控制,从而缩短角度更新到角度计算的延迟,以此提高电流环的控制精度。经过改进后的MSMU占空比更新时序图如图5所示。
改进后的MSMU占空比更新策略将角度触发和三角函数计算的时序进行细化,利用FPGA高速并行的特点,使电流获取模块、角度更新和三角函数运算模块并行工作,并在进行Park变换前,同步锁存至对应的寄存器。设N为一次速度环周期内,电角度的更新次数,则该方案的电角度更新延迟为:
Δtθ=ΔtI=T/N (5)
本发明在对电流环控制方案进行分析后,定位到基于MSMU的硬件电流环角度更新延迟较大的问题,并通过对全局定时器和FPGA功能模块的细化,制定了电角度实时更新的改进MSMU硬件电流环更新策略,将电角度更新延迟从T+Δtθ缩短为T/N,从而实现电角度更新延迟的优化。
本发明的应用实施例提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行改进型MSMU硬件电流环控制方法的步骤。
本发明的应用实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行改进型MSMU硬件电流环控制方法的步骤。
本发明的应用实施例提供了一种信息数据处理终端,信息数据处理终端用于实现改进型MSMU硬件电流环。
为了验证所提改进型MSMU硬件电流环技术,在伺服驱动电流闭环模式中,设置不同的电角度延迟,观察电磁转矩的波动幅度。
表1永磁同步电机参数
试验用的永磁伺服电机及参数如表1所示,设置电机粘性摩擦系数和库伦摩擦系数均为0,则电机受到恒转矩作用后进行匀加速运动。设置指令电流为1A,电流环控制周期为40kHz。PI控制器中P=10,I=1000。在0.01s处施加电流阶跃信号,电机进行匀加速运动,仿真持续时间为0.15s,则电机转速加速至2000rpm左右。对比电角度更新延迟分别为无延迟(本发明),25us(1个电流环周期),100us(4个电流环周期)和500us(无处理)下的反馈电流曲线,以及速度反馈曲线,分别如图6和图7所示。
可以看出,向电流环施加阶跃指令后,电机开始做匀加速运动,反馈电流的波动幅度逐渐增大。电角度延迟分别为0,25us,100us时,反馈电流的波形基本相似。但是当角度延迟500us时,反馈电流的波动幅度变大,并开始出现毛刺。且根据如3所示反馈速度曲线可以看出,当角度延迟500us时,其反馈速度的变化也与其他三种情况相差较大。其原因在于,过大的角度延迟,导致q轴电流计算误差较大,使电磁转矩与理想状态的偏差变大,从而无法精确跟随理想速度波形。试验结果表明,本发明所提的改进型MSMU硬件电流环技术,可实现电角度更新基本无延迟,能够满足伺服驱动***对对电角度更新频率和电流环计算频率需求,保证了控制实时性。
实施例1:电机控制器的硬件实现方案
1.全局定时器:
使用FPGA内部的计时器资源,设置计时器的计数周期为控制周期,例如1ms。当计时器计数到1ms时,触发一个中断。
2.电流采样模块:
采用12位模数转换器(ADC),采样电机电流信号。将模拟电流信号连接到ADC的输入引脚,设置ADC的采样频率为10kHz,以确保高精度的电流采样。
3.编码器数据读取和计算模块:
使用两个外部计数器,分别连接编码器的A相和B相输出信号。每当接收到一个上升沿或下降沿触发时,对应计数器的计数值增加或减少。在每个控制周期内,读取A相和B相计数器的值,然后根据编码器脉冲数和分辨率(例如N=2048)计算电机角度。
4.PID运算模块:
实现一个带有可调参数的PID控制器,根据电流设定值和实际电流值的误差,计算PID输出,即电流控制信号。例如,计算PID输出为:PID_output=Kp*error+Ki*integral(error)+Kd*derivative(error),其中Kp、Ki和Kd分别是比例、积分和微分增益,error是电流误差。
5.SVPWM输出模块:
根据PID运算模块的输出电流控制信号,实现SVPWM算法来生成三相PWM信号。将PWM信号发送到电机的功率开关装置,控制电机的电流和速度。
实施例2:嵌入式***上的电机控制器实现方案
1.全局定时器:
使用嵌入式***的定时器资源,设置计时器的计数周期为控制周期,例如1ms。在每个周期结束时,触发一个定时器中断。
2.电流采样模块:
使用内置的模数转换器(ADC),将电机电流信号转换为数字信号。设置ADC的采样频率为5kHz,以确保足够的精度。
3.编码器数据读取和计算模块:
使用GPIO(通用输入输出)引脚来读取编码器的A相和B相信号。在每个控制周期内,读取A相和B相信号的状态,并根据编码器脉冲数和分辨率计算电机角度。
4.PID运算模块:
在嵌入式***的控制循环中实现PID控制算法。根据电流设定值和实际电流值的误差,计算PID输出信号,即电流控制信号。
5.SVPWM输出模块:
根据PID运算模块的输出电流控制信号,实现SVPWM算法来生成三相PWM信号。使用PWM模块输出PWM信号,控制电机的电流和速度。
这两个实施例展示了在不同硬件平台下的电机控制器的具体实现方案。在实际应用中,根据具体的硬件资源、性能要求和成本考虑,可以进行更细致的调整和优化。电机控制涉及到多个模块的协同工作,所以在实现过程中需要考虑各个模块之间的时序和数据传递等问题,以确保电机控制的稳定和精确性。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种改进型MSMU硬件电流环,其特征在于,包括:
全局定时器,用于对中断时间进行控制;
电流采样模块,用于对信号进行采样;
编码器数据读取模块,用于读取编码器信号;
编码器数据计算模块,用于对读取的编码器信号进行解算;
PID运算模块用于实现对电机的精确控制;
SVPWM输出模块,用于输出控制信号。
2.如权利要求1所述的改进型MSMU硬件电流环,其特征在于,包括:
全局定时器:
实现全局定时器可以借助FPGA内部的计时器资源或外部时钟源;可以设置计时器的计数周期来实现所需的中断时间;当计时器计数到设定值时,会触发中断信号,从而在固定周期内执行电流环的控制算法;
电流采样模块:
电流采样模块需要借助模数转换器来将电机电流信号从模拟形式转换为数字形式;ADC的采样速率应根据控制要求和信号频率来确定,通常会设置为足够高的采样率以确保准确的信号采样;
编码器数据读取和计算模块:
读取编码器信号需要与编码器进行接口连接,通过计数器或输入捕获模块来实现;通过读取编码器信号的计数值或脉冲数,可以计算电机的角度信息;
PID运算模块:
PID运算模块实现PID控制算法,包括比例项(P)、积分项(I)、微分项(D)的计算;PID算法的输入是电流误差(设定电流值与实际电流值之差),输出是控制信号;
SVPWM输出模块:
SVPWM输出模块根据PID运算模块的输出,计算对应的PWM信号;SVPWM算法是一种用于产生三相交流电压的调制技术,可以实现对电机的精确控制;
FPGA高速并行特性的利用:
FPGA的高速并行特性可以通过合理的硬件设计和并行计算实现;在电流获取模块、角度更新和三角函数运算模块之间建立合适的数据通路和控制逻辑,使它们可以在同一个时钟周期内同时进行计算,从而提高整个电流环的运算效率;
Park变换前的同步锁存:
在进行Park变换之前,确保电角度更新与电流采样的同步;可以使用适当的时钟同步和寄存器锁存技术,将电角度更新的值在电流采样时刻锁存至对应的寄存器,以确保正确的数据处理。
3.如权利要求1所述的改进型MSMU硬件电流环,其特征在于,编码器数据读取和计算模块的实现涉及硬件接口的设计和编码器信号的解析具体包括:
1)硬件接口设计:
首先,将编码器的AB相信号接入到FPGA芯片的输入引脚;编码器的A相和B相信号是两路正交的方波信号,用于确定转子的转动方向和速度;
2)AB相信号解析:
FPGA芯片上的计数器或输入捕获模块用于捕获AB相信号的脉冲;每次捕获到脉冲时,计数器值会相应地增加或减少;编码器的AB相信号正交编码,可以实现在正转时计数器值递增,在反转时计数器值递减;
3)角度计算:
假设编码器的AB相信号每转一周产生N个脉冲,那么每个脉冲代表360度/N的角度;通过读取计数器的值,可以计算电机转子的角度;
当计数器值为k时,电机转子角度为k/N*360度;例如,当计数器值为3时,电机转子角度为3/360*360度=3度;
4)零位标定:
零位标定的过程是通过检测编码器的零位信号或特定序列的脉冲来确定起始位置,并相应地校准计数器的初始值;
具体的编码器接口和计数器/捕获模块的配置因不同的FPGA芯片和编码器型号而有所差异。
4.如权利要求1所述的改进型MSMU硬件电流环,其特征在于,编码器数据读取和计算模块的实现包括以下步骤:
1)硬件接口设计:
将编码器的输出信号连接到FPGA芯片的输入引脚;
2)计数器或输入捕获模块配置:
FPGA芯片内部通常有计数器或输入捕获模块可以用来捕获编码器的脉冲信号;在每次接收到一个触发信号时增加或减少计数值;输入捕获模块则用于精确地捕获脉冲信号的时间戳;
3)信号解码和计数:
根据编码器的输出信号,判断电机是顺时针转动还是逆时针转动;通过对A相和B相信号进行解码,得到每次转动的方向;计数器可以记录脉冲信号的数量,从而实时地追踪电机转动的角度;
4)零位标定:
零位标定是通过检测编码器的零位信号或特定序列的脉冲来确定电机的起始位置;在启动电机前或***初始化时,可以进行零位标定,将计数器的初始值设置为一个已知的位置,从而建立电机角度与计数器值之间的映射关系。
5.如权利要求1所述的改进型MSMU硬件电流环,其特征在于,利用FPGA高速并行的特点,使电流获取模块、角度更新和三角函数运算模块并行工作,并在进行Park变换前,同步锁存至对应的寄存器。
6.如权利要求1所述的改进型MSMU硬件电流环,其特征在于,设N为一次速度环周期内,电角度的更新次数,则电角度更新延迟为:Δtθ=ΔtI=T/N。
7.一种应用如权利要求1~6任意一项所述的改进型MSMU硬件电流环的改进型MSMU硬件电流环控制方法,其特征在于,改进型MSMU硬件电流环控制方法包括:
步骤一,通过全局定时器设置中断时间;
步骤二,通过电流采样模块对信号进行采样;
步骤三,通过编码器数据读取模块读取编码器信号;
步骤四,通过编码器数据计算模块对读取的编码器信号进行解算;
步骤五,通过PID运算模块产生控制信号;
步骤六,通过SVPWM输出模块输出控制信号。
8.一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求7所述的改进型MSMU硬件电流环控制方法的步骤。
9.一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求7所述的改进型MSMU硬件电流环控制方法的步骤。
10.一种信息数据处理终端,信息数据处理终端用于实现如权利要求1~6任意一项所述的改进型MSMU硬件电流环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310956585.3A CN116961511A (zh) | 2023-07-28 | 2023-07-28 | 一种改进型msmu硬件电流环及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310956585.3A CN116961511A (zh) | 2023-07-28 | 2023-07-28 | 一种改进型msmu硬件电流环及控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116961511A true CN116961511A (zh) | 2023-10-27 |
Family
ID=88461759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310956585.3A Pending CN116961511A (zh) | 2023-07-28 | 2023-07-28 | 一种改进型msmu硬件电流环及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116961511A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117639607A (zh) * | 2024-01-25 | 2024-03-01 | 深圳市科沃电气技术有限公司 | 电机的控制方法、装置、设备及存储介质 |
-
2023
- 2023-07-28 CN CN202310956585.3A patent/CN116961511A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117639607A (zh) * | 2024-01-25 | 2024-03-01 | 深圳市科沃电气技术有限公司 | 电机的控制方法、装置、设备及存储介质 |
CN117639607B (zh) * | 2024-01-25 | 2024-04-02 | 深圳市科沃电气技术有限公司 | 电机的控制方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103701382B (zh) | 一种基于fpga的永磁同步电机电流环带宽扩展装置 | |
CN102291073B (zh) | 多轴步进电机插补控制器及多轴步进电机运动控制卡 | |
CN116961511A (zh) | 一种改进型msmu硬件电流环及控制方法 | |
JP2003111472A (ja) | グラウンド基準電圧制御された電気機械のためのスイッチング方法 | |
US8884572B2 (en) | Signal processor, encoder, and motor system | |
CN103516279A (zh) | 一种基于fpga的永磁同步电机控制芯片 | |
Chen et al. | M/T method based incremental encoder velocity measurement error analysis and self-adaptive error elimination algorithm | |
Shao et al. | Development of an FPGA-based motion control ASIC for robotic manipulators | |
Zhang et al. | An open embedded hardware and software architecture applied to industrial robot control | |
CN212433614U (zh) | 一种基于fpga的多轴电机流水线控制*** | |
CN111130411B (zh) | 提高双轴直驱平台伺服***同步控制精度的装置及方法 | |
EP4270768A1 (en) | Circuit structure for implementing lead/lag commutation of electric motor | |
CN202172382U (zh) | 多轴步进电机插补控制器及多轴步进电机运动控制卡 | |
CN112865650B (zh) | 基于fpga的斩波周期可变的硬件电流环控制***及方法 | |
Sun et al. | An SoC-based platform for integrated multi-axis motion control and motor drive | |
Shi et al. | FPGA Implementation of High-Bandwidth Vector Control for PMSM Based on Parallel Processing Technology | |
US7088072B2 (en) | Motor control system | |
Liu et al. | Design of stepper motor position control system based on DSP | |
CN115913040B (zh) | 一种电流环硬件加速引擎及*** | |
KR100925274B1 (ko) | 다축 모션 제어 회로 및 장치 | |
CN218679039U (zh) | 一种模数转换器 | |
CN116979850B (zh) | 电机转动控制方法及装置 | |
EP3679645B1 (en) | Method of controlling a brushless dc motor | |
Zhang et al. | Design of Multi-Axis Servo Controller Based on MPSoC Architecture | |
CN113541538A (zh) | 伺服驱动器和伺服驱动*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |