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.

[参考译文] CCS/TMS320F28035:步进电机的速度、场定向控制问题

Guru**** 2551110 points
Other Parts Discussed in Thread: DRV8412

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/691240/ccs-tms320f28035-problem-with-speed-field-oriented-control-of-a-stepper-motor

器件型号:TMS320F28035
主题中讨论的其他器件:DRV8412

工具/软件:Code Composer Studio

你好

我使用 TMS320F28035 微控制器和 DRV8412DDW 评估板对步进电机进行场定向控制。

在 DQ 系统中控制电机

我的宏块结构如下所示:

在本例中、我使用编码器、因此我可以使用电流控制器的级联速度控制。

问题如下:

在第一种情况下、电流控制无法达到高于500rpm 的速度。 在10kHz 时、电机运行速度较慢、因此我必须将 PWM 逆变器的频率设置为10kHz 至30kHz。
在 TI 的示例中、有一个具有电流控制功能的步进电机控制的主要示例。 如果您将电流设置为3A、则可以达到1800rpm。 电流为3A 时、DRV8412驱动器变得非常热。 DRV8412是否不会损坏?
在与电流控制器级联速度控制的第二种情况下、电机的最大运行转速为1100rpm。
我的任务是控制 DQ 系统中的发动机、我如何在 DQ 系统中实现如此高的速度、如所示。
我尝试了所有操作、例如、逆变器频率仍在增加、电流振幅增加、电机运行速度不会更快。

如何实现与级联控制相同的1100rpm 电流控制速度?

感谢你的帮助

TI 示例:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.您能否检查速度 PI 控制器的最大/最小输出? 当速度限制为500rpm 时、什么是 IQ 参考?
    2.您可以执行编码器偏移校准以获得正确的电机角度。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只是想检查一下您是否有任何更新,我一周没有听到您的声音,因此我假设您能够解决您的问题。 如果您有任何疑问、请告诉我。 如果没有任何其他问题、我们将关闭此主题。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    罗燕明、您好

    速度 PI 控制器的最大/最小输出设置为0.95、我尝试将其设置为1.5、但电机以0.95的方式旋转到1100

    对于编码器偏移校准、我使用此代码序列。

    我首先使用斜坡发生器宏来驱动电机、然后使用 LSW 开关来切换到编码器。 它的工作原理。

    ///----------------------------------
    //检测校准角度 并调用 QEP 模块
    ///----------------------------------
           如果(lsw = 0){
               EQep1Regs.QPOSCNT=0;EQep1Regs.QCLR.bit.IEL = 1;//重置位置 cnt
           }

           //检查出现的第一个索引
           if (((EQep1Regs.QDLG.bit.IEL=1)&& Init_IFlag=0){
               转子_pos_sensor.CalibratedAngle= EQep1Regs.QPOSILAT;Init_IFlag++;//保持锁存位置
           }  //保持锁定位置

           if (lsw!=0){
               QEP_MACRO (TROM_Pos_sensor);//调用 QEP 宏
           }

    德州仪器(TI)提供了一个代码:Stepper.c

    步进电机控制有三个构建级别

    //================================================ 级别1 ================================================
    //    检查目标独立模块、占空比波形和 PWM 更新
    //    在此级别保持电机断开连接    
    //============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    //================================================ 级别2 ================================================
    //    级别2验证模数转换、偏移补偿
    //============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    //================================================ 3级========================================================
    //   3级验证 PI 控制器执行的电流调节
    //============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    我测试了构建级别3、电机旋转速度高达1800rpm。

    我的任务是使用 Park、逆向 Park 以及 ID 和 IQ 电流的场定向控制。

    我使用 SMO 宏将代码扩展到了4级、使用 QEP 宏将代码扩展到了磁场定向控制无传感器、使用了5级磁场定向控制。
    在4级和5级中、我使用斜坡发生器驱动电机、然后我切换到 lsw = 2、这也会将速度控制切换到环路。 Id 电流被设定以获得磁阻扭矩。 当前 ID 取决于速度。

    5级:

    在1000rpm 空闲时、ID 电流在软件中设置为-0.3、电流 Iq 由速度调节器给出。 空闲时、Iq 电流几乎为零。 如果我将转速进一步提高到1100rpm 以上、则电机停止运转。

    4级:

    4级是使用 SMO 宏进行的无传感器控制。 在这里、电机以最佳 id 电流旋转高达700rpm。 id 电流必须非常精确地设置、否则电机将以较低的速度停止。

    如何在4级和5级获得与3级相同的更高速度?

    我加载我的源代码、您能查看我的代码中的4级和5级、也许您能看到问题。

    e2e.ti.com/.../Stepper.c

    感谢你的帮助

    4级和5级的宏方框图

    4级:

    5级:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于4级和5级、您可以首先确保角度是否正确。 如果您没有为步进电机重新设计它、那么 SMO 中的角度似乎不正确、这对于步进电机不应该起作用、因为它是为三相 PMSM 而设计的。