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.

[参考译文] 新电机配置问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/568002/new-motor-configuration-issue

您好!

我有一个高压伺服电机控制器、该控制器具有经过高度修改的具有旋转变压器反馈的内在软件。 这适用于一种电机。

我想配置一种新类型的电机。 然后发生了一些奇怪的事情、我不明白为什么。

 我在电机启动时没有遇到任何错误。 只有高间距噪声。 我已经将带宽设置为1。

当我发出旋转电机的命令时,我看到 ctrlHandle->Idq_Ref.value[1]增大。 因此、电流 PI 控制器获得基准。 但电机不会旋转。

以验证旋转磁场和旋转变压器是否以相同的方向对齐。 我更改了 L1和 L3。 启动时、电机开始以受控速度旋转。 因此速度控制器可以正常工作。

那么、高音调噪声的可能原因是什么? 旋转变压器信号是一个强大而稳定的信号。 我已将带宽降低为1。

谢谢。

 

以下是电机参数:

#define USER_MOTOR_TYPE MOTOR_Type_PM                // Motor_Type_PM (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (ACI 异步)
#define USER_MOTOR_NUM_POLE_PAIRS (5)                //对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
#define USER_MOTOR_RR (空)                      //在 Y 等效电路中确定相位到中性点(欧姆、浮点)对于 PM 为 NULL
#define USER_MOTOR_Rs (3.41)                         //在 Y 等效电路中确定相位到中性(欧姆、浮点数)
#define USER_MOTOR_LS_d (0.0105)                      //对于感应、确定的平均定子电感 (亨利、浮点数)
#define USER_MOTOR_LS_q (0.0105)                      //对于感应、确定的平均定子电感 (亨利、浮点数)
#define USER_MOTOR_RAVED_FLUX (0.8165*230.0/466.6)      // sqrt (2/3)*额定电压(线-线)/额定频率(Hz) (maxspeed (Hz)*极对
#define USER_MOTOR_磁 化电流(NULL)         //为感应电机识别的磁化电流、否则为 NULL
#define USER_MOTOR_RES_EST_CURRENT (0.15)             //在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
#define USER_MOTOR_IND_EST_CURRENT (-0.15)             //在电机识别期间、用于 LS 估算的最大电流(负安培、浮点数)、只需足够的时间即可启用旋转
#define USER_MOTOR_MAX_CURRENT         (1.42)         //关键:在 ID 和运行时使用、设置所提供速度 PI 控制器向 IQ 控制器输出的最大电流命令的限制
#define USER_MOTOR_ENID_FREQUENCY _Hz   (20.0)         //在电机识别期间、最大命令速度(Hz、float)、额定电流~10%
#define USER_MOTOR_FLUX_EST_FREQ_Hz    (5.0)          //在电机识别期间、最大命令速度(Hz、浮点)。 应始终使用5Hz 进行感应。
   //电机正交编码器上的线数
#define USER_MOTOR_ENCODER_LINs       (360.0)           //电机正交编码器上的线数

