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.

[参考译文] C2000WARE-MOTORCONTROL-SDK:从 Motorware (InstaSpin-FOC)迁移到 C2000ware-MotorControl (InstaSpin-FOC)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/877028/c2000ware-motorcontrol-sdk-migration-from-motorware-instaspin-foc-to-c2000ware-motorcontrol-instaspin-foc

器件型号:C2000WARE-MOTORCONTROL-SDK
主题中讨论的其他器件:C2000WAREMOTORWARE

大家好、TI -我们正在使用 F280049C MCU 和 DRV8343S-Q1驱动器开发 BLDC 驱动器。  我们使用的是 CCS v9.3.0.00012)和 C2000Ware_2_01_00_00和 C2000Ware_MotorControl_SDK_2_01_00_00。

1.在 user.c 文件中,有一个定义 BWC_rps、BWdelta 和 Kctrl_WB_p_kgm2的段。  有一条 if 语句查看 USER_BYPASS_MOTOR_ID 和 pUserParams->FLAG_BypassMotorId。   调用此 if 语句时,不会定义 pUserParams->flag_BypassMotorId 参数。  

2. USER_DCBus_VOLTGE_SF 的用途是什么?  其 define 语句需要 未定义的 USER_ADC_FULL_SCALE_DCBus_VOLTGE_V (至少在 user.h 中未定义)。   USER_ADC_FULL_SCALE_DCBus_VOLTGE_V 在哪里定义?   

极点位置有多个定义。:USER_DCBus_POLE_rps、 USER_OFFSET_POLE_rps、 USER_SPED_POLE_rps ...它们的作用是什么?  它们是如何定义的(也就是说、它们是否依赖于设计中的某些内容(电路板、驱动器等)?

4. TI 是否有 C2000ware_MotorControl SDK 文档网站以外的内容?  TI 是否会更新《InstaSPIN-FOC 用户指南》(SPRUHJ1H)以解决 C2000Ware_MotorControl 的实现问题?  

Brett

 

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

    1.  如果 您知道正确 的 USER_MOTOR_INERY_Kgm2,则可以在调用 USER_setParams()之前将 FLAG_bypassMotorId 设置为 true。 本实验使用电机的默认参数。

    USER_DCBus_VOLTGE_SF  用于使用滤波器计算直流总线电压、这是该滤波器的截止频率。  不使用 USER_ADC_FULL_SCALE_DCBus_VOLTGE_V、因为直流总线电压使用与相电压相同的电压采样电路、只是保留以供进一步更新。

    3.要使用数字低通滤波器计算相关变量,这些参数是这些滤波器的截止频率。

    实验指南应包含所有内容。 没有更新用户指南的计划、因为在两个上都实现了相同的 FAST 估算器和硬件、因此浮点与定点之间存在差异。

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

    您似乎理解并知道这些变量的定义在哪里?  我想知道我需要担心的是什么,而不是什么。  没有任何文件记录会使此任务相当痛苦。

    这就是我询问 USER_setParams_Priv()函数的原因。  我如何知道需要 USER_PARAMS 结构中的哪些参数(即需要定义)以及哪些参数不需要?  我知道它们是为 LaunchPad 等定义的、但这并不意味着它们是为我的设计定义的。

    Brett

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

    您可以查看 InstaSPIN 实验室指南和 InstaSPIN 用户指南(SPRUHJ1H),其中包括这些参数或变量的所有定义和说明。

    http://www.ti.com/lit/ug/spruhj1h/spruhj1h.pdf 

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

    没错。  

    例如、变量 flag_BypassMotorId 未在任何旧文档或新文档中定义或解释。  然而、该变量似乎是 MotorControl 中的关键。  USER_setParams 和 USER_setParams_priv权限 函数都要求对其进行设置、以确保控制器正常运行。  

    此外、还有一些未定义或未解释的新定义(在我可以找到的任何 TI 文档中)、因此我们被迫进行此 MotorControl/InstaSpin-FOC 实现方案的试验和错误猜测。  因此、我想会有很多 TI 客户感到沮丧。  

    Brett

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

    [引用用户="Brett Nourrcier"]我想 TI 客户会有很多沮丧。  [/报价]

    语句不足、我们必须修改惯性检查的各个部分、以便它会经历已知电机类型(粉色)顶部。 我测试了 user.c 已知类型的惯性公式、如果您让 drv8230rs 继续运行、PI 速度控制几乎会损坏 drv8230rs。 TI 似乎从未测试过实际移动较重质量的电机。 在测试台上使用小电机(VSI)非常有趣。

    [引用 user="Brett Nourrcier"]还有未定义或解释的新定义

    部分更新需要添加到第6章、SPRUHJ1H–2013年1月–2019年6月修订版。

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

    如您所知。 在大多数情况下,只需在 user.h 中更改新电路板或电机的参数,这些参数将通过调用 user_setParams()设置为相关变量。 用户不需要更改 USER_setParams_priv.

    抱歉、instaSPIN 没有每个变量的详细说明、因为某些变量的名称应该很容易理解。 我们将尝试在代码或实验指南中为这些变量添加相关说明。

    几乎所有参数都与采用 motorWare 的 motorcontrolSDK 相似、因此您可以在 InstaSPIN 用户指南(SPRUHJ1H)中找到这些参数的定义。 如果找不到、请告诉我。