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.

[参考译文] TMS320F28069M:重新稳压期间的扭矩控制故障

Guru**** 2519150 points
Other Parts Discussed in Thread: DRV8353, UCC27714, MOTORWARE, DRV8312, DRV8302, TMS320F28069

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen

器件型号:TMS320F28069M
主题中讨论的其他器件:DRV8353UCC27714MOTORWAREDRV8312DRV8302TMS320F28069

有人能解释为什么我们在重新稳压期间看到这种奇怪的行为和控制损失、以及我们如何调整控制器以消除它吗?

我看到我的定制设计有问题、当我将 Iqref 设置得越来越高时、在某个时候、传递到负载的扭矩会随着 Iqref 的增加而减小。 这是在测力计上具有固定速度负载的情况。 如果我继续增大 Iqref、控制器会变得混乱、并产生不稳定的扭矩。 我们在550 RPM 和850 RPM 时都看到了这种行为。 VBAT 大约为55V、55V 时的电机额定转速大约为2600RPM。该电机是一种10极对外转式电机。 我们使用的是一个大型测试电池、它可以接受非常大的 regen 电流、而不会出现任何问题。

下图显示了测得的扭矩、测得的相电流(峰值)和估算的扭矩(来自快速输出)与 Iqref 的关系。 在图中、我显示 Iqref 为正、但当然、由于它是 regen、因此我们设置的 Iqref 实际上为负。

我们运行的代码本质上是实验5a。 我们使用调试器调整了 Iqref。



Rs 似乎会影响这个问题。 在一种情况下、我们强制 Rs 略高于 Id 的结果、这提高了失去控制的 Iqref 级别。

user.h 资料:
e2e.ti.com/.../2625.user.h


我们有一个 DRV 8353RS 栅极驱动器。 低侧分流器的电阻为500 uOhm。 分流放大器增益为40V/V VREF 为3.3V。硬件相位滤波器的截止频率约为1400Hz。

注意:过去、我们使用其他控制器对此电机进行了测试、并能够实现高于此值的扭矩水平。 我认为定子饱和不会发生。

电机自由旋转时的反电动势(未连接控制器)


