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.

[参考译文] LAUNCHXL-F28069M:lab3b 与 lab5c

Guru**** 2614265 points
Other Parts Discussed in Thread: LAUNCHXL-F28069M, DRV8305

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/695473/launchxl-f28069m-lab3b-vs-lab5c

器件型号:LAUNCHXL-F28069M
主题中讨论的其他器件: DRV8305

您好!

使用 lab3b 进行 fiddling、

用户配置进行配置

#define USER_MOTOR_FREQ_LOW(10.0)/*额定电机电机频率的10%*/
#define USER_MOTOR_FREQ_HIGH(150.0)/*额定电机电机频率的100%*/
#define USER_MOTOR_FREQ_MAX(180.0)/*额定电机电机频率的120%*

/#define USER_MOTOR_FREQ_MAX (3.0)/#define 1.5V*/额定电机电压**/#VOLTMOTOR_VOLTAGE (#define)*/ GE_MOTOR_VOLTAGE (#3.0%*)*/#

2C*/
#define USER_PWM_FREQ_kHz(100.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz(120.0)


#define USER_MOTOR_RES_EST_CURRENT(1.0)
#define USER_MOTOR_MAX_CURRENT(3.0)
#define USER_MOTOR_NUM_POLE_PAIRS(1)


//实验3b、 实验3a 中的参数运行*/
#define USER_MOTOR_RR(NULL)
#define USER_MOTOR_Rs(0.486400336)
#define USER_MOTOR_LS_d(0.000118467273)
#define USER_MOTOR_LS_q(0.000118467273)


#define I_MOTOR_LS_偏移(0.9788709283)
#define USER_MOTOR_LS_LS_RISO (0.572649153_OFFSET




)#define 2674V (0.64V)#define I 24964_OFFSET (#define 29457_offset)(0.64V)#define 2674_OFFSET (0.64B)#define 2640V (#define 24964_OFFSET

电机的最大运行速度为50、000 RPM、运行速度为36、000 RPM。 它看起来是我可以运行的最大值?

问题1. 我似乎无法使它的运行速度超过 ~ 35、000 RPM。 尝试使用 PWM_FREQ 和 MOTOR_磁 通频率进行抖动、但似乎不想再增大

使用示波器、波形显示约360Hz。  如何将其进一步向上推。

此外、使用 lab6a 以以下用户配置运行同一电机

/*实验2c*//
//#define USER_PWM_FREQ_kHz(45.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz(120.0)


#define USER_MOTOR_NUM_POLE_PAIRS(1)
#define USER_MOTOR_RES_EST_CURRENT(1.0)#define
USER_MOTOR_IND_CURRENT(-3.0)
#define USER_MOTOR_MAX_CURRENT(-3.0)


lab 3a
















krpm Run */#define USER_MOTOR_RR (NULL)#define USER_MOTOR_Rs (0.486400336)#define USER_MOTOR_LS_d (0.000118467273)#define USER_MOTOR_LS_Q (0.000118467273)#define USER_MOTOR_RATLE_OFFSET (0.0564761274)#define LMOTOR_LEST_L1895V (#define LEST_CL_CLIN_CLIN_INEST_L18V)#define L18572V (#define)#define MOTOR_CLIN_INEST_L= 0.82640V (#define MOTOR_CL_INEST_L18V)#define L18V #define L= 0.92640V (#define MOTOR_OFFSET)#define L18V (#define)#define MOTOR_GE_IN_IN_IN_IN_INEST_L=
USER_SYSTEM_惯性(0.009338378906)
#define USER_SYSTEM_FRICTion(-0.02804970741) 

我确实看到以下问题:

电机达到的最大速度为18、000RPM。 相比之下、电机运行时的噪声更大、与 lab3b 相比、PWM 在情况下更平滑

如果启用了 USER_PWM_FREQ_kHz:一旦电机使用 enableSys 和 Run_Identify 运行、即使使用 VelIdRun 停止 PWM 波形、电机也无法运行、因此需要按下 RESET 按钮

如何使用 lab6a 提高 PWM 频率?

谢谢、

