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.

[参考译文] TMS320F2.8388万D:将通用电机控制实验室(SDK电机控制)从TMS320F28.0025万C移植到TMS320F2.8388万D

Guru**** 2454880 points
Other Parts Discussed in Thread: TMDSHVMTRINSPIN, C2000WARE, DRV8301, DRV8312

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1093386/tms320f28388d-transplanting-universal-motor-control-lab-sdk-motor-control-from-tms320f280025c-into-tms320f28388d

部件号:TMS320F2.8388万D
线程中讨论的其他部件:TMDSHVMTRINSPIN,, TMS320F28.0025万CC2000WARETMS320F28.0049万CDRV8301DRV8312

您好,

我要为表面安装的PMSM运行无传感器控制。 我已经用TMDSHVMTRINSPIN黄色套件测试了电动机,额定功率和电流与我的电动机相差太远,所以电动机只能在一定的速度和电流(1800RPM和20A_PEAK至PEAK)下工作。  

我计划使用SDK电机控制代码在 我自己设计的逆变器上为TMS320F2.8388万D生成相同的算法。 根据所附图片,哪些库不需要在代码中使用,我应该从此项目中删除它们?

请您指导我如何开始这项工作吗?

另一个问题是关于通用电机控制实验室,我可以分配我用作附件图片的板。 是否可以使我的新主板配置和外设与此图中最后一个活动主板一样? 或者,您是否建议为TMS320F2.8388万D创建一个新项目并向该项目添加所需的库?

此外,在 TMDSHVMTRINSPIN黄色套件原理图中,相电流作为附加文件进行感测,而我的设计中具有相位全正弦电流感测。 “快速观察者”是否有必要以这种方式读取电流,或者我是否可以以读取电流的方式使用电流?

谢谢!

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

    回复了您发布的其他两个主题。 请查看通用项目和实验室用户指南: https://www.ti.com/lit/ug/spruj26/spruj26.pdf,并按照指南迁移本实验。

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

    感谢您的回复,

    以下是spruj26.pdf最后几页中建议的步骤,用于将代码从TMS320F28.0025万C转换为TMS320F2849C:

    将3.3 移植参考代码移植到新的C2000 MCU电机控制通用实验室项目可以轻松移植到其它支持FPU和TMU的C2000 MCU控制器。 例如,将实验室从F2.8002万x移植到F2.8004万x。 详细步骤如下所述。

    1.浏览至“\solutions\universal_motorcontrol_lab”,复制整个“f2.8002万x”文件夹并将其粘贴到此目录中,将文件夹名称更改为“f2.8004万x”。

    2.浏览至"\solutions\universal_motorcontrol_lab\f2.8004万x\cmd",将此文件夹中的两个".cmd"文件名更改为"f2.8004万x_DCSM_Lnk_eabi.cmd"和"f2.8004万x_flash_lib_is_eabi.cmd"。

    3.浏览至"\solutions\universal_motorcontrol_lab\f2.8004万x\CCS\motor_control",使用编辑器打开projectspec文件。

    为基于F2.8004万x的项目更改下面标记为粗体的文本。

    name="universal_motorcontrol_lab_f2.8004万x"

    DEVICE="TMS320F28.0049万C" cgtVersion="C2000WARE_ROOT="ELF" launchWizard=""False" linkerCommandFile="" enableSysConfigTool="true" sysConfigBuildOptions="--product ${C2000WARE_ROOT}/.METADA/SDK.json --device 20.2 F2.8004万x_P100Z"-部件封装

    找到“--idiv_support=idiv0”并将其替换为空格,因为F2.8004万x不支持“idiv”函数。

    在编辑器菜单中打开"replace (替换)",查找并将所有"2.8002万x"替换为"2.8004万x",并将universal_motorcontrol_lab.projectspec"文件中的"28.0025万C"替换为"28.0049万C"。

    4.将“universal_motorcontrol_lab_f2.8004万x”项目导入CCS,打开“f2.8004万x_flash_lib_is_eabi.cmd”文件,根据所用的F2.8004万x设备更改内存映射。 通用C2000Ware cmd文件可用作参考。

    5.根据3.1 第2节中所述的基于F2.8004万x的硬件套件修改"hal.h"文件中定义的GPIO,PWM,ADC和CMCSS模块和通道。

    6.根据基于F2.8004万x的硬件套件,修改“hal.h”文件中的GPIO,PWM,ADC和CMPSS分配模块配置。

    7.重建实验室项目,项目中的任何错误都将显示在CCS控制台窗口中,按照提示消息修复错误和警告。 F2.8002万x和F2.8004万x之间driverlib的API有一些区别。

    8.如有必要,请参阅C2000Ware或MotorControlSDK中的示例功能,添加PGA外设的功能。

    我对 本说明的步骤3有疑问。 我在universal_motorcontrol_lab.projectspec文件中看不到其余代码。 我是否应该将这一行代码添加到此文件中?

    enableSysConfigTool="true" sysConfigBuildOptions="--product ${C2000WARE_ROOT}/.metada/sdk.json --device F2.8004万x --package 100PZ --part F2.8004万x_100PZ"

    此外,MS320F2.8388万D是否支持  “idiv”函数?
    所以这个文件对我来说就是这样的:

    提前感谢!

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

    电流感应如何?
    我还检查了其他逆变器套件,如DRV8301和DRV8312,它们用于无传感器控制。 它们还在下图中感应到VA,Vb和Vc等相电流。

    所以,我的问题是,如果我检测到IA,IB和IC,而不是VA,Vb,VC,我是否仍然可以使用universal_motorcontrol_lab来检测相电流?

    图片如下:

    提前感谢!

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

    使用InstaSPIN_FOC/FAST进行本实验时,三相电流和电压感应信号都是必需的。 您可以使用另一种传感方法对上述三相电流和电压进行采样,如带分流器或霍尔传感器的直插式电流。

    如果您使用其他电机控制算法(如ESMO或编码器),这些算法不具有三相电压感应信号,但仍需要三相电流。