本帖最后由 ArteryMCU 于 2024-8-28 15:54 编辑
点击查看雅特力电机应用快速入门指南详情
AT32电机控制算法库 目标电机: 三相永磁同步电机(直流无刷电机) 控制模式: ①可执行有位置感测器/无位置感测器FOC弦波矢量控制 ②可执行有位置感测器/无位置感测器120°方波BLDC电机控制 三相PWM调制模式: ①SVPWM ②120°导通PWM控制 相电流检测模式: ①三电阻电流检测 ②双电阻电流检测 ③单电阻电流检测和重构方式 自动调试功能: ①霍尔状态自学习(霍尔传感器专用) ②电机线圈参数自动辨识 ③电流PI控制参数自定义 图1. AT32电机控制算法库
电机开发板AT-MOTOR-EVB AT-MOTOR-EVB电机开发板是一个泛用型的低压三相电机驱动控制板,可适配AT32F413、AT32F415、AT32F425、AT32F421、AT32L021、AT32F423、AT32F455等系列的Sub小板,搭配雅特力电机函数库,PMSM(BLDC)电机,AT-Link或第三方调试下载器使用,可驱动直流无刷电机、交流同步电机,以及异步电机。 相关硬件配置可参考UM0011低压电机控制开发板使用手册。 图2. AT-MOTOR-EVB适配Sub板
电机开发软件 雅特力提供多模式完整电机库,配置免费的电机监控上位机调试软件,友好的电机监控和调试软件UI界面,可实时监看电机运转参数、状态与动态显示响应波形,便于进行在线调试相关控制参数,满足工程人员开发需求,提升电机控制产品上市进程。 软件环境准备 ①开启相应范例工程AT32F4xx_MC_Library_Project\motor_evb_2v0\at32f4xx ②电机应用PC软件ArteryMotorMonitor.exe(本软件不需安装,只需直接运行可执行程序) ③Keil的配置需根据各个AT32 MCU的闪存存储大小修改Options中的Read/Only Memory Areas,详细参照下表1,例:AT32F413RCT7的闪存存储大小为256K字节,则其IROM1的起始位置为0x8000000,大小为0x3F800,其IROM2的起始位置为0x803F800,大小为0x800。AT32F413RCT7的修改范例如下图3所示;AT32IDE的配置需根据各个AT32 MCU的闪存存储大小修改Id文件如下图4所示。 表1. 对应闪存存储空间ROM配置表 图3. AT32F413RCT7 ROM配置(Keil) 图4. AT32F413RCT7 ROM配置(AT32IDE)
快速上手操作指南 *不同的电机控制方式,调试的流程和项目可能会有差异 修改电机控制模式及参数 ①在电机库文档中的motor_control_drive_param.h内提供用户自行输入电机控制模式、电机参数、控制板参数、控制器参数。 ②模式宏定义基于用户的硬件与电机特性,可定义适当的模式,宏定义设定步骤可参考Quick Start Guide(快速入门指南) 建立连接 在确保完成硬件准备和软件环境准备后,我们可以进行以下操作建立上位机监控与调试软件同控制板的连接。详细电机UI(电机监控与调试软件)使用说明请参照AN0063文档。 参数自动鉴定 参数自动鉴定分为两部分,分别为电机线圈参数自动辨识、电流PI控制参数自定义。 若已有电机RS_LL以及LS_LL参数则不需进行电机线圈参数自动辨识,可以直接修改motor_control_drive_param.h文件内的宏定义RS_LL以及LS_LL。 电机线圈参数自动辨识: STEP-1.在motor_control_drive_param.h文件内,填入电机额定电流(NOMINAL_CURRENT)宏定义并重新编译烧录代码,如下图5所示。 图5. 电机额定电流宏定义 STEP-2.使用UI软件,切换到Auto Tune页面,在状态机的状态为safty ready时按下Identify Winding parameter按扭即执行电机线圈参数自动辨识,如下图6所示。 图6. 电机线圈参数自动辨识 STEP-3.Identified process state回报是否成功(SUCCEED)并获得RS_LL以及LS_LL参数并将数值填入motor_control_drive_param.h文件宏定义RS_LL以及LS_LL参数并重新编译烧录代码,如下图7所示。 图7. 电机线圈参数宏定义 电流PI控制参数自定义: STEP-1.在motor_control_drive_param.h文件内,填入输入电源DC电压(VDC_RATED)宏定义并重新编译烧录代码,如下图8所示。 图8. 电机额定电压 STEP-2.切换到Auto Tune页面,在状态机的状态为safty ready时按下UI软件的Auto-tune Current PI parameter按扭即执行电流PI控制参数自定义,完成后会自动更新Q轴以及D轴电流的PI控制参数,如下图9所示。 图9. 电流PI控制参数自定义 STEP-3.将上图9显示的参数填回宏定义(motor_control_drive_param.h)并重新编译烧录代码,如下图10。 图10. 电流PI控制参数宏定义 Q轴电流调试 此模式下会产生一个步阶的电流,如下图11,可以调整步阶电流的相关参数,产生步阶电流的目的是为了查看调整Q轴电流的PID电流环参数后的电流响应。 图11. 步阶电流示意图 详细操作步骤如下: STEP-1.将控制模式下拉菜单选为IQ tune 图12. 控制模式选取IQ电流环调试 STEP-2.切换到Tuning Parameters页面,设置PID参数以及步阶电流参数,初次调整可以使用电流PI控制参数自定义后的参数,如电流响应不如预期在进行调整,如下图13 图13. PID参数以及步阶电流参数 STEP-3.按下启动电机(Start Motor)按纽 STEP-4.调整绘图区的参数监控为Torque reference(Iq)以及Torque measured(Iq)并按下Save键 图14. 调整通道监控参数(IQ电流环调试) STEP-5.点选绘图纽即可呼叫出波形窗口,波形制图控制按钮详细说明可参考AN0063 AT32 Motor Monitor Application Note STEP-6.查看电流响应是否如预期,如下图15,若不如预期则按下停止电机,并重复STEP-2~STEP6 图15. 电流环调试波型 STEP-7.微调完成后将参数填回宏定义(motor_control_drive_param.h)并重新编译烧录代码,如下图16 图16. 电流PI控制参数宏定义 外部/软件命令控制 本范例工程支持两种控制来源,包含外部电压控制以及软件控制,外部电压控制为通过外部的电压调整速度或转矩的大小,在本低压电机控制开发板为调整红框处的电位器来控制命令值的大小,电位器为逆时针转动电压会递增,软件控制则为直接输入速度或转矩命令值来控制,本范例工程初始设定默认为软件控制模式。 图17. 电位器位置图(外部电压控制来源) 控制来源可以直接修改程序定义或是通过电机应用PC软件来做修改,程序定义值于motor_control_drive_param.h文档内的CTRL_SOURCE,如下图18。通过PC软件修改的修改方式详见下图19,且根据用户选择不同的控制模式会对应不同的控制参数,若为速度控制模式时则会显示目标速度的控制栏位,如下图19,若选择转矩控制则会有目标转矩电流的控制栏位,如下图20。 图18. 控制来源定义值(软件控制来源(上)/外部电压控制(下)) 1) 外部电压控制来源 在来源选择的下拉菜单中若选择external voltage control则可以切换到外部来源控制,可通过外部的电压调整速度或转矩的大小,目标速度或目标转矩的栏位将会显示目前控制电压下所换算的控制速度或转矩大小。 注意:外部来源控制模式下本栏位不可修改。 图19. 速度控制模式(外部电压控制来源) 图20. 转矩控制模式(外部电压控制来源) 2) 软件控制来源 默认为软件控制模式,来源选择的下拉菜单中选择Software control也可切换至软件控制模式,如下图21,在此模式下通过修改UI接口的目标速度/转矩来调整电机控制的速度/转矩大小,双击此栏位即可修改数值,设定完成可看到下面栏位显示设置成功的信息。 图21. 软件控制来源设置目标速度
电机应用方案 雅特力AT32 MCU在电机领域得到广泛应用,可全方位满足电动两轮车/摩托车、高速吹风机、吊扇控制器、洗衣机、伺服控制器、高速散热风扇、电钻、链锯、割草机等应用开发需求,点击雅特力官网“应用方案-电机驱动”可查阅详情。 图22. 电机应用方案网页
|