制造商

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

    首先、您应该使以下三个参数与您的电机相匹配(尤其是 USER_MOTOR_FREQ_MAX):

    #define USER_MOTOR_FREQ_LOW (10.0) 额定电机电频率的10% *

    #define USER_MOTOR_FREQ_HIGH (150.0) /* 100%额定电机电频率 *

    #define USER_MOTOR_FREQ_MAX (180.0) /*额定电机电频率的120%*/

    它们以电气频率 Hz 为单位。 上面的设置看起来太小。 此外、当您的电机以50kRPM 的速度运行时、额定电压是多少? 请确保您的总线电压足够高、并且 USER_MOTOR_VOLT_MAX 和 USER_MOTOR_VOLT_MIN 参数设置正确。

    对于 USER_PWM_FREQ_kHz、无需在实验之间更改值。 此值受开关器件的限制。 如果您的开关器件无法处理如此高的开关频率、则您不希望使其超高。

    如果您已更正上述所有内容并重新运行电机识别(lab03a)、则可能需要查看场强减弱(lab09)、这将使您的电机以更高的速度运行。 谢谢。

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

    感谢您的帮助!
    使用 lab3b 更新了电机频率、这很有帮助

    #define USER_MOTOR_FREQ_LOW(100.0)/*额定电机电频率的10%*
    #define USER_MOTOR_FREQ_HIGH(500.0)/* 100%额定电机电频率*/
    #define USER_MOTOR_FREQ_MAX(800.0)/*额定电机电频率的120%*/

    因此、我看到从35、000 - 39、000 RPM 发生了重大变化
    电机额定转速为50、000RPM @24V、但我的电压大约为19V。
    这可能是因为、速度没有上升到50、000RPM。
    好极了。 我将使用另一个电源固定总线电压

    也就是说、对于 instaspin 运动、lab6a;如何增加 PWM 频率仍然是一种损失。
    速度最高可达18、000RPM。 有什么想法吗?

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

    要使用 InstaSPIN MOTION (SpinTAC)、应首先运行惯性 ID (实验05c)、并使用 lab05d 和 lab05e 对速度环路控制器进行测试运行和调优。 您应该能够使用 lab05e 实现快速速度。

    由于您以100kHz PWM 频率运行、我假设您有一个低电感电机。 但是、控制 ISR 由 PWM 时基触发、我们通常不希望以100kHz 的频率运行控制器。 您可能会遇到中断溢出等问题、并导致程序无法正常运行。 尤其是速度环路和轨迹生成的开销。

    您可以通过更改 user.h 文件中的 USER_NUM_ISR_TICKS_PER_CTRL_TICK、USER_NUM_CTRL_TICKS_PER_CURRENT_TICK、USER_NUM_CTRL_TICKS_PER_EST_TICK 和 USER_NUM_CTRL_TICKS_PER_SPEED_TICK 来更改 ISR、电流环路、FAST 估算器和速度环路频率。 我建议将 USER_NUM_PWM_TICKS_PER_ISR_TICK 增大到2或3以减小 ISR 频率并根据需要设置其他数字。 谢谢。

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

    您好、Han Zhang、

    我拥有的驱动器是 DRV8035。 对于 lab5c、我具有以下用户配置:

    #define my_motor113
    #define USER_MOTOR_MOTOR#Elif
    
    (USER_MOTOR== my_MOTOR)
    #define USER_MOTOR_TYPEMOTOR_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS(1)
    #define USER_MOTOR_Rs
    (0.486400336)
    #define USER_MOTOR_LS_D(0.000118467273)
    #define USER_MOTOR_LEVIN_CURRENT
    
    
    
    
    
    
    
    
    (#define)#define 1.0_MOTOR_MOTOR_TRENDULL_TRIES (#define 1.0_MOTOR_CURRENT_IN_TRENDULL_TRIES)#define 1.0_TRENDULL_TRIES (#define 1.0_MOTOR_TRENS)#define 1.0_MOTOR_MOTOR_CURRENT
    
    (#define)#define 1.02_MOTOR_MOTOR_MOTOR_MOTOR_TRENS (#define)#define 1.0_MOTOR_MOTOR_MOTOR_CURRENT_TRENS (#define)#define 1.0_MOTOR_CURRENT_TRENDULL_TRENS (#define)#define 1.0_IN_TREN
    
    (1.0) 

    正如您说过的、电机确实是一个低电感电机。

    如您所见、我没有运行我选择的 PWM 频率。 正如您在上一篇文章中看到的。 在 lab3b 中使用100kHz 的 PWM 频率。

    如果我要启用参数"USER_PWM_FREQ_kHz"   、则电机根本不会运行。 因此、我看不到如何提高 PWM 频率!

    这是我的第一个问题,如果这一点不明显的话。 很抱歉,如果我不够清楚。

    第二部分、如果 USER_PWM_FREQ_kHz 仍然不适用、要应用的 USER_NUM_params 是否仍然有效?

    有点困惑。

    谢谢、

    制造商

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

    您好、Han Zhang、

    使用以下用户配置在 lab5d 后运行 lab5e:

    //---微电机
    /*实验5c */
    #define my_motor113
    #define USER_MOTOR_MOTOR#Elif
    
    (USER_MOTOR== my_MOTOR)
    #define USER_MOTOR_TYPEMOTOR_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS(1)
    #define USER_MOTOR_Rs
    (0.473050356)
    #define USER_MOTOR_LS_D(0.000118467258)
    #define USER_MOTOR_LEVIND
    (0.00011846780
    )#define MOTOR_CURRENT_RES_TRIEL (#define 1.0_MOTOR_MOTOR_VERS)#define #define 1.0_MOTOR_MOTOR_CURRENT
    
    
    
    
    
    (#define)#define #define 1.0_MOTOR_MOTOR_CURRENT_IN_INTRENDULL_MOTOR_IN_TRENS (#define)#define #define 1.02_MOTOR_MOTOR_MOTOR_TRENS #define 1.0_MOTOR_MOTOR_MOTOR_TRENS (#define)#define #define #define #define 1.0_MOTOR_MOTOR_MOTOR_MOTOR_MOTOR_MOTOR_TRENS #define
    
    
    
    
    (65.0)
    //-终端微电机
    
    
    #define USER_NUM_PWM_TICKS_PER_ISR_TICK(3)
    #define USER_NUM_ISR_TICKS_PER_CTRL_TICK(1)
    #define USER_NUM_CTRL_TICKS_PER_CURRENT_TICK(1)
    #define USER_NUM_CTRL_TICKS_PER_EST_TICK(1) 

    电机以10、000RPM 的转速运行。 一切都很好、电机运行平稳、完全没有噪声。 电机频率介于163-170Hz 之间

    电机的 最大运行速度为~ 19、500RPM、无需再运行。 电机频率现在介于318-331Hz 之间。 电机以抖动噪声运行。 此外、PWM 波形不像以10、000RPM 的转速运行时那样稳定。 我觉得电机轴承有问题、但以39、000 RPM 的转速运行 lab3b 时、抖动声音不存在。

    Lab3b 看起来最有希望、但也有兴趣让 instaspin 运动继续下去。

    在我看来,USER_NUM_*参数根本不会产生任何影响。

    有什么想法/建议?

    谢谢、

    制造商

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

    根据用户配置、我有以下观察结果:

    由于您的电机具有相当低的电感、您可以尝试针对电机 ID 运行 lab02c。
    2. USER_SYSTEM_FRICIS 通常是正值。 负值表示负摩擦、这是不现实的。
    用户系统带宽比例在 InstaSPIN 中似乎不是标准参数。 您是不是要以某种方式更改 USER_SYSTEM_BAN带宽?

    我还提出了一些建议:

    InstaSPIN-MOTION 的 lab05c 惯性 ID 用于识别运动系统的负载特性。 您应该运行惯性 ID 并随负载进行调优。
    2.电机中的噪声可能表明 USER_SYSTEM_BANTANGH 过高。 请尝试减少此数字、并查看噪声是否消失。

    此外、您能否提供有关电机(类型、额定电压、额定电流等)、电路板和终端应用的更多信息、以支持您在完成上述所有操作后的下一次回复中进行进一步讨论? 谢谢。

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

    您好、Han Zhang、

    根据 先前的实验,也可以在我的上一篇文章中看到用户配置,但在此处添加可以更轻松地实现:

    //-- -微电机
    
    #define USER_MOTOR_FREQ_LOW(10.0)/*额定电动机频率的10%*/
    #define USER_MOTOR_FREQ_HIGH(150.0)/*额定电动机频率的100%*/
    #define USER_MOTOR_FREQ_MAX(180.0)/*额定电动机频率的120%*
    /#define USER_MOTOR_MOTOR_MIN(3.0%*
    /额定电压)*/#VOLT (3.0*/#define GET_MOTOR_MAX (#VOLT)*/#VOLT)*#VOLT (#3.0*/#VOLT
    
    /*实验2c*/
    #define USER_PWM_FREQ_kHz(100.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz(120.0)
    
    
    #define USER_MOTOR_RES_EST_CURRENT(1.0)
    #define USER_MOTOR_MAX_CURRENT(3.0)
    #define USER_MOTOR_NUM_POLE_PAIRS(1)
    
    
    /*实验3b,3b 实验3a 中的参数运行*/
    #define USER_MOTOR_RR(NULL)
    #define USER_MOTOR_Rs(0.486400336)
    #define USER_MOTOR_LS_d(0.000118467273)
    #define USER_MOTOR_LS_q(0.000118467273)
    //#define USER_MOTOR_RAGE_FLY(0.056476462V
    
    
    )
    
    
    偏移
    
    
    
    量(#define MOTOR_LS_LS_RISO 26873_)(#define 8064B)(#define 12840V)偏移量(#define 15074_MOTOR_MOTOR_MOTOR_RISO 26873_(#define)(#define)(#define)(#define 

    仅凭此、我就更改了 FREQ_HIGH、_MAX 参数、以便在您的帮助下使电机以更高的 RPM 运行。 随着这种变化、电机的最大运行速度为39、500RPM、这是一个很好的迹象、但由于总线电压较低、因此低于50、000RPM。 电机需要30V 电压、但我有大约24V 电压。

    尽管如此、我们一直在尝试通过 instaspin 运动 lab5c、lab5e、lab6a 使其正常工作。 根据您的建议、尝试使用 lab5e、您说最好让电机以最大可能 RPM 的转速运行。

    这是我在 lab5e 中使用的用户配置:

    //---微电机
    /*实验5c */
    #define my_motor113
    #define USER_MOTOR_MOTOR#Elif
    
    (USER_MOTOR== my_MOTOR)
    #define USER_MOTOR_TYPEMOTOR_Type_PM
    #define USER_MOTOR_NUM_POLE_PAIRS(1)
    #define USER_MOTOR_RR(NULL)
    #define USER_MOTOR_Rs(0.208050356)
    #define USER_MOTOR_RATION_LS_D(0.000118467258)
    #define USER_MOTOR_CURRENT_IND
    
    
    
    
    
    
    
    
    
    
    
    
    (#define)#define 1.0_MOTOR_MOTOR_VERS (#define 1.0_MOTOR_CURRENT)#define #define 1.0_MOTOR_MOTOR_IN_INTRENDULL_MOTOR_IN_TRENSE #define (#define)#define 1.0_MOTOR_MOTOR_VERS (#define)#define 1.0_MOTOR_MOTOR_VERS (#define)#define 1.0_MOTOR_MOTOR_MOTOR_VERS #define)#define #define #define #define 1.0_MOTOR_MOTOR_MOTOR_MOTOR_MOTOR_VERS (#define #def(20.0)
    //-终端微电机
    
    #define USER_NUM_PWM_TICKS_PER_ISR_TICK(3)
    #define USER_NUM_ISR_TICKS_PER_CTRL_TICK(1)
    #define USER_NUM_CTRL_TICKS_PER_CURRENT_TICK(1)
    #define USER_NUM_CTRL_TICKS_PER_EST_TICK (1)
    

    对于 lab5c、我没有任何负载。 电机自由运行。 唯一的负载是将钻头卡盘连接到电机。 但我想钻头夹头本身是一个小负载。 不是吗?

    2.最初,我尝试使用 USER_SYSTEM_BANTANTANG带宽(在 lab5c 中描述) 1.0,后来尝试根据 lab5e 中规定的值增大该值,这就是为什么您认为该值为65的原因。 因此、当我将此参数设置为1.0时、噪声仍然存在。 噪声以大约18、000RPM 的速度开始生效。 直到那时一切都很好。

    我将 LAUNCHXL-F28069M 与 DRV8305搭配使用(我自己的电路板、但与 BOOSTXL 非常相似、FET 除外)。 电机额定转速为30V、50000RPM、极对数= 1、相位数= 3、标称转矩= 27mNm。 这些是我唯一掌握的有关电机的信息。 到目前为止、我的总线电压限制为24V。 这款无槽高速电机肯定是一款低电感电机。

    此致、

    制造商

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    忘记提到电机消耗的最大电流约为4A
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、忘记提到我正在根据此线程计算带宽。
    e2e.ti.com/.../690629
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Manu、

    在您进行钻机操作时、电机转轴和钻头夹头足以满足 USER_SYSTEM_惯性 ID 要求。 为了支持速度环路的高带宽、您可以尝试增大 USER_SPEED_POLE_rps 参数。 如果噪声有任何变化、请查看。

    仍然建议在 lab02c 中使用低电感模式重新识别电机。 您还可以尝试在我们的 BOOSTXL 上运行、看看它是否也会产生任何影响。 谢谢。

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

    您好、Han、

    重新运行了 lab2c。 它使电机的电感和电阻略低。

    之前、他们根据 Lab3、

    #define USER_MOTOR_Rs (0.473050356)

    #define USER_MOTOR_LS_d (0.000118467258)

    #define USER_MOTOR_LS_q (0.000118467258)

    lab2c 的结果:

    #define USER_MOTOR_Rs (0.470550358)

    #define USER_MOTOR_LS_d (0.0000912074902)

    #define USER_MOTOR_LS_q (0.0000912074902)

    在 lab5e 中进行此更改后:

    /*实验5c */
    #define my_motor113
    #define USER_MOTOR_MOTOR#Elif
    
    (USER_MOTOR== my_MOTOR)
    
    
    
    
    
    
    
    
    
    #358 USER_MOTOR_TYPE MOTOR_Type_PM #define USER_MOTOR_NUM_POLE_PAIRS (1)#define USER_MOTOR_RR (NULL)//#define USER_MOTOR_Rs (0.0550356)//#define USER_MOTOR_CURRENT (0.0001184262
    
    
    
    
    
    )#define USER_MOTOR_MOTOR_VERS (#define
    
    )#define MOTOR_MOTOR_CURRENT (0.7460_INT_VERS)#define MOTOR_INTRIEL (#define)#define 1507460_MOTOR_MOTOR_MOTOR_MOTOR_CURRENT (#define)#define)#define MOTOR_MOTOR_MOTOR_MOTOR_INT_VERS (#define)#define 1502C_VERS (#define)#define MOTOR_MOTOR_MOTOR_MOTOR_MOTOR_MOTOR_MOTOR_CURRENT (#define)#1502C_VERS (#define)#define 1.026 #def
    
    USER_MOTOR_FLUX_EST_FREQ_Hz(150.0)
    
    #define USER_MOTOR_ENCODER_LINE_LINE_KRPM(1.0)
    #define USER_MOTOR_MAX_SPEED_KRPM(50.0)
    #define USER_SYSTEM_INERTIM_BANGACITY(0.01319819689)
    #define USER_SYSTEM_FRICITY(-0.01226323843)
    
    #define USER_SYSTEM_BANGANGANGE_

    电机现在的最大运行速度为20、000RPM、而不是18、000RPM、抖动声音也是如此。

    已尝试从100更改为200、最终为400

    //! \brief 定义速度控制滤波器的软件极点位置、rad/s
    #define USER_SPEED_POLE_Rps          (400.0)  //默认值为100.0,请勿更改

    但这似乎没有任何影响。

    谢谢、

    制造商