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.

[参考译文] TMS320F280049C:从28069F 移植到280049C

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1232364/tms320f280049c-porting-from-28069f-to-280049c

器件型号:TMS320F280049C
主题中讨论的其他器件:C2000WARE

您好、TI 团队、

我们将无传感器应用从28069F 迁移至更新的280049C。

我们收到了几个问题:

 

  1. IQMath–我注意到49C 上的所有实现都是浮点(非常好!)。 我必须切换到 float 模式吗?是否可以像69中那样使用 IQmath? 有什么建议吗?

  2. 在28069中、我具有以下库:

现在、在280049C 中、我看到以下内容:

如何处理库?

  1. 什么是 fluxhf.lib? 我们是否需要它?

  2. 似乎某些函数以及结构发生了更改。
    这些函数是我们在69上不具有的:
    estInputData.speed_ref_Hz = EST_getIntValue_spd_Hz (estHandle);

          estInputData.speed_int_Hz = EST_getIntValue_spd_Hz (estHandle);

           estOutputData.fm_lp_rps -之前我使用过 EST_getFm_pu (obj->estHandle)

我不想改变原来的实现方式(它运行的如此好)。

那么-我需要使用的原始69中没有的任何新函数,或者69中不能在49C 中使用的函数?

       3.如果在69到49C 之间有任何移植文档–那将非常好。

       4.移植时我需要考虑的其他事项–可能是您在测试此等时发现的事情? 任何提示都可能会节省我们很多时间!

