大家好、
在 Instaspin 实验12 a & b 中、我在使 PMSM 运动方面遇到了一些严重的困难。在实验5d 等中、如果没有编码器、电机运行正常。 我使用的是小尺寸 PMSM 电机(http://www.namiki.net/product/dccorelessmotor/pdf/SOBL23-1207.pdf)
编码器似乎可以正常工作、因为值确实在监视窗口中的"st_obj.vel.conv.Pos_mrev"中更新。 在一次机械旋转过程中、刻度为0至1。 此外、方向应正确、相位应正确插入。 噪声不应成为问题、因为这也可以使 PWM 导通。 一旦将"使能系统"和"运行识别"更改为1、PWM 就会开启、但电机会将自身对准锁定位置、产生一些小噪声、但不会通过增加速度基准(或在12a 中运行惯性识别)来移动。 已启用 Rs 重校准。
还尝试在 user.h 中调整电机变量、它们应该是可以的(ish)。 其中一个挑战是电机的定子 d 和 q 电感似乎很低、自动识别将其跟踪为大约5*10^(-10) H 使用示波器测量这些值得出的结果约为0.0002H。 额定磁通的测量值非常接近给定的板值。 不过、在以前的无传感器实验室中、这些都是可以的。 还尝试将 PWM 频率更改为高达60Hz。
您将在下面找到 user.h 参数。
//! 简要介绍 A、B 和 C 相的 ADC 电流偏移
#define I_A_offset (0.8304952979)
#define I_B_OFFSET (0.831510365)
#define I_C_OFFSET (0.8265882134)
//! 简要介绍 A、B 和 C 相的 ADC 电压偏移
#define V_A_offset (0.2917994261)
#define V_B_OFFSET (0.2907087803)
#define V_C_OFFSET (0.2908745408)
#define my_motor 113
#define USER_MOTOR_MY_MOTOR
#Elif (USER_MOTOR== my_MOTOR")
#define USER_MOTOR_TYPE MOTOR_Type_PM
#define USER_MOTOR_NUM_POLE_PAIRS (4)
#define USER_MOTOR_RR (空)
#define USER_MOTOR_Rs (3.56)
#define USER_MOTOR_LS_d (0.00007)//系统获取的最低值没有错误
#define USER_MOTOR_LS_q (0.00007)
#define USER_MOTOR_Rated 磁通(0.0022)//板值
#define USER_MOTOR_磁 化电流(空)
#define USER_MOTOR_RES_EST_CURRENT (0.1)
#define USER_MOTOR_IND_EST_CURRENT (-0.1)
#define USER_MOTOR_MAX_CURRENT (0.45)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (100)//已尝试多个值超出范围
#define USER_MOTOR_ENCODER_LINes (880)
#define USER_MOTOR_MAX_SPEED_KRPM (2.0)
#define USER_SYSTEM_INER惯性(0.0044)//无传感器惯性识别中定义的值
#define USER_MOTOR_FRICTion (0.01)
#define USER_SYSTEM_BANGE_SCALE (1.0)
#define USER_PWM_FREQ_kHz (60.0)
#define USER_NUM_PWM_TICKS_PER_ISR_TICK (2)
不确定接下来要测试什么。 如果有人对此有任何好的调试技巧、我将不胜感激。