一种永磁同步电机的跨平台磁场定向控制方法

摘要: 本发明涉及永磁同步电机控制,具体为一种永磁同步电机的跨平台磁场定向控制方法。背景技术:1、永磁同步电机(pmsm)的磁场定向控制(foc)作为高精度电机控制核心...
一种永磁同步电机的跨平台磁场定向控制方法

本发明涉及永磁同步电机控制,具体为一种永磁同步电机的跨平台磁场定向控制方法。

背景技术:

1、永磁同步电机(pmsm)的磁场定向控制(foc)作为高精度电机控制核心技术,通过坐标变换与双闭环pi调节实现转矩与转速的精准调控。然而,现有foc方法在跨平台迁移时面临四大技术瓶颈:其一,外设寄存器访问方式差异导致控制时序偏移,破坏已调优参数的有效性;其二,死区补偿策略在电流过零点因符号跳变引发pwm占空比抖动,加剧转矩脉动;其三,多平台适配需维护独立代码分支,开发成本随平台数量指数增长;其四,人工移植周期长达2-4周,难以满足产品快速迭代需求。

2、针对上述问题,现有技术尝试通过整体替换硬件抽象层实现平台迁移,但底层指令序列差异仍导致时序失配,且无法避免死区补偿的硬切换缺陷。此外,传统方案未建立编译期硬件行为等价映射机制,依赖人工逐行修改代码,效率低下且易引入人为误差。

技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本发明提供了一种永磁同步电机的跨平台磁场定向控制方法,具备控制时序跨平台一致性继承、死区补偿平滑无跳变、多平台统一代码分支维护及快速平台迁移的优点,解决了现有foc控制方法在跨平台移植时控制时序失效、死区补偿过零点占空比抖动、多平台维护成本高及迁移周期长的问题。

3、(二)技术方案

4、为实现上述目的,本发明提供如下技术方案:一种永磁同步电机的跨平台磁场定向控制方法,包括以下步骤:

5、s1、构建寄存器访问的类型等价映射:在编译阶段,于硬件兼容映射头文件中,将目标微控制器的外设基地址数据类型统一定义为与源微控制器相同的类型名,并用预处理宏重映射外设基地址;

6、s2、构建寄存器位控制域的符号映射:在编译阶段,将磁场定向控制算法中引用的所有第一微控制器的寄存器位控制宏名,利用#define预处理指令逐一映射为目标微控制器对应寄存器位的宏名,并采用#ifndef...#define...#endif三行条件编译防护模式;

7、s3、构建外设驱动接口的指令级等价替换:在编译阶段,将foc控制算法中每一次对硬件抽象层驱动接口的调用,使用static inline静态内联函数一对一映射为直接操作目标微控制器外设寄存器的编译期内联函数,在-o1及以上优化级别下,编译器将每个调用点的内联函数体展开为加载/位或/存储三指令序列,并与目标微控制器原生代码直接操作pwm定时器寄存器生成的汇编指令周期数完全相同;

8、s4、配置目标平台的控制外设:新建外设初始化源文件,按控制时序严格配置目标微控制器的各项外设参数;

9、s5、关联硬件兼容映射层并编译环境:在编译配置中,将c编译器的头文件搜索路径从指向源微控制器硬件抽象层改为指向硬件兼容映射层和目标微控制器标准外设库;

10、s6、编译验证与有序纠错:在编译过程中,按步骤s1类型层→步骤s2位宏层→步骤s3函数层的顺序排查和修正编译错误;

11、s7、烧录并运行控制:将编译生成的目标固件烧录至目标微控制器,上电后首先执行步骤s4的启动诊断,确认系统正常后启动电机,按设定时序执行foc控制循环。

12、优选的,所述s1中寄存器访问的类型等价映射构建流程:

13、s1.1、对于目标微控制器以uint3整型数值宏表示外设基地址,而源微控制器以结构体指针方式访问的情形,通过c语言typedef uint3 tim_将外设寄存器类型定义为uint3;

14、s1.2、再通过#define tim1将目标微控制器的数值基地址强制转换为与源微控制器兼容的类型名,使得源微控制器风格的寄存器访问表达式在目标微控制器的编译环境下被等价变换为对实际硬件寄存器地址的访问指令。

15、优选的,所述s1中等价变换的正确性建立在以下硬件事实之上:第一微控制器与第二微控制器的脉宽调制定时器、模数转换器、通用输入输出端口的电机控制相关外设的寄存器基地址和偏移地址布局完全一致,由gd32f4xx产品的寄存器级接口兼容性设计保证。

16、优选的,所述s2中防护模式的形式化语义为:

17、(1)当某宏名已在目标微控制器原生头文件中被定义时,则shim层跳过定义;

18、(2)当该宏名仅存在于源微控制器的命名空间中,则shim层作为补充提供定义。

19、优选的,所述s3中每个编译期内联函数满足函数签名全等约束,即函数名、形参类型和个数、返回值类型与源微控制器的原驱动函数逐字一致,函数体直接操作目标微控制器的寄存器位。

20、优选的,所述s4中目标平台的控制外设参数配置包括:

21、(a) 配置系统时钟树:外部高速晶振经锁相环倍频至168mhz系统时钟,其中高性能总线时钟为168mhz,外设总线2时钟为84mhz,模数转换器时钟为21mhz;

22、(b) 配置控制相关引脚的复用功能:将pa8/pa9/pa10和pb13/pb14/pb15配置为pwm输出,将pc6/pc7/pc8配置为编码器输入,将pc0/pc1/pc2配置为模数转换器电流采样输入,将pb6/pb7配置为串口通信;

23、(c) 使能pwm定时器、模数转换器、编码器定时器、串口与通用串行总线外设模块的时钟;

24、(d) 进行中断向量名映射:将源微控制器的中断向量名映射为目标微控制器的对应中断向量名;

25、(e) 启动诊断:上电后依次检查锁相环锁定状态、外部高速晶振起振状态、pwm定时器时钟、模数转换器时钟、通用输入输出端口时钟,返回8位按位编码故障码。

26、优选的,所述s5中foc控制算法层的全部源文件内的代码不做任何修改,保持原有的外设寄存器访问表达式和驱动接口调用不变。

27、优选的,所述s6中编译验证与有序纠错实现为:

28、(1)第1轮编译后检查类型层错误,补充缺失的typedef定义;

29、(2)第2轮编译后检查位宏层错误,补充缺失的#define寄存器位映射;

30、(3)第3轮编译后检查函数层错误,补充缺失的static inline内联函数定义。

31、优选的,所述s7中烧录固件并执行带死区补偿的磁场定向控制循环过程:

32、(一)中断调度与时序保障机制概述:采用arm cortex-m4f内核的嵌套向量中断控制器,优先级分组为nvic_prigroup_pre3_sub1,7个中断源按抢占优先级从高到低依次为:pwm上溢更新中断→adc注入组转换结束中断→编码器溢出/串口通信中断→pwm刹车/usb中断→systick中断;

33、(二)电流环最坏情况执行时间的确定性保障:逐项累加从中断响应到pwm寄存器写入的全链路指令周期:nvic响应延迟12周期+adc数据读取与预处理80周期+clarke变换120周期+park变换180周期+d轴pi控制150周期+q轴pi控制150周期+逆park变换180周期+空间矢量脉宽调制计算200周期+pwm比较寄存器写入与中断返回60周期=1132个中央处理器周期;

34、(三)磁场定向控制计算流程的执行序列:每62.5微秒执行一次:pwm定时器上溢事件触发adc注入组硬件自动转换,完成三相电流同步采样;adc转换结束中断触发后,依次执行clarke变换、park变换、d轴pi控制、q轴pi控制、逆park变换及svpwm计算,最终将三相占空比经由步骤s3的内联函数写入pwm比较寄存器,每500微秒在systick中断中执行速度环pi计算,更新q轴电流给定值,形成转速外环与电流内环的双闭环级联控制结构;

35、(四)带线性过渡区的死区补偿控制方法:将传统的基于相电流符号的硬切换补偿替换为分段连续补偿函数:

36、

37、其中,表示第k个pwm周期的pwm比较值补偿量,dtcompcnt表示死区补偿满量计数值,表示相电流adc采样值,为过渡区阈值,当>时补偿量为+dtcompcnt;当<-时为-dtcompcnt;当||≤时为(dtcompcnt/)×。

38、优选的,所述s7分段连续补偿函数中过渡区阈值满足上限≤¼ ×和下限>×双重约束,额外增加的计算量20个cpu周期,满足不超过5%的设计约束。

39、与现有技术相比,本发明提供了一种永磁同步电机的跨平台磁场定向控制方法,具备以下有益效果:

40、1、本发明通过编译阶段注入的三层递进式硬件兼容映射层(类型等价映射→位域符号映射→指令级等价替换),将foc控制算法中全部外设寄存器访问操作在编译期等价变换为目标微控制器的寄存器操作指令(ldr/orr/str三指令序列),使同一套控制算法在不同微控制器平台上产生完全等价的pwm输出时序和adc采样时序,达到了已调优的控制参数(pi增益、时序偏移、死区补偿值)在不同平台间直接继承的技术效果,无需重新调参,消除了跨平台移植后控制性能衰减的问题。

41、2、本发明通过将死区补偿环节中传统的相电流符号硬切换替换为带线性过渡区的分段连续补偿函数,使补偿量在整个实数域连续变化,达到了消除相电流过零点附近因adc噪声引起的补偿量双值阶跃跳变的技术效果,从根源上抑制了pwm占空比抖动和零电流钳位效应,改善了电流波形质量并降低了转矩脉动;同时额外计算量仅占电流环wcet的1.8%,不影响16khz控制周期的实时性。

42、3、本发明通过仅修改编译器的头文件搜索路径(从源微控制器hal/ll库指向shim层和目标微控制器标准外设库),使foc控制算法层全部源文件(120个)代码保持零修改,实现了跨平台部署从传统方案中删除替换硬件抽象层并逐处修改代码变为一套控制算法+m个映射头文件的模块化架构,达到了多平台统一代码分支维护和迁移周期从2-4周缩短至约8小时的技术效果,从而满足电机控制产品的快速迭代需求。