博文 | 基于灵动微 MM32SPIN560C 电机调试的方法

描述

 

 

简介

本博文基于世平集团的灵动微 MM32SPIN560C 无刷电机开发板在用户调试电机时,描述在用户拿到电机时从硬件至软件的调试过程。
 

 

1 硬件平台
 

电机

灵动微 MM32SPIN560C 无刷电机开发板方案链接:
https://www.wpgdadatong.com/solution/detail/37060
 

 

1.1 MM32SPIN560C 带有栅极驱动器的 MCU 简介

MM32SPIN560C 使用高性能的 Arm Cortex-M0 为内核的 32 位微控制器,最高工作频率可达 96 MHz。
        128KB Flash,8KB SRAM
        2 个12 位的 ADC,采样速度高达 3 Msps。
        5 个通用定时器、2 个针对电机控制的 PWM 高级定时器。
        1 个 I2C 接口、2 个 SPI 接口和 3 个 UART 接口。
        针对电机应用内置 3 个运放,3 个比较器。
        预驱工作电压高达 60 V。

 

2 电机调试方法及流程

2.1 矢量控制框图
电机

 

当我们拿到 MM32SPIN560C 开发板与电机时,我们的应对框图中的模块一一调试,以达到最佳效果 。

 

2.2 验证三相 PWM & ADC 触发采样时间

        1、不外接电机,使用高级定时器输出 6 路互补的 PWM ,改变占空比,查看输出波形是否正确。
        2、不外接电机,利用 ADC 中断使 LED 翻转 ,使用示波器查看 PWM 下管导通时,ADC 中断触发 LED 的翻转的跳变沿应在下管导通期间内的中点。

2.3 测试相电流采样

        1、不接电机,ADC  采样相电流,ADC 的采样值应为硬件所设计偏移电压值,此时值应趋于稳定。
        2、接上电机,将 U 相占空比设置为 5%,V、W  相设置为 0 ,用示波器或万用表测量采样电阻,此时应该有电压值,并用  ADC 读取 Ia、Ib、Ic 的电流值,此时 Ia 相电流应为正,Ib、Ic 相电流应为负,如若不对,采样相序有问题。


2.4 调试 SVPWM 模块

        通过 SVPWM 模块可以把 FOC 的控制结果转换为定时器 6 个通道的占空比,从而驱动三相全桥控制定子绕组产生旋转磁场,拖动转子旋转。验证 SVPWM 模块的功能,需要使用反 park 变换和 SVPWM 模块,产生开环的旋转磁场。

        1、将 MM32SPIN560C 代码中的 FOC 部分注释掉,只保留反 park 变换函数和 SVPWM 函数。
        2、反 park 变换中输入的参数有三个,Angle、Ud、Uq。
                ① 首先我们设置  Angle,假设我们的电机为 2 对极,PWM 频率为 20 Khz,我们想使电机达到 500 Rmp,则  Angle = (2*500*360)/20000 = 0.3° 则每次中断角度自增 0.3°,在程序中我们用到的 Q15 格式的定标是 Π 为基准值,则我们在程序中设定 Angle =  (0.3°/180°)*32767 = 54(标幺值)。
                ② Ud = 0。
                ③ Uq 我们在设定时不应超过 (Udc/√3)  ,假设母线电压为 24V,程序中的标幺化计算则为 Uq =  ((24V /√3) / 24V )*32767 = 18918(标幺值),那么我们可以根据电机的 KV 值去计算电机在 500 转时的给定电压。
                ④ 将电机接入,微调 Uq 的给定值,使电机稳定的旋转起来,再次去观察 Ia、Ib、Ic 的电流波形,应为连续的三相相差 120° 的正弦波形。


2.5整定电流环 PID 参数

        1、将 MM32SPIN560C 代码中的 clark 变换、park 变换、PID 控制器加入。
        2、将电机在 2.4 小结的状态中继续旋转,观察 Id、Iq 的波形,应该是两条直线(略带弯曲正常),如果为正玄,则 Ia、Ib、Ic 相电流顺序与与真实 U、V、W 相反了。
        3、当前的系统输入参数有三个,Iq_Ref、Id_Ref、Angle ,我们可以先整定 Iq 的 PID 参数。
                ① 将 Id 的 PID 参数设置为 0。
                ② 在程序中的设定 Iq_Ref,假设 Iq_Ref 设定在 0.5A,相采样电阻阻值为 50 毫欧,运放的放大倍数为 5,运放的偏执电压为 2.5V,ADC 的满量程为 5V。则 Iq_Ref  =   (0.5A/ (5V/2/5/0.05R)) * 32767 = 1638。
                ③ 运行电机,观察反馈的 Iq 与 Iq_Ref 的误差,调节 Iq 的 PID 参数  Kp 、Ki ,使 Iq 收敛到 Iq_Ref 上。
                ④ 对于表贴电机 Iq 的 PID 参数可以一一带入 Id。


2.6 角度闭环

        通过传感器或观测器将观测 Angle 值,与自增 Angle 值相同。

        1、将 MM32SPIN560C 代码中的 SMO、PLL 模块加入,设定 Id_Ref 、Iq_Ref、自增 Angle、测量 Rs、Ls、极对数填入 SMO 参数中。
        2、观察 Id、Iq、观测 Angle、自增 Angle 的波形。
                ① Id、Iq 接近于 Id_Ref、Iq_Ref 。
                ② 观测 Angle、自增 Angle 两个波形应该都是幅值相同的三角波,如果观测 Angle 的变化方向与自增 Angle 不同,那么观测 Angle 的输出角度值需要反向。如果他们两者的波形并不重合,在水平轴上存在偏差值,那么我们需要修改 SMO、PLL 的整定参数。


2.7 验证电流环闭环

给定的 Iq_Ref 的正负会使电机正反转。并且在 ±Iq_Ref 数值一致时,电机的正反转速度也应该相同,( Id 的作用是把转子固定在当前角度,不让转子动, Iq 的作用产生扭矩,吸引着转子旋转)。

1、将 Iq_Ref = 1638 ,Id_Ref = 0。由于滑膜观测器在低速时观测角度不佳,我们在启动时应开环带转到一定速度再切入角度闭环。
2、切入角度闭环后,观察 Ia、Ib、Ic、波形应为连续的三相相差 120° 的正弦波形,若 Ia、Ib、Ic 曲线发生畸变,不是正弦波形,则需要降低比例及积分作用。


2.8 速度闭环

在一般的应用场景中不考虑对电机进行弱磁控制,会将 Id_Ref 设置为0,则速度的 PID 整定后的输出参数为 Iq_Ref, 输入的参数为 Rmp。

1、首先将速度 PID 的输出 Iq_Ref 限幅在可控的安全电流内,启动电机,调节 Kp、Ki 比例使速度实际值与速度参考值接近。
2、观察速度 PID 的输出 Iq_Ref 与反馈的 Iq 波形,调节速度参考值,观察 Iq_Ref 变化后反馈的 Iq 波形的收敛速度,微调电流环 Kp、Ki 使其在合适的范围内。同方法再调节速度实际值与速度参考值的收敛速度。使电机在实际工作中可以得到快速响应。


3、总结

本文介绍了 MM32SPIN560C  开发板在调节不同的电机时,如何分析并整定电机参数,调节各个模块之间的耦合,使其电机达到最佳的工作状态。如遇到无法解决的调试问题可以联系我们邮箱:atu.sh@wpi-group.com ,我们将在收到后及时给予您回复。


4、参考文献

(1)  MM32SPIN560C Datasheet

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分