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.

[参考译文] TMS320F28069F:当前问题-似乎是一个扩展问题

Guru**** 2584245 points
Other Parts Discussed in Thread: DRV8301, CSD18533Q5A

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/652985/tms320f28069f-current-issue---seems-like-a-scaling-problem

器件型号:TMS320F28069F
主题中讨论的其他器件:DRV8301CSD18533Q5A

尊敬的社区:

我现在用 instaspin 工作了半年、到目前为止、这对我来说还不错。 我在这里阅读了很多有关电流调节的文章、但无法找到与我相同的问题。

我的硬件是一个定制 PCB、具有带3MR Rsense 的 DRV8301栅极驱动器、我使用以下 FET

BUK7Y4R8-60E

CGD 和 CGS 有点高、但60kHz 或45kHz 可以正常工作。 由于 RDSON 和 Gatecharge"较低"、因此计划将其更改为 TI-FET

我使用的是来自中国的集线器电机。 数据表显示 在11、4NM 最大扭矩下为"17A 最大电流"。

我首先想知道这里是指哪个电流。 IQ 电流?  直流总线电流? 相位的 RMS 电流?

由于 Iq 是我的扭矩生成电流、我假设这可以与11Nm 所需的17A 进行比较。

在我的软件中、我将根据该值设置 PID_SPD 最大输出、然后我将打印 user.h 以了解我的电流调节。

CTRLSetMinMax (ctrlHandle、_IQ (-5.0)、_IQ (Tmot_DES_A));   //此处需要-5A 限制、只应设置 max。

计算 TMOT_DES_A: TMOS_DES_A =(maxCurrent/((float) iqFullScaleCurrent_A) //maxCurrent = 17A (motordatasheument)

根据 user.h、这是一个0.261的 pu 值

#define USER_IQ_FULL_SCALE_VOLTAGE_V     (52)  // V_标称 值为25.2V 、但使用了 FW 和过流模块

#define USER_ADC_FULL_SCALE_VOLTGE_V      (52.899)     // 75k 和5k

#define USER_IQ_FULL_SCALE_CURRENT_A        (65.0)//  应为 ADC 的一半或更多(instaspin 手册) 应正常工作、因为不会出现高电流

#define USER_ADC_FULL_SCALE_CURRENT_A       (110.0) // 3m Ω 增益=10

电流控制器设置: (使用实验中的公式计算)

           gMotorVars.KP_idq =_IQ (2.32);
          gMotorVars.KI_Idq=_IQ (0.0193);
          gMotorVars.KP_SPD =_IQ (8);
          gMotorVars.KI_SPD=_IQ (0.0193);
     CTRL_setKp (handle、CTRL_Type_PID_ID、gMotorVars.KP_idq);
     CTRL_setKi (handle、CTRL_Type_PID_ID、gMotorVars.KI_Idq);
     CTRL_setKp (handle、CTRL_Type_PID_IQ、gMotorVars.KP_idq);
     CTRL_setKi (handle、CTRL_Type_PID_IQ、gMotorVars.KI_idq);
     CTRL_setKp (handle、CTRL_Type_PID_SPD、gMotorVars.KP_SPD);
     CTRL_setKi (handle、CTRL_Type_PID_SPD、gMotorVars.KI_SPD);

速度控制器的最大输出设置工作正常。

我在测试台上运行此设置、其中使用 Instaspin 和较大的电机施加负载(扭矩)。

因此、当我将 Speed_out_max 设置为17A 时、我预计扭矩为11.4NM。 此外、我预计相位音乐的直流电流或 RMS 电流均在17A 范围内。

但我没有达到11牛米。 测试台和 Motorcontroller 在电机停止前测量约5-6Nm 的扭矩、即11.4Nm 的一半。

我的电流测量值对我来说也是令人吃惊的。

在5Nm 的负载下、我测量的相位上的 RMS 电流为8A、直流电流约为6A。 8A 也似乎几乎是预期17A 的一半。

对我来说、似乎一切都显示了所需值的一半。

因此、我将最大电流加倍、达到34A (0.52pu)。

扭矩现在在增加、电流也显示了更好的值。 但是、当我尝试达到最大负载时、在某个时刻、电机突然关闭(仅在某些情况下)。 在 DRV 开始工作之前不久、由于电流会振荡、扭矩会振荡、您也会听到"振荡"的声音。

但为什么呢??? 相位上的 RMS 电流甚至不是17A、我已经尝试将 VDS 电平增加到1.34V、这应该足够远、因为我的 Rdson 为~3.4m Ω。 ->3.4m Ω*17*sqrt (2)=0.0817V

此外、我的直流电流仍低于10A。

是否有人在我的设置中看到故障?  我是否了解电流错误?  我还观察到扭矩测量在零和 xNm 之间振荡、这是正常的还是该值应该稳定?  电流和相位测量的模拟信号线的长度是否超过20mm 是一个问题?

总结我的问题是、我无法达到电机的最大负载、并且它开始在高负载下以高频率发出"耦合"声音。 此外、功耗低于预期。

明天、我希望我可以构建一个工作原型、以便在现实世界中进行测试。 我只是想确保测试台不是这里的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    新信息:
    Iq_PID UI 在高于最大输出、最大输出和远低于最大输出的值之间振荡。 这是否是产生噪声的原因?
    我想我已经找到了上述问题的答案:
    由于最大占空比默认为0.5、因此只能向线圈施加一半的电源电压?
    是否可以使用块换向仅达到11Nm 和17A? 我已经注意到使用过调制的功率要大得多。
    正弦波只能达到块换向功率的一半。 或者我现在完全错了吗? :D
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我有一项新建议:
    PWM 模块的死区时间是否会成为问题?
    默认情况下、该去信号时间设置为1个 CPU 周期(11ns)、这是 CSD18533Q5A 打开和关闭延迟5ns 的机制
    但我使用的 FET 具有15ns 的开启延迟和57ns 的关闭延迟!!! 我应该在这里进行调整吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    死区时间由 DRV8301寄存器设置、而不是由 F29069设置。
    2.最大电流为扭矩电流,不是恒定比例的相电流(rms 或峰值)。 实际扭矩电流可通过 Clark&Park 变换计算。