#define USER_MOTOR_MAX_SPEED_KRPM      (5.6)             //电机的最大速度
#define USER_SYSTEM_惯性            (0.01)   //电机和系统的惯性、应通过 SpinTAC 速度识别进行估算
#define USER_SYSTEM_FRICTION           (0.01)   //电机和系统的摩擦、应通过 SpinTAC 速度识别进行估算
#define USER_SYSTEM_BANGE_SCALE      (0.5)

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

    尊敬的 EV:


    如果我对您说得对、那么您的电机运转正常、您只想在启动时消除奇怪的噪声、对吧? 我不能完全确定高音调噪声的声音、但 MCU 默认使用直流电流测量电机的串行电阻 Rs。

    作为参考、它使用指定的估算电流。

    USER_MOTOR_RES_EST_CURRENT (0.15)

    您可以尝试通过禁用标志 gMotorVars.Flag_enableRsRecalc 来关闭此功能。 请告诉我这是否有帮助!

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

     我有2个电机、一个运行正常、另一个运行不好!

    未运行的一个。 在启动时不会产生错误并产生高间距噪声。

    当我用 Flag_enableUserParams = false 启动控制器时、电机移动且没有高间距。 完成后=> CTRL_State_Idle 和 EST_State_Idle、我无法从其中得到任何移动。

    当我将 控制器修改为扭矩控制 器=> ctrlHandle->Idq_Ref.value[1]时。 没有错误、但也没有移动。 当我读取 ID 时、我看到最大电流。 因此、电机已通电。

    此时、我认为问题在于电流控制器带宽或位置反馈

    我仔细检查了旋转变压器端的质量 、当电机启用时、我在4位数(0.000x)处产生了一些噪声。 认为这已经足够好了。

    它是一个5极对电机。  机械角度和电角之间的偏移是否存在问题。

    旋转变压器与 A 电极不对齐?  如何检查它?

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

    如果在 Flag_enableUserParams = false 的情况下运行软件、则应执行识别过程。
    您能否确认识别过程是否成功运行;这意味着在电机开始旋转后、直到该过程结束以及识别的电机参数 R/L 和磁通量是否正确为止、它不会停止。

    您能否在识别之后通过激活 gMotorVars.Flag_Run_Identify 直接运行电机?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用经过繁重/完整修改的 LAB5/lab12程序。 识别过程结束后、电机不工作。 但电机在识别时会旋转。 可能是因为它使用无传感器/Flag_enableForceAngle。

    感谢您的努力来帮助我。 但我认为这个问题不能通过改进电平参数来解决。 我需要一个对图书馆的低层次部分有广泛知识的人。 我可能弄乱了代码的一些导入部分、使演示程序变得有用。 内部工作没有很好地记录、因此调试该部分主要是尝试和错误。 我意识到这是一个漫长的过程。 但也许有人会告诉我在图书馆的低层部分要查找的部分。 或为电流控制器导入哪些 user.h 参数。 使用扭矩控制器时、没有太多的库。 那么、当施加 id 电流时、电机不旋转的潜在原因是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我知道。 我的想法是、您的电机可能在无传感器配置下运行良好(具有识别良好的参数)。 那么问题更有可能出现在更高的水平上;可能是编码器信号。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还认为它很可能是反馈信号。 但信号的质量非常出色。 因此我不认为这是信号本身。 但也有一些相关的东西。 例如信号反馈延迟或机械角度和反馈角度之间的不匹配。 但为什么这是一个电机问题、而不是另一个电机问题。 我试图将其缩小得太窄、但仍然不幸运。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当您说您使用的是经过大量修改的 LAB5/12版本时、您是否参考了实验5a 和12b? 您是否能够通过其中一个基础实验而非自定义版本来旋转电机? 在我们开始挑选您的代码之前、我想知道您能否成功使用 lab12b

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

    [引用用户="Sean Bigley">当您说您使用的是经过大量修改的 LAB5/12版本时、您是否参考了实验5a 和12b? 您是否能够通过其中一个基础实验而非自定义版本来旋转电机? 在我们开始挑选您的代码之前、我想知道您能否成功使用 lab12b

    肖恩

    [/报价]

    我使用自己的硬件。 因此、我无法运行任何实验、电机也是基于旋转变压器的电机、无法与任何实验配合使用。

    我的代码库正在运行我有一种电机我在那里做了开发市长并且运转良好。 但是、那里的类型与它没有什么不同、是不起作用的。 但是、我还需要一个 对库有内在方法了解而不是在源代码级别了解的人。 为了满足我的需求、我对代码进行了重大重写。 我认为我对代码的工作原理有一定的了解。

    Adam 在哪里?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题已解决。 有时、最困难的部分是沿正确的方向搜索。
    问题在于分解器正弦和余弦信号。

    感谢你的帮助。 记下我的问题有助于我订购。