失去控制后的电流波形(不确定这是否为典型值... 似乎每次波形看起来都稍有不同)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen "]硬件相位滤波器的截止频率约为1400 h[/quot]

    您是指用于电压检测的模拟滤波器极点频率吗? 您使用的是什么 PWM 频率? 电机的最大电频率是多少?

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen 中的数据]下图显示了测得的扭矩、测得的相电流(峰值)和估算的扭矩(来自快速输出)与 Iqref。 在图中、我显示 Iqref 为正、但当然、由于它是 regen、因此我们设置的 Iqref 实际上为负。

    您是否在这个测试条件下监控直流总线电压? d 轴电流控制器的 Vd 和 Vq 输出值是多少?

    您是否添加了用于设置 IQ 基准的斜坡控制? 如何将 IQ 参考从大正值更改为负值? 将 IQ 参考值更改为负值时的状态和速度是多少?

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

    是的、模拟滤波器极点大约为1400Hz。 最大电频率约为600Hz。 PWM 频率为20、000Hz。

    测试期间未监测直流总线电压、但测试是使用大电池执行的、测试期间的电压约为55V。我们没有记录 Vd 和 Vq。 我们将重新执行测试并监控 Vd 和 Vq 输出。

    我们没有使用斜坡控制。 我们直接使用调试器更改 IQ 参考。

    IQ 参考从未为正。 我们仅使用负值。 在0到-50 A 之间的任何值上、我们都没有发现任何问题或不稳定。 但是、当我们将 IQ 基准增加到-50A 以上时、我们注意到实际输出扭矩下降、然后在大约-52A 时、我们会看到控制/不稳定的丧失。 我们认为、扭矩斜坡与此无关。 速度始终由测力计控制。 在整个测试过程中、正向速度约为550 RPM。 这是一个再生制动测试、其中电机在正旋转期间施加负扭矩。

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

    下面是一些显示不同条件下的 Vd 和 Vq 的图片。 照片中的红色文本为注释。

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

    最大 制动扭矩电流必须远低于短路电流、否则电机的数学模型对于 FAST 估算器不正确、因此最好限制制动扭矩电流以实现无传感器 FOC。

    BTW、 对于 您的电机、模拟滤波器极点的最大 电频率为600Hz、建议 该电机的极点介于400~800Hz 之间。

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

    不过、这里有一些没有意义的东西。 反电动势应足够大、以产生超过50安培的电流。 查看图片(我上传了更高分辨率的图片)、您可以看到磁通链为0.06255。 对于10个极对、电压为0.06255 * 10pp * 577rpm / 60sec/m = 6V。然后6 V / 0.06欧姆= 100安培。 因此、在我看来、在该速度下、VQ 接近于零并不是很有意义。 我将测量更多内容并稍作更新。 但是、让我知道我的计算是否合理。 我将极点频率更改为接近600或800Hz、并在某个点更新 user.h。 如果您认为这很重要、我今天将对其进行更改(请告诉我)。

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

    Id 和 Iq PI 控制器是否有任何限制? 您能否监控基准和反馈 IQ 以及 IQ 控制器的输出? 如果在进行测试时基准 ID 和 IQ 是固定值、则 Vd 和 VQ 都不正确。

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

    我不完全理解您的要求。 在测试中、我们将 IQ ref 和 ID ref 设置为固定值。 例如、如果我们将 Iqref 设置为-50安培、并将 IDREF 设置为0、我们将获得稳定的运行。 但是、如果我们将 Iqref 设置为-54并将 IDREF 设置为0、则会失去控制。 请注意、速度由测力计设定。 instaspin 电机控制器在扭矩模式下运行。 是否可以指定希望我监视的变量名称? 例如、您是指 gMotorVars.IqRef_A? 这是基准 IQ、对吧? 我们将其设置为测试的常数。 什么是反馈 IQ? IQ 控制器的输出是什么? 不是 gMotorVars.VQ 和 gMotorVars.Vd?

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

    您可以在 PI 控制器中检查这些变量的 ID 和 IQ。

    您是否尝试以这样的扭矩电流在行驶模式下运行机器?

    ADC 的最大电流采样值是多少? ADC 是否存在任何溢出?

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

    不应出现任何溢出。 我们有500 uOhm 低侧分流器。 分流放大器增益为40V/V 因此、它的工作电压为2mV/A。ADC 基准电压为3.300V。因此、我们拥有165安培的完整范围。 我们应该能够从-82.5 A 到+82.5 A 进行读取

    从先前连接的 User.h:
    #define USER_ADC_FULL_SCALE_CURRENT_A    (165.0)


    是的、我们在正向电机模式下能够获得超过54安培的电流。 我们可以通过良好的控制将 Iqref 设置为高达60安培。 在65安培时、我们会看到前进电机中的控制故障。 这是直流总线电压约为53V

    您要求我"监控基准和反馈 Iq"。  我认为基准是变量 gMotorVars.IqRef_A、对吧? 我们将使用调试器设置基准。 您还要求我监控"反馈 IQ"。 什么是反馈 IQ?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4171440 #4171440"]不应出现任何溢出。

    请监测并捕获电机的相电流、以查看在制动模式下尝试增大扭矩电流时峰值电流是否大于刻度电流的一半。

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4171440 #4171440"]我认为引用是变量 gMotorVars.IqRef_A、对吗?[/quot]

    是的、它是采用 SI 格式的基准电流。 您可以检查 gMotorVars.ID_A 和 gMotorVars.IQ_A 以获取反馈电流。

    此外、还请检查并监控 CTRL 对象中 PI 结构变量中的变量、如下所示。

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4171440 #4171440"]是的、我们在正向电机控制模式下能够获得超过54安培的电流[/引用]

    值是多少、54A 意味着什么? 您是否使用电流探头检查了电机的相位峰值电流?

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

    请查看第一个帖子。 标记为"IPEAA"的曲线是使用电流探头和示波器测量的峰值电流。 X 轴是 Iqref、这是我们尝试实现的电流(IQ PID 的设定点)。 通常、峰值电流与 Iqref 匹配、直至出现故障点。

    估算转矩来自 FAST 估算器。 测得的扭矩来自测力计上的扭矩传感器。


    当我们进行再调节时、我们可以将 Iqref 提高到-52安培。 IPEAK 是使用电流探头测量的实际电流、等于 Iqref。 但当我们从-52增加到-54时、我们会遇到控制损失、在本例中、电流波形不稳定(非正弦)、IPEAK 不跟踪 Iqref。

    但是、在正向驱动中、我们可以将 Iqref 增大到54以上而不会失去控制。 我们能够达到60安培。
    当我说"54安培"时、这既是 Iqref、也是测得的峰值电流、该峰值电流与 Iqref 一致、除非我们失去控制、在这种情况下、IPEAK、Vd 和 Vq 以及所有变量都变得极其不稳定。

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

    相位峰值电流应始终远高于 IQ 参考值、当设置相同的 IQ 参考值并向电机添加相同负载时、峰值电流将随直流总线电压变化、 在再生模式下、当您将转矩电流增加到最大值时、请帮助检查和监测相电流。  请检查并确保电流和电压感应信号在此情况下不会溢出。 我们建议您先限制转矩电流、我们不验证 FAST 估算器在 再生模式下是否在全电流和速度范围内运行良好。

    电机的额定电流、额定电压和额定速度是多少?

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

    峰值相电流应跟踪 Iqref。 您为什么说峰值相电流应高于 Iqref? 这对我来说毫无意义。 相电流是产生扭矩的电流、相电流的振幅与扭矩成正比。 这是扭矩控制方法的全部基础。

    在任何情况下、我们都会在测试过程中始终使用电流探头和示波器来监测相电流。 第一幅图显示了 regen 期间的相电流(使用电流探头和示波器测量)与 Iqref 的关系。

    它还显示了测得的扭矩和估算的扭矩(由 FAST 估算)。 正如您在第一幅图中看到的、电流探头测量的峰值相电流跟踪 IqRef。 但是、当 Iqref 设置为-50安培或更高(-51等)时、测量的扭矩会下降、而估算的扭矩会继续上升。 这似乎是 FAST 观测器与现实之间的脱节。 您能否花一分钟时间查看问题中的第一张图表、并告诉我您对此有任何疑问?

    电机是定制设计。 我认为我们没有确定任何官方的功率等级。 但它大约为550瓦、2500 RPM 和52 V。我们已使用其他电机控制器对其进行了测试、测试功率级别更高、高达1000瓦左右、扭矩高达8 Nm。 它可以在8牛米处进行电机或制动、但由于过热、不能长时间运转。

    电压信号不会过流或饱和。 我们可以正确读取直流总线电压、相电压上的分压器分压比与直流总线相同。

    在我们的应用中、我们确实需要将最大制动扭矩提高到大约8 Nm。

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

    Id 和 Iq 为直流电流、相电流为正弦电流。 是的、电机相电流将遵循 Id 和 Iq 变化、并具有关系。 但电机相电流的峰值与 转矩不成正比、它也与直流总线电压和速度有关。

    很难从您发布的波形中知道峰值电流值。 如上所述、请帮助捕获更多电流波形、以在不同测试条件下监测和检查峰值。

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

    是的、Iq 是直流电流。 但 Iq 也是峰值交流电流的值。 此外、交流电流振幅与扭矩成正比。 这是基本的电机理论。 扭矩= KT * I. 我想您可能会将电压和电流混合在一起。 电压随速度而变化。 占空比取决于 Vbat 以及速度和电流。

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

    你是对的。 在电机模式下、如果 PMSM 的 d 轴电流为零、则 q 轴电流对应于相电流的包络。 但仍需要检查在通电模式下电流和电压感应是否存在任何溢出。 如果可能、您可以在不同的测试条件下检查估算角度和磁通是否正确。

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

    好的、谢谢。 我们将尝试验证感应和磁通角。 我们对如何做到这一点有一些想法。

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

    听起来不错。 如果   转矩电流远高于额定电流、我们还需要花一些时间在生成模式下验证估算器。

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

    虽然我们尚未完全解决此问题、但我们确实有一些更新。 首先、我们发现在某些情况下、我们会获得电流 ADC 输入的饱和(瞬态饱和)。 我们更改了电流感应放大器的增益、因此我们不再获得饱和。 此外、我们将控制节拍数减少到1、因此现在我们以与 ADC 采样率20kHz 相同的频率运行控制。 此外、我们为日志变量插入了代码、并在瞬时过流事件发生时停止日志记录。 这使我们能够从控制器捕获数据、从而导致控制丢失。 我将单独发布更多相关信息。

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

    很好。 请确保电流和电压感应信号在高电流状态下不饱和。 请监控电流和电压、当电机从正常状态工作到故障状态时、最好在转换状态下使用示波器捕获一些波形。

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

    在转换时很难触发示波器。 我们必须使用来自电路板的 IO 来触发 DSO 上的输入。 也许我们可以做到这一点。 我很快会再次发布。

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

    下面是一些图。 这些显示了控制器在控制丢失之前的各种变量。 第一个是相位电压 ADC 结果(这是 ADC 转换的结果、因此4095是满量程读数...  没有发生饱和)。


    这是同一事件的第二个图、其中显示了电流感应 ADC 的 ADC 结果以及快速估算的磁通角(图中标记为"相位角")。 我们还没有接近饱和的地方、但您可以清楚地看到、大约186个样本的某个地方开始出现问题。 但是、我们仍然无法接近 ADC 的数字饱和(相位角在右侧轴上以 pu 为单位)。 注意:所有这些图形都与时间相关。 此图上的示例186对应于其他两个图上的示例186。 我发布三个独立图形的唯一原因是、如果所有布线都位于同一个图形上、那么很难看到发生了什么情况。




    最后、这里是 Vd 和 Vq 的图。 如您所见、大约186Vd 和 Vs 的数值饱和为高电平、而 VQ 不久将饱和为低电平。 这是失去控制的时候。

    我们可以看到、事情看起来不好、但就事件的顺序而言、我们无法完全理解这里发生的情况。 如果你有任何建议,说明我们如何在目前的制度下运作,而又不失去控制,或进行任何进一步的试验,我们将不胜感激。

    我想强调的是、我们确实具有电机的高度功能。 我们可以在广泛的扭矩和速度范围内进行电机和电机转动、但在极高的扭矩下、我们似乎遇到了这些问题、并且可以真正地使用一些帮助。

    我不知道这是否与我们的另一个未决问题相关、我们在这个问题中询问了重载期间的速度估算误差。 现在、我将把它们保留为两个单独的问题。

    谢谢、此致、
    McKenzie

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

    您好、McKenzie

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4171440 #4171440"]HE 分流放大器增益为40V/V 因此、它的工作电压为2mV/A。ADC 基准电压为3.300V。因此、我们拥有165安培的完整范围。 我们应该能够从-82.5 A 到+82.5 A 进行读取。[/引述]

    增益为40时、似乎是拼写错误20mV/A。 即使使用轨到轨放大器、输出也会更像+3.18V、这是相对于高/低电源轨的±120mV 典型值。 因此、最好的估算+3.18v/0.02给出了159A ADC 满量程。 最后、任何输入滤波也会在低端500µΩ Ω 分流器上添加精密误差。 看起来±79.5A 更真实、可以更好地控制 PI 电流。 另一个需要考虑的因素是、电流监控器往往会在通过 PSPICE 模型确定的双向监控中削波输出。 在测试过程中,人们可能会在电流放大器的输出端焊接短绕线以探测信号,从而确认是否出现输出削波 。

    如果您不希望电机达到79.5A 峰值、请将分流器增加至1MΩ Ω、然后再增加2mΩ Ω。 这将直接改善电机运行时测试、在峰值预期电流上置零并设置非常精确的 CCMP 跳闸点。

    此致  

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

    拼写错误或数学运算或其他内容。 它是20mV/A、您肯定是对的 但是满量程数是正确的。 因此、尽管此处有拼写错误、但 user.h 文件中的内容是正确的。

    但是、增益不再是40V/V 当我们发现瞬态数字饱和时、我们将其降低至20V/V (当增益为40时、实际看到的转换结果为4095和0、供参考)。 即使在降低增益之前、我们也绝不会将 Iqref 设置为大于75安培。 因此、现在 FS 范围的标称值为330A (+/- 165A)。 针对任何硬削波或增益损耗、似乎有足够的保护频带。

    我们增加了大约90安培的瞬时电流限制。 因此、如果有任何单个采样大于90安培、我们会"跳闸"进入故障状态并停止驱动电机。 同样、如果单个样本<-90A、我们会"跳闸"。 我们还会将各种数据持续记录到循环缓冲区中、然后在收到跳闸事件时停止记录。 因此、我们可以使用调试器转储这些缓冲区、并检查导致跳闸的所有变量。 这是最新图形的来源。 我们将来可能不会这样做、但现在它允许我们在控制器接近异常事件时检查其状态。  

    考虑到功率耗散、我们不希望增加分流电阻。

    由于电流分流放大器之前输出了完整的轨到轨电压、随后我们将增益降低了2倍、我相信我们现在不会看到任何削波。

    我们使用的 DRV8353RS 中包含电流分流放大器。

    由于各地使用的器件很小、因此探测分流放大器的输出并非易事。 我们可以这样做、但我们还必须根据自己的判断确定调试工作的优先级、现在我不想这样做、因为我认为这不是问题(基于 ADC 数据流)。

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

    您如何获得这些图形? 您能否监控 d 轴基准电流和反馈电流、以了解 d 轴电压为何如此大?

    是否可以使用示波器捕获 ADC 输入通道上的一些相电压波形? 并使用电流探头捕获电流波形。 在上图中、电流和电压形状似乎有失真。

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

    我们创建了循环缓冲器来监视相关变量。 循环缓冲器每次采样(20kHz)都会更新。 然后、我们输入代码来检查每个样本的电流。 如果电流大于最大瞬时电流、我们将控制器设置为离线状态、并停止记录到循环缓冲器。 过流事件后、我们会手动剪切数据并将其从 Code Composer 中的调试器窗口粘贴到电子表格中。

    D 轴参考电流是固定的(我们处于扭矩控制模式)、但我们可以尝试捕获 Q 轴和 D 轴反馈电流。 我们有很多工作要做、因此可能不会立即发生、但我们会在某个时候进行。

    虽然可以在示波器上捕获数据、但很难将示波器数据与内部数据同步。 此外、由于组件、引脚和焊盘都很小、因此很难实现。 但是、我们可以在正常运行期间(在跳闸之前)捕获一些示例波形。

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

    明白了。 我只怀疑相电压波形在失真情况下不是平滑的。 在逆变器上执行什么直流总线电压? 硬件 板的 USER_ADC_FULL_SCALE_VOLTGE_V 和 USER_VOLTGE_FILTER_POLE_Hz 的值是什么?

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

    我们已根据先前的反馈更改了滤波器极点。 下面是最新值。

    #define USER_ADC_FULL_SCALE_VOLTGE_V    (66.08745)
    #define USER_VOLTGE_FILTER_POLE_Hz    (673.8529)

    我们在测试期间使用电池。 电压根据充电状态变化、但始终介于50V 和58V 之间

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

    解决此问题时的电机转速是多少? 是否可以降低直流总线和相电压感测电路的 R22并增大 C27?

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



    我们可以将滤波器极点置于多接近我们的最大电频率? 例如、如果我们的最大电频率为500Hz、那么我们可以使用的最低极点频率是多少? 如果电频率接近极点频率、则会出现一些振幅损耗和相移。 这就是为什么我尝试在高侧保持一点极点频率。

    我们在各种速度下进行了测试。 在最近的图表中、我们以大约1700 RPM 的转轴速度运行。 电频率约为280Hz。 x 轴是样本编号、我们以20kHz 的频率进行采样、因此这是每50us 一次采样。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4202700 #4202700">我们可以将滤波器极点放置在距离我们最大电频率有多近的位置? 例如、如果我们的最大电频率为500Hz、那么我们可以使用的最低极点频率是多少? [/报价]

    滤波器极点与 PWM 开关频率相关、用于滤除高频信号、其值可能为300~800Hz、如果 PWM 开关频率和 PWM 开关频率较高、则选择较大的值。

    最好增加 USER_ADC_FULL_SCALE_VOLTGE_V 、以确保至少比最大直流总线电压高20%。

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

    我们的 PWM 频率为20kHz。 我了解滤波器旨在移除 PWM。  但它还必须通过电机的电频率、以避免电压信号衰减和相移。 在我看来、如果极点太接近电机的电频率、滤波器将衰减信号(并产生相移)。 我没有跟踪代码以查看它是否尝试补偿这种衰减和相移。 如果是这样、也许可以将滤波器极点放置在非常接近最大电频率的位置。 您能对此进行评论吗?

    如果您建议、我们可以更改分压器并提高 USER_ADC_FULL_SCALE_VOLTGE_V。 然而、在我们到目前为止所做的测试中、我们完全不接近于最大值。 因此、我认为这与手头的问题无关。

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

    FAST 估算器将根据滤波器截止频率添加延迟补偿、因此极点主要与 PWM 频率相关、并设置为建议值。

    通常、当电机处于生成模式时、总线电压将升高、因此最好确保它不超过 ADC 采样范围。

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

    您好、Yanming、

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4206939 #4206939"]通常、电机处于生成模式时、总线电压会升高、因此最好确保它不超过 ADC 采样范围。

    因此、最好在 EMF 分压器范围内增加30%作为 ADC 开销、这是再生 Lab6期间可能的最大电压吗?

    似乎任何制动方法都需要一种控制算法来将转子减速速度限制为 USER_ADC_FULL_SCALE_VOLTGE_V

    如果  用户从未发出重新启动命令、那么惯性滑行 typedef 字控制快速重启(Lab9)中的转子正常(RAD/Sec)? 并且(motorVars.之 扭矩_牛米)应指示惯性滑行期间的负反扭矩? 假设在施加全总线电压的直流逆变器快速控制下启用了成本计算。  

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

    我在雷根有很多经验。 REGEN 不会导致不受控制的充电电流。 你有一个扭矩限制(就像你在驾驶时一样)、这设置了一个极限值、确定了 regen 电流的大小。 您可以根据电池电压为扭矩添加折返限制。 因此、当电池接近其最大电压时、扭矩会折回零。 在扭矩控制模式下、通过为当前 PID 设置 Iqref 和 IDREF 来设置扭矩。

    用户可以请求制动扭矩、但可以请求的最大允许扭矩量。 然后、请求的扭矩将根据电池电压受到折返限制。

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

    另一个潜在问题是、电机的最大速度是多少? 如果在电池断开连接时它可能以高速运行、即使所有 MOSFET 都关断、直流总线电压也可能上升以匹配反电动势。 因此、如果这是可能的、那么 ADC 开销应该足够大、以便在不损坏 ADC 输入的情况下适应。

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

    我当时在想 lab9、但添加 drv8353代码、以便在达到用户设置的轨迹速度后将逆变器设置为滑行。 这并不是专门使用 dyno 来确定再生扭矩电流、以及进行 CCS 调试分析。 因此、您可以为允许的电流电平设置所需的 Idq.value[1]、因为它在快速重启时默认为扭矩 Idq.value[1]、似乎在待机期间设置了延迟时间之后。 如果在速度模式下未设置飞跨重启、则会默认为扭矩 Idq 模式、因为原始代码已写入 SDK 2.01。    

    motorVars.FlyingStartMode = FLYINGSTART_MODE_STANDBY;//FLYINGSTART_MODE_HALT

    添加了以下 snip、以在 mainISR()期间设置 DRV8353开销位。 仅在第一次将滑行位设置为 true 时不会发生 SPI 中断、除非写入/读取验证失败。 例程不断尝试更改 REG2位2、直到 ePIE 将 IRQ 传递给 CPU、从而不会导致故障。 假设最好只允许几百个 SPI IRQ 有效、然后退出 mainISR()。 它们嵌套在不同的内核优先级组中、并且 SPI 具有极快的 TXD/RDX 时间。

            //
            // run the flying start function
            //
            runFlyingStart(estHandle);
    
            //
            // run the speed controller
            // when speed control set true
            //
            if(EST_doSpeedCtrl(estHandle))
            {
                counterSpeed++;
    
                if(counterSpeed >= userParams.numCtrlTicksPerSpeedTick)
                {
                    if(motorVars.flagEnableSpeedCtrl == true)
                    {
                        counterSpeed = 0;
    
    					#ifdef DRV8353_SPI
    							// Check control REG2 bit 2 bool state
    						   if(drvSPI8353Vars.Ctrl_Reg_02.COAST == true)
    						   {
    							   // Disable Coasting NFETS ~high Z state
    							   drvSPI8353Vars.Ctrl_Reg_02.COAST = false;
    					 tryagain_1:
    							   // Write the update
    							   drvSPI8353Vars.writeCmd = 1;
    							   HAL_writeDRVData(halHandle, &drvSPI8353Vars);
    							   // Verify Control REG 2 Update
    							   drvSPI8353Vars.readCmd = 1;
    							   HAL_readDRVData(halHandle, &drvSPI8353Vars);
    							   // Something go wrong SPIA/B INT6.x IRQ ?
    							   if(drvSPI8353Vars.Ctrl_Reg_02.COAST == true)
    							   {
    								   goto tryagain_1;
    							   }
    						   }
    					#endif
    
                        PI_run_series(piHandle_spd,
                                      estInputData.speed_ref_Hz,
                                      estOutputData.fm_lp_rps * MATH_ONE_OVER_TWO_PI,
                                      0.0, (float32_t *)(&(Idq_ref_A.value[1])));
                    }
                    // Disabled speed control, do Torque Control Coasting Mode
                    else
                    {
                    	// Set coasting torque reference current, 0.0 set above
                    	// Typically inverter is not in High Z state 
                        Idq_ref_A.value[1] = IdqSet_A.value[1];
    
    					#ifdef DRV8353_SPI
    							// Check control REG2 bit 2 bool state
    						   if(drvSPI8353Vars.Ctrl_Reg_02.COAST == false)
    						   {
    							   // Enable Coasting NFETS high Z state
    							   drvSPI8353Vars.Ctrl_Reg_02.COAST = true;
    					 tryagain_2:
    							   // Write the update
    							   drvSPI8353Vars.writeCmd = 1;
    							   HAL_writeDRVData(halHandle, &drvSPI8353Vars);
    							   // Verify Control REG 2 Update
    							   drvSPI8353Vars.readCmd = 1;
    							   HAL_readDRVData(halHandle, &drvSPI8353Vars);
    							   // Something go wrong SPIA/B INT6.x IRQ ?
    							   if(drvSPI8353Vars.Ctrl_Reg_02.COAST == false)
    							   {
    								   goto tryagain_2;
    							   }
    						   }
    					#endif
                    }
                }
            }
            // Clear the Idq torque reference
            else
            {
                Idq_ref_A.value[1] = 0.0;
            }
    
     

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

    只要我们不处于磁场减弱政权、就可以将 DRV 设置为滑行。 如果场强减弱被激活、反电动势可能大于 VBAT、所以有必要命令零扭矩、而不是简单地关闭所有半桥。 为了使其更加具体、如果电池电压为50V、峰值反电动势为55V、则仍然可以使用磁场减弱实现零扭矩。 但是、如果在这种情况下关闭所有 MOSFET、它们将被动地校正反电动势、为电池充电并生成制动扭矩。

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

    当电机以 负扭矩电流在生成模式下运行时、您是否有机会监控直流总线和电机相电压? 只需确保感应电压不超过 ADC 的输入范围。

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

    我会将其发布给您以消除所有疑虑、但我完全确定它不会超出范围。 今天、我们将进行更新、其中包含更多数据。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4207384 #4207384"]他们将被动校正反电动势并为电池充电并生成制动扭矩。

    看起来 、电机制动需要设置 DRV8353 REG2位1以启用低侧 NFETS、从而有效地将定子线圈用作制动负载电阻器。 理论上、+VBUS 过压情况会被电机线圈抑制、电池电压基本上保持恒定、无需提醒 BMS。 调节或调制电机制动位似乎是一个重要的点、因此定子线圈在0Hz 的适当时间内不会过热。 制动位控制是 DRV8353的一项出色功能、而 UCC27714等独立栅极驱动器则不具备该功能。

    我的定制逆变器 PCB 具有一个单独的 PWM 低侧驱动电路、用于 NFET 将制动 EMF 卸载到外部负载电阻器上、从而在过压条件下使+VBAT-VBUS 发生方波。 它可通过用户控制启用、并通过 CMPA 上/下匹配计数上的自由 PWM 输出触发20kHz 制动中断。 20Hz 时的 GPIO 振荡驱动低侧 NFET 驱动器 IC、并具有用户设置的制动电阻器冷却开/关周期。

    然而、当电机出现过流故障情况时、栅极驱动器 HO/LO 输出被快速禁用、并且通过硬件操作控制的 PWM-A/B 输出被置于高阻抗状态(滑行)。 据称仅高侧 NFET 体二极管就会将正弦波整流为半波直流脉冲、作为短寿命高压再生能源。 产生的波形底部平放在示波器零矢量直流探针设置上。 但在滑行快速减速至0Hz 期间不会对电源进行过功率、因为它是一个带有6个2200µF 250V 电解电容器的非稳压线性直流电源。

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

    您是在问问题还是提出建议? 我无法理解您的要点。 如果您有任何问题、如果我能回答、我会很乐意回答。 我对制动没有任何系统设计问题。 我在使用再生制动的电池供电车辆系统设计方面拥有多年的经验。 我认为我在这方面的能力相对较高。 你所说的刹车问题有点混乱,所以如果我有误解,我很抱歉。

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

    好的、我还有一些要显示的数据图。 我们在 regen 中以低速(约770 RPM)运行、Iqref 设置为-50安培。 在我看来、Vd 在6倍电频率下确实会被很大的纹波弄糊涂。 这似乎是电压波形失真的根本原因。 VBAT 处于大约52V。VBAT ADC 不是接近数字饱和的任何位置。 请参见上一张图。

    您是否知道 Vd 为什么具有如此大的纹波? 我认为这是输出电压如此失真的根本原因。 我们应该尝试调整 PID、还是添加数字陷波滤波器以消除 Vd ( 可能还有 VQ)产生的纹波? 你建议什么? 您是否认为此问题可能与速度差异有关(请参阅我在本论坛上的另一个问题)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4208549 #4208549">您是否询问问题或提供建议? [/报价]

    您之前的帖子表明 您的 ADC 分压器设计中存在问题。 对于更正了分压器电阻值并增加了30%的 ADC 开销、未发布任何响应。 很明显、您对 DRV8353提到的两种制动模式没有完全了解、I 也没有完全了解 我很谨慎地建议使用替代 DRV8353配置的 INLC 引脚39和 x69M PWM 输出 中断来调制低 NFETS、这与我在上面描述的系统非常相似。 这更像是一个 ge-whiz、这两个功能对于其他未来的帖子读者有多好。   

    SDK (FOC) Lab6代码未设计为在再生制动模式下与具有 SPM 电机的测力计配合使用。 当电机被 dyno 设置为发生器模式时、必须重新配置 DRV8353、发送 SPI 控制代码以启用 REG2位2。 该行动计划 Yanming 尚未就由于论坛政策而主要无法提供这种替代建议发表意见。  

    也许我误解了您使用 Lab6 (扭矩控制5a?)  在再生制动期间、不重新配置 DRV8353? 如果在 Lab6中调制逆变器、而电机由 dyno (可再生)驱动、但没有像我为 Lab9示例提供的那样添加代码、这似乎是不正确的。 飞行启动 Lab9为工程师提供了获取外部触发的时间、以便使用 CCS 调试来控制 DRV8353、似乎可以更好地控制再生实验。

    编辑:对于 x49c MCU、SDK (FOC)代码较新。 您必须修改类似的 Motorware 飞行启动实验或添加 SPI 控制。 在 MCU 类驱动程序库调用之间、DRV8353 SPI 控制应该相同。 让我放弃使用具有较旧 x96M MCU 类的较新栅极驱动器。

    实验5a。   调整提供的电流控制器:

    Motorware Lab5a 似乎是为了调整 DRV8312的 PI 电流控制以仅运行电机。

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

    您认为我的 VBAT ADC 上的余量不足。 但我认为这是足够的余量、尤其是因为我目前以52V 左右的电压运行(请查看 VBAT ADC 样本图...)。 我可以稍后增加余量、但在最近发布的示例中、电池电压为52V、满量程 ADC 范围为66V。 这应该有足够的余量。 (66 - 52)/52 = 27%的余量。 我试图专注于特定的问题、不想让我对有关基本 EE 内容的冗长讨论进行侧向跟踪。

    我们始终以扭矩模式运行。 我们通过将 Iqref 设置为负值来实现制动。 没有必要用 DRV 芯片做任何特殊的事情来以这种方式进行制动。 制动在大部分情况下都能正常工作、并产生受控扭矩。 我们只在扭矩/电流非常高时遇到困难。 到目前为止、您或 TI 尚未解决这个基本问题。

    将低侧 FET 调制在一起的制动类型会导致流经高侧体二极管的高电流。 在我们的应用中、这将导致过热。 在我之前的工作中、我们使用 DRV8302实现了类似这样的制动。 但在该产品中、我们没有使用 FOC。 我们使用了六步换向、并使用霍尔传感器来帮助启动。 然后、我们在滚动后转换到无传感器六步换向(使用反电动势感应进行时间换向)。

    我没有记住实验编号。 我是一名硬件工程师、与固件工程师合作执行此项目。 因此、我不确定实验6是什么适合您的。 对我来说、这是运动项目。 我们跳过了运动实验。 F2806xM 和 x49的编号可能不同。

    飞行启动不是一个问题、因为我们在启动控制器时始终会停止 dystno。 我们设计和构建的 dyno 在速度模式下运行、我们控制的电机在扭矩模式下运行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4208837 #4208837"]您是否知道 Vd 为什么具有如此大的纹波[/引用]

    也许 ID 反馈值是可变的。 在此模式和状态下运行电机时、您能否检查 Id 参考值和反馈值?

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4208837 #4208837">我们应该尝试调整 PID 还是添加数字陷波滤波器来消除 Vd 的纹波 (也可能是 VQ?) 您建议什么?[/报价]

    是的、您可以尝试使用 ID PI 控制器的不同 KP&Ki。 以首先降低 Ki。 您通过示波器捕获的相位电压波形似乎失真、这种情况并不正确、因为机器在电机模式下运行。

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4208837 #4208837">您建议什么? 您是否认为此问题可能与速度差异有关(请参阅我在本论坛上的另一个问题)。[/引述]

    电流波形看起来不错、但电压波形不正确、如上所述。 再也不想这样做了、必须找到电压采样信号的根本原因。 我曾尝试重复这个问题、但到目前为止、在我们的实验中、要做到这一点并不容易。

    您能否帮助检查"gMotorVars.Flux_VpHz"在生成模式与电机模式下是否具有很大的变量?

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

    我将尝试查看 ID 反馈值。 ID 引用固定为0。

    我将查看 gMotorVars.Flux_VpHz。

    电压波形是实际电压波形。 控制器正在输出该电压波形。 电压采样过程不会增加电压失真。 由于控制器输出失真的电压波形、我希望您能帮您找出原因。 VD 在6倍电气频率下具有非常明显的纹波。 您是否有任何想法、可能是什么原因导致了这种情况? 您以前见过吗? 电压输出、电流输出甚至电池电压中可以看到6倍的纹波、电频率为6倍。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4210002 #4210002"]但我认为这是足够的余量、尤其是因为我当前以52V 左右的电压运行(请查看 VBAT ADC 样本图...)

    那么、您更改了上述分压器原理图中的电阻器了吗? 根据公式和调试捕获、这些值为高电平。 2vPeak 500mV/cm 不接近 MSB 精度或+3.3xx -20%至30%。 这会将1.3xx 伏的电压保持在最高 MSB、这似乎会影响 Clarke 变换中的 α β 波形。  ADC 可以测量100伏或更多直流电压、测量净空值为+1.3xx 伏。

    ADC 电流波形(峰值为75安培?) 都远低于 MSB、具体取决于刚才发布的调试图。 我希望电流峰值接近3585计数或更低一点、同样精度会影响 Clare 变换。 BTW 示波器捕获(CH2) 100A P2P 或50A 峰值、远高于前面提到的75A。

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4210002 #4210002"]我们始终以扭矩模式运行。

    这将是您的电机控制套件实验4、而不是5a。 与 LaunchXL_x25c MCU 配合使用的通用电机控制 SDK 对于较新的 DRV8353似乎更兼容。  根据 Yanming 的说法、x49c MCU 中还嵌入了一个具有快速和新 ESMO 增强算法的新嵌入式 SVM。 x69M 即将停产、除非您手头有几百个。 但是、除非只是进行实验、否则从 X69 MCU 类别开始新产品设计似乎是徒劳的。

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4210002 #4210002"]不必对 DRV 芯片执行任何特殊操作来以这种方式进行制动。

    我不会期望再生电流甚至会从电机流入电池、而逆变器 MOSFET 在扭矩模式下由控制器驱动、甚至设置为-50Id。 这就是 DRV8253具有控制位来禁用进入高阻态的 HO/LO 驱动输出的原因。 NFET 体二极管是续流二极管、可在 DS 结在不同时间关闭时保护其免受电感高电压反冲的影响。 由于逆变器 NFETS 承受应力、您的电压波形可能会失真?  

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

    我没有更改电阻器。 它们仍然是215k 和11.3k。

    一方面、您似乎认为我没有充分利用 ADC 输入的整个电压范围。 另一方面、您似乎表示我需要增加余量。  你是否不明白这两件事是绝对直接矛盾的呢? 如果我通过减小11.3k 电阻来调整分压器、我将使用更少的 ADC 范围。 如果我需要逐步完成所有计算、请告诉我。 我知道、TI 设计文档建议在最高预期电压以上增加30%的额外余量。 稍后、当我们使用充满电的电池时、我可能会更改分压比。 但现在、当电池电压为52V 时、无需更改 VBAT 或相电压的电阻分压器。

    此外、您是否不了解速度和电压之间的关系? 该特定测试是在非常低的速度下完成的、因此电机输出电压较低。 但我们也在高速运行。 这只是问题的现实。 如果我们始终以低速运行、我们可以使用不同的分频器。 在低速时、ADC 范围不可避免地被很好地利用。

    您和我已经讨论了当前的 ADC。 由于电流分流放大器在整个轨到轨输出范围内没有线性响应、因此无法利用整个 ADC 范围。 在最近的捕获中、分流电阻器为300uOhm、增益为40V/V 我没有无限的自由选择任何分流值和所需的任何增益。 我认为300 uOhm 和40V/V 的这种组合是可以的。

    IDREF 设置为零。 Iqref 设置为-50。 请注意、当 Isref 的幅度为50时、预计每个相位的峰值电流也将为50。 因此、示波器中显示的电流与 Iqref 设置为-50时的电流完全相同。 我不知道为什么你认为电流"远高于先前所说的75A。" 显然、50小于75。

    根据 TI 网站、TMS320F28069MPZT 仍在生产中。 他们没有发布任何通知、我知道不建议在新设计中使用。 使用 x49可能会更好、但它们很难找到、可用性是我选择较旧处理器的主要原因。 TI 计划何时停产 TMS320F28069? 他们是否告诉过您具体的日期、或者他们只是告诉过您它即将进入生命周期? TI 是否在不事先通知的情况下停止提供产品? 或者、他们通常是否会发出通知、告知不推荐用于新设计并宣布最后购买日期?

    就你对雷根的期望而言、你的期望似乎与我的期望不同。 使用 FOC 时、我的期望和经验是负扭矩会导致电池的 regen 电流。 在您使用 FOC 和命令负扭矩设计、构建和测试逆变器的经验中、您是否观察到没有电池充电电流? 或者您的期望是否更多地基于直觉而不是经验? 因为根据我在电池的染料上测试我们的控制器的经验、负扭矩会产生电池充电电流。 这也与理论和分析相匹配。

    由于逆变器输出失真波形、电压波形失真。 当您查看 PID 或 Valpha 和 Vbeta 的 Vd 和 VQ 输出(在 Park 逆变换之后)时、您可以很清楚地看到这一点。 控制器的输出级使用 Valpha 和 Vbeta 来计算设置 VA、Vb 和 VC 的占空比。 因此、如果 Valpha 和 β 失真、输出电压也会失真。 它可能有助于查看无传感器 FOC 工作原理的方框图。


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4211424 #4211424"]一方面、您似乎认为我没有充分利用全范围的 ADC 输入电压[/quot]

    我是说、如果 OVH 为30%、则电压峰值远不接近于 MSB。 似乎比 PDF 措辞松散的文本大得多、更接近 MSB。 似乎使用正确的分频器值时、信号将峰值接近 MSB 4096 -30%为2867计数。 215k 在50V 时看起来很高、我在额定+100V 和 FSV +163.59V 时使用了182k/3K9。 正确的做法是、电流振幅正常不使用 R 分频 器、但进入 Clarke。 电感电流的稳定时间取决于放大器带宽和 CMRR、INA240-A1声称9.6µs μ s 趋稳至输出信号的5%。 两者的 ADC 窗口时间可能需要调整、3-5个 PWM 周期触发延迟到 SOC。   

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4211424 #4211424"] TI 计划何时停止 TMS320F28069? [/报价]

    如果您使用 CCS、旧版 Motorware Control Suit 已从 REX 中删除、请尝试查找没有下载链接 且最近更新已结束。 您可以从 Digikey 获取 LaunchXL-x25c (最后检查了5个库存)、通用电机控制 RDK 直接支持 DRV83xxRS、请参阅 PG.21图2-15随附的 PDF。  /cfs-file/__key/communityserver-discussions-components-files/171/TI_2D00_F2802x-Motor-Control-SDK-Universal-Project-and-Lab.pdf 

    [引用 userid="516324" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124004/tms320f28069m-torque-control-failure-during-regen/4211424 #4211424"]因此、如果 Valpha 和 beta 失真、输出电压也会失真[/quot]

    同意、但 Clarke EMF 输入为何失真这一更大的问题似乎与电源相关、而看到 VBAT 信号。 想知道您是否保留实验4的默认扭矩设置、电动势信号是否以正扭矩值改善?