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.

[参考译文] DRV8343S-Q1EVM:用于 BLDC 的 F280025C_Universal 电机控制工程(使用 DRV8323编译器)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1264592/drv8343s-q1evm-f280025c_universal-motor-control-project-for-bldc-using-drv8323-compilation-erroe

器件型号:DRV8343S-Q1EVM

尊敬的团队  

现在我们正在 BLDC 泵上运行通用电机控制项目,  

 

启用故障控制模块并进行测试 ,现在能够在泵运行状态下读取欠压和过压故障 ,

但一旦我们得到正常的电压,故障将在表达式窗口中清除,但泵不应再次运行(再次重新启动),  

当故障标志将被清除但电机状态标志未被清除时,因此泵不应再次重新启动。

 

现在、我们能够通过输入频率 motorVars_M1 (.45100= Ref_Hz 350.0f)以 rpm 为单位增加泵转速、但这里我们的要求是泵应根据输入占空比以 rpm 为单位运行、因此

我们需要根据输入占空比改变转速(快速估算),因此请建议改变输入频率的正确方法。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当故障标志将被清除但电机状态标志未被清除时,泵应不会重新启动

    您可以根据您的应用添加相关功能或修改故障保护功能。

    [quote userid="498808" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1264592/drv8343s-q1evm-f280025c_universal-motor-control-project-for-bldc-using-drv8323-compilation-erroe 我们需要根据输入占空比来改变 rpm(快速估算),因此请建议改变输入频率的正确方法 [/报价]

    请问您对此有何疑问?

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

    DEAT 小组  

    在 我们的目标板上、我们获取与 drv8343驱动器 IC 相连的参考定义(BSXL8323RS_REVA)。  

    现在尝试运行24V 和12A BLDC 无传感器 冷却液泵, 24V 输入、无负载条件 、可 根据输入频率运行泵

    (motorVars_M1.52 Ref_Hz = 250.0f;    // Hz) 在自由负载条件下、泵转速高达230Hz (6900 rpm)、电流高达1.5A。 但是   

    相同的条件当在负载条件下运行时,泵的   转速达到130 Hz (3900rpm),在这里我们的要求需要增加泵的转速 rpm 在负载条件下   

    此处无法达到符合我的输入频率(250)的电流、因此在负载条件下电流也高达18A。     

    请建议我们如何在加载条件下提高泵速度还需要减小电流?

    如果 减小最大电流限制和(USER_M1_ADC_FULL_SCALE_CURRENT_A)增益值、即使该增益 值无法限制加载电流值(冷却剂)。

    在加载状态下如何提高泵的转速? ,当增加不增加泵速度的电压时,频率变得稳定  

    我已经附加了几行代码供您参考这个基础我采取,  

    #Elif 已定义(BSXL8323RS_REVA)
    //! 简明定义标称直流母线电压 V

    #define USER_M1_SIG_CURRENT_SF (1.0f)  


    #define USER_M1_NOMINATE_DC_BUS_VOLTAGE_V (24.0f)  //简明定义 AD 转换器的最大电压


    #define USER_M1_ADC_FULL_SCALE_VOLTAGE_V (68.00588f)        /*(64.86914f)// EVM 板// 68.00588 Pricol PCB /////IN 8323 (57.52845691f)//8343 (64.86914f)*/

    //! 简明定义模拟电压滤波器极点位置、Hz
    #define USER_M1_VOLTAGE_FILTER_POLE_Hz (732.4759546)      //(680.4839141f)//(732.4839141f)//(680.4839141f)//(680.4839141f)// 47nF // 8343 (732.4839141f)

    //! 简明定义 AD 转换器的最大电流
    #define USER_M1_ADC_FULL_SCALE_CURRENT_A (8.12500f)//增益=10

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请建议我们如何在加载条件下提高泵速度还需要降低电流?

    转矩电流取决于电机转速和负载。 如果需要在负载下运行电机、则可以减少该速度。

    如何在加载条件下提高泵的转速?

    增大扭矩电流(最大电流)。

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

    是的,我可以控制泵电流,但当我降低 最大电流(#define USER_MOTOR1_MAX_CURRENT_A)时      (4.400f))  

    无法达到超过3500转/分的泵转速,因此无法达到最大转速,  

    当以24V 启动泵时,它不旋转,它得到电流限制(电源),相同的条件 当降低输入电源电压19V 泵它可以启动正常(泵运行),

    在这里, 我想知道为什么泵将启动24V ? 我可以修改输入电压相关参数、但仍然存在问题、因此请给出建议?    

     现在我们使用基于分流 和电压检测值的5欧姆分流电阻器、我已将其修改为以下值  

    因此,请提供输入如何增加速度与电流限制,?  

    根据我们的泵额定值、我更改了以下参数  

    #define USER_M1_NOMINATE_DC_BUS_VOLTAGE_V       (24.0f)        //(48.0f)(24)

    //! \short 定义 AD 转换器的最大电压
    #define USER_M1_ADC_FULL_SCALE_VOLTAGE_V       (68.00588f) //(64.86914f)// EVM 板// 68.00588 Pricol PCB ////IN 8323 (57.52845691f)//8343 (64.86914f)

    //! 简明定义模拟电压滤波器极点位置、Hz
    #define USER_M1_VOLTAGE_FILTER_POLE_Hz           (680.157)//(680.4839141f)//(732.4839141f)//(680.4839141f)// 328.157 //(680.4839141f)//

    47nF // 8343 (732.4839141f)

    //! 简明定义 AD 转换器的最大电流
    #define USER_M1_ADC_FULL_SCALE_CURRENT_A       (16.0000f)//(16.52500f)//增益=10 DRV8343_CSAGAINA_20V、DRV8343_CSAGAINA_40V

    //8323 (47.14285714f)、增益=10 // 8343 (16.5000f g=20) 33 (增益=10)(66.00000 (g=5))
    //(g=40 (20.62500f)时的2mOHM 分流值) MOTOR1_DCLINKSS

    #define USER_MOTOR1_TYPE MOTOR_TYPE_PM
    #define USER_MOTOR1_NUM_POLE_PAIRS           (2)//4 bhuv
    #define USER_MOTOR1_MODEL Rr_Ohm                     (null)
    #define USER_MOTOR1_MODEL Rs_Ohm                    (0.103)//(0.318)//bhuv //(0.38157931f)
    #define USER_MOTOR1_Ls_d_H                    (0.00057)//(0.00035)//(0.000188295482f)
    #define USER_MOTOR1_Ls_q_H                     (0.000717)//(0.000465)//// Bhuv //(0.000188295482f)
    #define USER_MOTOR1_RATED_FLUX_VpHz          (0.18)//(0.0396642499f)// Bhuv
    #define USER_MOTOR1_MAGNETIZING_CURRENT_A  (NULL)//(NULL)
    #define USER_MOTOR1_RES_EST_CURRENT_A       (2.2)//(2.5f)此电流还用于使电机开环旋转
    #define USER_MOTOR1_IND_EST_CURRENT_A        (-1.2f)//-1.5
    #define USER_MOTOR1_MAX_CURRENT_A           (4.400f)//8/18
    #define USER_MOTOR1_FLUX_EXC_FREQ_Hz        (60.0f)//需要检查
    #define USER_MOTOR1_NUM_ENC_SLOTS            (1000)
    #define USER_MOTOR1_INERTIA_Kgm2               (0.0000492)//(7.06154e-06)/////////Bhuv//

    #define USER_MOTOR1_FREQ_NEARZEROLIMIT_Hz       (5.0f)// Hz

    #define USER_MOTOR1_RATED_VOLTAGE_V             (24.0f)//14 bhuv
    #define USER_MOTOR1_RATED_SPEED_KRPM        (7.0f)

    #define USER_MOTOR1_FREQ_MIN_Hz              (9.0f)// Hz
    #define USER_MOTOR1_FREQ_MAX_Hz             (3000.0f)// Hz

    #define USER_MOTOR1_FREQ_LOW_Hz            (10.0f)// Hz
    #define USER_MOTOR1_FREQ_HIGH_Hz            (3000.0f)// Hz
    #define USER_MOTOR1_VOLT_MIN_V               (3.0F)//伏特
    #define USER_MOTOR1_VOLT_MAX_V               (24.0f)//伏特

    #define USER_MOTOR1_FORCE_DELTA_A             (0.05f)// A
    #define USER_MOTOR1_ALIGN_DELTA_A               (0.01f)// A
    #define USER_MOTOR1_FLUX_CURRENT_A              (0.5f)// A IF
    #define USER_MOTOR1_ALIGN_CURRENT_A           (2.5f)// 1.5A
    #define USER_MOTOR1_STARTUP_CURRENT_A          (12.0f)//3.5A
    #define USER_MOTOR1_Torque_CURRENT_A       (3.0F)// A
    #define USER_MOTOR1_OVER_CURRENT_A    (18.0f)// A 8/10/25

    #define USER_MOTOR1_BRAKE_CURRENT_A  (1.0f)// A
    #define USER_MOTOR1_BRAKE_TIME_DELAY  (12000U)// 60s/5ms

    #define USER_MOTOR1_SPEED_START_Hz    (30.0f)//(30.0f)
    #define USER_MOTOR1_SPEED_FORCE_Hz      (25.0f)//(25.0)
    #define USER_MOTOR1_ACCEL_START_Hzps       (10.0f)//(10.0f)
    #define USER_MOTOR1_ACCEL_MAX_Hzps        (20.0f)//(20)

    #define USER_MOTOR1_SPEED_FS_Hz     (3.0F)

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

    请在帖子上面给出建议。

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

    在调试过程中我突然收到以下错误,该错误与 MCU 功率不足有关? 或存储器问题?

    C28xx_CPU1:GEL 输出:

    RAM 初始化完成

    C28xx_CPU1:GEL 输出:
    存储器映射初始化完成
    C28xx_CPU1:GEL 输出:... DCSM 初始化开始...
    C28xx_CPU1:GEL 输出:... DCSM 初始化完成...
    C28xx_CPU1:GEL 输出:... DCSM 初始化开始...
    C28xx_CPU1:GEL 输出:... DCSM 初始化完成...
    C28xx_CPU1:GEL 输出:... DCSM 初始化开始...
    C28xx_CPU1:GEL 输出:... DCSM 初始化完成...
    C28xx_CPU1:在长度为0x2的第1页上的0x64位写入存储器块时遇到问题:(错误-1156 @ 0x800)器件可能在低功耗模式下运行。 是否要使其退出此模式? 选择"是"以强制唤醒器件、然后重试操作。 选择"否"可在不唤醒器件的情况下重试操作。 (仿真软件包9.10.0.00080)
    C28xx_CPU1:错误:(ERROR -2134 @ 0x0)无法控制器件执行状态。 复位器件、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板执行下电上电、和/或尝试更可靠的 JTAG 设置(例如、降低 TCLK)。 (仿真软件包9.10.0.00080)
    C28xx_CPU1:闪存操作期间发生错误:目标无法写入0x00000064@数据
    C28xx_CPU1:JTAG 通信错误:(错误-1135 @ 0xC158)调试探针报告了错误。 确认调试探针配置和连接、重置调试探针、然后重试此操作。 (仿真软件包9.10.0.00080)
    C28xx_CPU1:在断开连接之前从目标中删除调试状态失败。 程序存储器中仍可能嵌入了断点操作码。 建议您在连接前复位仿真器并在继续调试前重新加载程序
    C28xx_CPU1:在闪存操作期间发生错误:无法读取0x000136@编程:目标未连接
    C28xx_CPU1:在闪存操作期间发生错误:无法读取0x00012C@程序:目标未连接
    C28xx_CPU1:闪存编程器:擦除扇区7时出错。 FMSTAT (在某些器件上为 STATCMD)值= 0。 操作已取消(0)。
    C28xx_CPU1:文件加载程序:存储器写入失败:未知错误
    C28xx_CPU1:GEL::E:\ccs_12.2_work_SPC\Flash_lib_DRV8323.out Us_Ti_Working_Code:加载失败 Pricol_Demo_ Pricol_Demo_。
    C28xx_CPU1:闪存操作期间发生错误:无法读取寄存器 PC:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:无法写入寄存器 PC:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:无法写入0x000000@程序:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:无法在目标断开时启用
    C28xx_CPU1:在闪存操作期间发生错误:无法读取0x00000064@数据:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:无法写入0x00000064@数据:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:在尝试执行 ramopen_dis.ALG 时无法运行目标
    C28xx_CPU1:闪存操作在等待算法完成时超时。 操作已取消。
    C28xx_CPU1:在擦除/加载闪存之前、执行调试器复位并执行引导 ROM 代码(点击 CCS 调试窗口中的"恢复"按钮)。 如果这对成功执行闪存擦除/加载没有帮助、请检查复位原因(RESC)寄存器、NMI 影子标志(NMISHDFLG)寄存器和引导 ROM 状态寄存器以进行进一步调试。
    C28xx_CPU1:闪存操作期间发生错误:无法写入0x00000064@数据:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:无法写入0x000000@程序:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:无法在目标断开时启用
    C28xx_CPU1:在闪存操作期间发生错误:无法读取0x00000064@数据:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:无法写入0x00000064@数据:目标未连接
    C28xx_CPU1:闪存操作期间发生错误:在尝试执行 pwrite_dis.alg 时无法运行目标
    C28xx_CPU1:闪存操作在等待算法完成时超时。 操作已取消。
    C28xx_CPU1:在擦除/加载闪存之前、执行调试器复位并执行引导 ROM 代码(点击 CCS 调试窗口中的"恢复"按钮)。 如果这对成功执行闪存擦除/加载没有帮助、请检查复位原因(RESC)寄存器、NMI 影子标志(NMISHDFLG)寄存器和引导 ROM 状态寄存器以进行进一步调试。
    C28xx_CPU1:闪存操作期间发生错误:无法写入0x00000064@数据:目标未连接

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

    您好!

    请验证您的电路板是否正确供电(检查是否有错误的电缆、安全连接等)、以及是否能够使用目标配置连接到器件(您可以在目标配置文件或工程属性中测试此连接)。 如果问题仍然存在、请告诉我。

    此致、

    阿米尔·奥马尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="498808" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1264592/drv8343s-q1evm-f280025c_universal-motor-control-project-for-bldc-using-drv8323-compilation-erroe/4818604 #4818604"]#define USER_MOTOR1_LS_d_H                    (0.00057)//(0.00035)//(0.000188295482f)
    #define USER_MOTOR1_Ls_q_H                     (0.000717)//(0.000465)//// Bhuv //(0.000188295482f)

    电机 ID 显示值必须相同、而不是两个不同的值。 对这两个值使用运行电机 ID 时找到的值。  

    #define USER_M1_ADC_FULL_SCALE_CURRENT_A       (16.0000f)

    #define USER_MOTOR1_OVER_CURRENT_A    (18.0f)// A 8/10/25

    当完整 ADC 设置为较低的16A 时、CMPSS 故障 DAC 电平锁存/跳闸中的电流监控器如何报告过电流18A?