This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28065:使用 PMSM 电机的霍尔传感器进行相位估算

Guru**** 2500235 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1367443/tms320f28065-phase-estimation-with-hall-sensors-of-pmsm-motor

器件型号:TMS320F28065

工具与软件:

您好、TI 专家!

我将在定制电路板上实施 FOC。 我已经开始执行"PMSM_F2833x"的无传感器 FOC 项目。 我的电机不具有编码器、但配备了 三个 霍尔传感器。 我已经通过插入霍尔传感器估算了转子位置。 图1和图2展示了估算的相位(黄色)和 rg1.Out (蓝色)波形。

图1

图2

当我为电机添加一些负载时、这些波形看起来如图3所示。

图3

我想问您、我的相位计算是否可行? 向电机添加负载后、黄色波形比蓝色波形正向下降。 您能告诉我是否正确吗?

祝你一切顺利。

Hamid Kavianathar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hamid:

    您当前正在评估哪个构建级别? 霍尔传感器给出的位置是否仅 用于验证观测器的正常运行、而不用于以后的控制?

    谢谢。

    嘉兴市

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的嘉兴:

    感谢您的回复。 我将使用霍尔传感器给出的位置来控制电机。 因此、该值必须精确。 我现在正在构建4级。 由于在我的应用中、电机将以低速驱动、因此我无法使用 smopos 块的估计位置。

    此致、

    哈米德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hamid:

    我明白了。 从图 3、霍尔传感器计算出的角度 在有负载时不会跟随 rg1.out。 您能否参考"HVBLDC_Sensored"中的示例、它在控制中使用霍尔传感器进行角度反馈、看起来更接近您希望实现的目标?

    谢谢。

    嘉兴市

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的嘉兴:

    感谢您的回复。 我已经检查了。 实际上、我要从这个示例开始。

    为了简单起见、我只移除了它的去抖部件。 我读取霍尔传感器数据并查找转子位置。 为了获得更好的结果 、我只要接收到霍尔传感器的任何边缘、就计算电机转速、并使用计时器来测量从最后一个边缘开始的时间。 下面是我的代码:

    motor_speed = (((float)SYSTEM_FREQUENCY)*1000000/(t*6))/BASE_FREQ;
    
    

    在以下代码中、我计算 θ(在 MainISR 函数中)  

    _iq theta = _IQ(((float)un32InterplotionTimer100micSec*motor_speed)*BASE_FREQ/10000 +((float)hall.HallGpio/6));

    在以下代码中、我读取霍尔传感器数据:

    void HALL3_DETERMINE_STATE_MACRO(HALL3* v) 
    
    { 
    
        HallGpioBitA = GpioDataRegs.GPADAT.bit.GPIO11 << 0;//ECAP1 pin   
    
        HallGpioBitB = GpioDataRegs.GPADAT.bit.GPIO7 << 1;//ECAP2 pin   
    
        HallGpioBitC = GpioDataRegs.GPADAT.bit.GPIO9 << 2;//ECAP3 pin   
    
     
    
        v->HallGpio = HallGpioBitA + HallGpioBitB + HallGpioBitC; 
    
     
    
        switch (v->HallGpio) 
    
        { 
    
        case 0: 
    
            //impossible 
    
            break; 
    
        case 1: 
    
            v->HallGpio = 0;    //0 
    
            break; 
    
        case 2: 
    
            v->HallGpio = 2;    //120 
    
             break; 
    
        case 3: 
    
            v->HallGpio = 1;    //60 
    
            break; 
    
        case 4: 
    
            v->HallGpio = 4;    //240 
    
             break; 
    
        case 5: 
    
            v->HallGpio = 5;    //300 
    
            break; 
    
        case 6: 
    
            v->HallGpio = 3;    //180 
    
             break; 
    
        case 7: 
    
            //impossible 
    
             break; 
    
        } 
    
    } 

    显示为零。 rg1.out 和计算得出的角度几乎相同、但当我添加一些负载时、它们不再匹配。  

    我期待听到您的宝贵指示。

    此致、

    Hamid Kavianathar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hamid:

    由于构建级别4仍是开环控制、因此我认为霍尔传感器反馈(实际旋转速度)不遵循 rg1.out 生成的角度基准是合理的、尤其是在有负载的情况下。 您能否通过转速计测量电机的实际速度以验证传感器反馈?

    谢谢。

    嘉兴市

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的嘉兴:

    感谢您的回复。 我已经通过使用示波器测量霍尔传感器信号来检查计算速度的准确性它看起来正常。  

    谢谢。

    Hamid Kavianathar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hamid:

    很高兴知道这个。 则可以继续执行、以测试闭环控制。

    谢谢。

    嘉兴市

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的嘉兴:

    感谢您的回复。  您能否说明为什么  向电机添加了一些负载、黄色波形比蓝色波形前倾? 可以吗?

    谢谢。

    Hamid Kavianathar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hamid:

    在4级、电机开环运行、因此跟踪性能无法 在负载下良好运行。

    谢谢。

    嘉兴市

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的嘉兴:

    感谢您的宝贵指示。 我已经移至下一个级别、即闭环控制。 在调整 PI 控制器系数后、效果很好。 通过逐渐向电机增加负载、它会施加更大的力。 不过,我正面临一个新的问题。 当转子失速时、它不再工作。 我的意思是、电机的输出端没有扭矩。 您能告诉我应该怎么做吗?  

    谢谢。

    此致