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.8379万D:使用TMS320F2.8379万D的电机控制

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1089236/tms320f28379d-motor-control-using-tms320f28379d

部件号:TMS320F2.8379万D
线程中讨论的其他部件: C2000WARE-MOTORCONTROL-SDKC2000WARETMS320F28.0025万DRV8323LAUNCXL-F28.0025万CBOOSTXL-DRV8323RS

我正在将 TMS320F2.8379万D用于BLDC电机控制 应用。 我使用DRV832RX作为驱动器和功率级。 是否有任何与我的应用程序非常匹配的TI SDK示例代码?  

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

    似乎这个零件名称不正确。  没有使用DRV8323RS的TMS320F2.8379万D的示例。 您可以找到TMS320F28.0025万和 DRV8323RS的示例。

    您可以 下载并安装最新的MotorControlSDK。 有一个新的通用电机控制实验室,其中包括您所需的基于F2.8002万x的BLDC电机控制。 有关本实验的详细介绍可通过以下链接在实验用户指南中找到。 您可以按照指南将实验室移植到 您使用的TMS320F2.8379万D。

    C2000WARE-MOTORCONTROL-SDK:https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

    通用项目和实验室用户指南:https://www.ti.com/lit/spruj26

    以下文件夹中的示例实验室项目:C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\universal_motorcontrol_lab\f28002x</s>2000 2.8002万

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

    您好Yanming,

    根据    通用电机控制实验室用户指南,我正在使用DRV8323RS评估TMS320F28.0025万。 完成硬件设置后,根据用户指南,我正在进行1级构建,但 运行代码时,我的变量值与用户指南的描述不匹配(图2-25)。 马达电压被正确感应,但变量'DotorVars_M1.ISRC'没有增加 ,我无法通过将'OtorVars_M1.FlagEnableRunAndIdentify'设置为1来启动马达。

     

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

    GPIO29 必须 连接 到LAUNCXL-F28.0025万C上的DRV8323启用引脚。 因此您需要将LAUNCHLL-F28.0025万C上的S2设置为(1:1)位置,GPIO28&GPIO29需要通过将S2的SEL1设置为1 (靠近USB仿真器)来路由到BP头。

    或者,您可以查看下面有类似问题的链接。

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1061562/launchxl-f280025c-universal-motor-control-lab-incremental-build-1-with-boostxl-drv8323rs-and-sensored-foc/3933543#3933543</s>2000 2000106.1562万28.0025万8323393.3543万393.3543万

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

    我已将 LAUNCHTXL-F28.0025万C上的S2位置更改为 (1:1)。 之后,正如您在 本票证中提到 的,用户需要修改ISR计数的代码以增加。  

    "...以下代码已在发行代码中删除。 如果需要,可以将其添加到motor1_drive.c文件的motor1CtrlISR()中。

    MotorVars_M1.ISRCount++;

    "

    我修改了此代码以增加ISR。 现在,计数器在递增,但电机仍不旋转。 用于观察数组[0] t的第一个元素的offset_V_SF与实验手册中的0.5 值相差很远。 此外,我注意到ePWM的表达式 与实验室建议的不同(1666与1250)。  

         

    谢谢!

    Jagbir

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

    1.不需要在制造级别1中连接电机,电机不会在此级别运行,

    2.电压偏移值仍然不正确,请按照实验指南,通过运行内部版本1的实验来检查bootxl和launchxl之间的连接。

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

    您好Yanming,

    我尝试观察在外部示波器上构建的1级输出。 我正在探测DRV8323RS evalkit上J4的引脚(1,3**11),但我 无法  在这些引脚上看到任何PWM波形。 是否未生成PWM或我正在探测错误的针脚。

    反馈:

    实验指南中有大量的遗漏和更正。  到目前为止,使用此实验室文档的整个体验都非常令人沮丧。

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

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

    感谢您的反馈。 实验室指南正在根据客户和FAE的反馈进行修订,并将很快更新。

    我似乎只有在使用Launchxl-f28.0025万C的DRV8323RS中缺少的内容可能是 Launchxl-f28.0025万C上的交换机S2设置。

    是的。 带有50 % 占空比的PWM信号应探测到引脚(1/3/4/5/6/11)。  

    请将直流电源(12V~40V)连接到 DRV8323RS 转换卡,并按照指南将 DRV8323RS安装到 Launchxl-f28.0025万C,请确保Booster -DRV8323RS嵌入 到Launchxl-f2800C的右侧(J1/J3和J2/J4,靠近USB连接器),方向正确。

    在 BOOSTXL-DRV8323RS上:

    • 确保按照以下说明完成以下项目,然后将BOOSTXL-DRV8323RS连接LAUNCXL-F28.0025万C的J1/J3和J4/J2
      • 使用47nF电容器填充C9,C10和C11。
      • 弯曲LAUNCXL-F28.0025万C90的J3-29和J3-30度,使其不连接到BOOSTXL-DRV8323RS。

     在LAUNCXL-F28.0025万C上:

    • 确保如下所述设置LAUNCHXL-F28.0025万C上的开关
      • 对于S2,将左侧开关向上(1)定位,将GPIOs 28和29路由到BoosterPack连接器,将右侧开关向上(1)定位,将GPIO 16和17路由到虚拟COM端口。
      • 对于S3,向下放置左侧开关将GPIO24向下拉至逻辑0,向上放置右侧开关将GPIO32向上拉至逻辑1,将F28.0025万C置于等待启动模式,以降低连接问题或之前加载的代码执行的风险。
      • 对于S5,将左侧开关向下放置,以将J12上的编码器接口分配给Q1至J12,将右侧开关向下放置,将J13上的霍尔传感器接口分配给Q2至J13。

    在实验室项目中:

    • 确保在 项目属性中定义了宏符号"motor1_fast"。
    • 将"motorVars_M1.flagEnableRunAndIdentify"设置为1以运行实验
    • 检查"motorVars_M1.faultMtrUse.all"是否等于"0",如果不是,则在此变量中设置了什么值或位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Yanming,  

    感谢您的回复。 我能够将实验室运行到2级,然后旋转电机。 为什么  我观察到其中一个阵列元件的电流和电压偏移不同。 其中一个阶段的不同偏移会产生什么后果? 我是否需要删除此偏移量,然后才能转到3级和4级构建。

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

    Jagbir,

    希望让您知道,TI的明天是美国假期。  请在周一结束前收到我们的下一个回复。

    最佳,

    Matthew

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

    如果为电压感应设置了正确的ADC通道,并且电容器已安装在增压器逆变器板上,请检查ADC配置。 偏移校准值应与实验中显示的值相似。

    如果要使用快速算法运行实验室,这些偏移必须正确,否则,您无法使用4级运行电机。

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

    您好,

    我想使用不同的BLDC电机。 需要修改实验练习中的哪些文件才能使用不同的马达。

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

    根据 电机数据表设置/更改"user_mtr1.h"中的右侧电机参数。 并非所有参数都是必需的,请按照实验室指南更改相关参数。

    #define user_motor1_type motor_type_pm
    #define user_motor1_NUM_pole_pairs (4)
    #define user_motor1_rrr_Ohm (空)
    #define user_motor1_Rs_Ohm (0.4.52883422亿f)
    #define user_motor1_LS_d_H (0.0.0148万176361f)17.6361万)
    #define user_motor1_LS_q_H (0.0.0148万176361f)17.6361万)
    #define user_motor1_rate_fluone_vpHz (0.0401013345f)
    #define user_motor1_magniting_current_A (空)
    #define user_motor1_RES_EST_CURRENT_A (1.5f)
    #define user_motor1_IND_EST_CURRENT_A (-1.0f)
    #define user_motor1_MAX_current_A (6.0f)
    #define user_motor1_flue_exc_FREQ_Hz (40.0f)
    #define user_motor1_NUM_ENC_SLOTS (1000)
    #define user_motor1_inerty_Kgm2 (7.0.6154万e-06)

    #define user_motor1_FREQ_NEARZEROLIMIT_Hz (5.0f)// Hz

    #define user_motor1_rated电压_V (24.0f)
    #define user_motor1_rate_speed_Krpm (3.0F)

    #define user_motor1_FREQ_min_Hz (9.0f)// Hz
    #define user_motor1_FREQ_MAX_Hz (600.0f)// Hz

    #define user_motor1_FREQ_low_Hz (5.0f)// Hz
    #define user_motor1_FREQ_hate_Hz (300.0f)// Hz
    #define user_motor1_vol_min_V (5.0f)//电压
    #define user_motor1_vol_MAX_V (24.0f)//电压

    #define user_motor1_force_delta (0.05f)// a
    #define user_motor1_align_delta (0.01f)// a
    #define user_motor1_flue_current_a (0.5f)// a
    #define user_motor1_align_current_a (1.0f)// a
    #define user_motor1_startup_current_A (3.0F)// A
    #define user_motor1_Torque_Current_A (2.0f)// a
    #define user_motor1_over当前_A (6.5f)// a

    #define user_motor1_Brake当前_A (1.0f)// A
    #define user_motor1_Brake时间延迟(1.2万U)// 60s/5ms

    #define user_motor1_speed_start_Hz (30.0f)
    #define user_motor1_speed_force_Hz (25.0f)
    #define user_motor1_ACCEL_START_Hzps (10.0f)
    #define user_motor1_ACCEL_MAX_Hzps (50.0f)

    #define user_motor1_speed_fs_hz (3.0F)

    //仅适用于编码器
    #define user_motor1_ENC_POS_MAX (user_motor1_NUM_ENC_SLOTS * 4 - 1)
    #define user_motor1_ENC_POS_OFFSET (668)

    //仅适用于ESMO
    #define user_motor1_KSLIDE_MAX (0.75f)//
    #define user_motor1_KSLIDE_MIN (0.15f)

    #define user_motor1_PLL_KP_MAX (6.75f)//
    #define user_motor1_PLL_KP_min (0.75f)
    #define user_motor1_PLL_KP_SF (5.0f)

    #define user_motor1_BEMF_threshold (0.5f)
    #define user_motor1_BEMF_KSLF_FC_Hz (1.0f)
    #define user_motor1_THETA_OFFSET _SF (1.0f)
    #define user_motor1_speed_lpf_fc_hz (200.0f)

    //用于是- BLDC
    #define user_motor1_ramd_start_Hz (3.0F)
    #define user_motor1_ramd_end_Hz (30.0f)
    #define user_motor1_ramd_delay (5)

    #define user_motor1_ISBLDC_INT_MAX (0.015f)
    #define user_motor1_ISBLDC_INT_MIN (0.010f)

    //用于Rs在线校准
    #define user_motor1_RSONLINE_WAY_TIME (6万U)// 5m5/300s (5毫秒基准)
    #define user_motor1_RSONLINE_work _time (2.4万U)//2min/120s at 5ms base

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

    您好Yanming,

    我正在使用自己的电机运行构建级别2。 我已 根据电机数据表修改了"user_mtr1.h"。  我收到以下错误标志。 任何见解都将有所帮助。

    谢谢。

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

    您使用的是哪种控制算法? 如果要获得正确的反馈速度,您必须设置正确的电机参数。

     如果motorVars_M1.faultMtrUse.all等于0,则无需注意motorVars_M1.faultMtrPrev中的设置值。

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

    我认为我已正确输入我的电机参数。 我正在使用快速算法,根据实验室的2级构建,使用V/F,I/F控制。  

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

    如上所述,检查ADC是否正确配置了电流和电压感应的正确通道。 似乎未在项目中正确配置它。  电压偏移不正确,因此相位电压反馈信号不正确,无法估计电动机的速度和角度。

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

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //#############################################################################
    // $TI Release: MotorControl SDK v4.00.00.00 $
    // $Release Date: Thu Feb 17 18:05:20 CST 2022 $
    // $Copyright:
    // Copyright (C) 2017-2019 Texas Instruments Incorporated - http://www.ti.com/
    //
    // Redistribution and use in source and binary forms, with or without
    // modification, are permitted provided that the following conditions
    // are met:
    //
    // Redistributions of source code must retain the above copyright
    // notice, this list of conditions and the following disclaimer.
    //
    // Redistributions in binary form must reproduce the above copyright
    // notice, this list of conditions and the following disclaimer in the
    // documentation and/or other materials provided with the
    // distribution.
    //
    // Neither the name of Texas Instruments Incorporated nor the names of
    // its contributors may be used to endorse or promote products derived
    // from this software without specific prior written permission.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    我没有修改代码的ADC部分或任何代码文件。  我修改过的唯一文件是 user_mtr1.h,它用于添加 与我的电机相关的参数(请参阅随附的代码片段)。  是ADC偏移,具体取决于连接到系统的电机。 我需要修改代码的哪一部分来纠正此ADC偏移。 我看到的一种方法是修改user_mtr1.h 这是您所指的。

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

     似乎C11上的电容器 未 正确填充。  请确保    BOOSTXL-DRV8323RS的C9,C10和C11上装有47nF电容器。  

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

    我将检查C11连接。 将C9,C10和C11添加到DRV8323评估板的目的是什么,如何确定47nF值。  

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

    这些电容器 用于过滤非连续PWM信号以进行电压感应。 它必须具有正确电容的电压感应功能。

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

    我已确保在多评估套件的C9,C10和C11上连接了47nF,但我仍在观察偏移,特别是电压偏移。 我可以忽略这一偏移量。 如果不是,则如何删除此偏移。  

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

    如果要使用FAST算法,则不需要。 对其它算法是。 请检查ADC配置和板连接,以确保电流和电压感应正确。

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

    您好Yanming,  

    我需要 将实验室的参考代码移植到 F3877X R 1.3 控制卡。  用户指南的第3.3 节中提供了代码更改说明。 使用 F3877X R 1.3 控制卡时,还需要对硬件进行哪些更改。

    谢谢

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

    无需对其它设备进行其它更改。 类似的更改如实验室指南中所示,适用于任何硬件套件。 请参阅用于更改上述PWM,ADC和GPIO配置代码的硬件套件示意图。 很抱歉,很难在此论坛上提供每个套件和客户自己的主板的详细更改,我们更愿意提供一个一般指南来说明如何迁移/移植实验室。