请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LC4357 主题中讨论的其他器件:DRV8301.
你好。 我将使用 launchxl2-tms570lc + BoosterXL DRV8301来驱动 PMSM
电机使用 AS5048A 作为位置编码器

该 PWM 连接到 LaunchPad 上的 N2HET1_10引脚、我使用了一个非常简单的 N2HET 程序来监控其 PWM 输出

INPUT_PIN .equ 10
INPUT_PIN2 .equ 11
; measure PWM Duty
MEA_PWM_DUTY PCNT { irq=OFF,type=RISE2FALL,pin=INPUT_PIN};
; measure PWM Width
MEA_PWM_WIDTH PCNT { irq=ON,type=RISE2RISE,pin=INPUT_PIN2};
LOOP BR { next=MEA_PWM_DUTY,cond_addr=MEA_PWM_DUTY,event=NOCOND};
在测量过程中,如果我没有给 PMSM 上供电(外部电源), n2het 读出正确的结果;但当我上电以驱动电机时,读出错误的结果。
我使用 SVPWM 来驱动电机。 我的直流电压为12V。当我将参数更改为 Vd = 0.0、Vq = 4.0 (V)时、读取的结果偶尔为0x02或0x04、其他时间也是正确的;当我将 Vq = 6 (V)时、读取的结果始终为0x02。 PWM 宽度的测量也不正确


下面是示波器测量的传感器输出 PWM



下面是我未给 PMSM 上电时的输出图