谢谢!

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

    1.即使 F28069也有 FPU、因此您的代码也能以浮点模式运行。 如果你使用 IQMath、你可以将 MATH_TYPE 设置为 FLOAT_MATH、应该没问题-无论是在 F28069上还是在 F28004x 上都是如此。

    其他问题将需要其他人解决。  我已请求支持。

    谢谢。

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    IQmath–我注意到49C 上的所有实现都是浮点的(非常好!)。 我必须切换到 float 模式吗?是否可以像69中那样使用 IQmath? 是否有建议?

    您可以仅使用电机控制 SDK 中 InstaSPIN 示例实验所示的浮点。

    什么是 fluxhf.lib? 我们是否需要它?

    仅适用于低电感电机。  如果需要、您可以参考电机控制 SDK 中的 InstaSPIN 示例实验来使用。

     3.如果在69和49C 之间有任何移植文档–那将是很好的。

    您可能只需要将自己的代码移植到 F280049C 的 InstaSPIN-FOC 示例实验、而不需要使用 InstaSPIN-FOC 更改电机控制代码。

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

    谢谢 Yanming。

    您能否详细说明一下库之间的区别? 我是否需要将 49C 中使用的任何新库包含在原始69代码中? 问题#2在我的原始帖子。

    谢谢!

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

    F2806xF/M 使用基于 PU 格式的快速库、F28004xC 使用基于浮点的快速库。 但这两个应有相似的 API。 这些库与器件相关、不能在 F28004x 和 F2806x 之间使用。 如果您要使用 F28004x、则必须参考电机控制 SDK 中 F28004x 的示例实验至相关库、F2806x 的库不能在 F28004x 项目中使用。

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

    好的、谢谢。 这有很大的不同。

    "你怎么知道的?

    -删除2806xRevB_FastSpinROM 库。

    -查看损坏的内容

    -使用实际值(不是 pu )修复对 FAST 库的调用。

    -添加 F28004x_FAST_ROM 库。

    -重新编译。

    下一步-是否有任何关于如何验证更改是否正常的建议? 也许可以注入(在代码内部创建)相电压和相电流、然后观察角度估算是否可行、速度是否可行? 还有其他建议吗?

    谢谢!

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

    如果您使用的是 F28004x 器件、答案是肯定的。 但是、您需要将 FAST 估算器的值转换为 SI 格式的浮点格式。 建议您参考 InstaSPIN-FOC 示例以使用电机控制代码、只需将系统代码移植到示例工程中。

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

    我给您发送了一条私密消息。 谢谢。

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

    好的。 您可以按照上述方法移植代码。 如果您对迁移有任何进一步的问题、请提供更详细的信息。

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

    您好、Yanming:

    我认为您的建议是使用49C 实验室之一并移植我们的系统代码。

    我将使用 is13_fwc 作为起点。

    请回答几个问题:

    1.是否有像69一样的实验文档?

    我只能找到很短的"MotorControl SDK"文档。

    2.是否有项目的源代码支持某些函数,如:

    USER_setParams_priv

    INTERRUPT_INITModule

    INTERRUPT_initVectorTable

    3.什么是"EST 轨迹"(即 EST_enableTraj )? 我们在69中没有该数字。

    我特别担心会禁用该控件的东西、例如 EST_isTrajError。

    4.对于速度和当前轨迹、我们使用自己的实现方式(类似于 TRAJ_run)。 是否仍有必要使用 EST 轨迹?

    例如:

    EST_enableTraj

    EST_configureTraj

    EST_updateTrajState

    在69年中、EST 没有这些轨迹。

    5.在69中,我们有一个函数来检查用户错误- USER_CHECKForErrors

    它在49C 上是否仍然可用?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 是否有像69一样的实验文档?

    您可以在下面的文件夹中找到实验用户指南。

    \ti\c2000\c2000_SDK_ Ware_Motor \solutions\common\sensorless_foc\docs\labs

    user_setParams_priv

    否。   user_setParams_priv()位于  ROM 中。  

    INTERRUPT_INITModule

    INTERRUPT_initVectorTable

    [/报价]

    这两个函数用于器件。 您可以在电机控制 SDK 中的 C2000Ware 中找到源代码。

    3.什么是"EST 轨迹"(即 EST_enableTraj )? 我们在69中没有该数字。

    我特别担心会禁用该控件的东西、例如 EST_isTrajError。

    [/报价]

    它是针对速度或电流的轨迹控制、在 F28069M 的 ROM 中。

    4. 对于速度和电流轨迹、我们使用自己的实现(类似于 TRAJ_run)。 是否仍有必要使用 EST 轨迹?
    [/quote]

    它对于电机识别是必需的。 如果只需要运行电机而不需要 识别、则可以更换电池。

    它在49C 上是否仍然可用?

    对于 InstaSPIN 而言、它是可选的、而对于浮点器件则不是必需的。

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

    关于  USER_setParams_priv -每次在 userParams 中更改参数时是否需要调用参数? 调用使用 userParams 的函数是否遵循特定顺序?

    关于 EST_isTrajError -您能否解释一下此函数在什么情况下返回错误?

    关于轨迹-在执行 RsRecalc 时是否也有必要运行 EST 轨迹? 我猜是肯定的、但我想确定。

    另一个想法、如果您可以澄清一下:

    -为了只运行电机,我应该使用 ISR 和 IS13中 main 的相关部分。

    -对于电机 ID 和 Rsrecalc,我应该使用 ISR 和 is5中的 main 中的相关部分。

    是这样吗? 建议?

    除了运行电机外、我只需要电机 ID 和 Rsrecalc。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    关于  user_setParams_priv -每次更改 userParams 中的参数时是否需要调用此函数

    一次用于初始化。 如果您只更改电机参数、则没有必要进行此操作。

    关于 EST_isTrajError -您能解释一下在什么情况下此函数返回错误吗?

    您可以忽略此警告。 它仅用于调试、不会在本实验中触发。

    正确吗? 建议?

    可以。 是的。 如果需要  电机 ID 和 Rsrecalc、则必须使用 is05。

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

    谢谢 Yanming。

    关于 setParam_priv -如果还要设置 userParams.flag_bypassMotorId 我是否需要再次调用 setParam_priv?

    - userParams.flag_bypassMotorId 是否是要设置为输入 MotorID 的唯一标志? EST 如何知道执行电机识别? 是通过 EST_setParams (estHandle、&userParams)实现的吗?

    -进入电机 ID 或 Rsrecalc 模式,我可以使用 EST_setFlag_motorIdentified 和 EST_setFlag_enableRsRecalc 吗?  正确的方式是什么?

    还有一些后勤问题:

    1. f28004x_FAST_ROM_symbols_fpu32是否替代 rts2800_fpu32? 我们可以使用快速 FPU 库吗?

    2. f28004x_fast_rom_symbols_fpu32有3个版本-一个带有 COFF、一个带有 eabi、另一个没有。 我在实验中使用 COFF 型号(IS13和05)。 我是否需要使用 f28004x_fast_rom_symbols_fpu32_coff? 在 is13中、此时会链接 f28004x_fast_rom_symbols_fpu32。

    3.问题与(2)相同,但不适用于 fluxHF。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    关于 setParam_priv -如果我同时设置 userParams.flag_bypsyassMotorId 我是否需要再次调用 setParam_priv ?

    不必要。

    - userParams.flag_bypassMotorId 是否是唯一设置为输入 MotorID 的标志? EST 如何知道执行电机识别? 是否通过 EST_setParams (estHandle、&userParams)?

    设置  userParams.flag_bypassMotorId 并调用 EST_setParams ()。

    f28004x_fast_rom_symbols_fpu32是否取代 rts2800_fpu32? 我们可以使用快速 FPU 库吗?

    不可以。 f28004x_fast_rom_symbols_fpu32是 FAST 估算器库。   rts2800_fpu32用于器件的通用数学库。

    2. f28004x_fast_rom_symbols_fpu32有3个版本-一个具有 COFF、一个具有 eabi、另一个没有。 我在实验中使用 COFF 型号(IS13和05)。 我是否需要使用 f28004x_fast_rom_symbols_fpu32_coff? 目前在 is13中、已链接 f28004x_fast_rom_symbols_fpu32。

    使用 f28004x_fast_rom_symbols_fpu32、示例中将 根据工程设置链接到 COFF 或 EABI 库。

    3. 问题与(2)相同、但适用于 fluxHF。

    响应情况相同。

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

    您好、Yanming:

    很遗憾、由于时间限制、我无法集成电机 ID 功能。

    我们将尝试在没有的情况下运行。

    我们要驱动的电机是 Δ 连接 PM。

    我从制造商那里获得:

    LD = LQ -行对行值。 (这是一个表面贴装 PM、所以我想这是一些平均值)。

    RS -线对线

    以 V*s/rad 为单位的 BEMF 常数。

    我是否应该进行转换以便在 user.h 文件中使用这些值?

    如果是、您能否提供所需的变换?

    谢谢!

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

    最好运行参数识别实验(is05)来识别电机参数、然后使用已识别的电机参数。

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

    此时不可能。

    您能提供我请求的信息吗?

    谢谢

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

    您可以查看    《InstaSPIN-FOC 和 InstaSPIN-MOTION 用户指南》(https://www.ti.com/lit/spruhj1)的第6.9节"在 user.h"中设置 PMSM 电机参数"

    您也可以在一些教科书中找到详细的计算公式。

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

    谢谢你。

    出现的另一个问题-在实验 is05中,我们可以找到以下代码行:

    为什么要将 Id 参考设置回估算器、而我们是从之前的估算器2行中获取的?

    谢谢!

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

    该值专为后续实验中的 Rs 在线特性而保留。

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

    好的、谢谢。

    因此、如果我不使用 Rs-online、我可以删除此行:

     EST_updateId_ref_A (estHandle、
                                  (float32_t *)&(idq_ref_A.值[0]);

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

    本章内容如下:

    一旦我将 Rs (delta)转换为 Rs (Y)-通过除以3 -我是否仍然需要按照 eq.17再次将其除以2?

    或者以不同的方式询问-一旦我从 delta 转换为 Y,我是否得到等效的 L-L 或 L-N 电阻?

    谢谢!

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

    是的、两者都可以。 但仍建议您直接识别电机参数以验证。

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

    谢谢 Yanming。

    我正在经历一种奇怪的行为、希望与您确认。

    我正在运行实验 IS05。

    在电机识别期间、当 EST 进入斜坡上升阶段时、似乎会变为速度控制。

    但是、速度控制器的 outMax、min 为零(在 R 除以 L、Rs 不为零期间)。

    我可以看到速度基准正在更新、但由于上述原因、Iq 控制器基准为零。

    仅当我们达到 RATED_FLUX 状态时、速度控制器最大值/最小值才会更新。

    有什么想法吗?

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

    这是正常现象、与 ID 算法相关、用户只需遵循 th 实验用户指南设置识别变量即可确保电机在识别过程中平稳运行。

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

    好的、谢谢。

    那么、电机应该如何旋转? 我看到 Id 控制器的基准为40A (这是我们的 Rs 计算电流)、但 Iq 控制器的基准为零。

    还会发生其他情况-一旦我们进入斜升阶段、我们就会获得过流保护。

    我们将用户参数中的所有最大电流设置为大约20-40A、电流限制为80A。

    因此、我认为 RS 和斜升之间的输出电压有了很大的

    但这很奇怪、因为 ID_ref 同样处于 RS 状态、而 IQ ref 为零……

    有什么想法会导致出现这种情况?

    您能否介绍一下计算 Id、Iq 控制器的 Kp、Ki 增益所涉及的参数?

    我认为增益太高了。

    或在 RS 和 Ramp-Up 之间移动时重置其中一个 UI?? 当然、这会导致一些不稳定性。

    任何关于查看哪个变量/调试什么的想法-都很好!

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="553693" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1232364/tms320f280049c-porting-from-28069f-to-280049c/4722760 #4722760"]那么电机应该如何旋转? 我看到 ID 控制器的参考值为40A (这是我们的 Rs 计算电流)、但 Iq 控制器的参考值为零。[/报价]

    您是否首先使用实验02和实验03验证您自己的硬件板上的电流和电压检测? 感测信号对于电机 ID 至关重要。

    还有其他事情正在发生-一旦我们进入斜升阶段,我们就会得到过流保护。

    电机识别是否在空载时工作?

    您可以尝试根据电机调整用户头文件文件中的识别变量。  识别电机参数时、不要在电机上添加任何负载。

    #define USER_MOTOR_RES_EST_CURRENT     (1.0)                              // A - 电机额定电流的10-30%

    #define USER_MOTOR_IND_EST_CURRENT     (-1.0)                            // A - 电机额定电流的10-30%、 刚好能够进行旋转

    #define USER_MOTOR_MAX_CURRENT           (5.0)                              //  电机额定电流的30~150%

    #define USER_MOTOR_FLUX_EST_FREQ_Hz    (40.0)                           // Hz -电机的10~30%额定频率

    您能否分享计算 Id、Iq 控制器的 Kp、Ki 增益所涉及的参数?

    如上所述。 系统将根据 EST_State_ROVERL 状态下的粗略识别 R 和 L 自动设置 KP 和 KI。

    或者在 RS 和 Ramp-up 之间移动时重置其中一个 UI?? 这肯定会导致一些不稳定。

    如上所述调整变量、并确保电流和电压检测信号对于电机控制而言足够好。

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

    谢谢 Yanming。

    我们目前正在调试所有模拟信号、并确保一切都正确无误。

    同时,我有一个稍微不同的问题:

    我们运行的电机是 Δ 连接的。

    我知道并阅读了很多线程、都是关于 FAST 不关心连接类型等的事实。

    我不知道估算的角度-如果估算的角度是为一个连接的等效结构,这是否应该被转换为增量角度?

    例如-我们知道 Y 形和 Δ 形的零角度不同、它们之间有30度。

    如何处理这种情况?

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我知道并阅读了大量的线程,因为 FAST 不关心连接类型等。

    是的、  如果您运行电机识别并使用已识别的电机参数、FAST 不关心连接类型。

    我不知道估算的角度-如果估算的角度为 Y 形连接等效结构,是否应该转换为三角形角度?

    是的、如果不使用已识别的电机参数、则需要在实验中将参数转换为 Y 类型。 这就是我们建议您尝试运行实验的电机识别的原因。

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

    谢谢 Yanming。

    我的问题是关于角度、而不是电机参数。

    您能分享一下自己对此有何想法吗?

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

    FAST 也是一样的。 FAST 将根据电机参数估算角度、与接线类型无关。

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

    Yanming、您好!

    我们的电机正在旋转、角度估算看起来很平滑。

    然而,我们有一些奇怪的现象:

    1.电气速度估算偏离了(看起来像 x5-6 ,随着速度的变化而改变。 我们考虑到它以拉德/秒为单位、但仍然保持关闭)。 观察此角度时(使用 CCS 图)、与示波器上的相电流周期相比、锯齿周期正确。

    2.我们得到很高的无功功率

    3. VD 为正(我们正在进行 Id=0控制、Iq ref 为正)。 正 Vd 没有意义。

    对我们来说、似乎在某个位置有90度的漂移。

    能否看到 d-q 帧的空间矢量图以及角度在 FAST 系统中的位置?

    我们通过看这张图片(来自"InstaSPIN 项目和实验室用户指南"、实验 is03)得出这一结论:

    您可以看到、在零角度(零时为黄色)时、A 相的 SVM 为零。 通常在零角时、A 相的 SVM 应为最大值(因为 BEMF 为最大值)。

    这就得出了一个偏离90度的结论-我们认为您使用的是 d-q 坐标系、其中 q 指向朝下?

    但是、下一张图片更令人困惑、因为 A 相电流的峰值与 SVM 正确对齐:

    更多详细信息-我们将使用结构 estOutputData 来获得角度和电速度(angle_rad 和 fe_rps、分别为)。 有趣的是、当系统运行时、时间戳持续为零。

    这是正常的吗? 我们可能应该对角度和速度使用 est_get 函数吗?

    感谢您的任何见解!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 电气速度估算功能偏离了很多(看起来像 x5-6、随着速度的变化而变化。 我们考虑到它以拉德/秒为单位、但仍然保持关闭)。 观察角度(使用 CCS 图形)时、与示波器上的相电流周期相比、锯齿周期正确。

    您能否检查电机的极对、控制 ISR 周期是否设置正确?

    是否可以看到 d-q 帧的空间矢量图以及角度在快速系统中的位置?

    角度是与帧无关的转子角度。

    是否正常? 也许我们应该使用 est_get 函数用于角度和速度?

    请参阅示例实验、以获取可能与  estOutputData 中的值相同的角度和速度。

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

    您能否检查电机的极对、控制 ISR 周期是否设置正确? 是的、回答正确。

    还有什么可能导致此情况?

    角度是与帧无关的转子角度。 -我非常不同意。 定义参考系的方法有多种、可用于确定角度。

    您是否使用参考系、其中 d 轴指向右、q 轴指向上还是指向下?

    我们为什么得到正 Vd?

    为什么时间戳持续为零?

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

    您是否检查角度和电流的频率(Hz)是否接近您设置的目标速度频率(Hz)? 您使用的是哪个示例实验? 您是否设置了正确的电机参数?

    为什么我们得到正 Vd?

    理想情况下、Vd 应接近于零、但由于电流检测误差或估算角度、Vd 可能为正值或负值。