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.

[参考译文] MCT8316Z:请求帮助以降低转速低转速设置上的纹波

Guru**** 2484615 points
Other Parts Discussed in Thread: MCT8316Z

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings

器件型号:MCT8316Z

我们使用 MCT8316Z 控制器来驱动200RPM 到6000RPM 的小型电机。 控制环路的要求是调节进入 MCT8316Z 的 PWM、使其以由各种系统参数决定的固定旋转速度运行。 在低速下(例如200RPM)、我们观察到旋转速度的变化高于预期、即使我们在具有固定 PWM 设置的开环模式下运行也是如此。 频率是旋转速度的倍数、变化约为+/-5%。 下图显示了控制环路尝试消除纹波、但在该频率下实际上无法产生任何影响。 如果建议使用任何控制器自举设置来提高性能、我希望获得帮助。

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

    您好、Randy、

    [引用 userid="506823" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings 中的图表显示了控制环路尝试消除纹波、但在该频率下实际上无法产生任何影响。 [/报价]

    图片上有3个波形、没有任何介绍、我不知道它们是什么。 中间速度是电机速度吗?

    Brian

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

    您是否使用 FGOUT 进行速度反馈-- FGOUT_SEL 的值是多少? 还是使用编码器?

    速度为200rpm 或每秒3.3转速时速度相当慢、因此在精确速度下控制速度会更困难、这一切都取决于 PID 环路中 P 和 I 的增益设置。 您如何测量速度反馈-脉冲的频率或周期?

    P.S. 电机有多少个极对? 高极点将提供高 FGOUT 分辨率、以实现更好的速度控制。

    低速时、测得的周期优于测得的速度反馈频率。

    Brian

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

    您好 Brian、  

    控制环路使用每转242个编码器条带的光编码器。 显示的图中有一个图例、但很难看到- RPM 是红色波形、其波形更像正弦波形、约为200RPM。 电机是一款 Maxon EC 20系列5瓦 BLDC 器件、具有4个极对。

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

    您好、Randy、

    [引用 userid="506823" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings "]此处的变化约为+/-5%,频率是旋转速度的倍数。

    这似乎您在 PID 中没有足够的增益。 当增加更多增益时会发生什么情况?

    242条编码器线路看起来很奇怪;定制编码器? 如何测量电机转速? 是否按增量时间读取增量正交编码器计数、或测量编码器脉冲周期? 您是否使用正交计数或仅对脉冲进行计数?

    Brian

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

    您好 Brian、

    光学编码器是定制的。 电机速度通过计算光学编码器计数并除以时间来计算。 我们使用正交计数、这样我们实际上每转具有968个计数。 尝试更改控制环路 P 和 I 系数、以使其尝试抑制纹波、这需要付出一些努力。 到目前为止,这种情况没有显著改善。 请注意、我们还有一个双范围电机电压。 在低速(低于600RPM)时、我们为电机功率选择5V、在更高的速度(> 600RPM)下、电机电压设置为14V。  

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

    您好、Randy、

    因此、5%的速度误差是不可接受的。 您的速度规格是多少? 瞬时和累积误差?

    Brian

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

    您好 Brian、

    电机是一种将小激光点指向皮肤表面的面光轮。 好消息是、细调光编码器允许激光器在车轮上的正确位置发射。 我们根据设置的标称轮速计算激光火灾脉冲的宽度。 在电机 RPM 的正峰值处、可用的侧向时间比预期的时间短5%、我们可以开始使用激光束撞击侧向的边缘。 控制环路可以很好地保持平均速度非常精确(在1%左右)、但我们希望纹波尽可能小。 我们的传统产品在整个范围(200RPM 至6000RPM)内提供低纹波方面实际上做得比这更好、但控制器已停产、电机具有更大量的极点、这很可能会有所帮助。 如果我们不能做得更好、我们可能能够生活在+/-5%的水平上、但我们希望了解还能做些什么。

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

    为了实现最佳速度控制、您可能需要考虑使用锁相环而不是编码器计数。

    假设在200rpm 时、您希望将轴编码器信号锁定到200/60*242 = 806.67Hz 的合成时钟;806整数对于计数器而言很容易、而67,100分频值可以通过时钟脉冲抖动更快6倍、更慢10倍来完成。

    定时器计数器可用于测量时钟边沿和编码器边沿之间的相位误差、然后使用 PID 将相位误差保持为零或恒定。 然后你把电机锁定到生成的时钟上--非常精确。

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="506823" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings/4404565 #4404565"]通过计算光学编码器计数并除以时间来计算电机转速。

    速度采样时间是多少?  

    Brian

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

    我们可以设置 RPM 计算器的更新速率。 现在、我们使用800Hz。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="506823" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings/4404637 #4404637">我们可以设置 RPM 计算器的更新速率。 现在、我们使用800Hz。[/quot]

    因此电机转速为200/60*242*4/800 =每个样本4次。 因此速度误差分辨率太粗- PWM 输出的偏差为4或25%的其中一个,这可能会导致您所观察到的速度振荡。 将采样时间减至200Hz 将使速度测量提高4倍。 这种方法对于电机高速运转是可以的、但我认为对于低速运转、测量编码器周期更好(误差更小)。  

    Brian  

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

    感谢您的建议-我将尝试一下。

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

    您好 Brian、

    一个实验是给车轮增加大约60克的额外重量(目前只有10克)。 这导致纹波显著降低。 我认为、当绕组通过每个极点(即反电动势)时、我们相对较低的旋转惯性会产生大量纹波。 我们不能轻易地为车轮增加如此多的额外重量来解决这一问题、但这是一个有益的见解。 下一种方法是查看我们是否可以加快 MCT8316强制功能的响应、因为它接收到输入 PWM 的命令变化。 纹波频率仅为30Hz -可能希望控制环路能够在一毫秒左右的时间内做出响应、从而能够抑制纹波。 我已附上原理图和更好的纹波图-我能否通过减小 ILIM 引脚上的电容器来加快响应速度?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="506823" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings/4406054 #4406054"]我能否通过减少 ILIM 引脚上的电容器来加快响应速度?

    否 电容是用于分压器的滤波器、用于设置电流限制-直流电平;它与电机对 PWM 变化的响应无关。

    是的、您可以向负载添加更多惯性以获得更好的稳定性、但惯性负载越高也会降低电机响应速度、例如、当您想要更改电机速度时。

    正如我之前所说的,使用编码器计数/增量时间--在200rpm 时为4个计数--速度测量将有太多误差--在这种情况下,由于量化误差,误差为25%。 我建议使用计时器计数器来测量编码器脉冲周期、并且误差很小、因为在本例中计数器时钟频率非常高- MHz。 我认为纹波是由测量的电机转速在4和3之间波动引起的。

    Brian

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

    您好 Brian、

    事实证明、即使只有242个光学条、读取器也能提供正交输出、因此我们最终每转分辨率为968个计数。 在200RPM 时、我们最终得到每200Hz 采样间隔16.1个正交计数、因此+/-1计数将大约有+/-7.5%的误差。 +/-7.5%的误差肯定是有问题的、可能会解释伪迹。 但是、在这种情况下添加66克重量不应产生任何影响。  

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

    Brian、

    还有一点信息是 RPM 计算器与我之前了解的不同。 事实证明、我们的系统在每次编码器转换时都计算100Mhz 时钟驱动器。 转速分辨率在200RPM 时实际上仅为1rpm 的一小部分。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="506823" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings/4406483 #4406483]\n 事实证明、即使只有242个光学条、读取器也会提供正交输出、因此我们在分辨率每转一圈得到968个计数。 在200RPM 时、我们最终得到每200Hz 采样间隔16.1个正交计数[/引述]

    您在上一篇文章中说过800Hz 速度测量采样时间、这就是我为每个样本写入4个计数的原因。

    与周期测量速度方法相比、7.5%的速度误差仍然太大、这取决于时钟。 示例:在100Mhz 计数器时、编码器的周期为:  

    在200rpm 时、编码器频率为806.7Hz;计数器计数的周期为100Mhz / 806.7 = 123961、其中1个计数误差或0.0008%误差、优于7.5%误差。

    Brian

    [引用 userid="506823" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings/4406554 #4406554"]另一位信息是 RPM 计算器与我之前了解的不同。 事实证明、我们的系统在每次编码器转换时都计算100Mhz 时钟驱动器。 转速分辨率在200RPM 时实际上仅为1rpm 的一小部分。  [/报价]

    编码器计数器的100Mhz 时钟与编码器计数分辨率无关、编码器计数分辨率由242x4每转定义、无论时钟周期如何。

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

    很抱歉、您提供了错误信息。 800Hz 更新速率是正确的、但它们不会通过按固定时间间隔除以编码器计数来计算 RPM。 相反、RPM 计算器会测量每个编码器计数的已用时间量(以100Mhz 为单位)、并提供一些滤波功能、以便800Hz 下的 RPM 更新具有比仅测量固定800Hz 采样时间周期内的编码器计数更好的分辨率。  

    无论如何、伪迹不是由光学编码器分辨率引起的-为滚轮增加质量的实验支持此断言。 考虑到我们不可能作为解决方案增加大量质量、 我认为唯一的解决方案是使 MCT8316能够使电机对 PWM 输入的变化做出相当快的响应、或者可能进入具有更多磁极或类似情况的电机。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="506823" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1170527/mct8316z-request-help-to-reduce-ripple-on-the-rotational-speed-at-low-rpm-settings/4406618 #4406618"]相反,RPM 计算器会根据每个编码器计数测量经过的时间量(以100Mhz 为单位)

    等待、那么现在您说电机速度是每个编码器计数的 clk 节拍数吗? 那么、您如何仅获得16个计数?

    请注意、处理器计算出的200rpm 电机转速是多少? 16或其他什么?

    如果速度是每个编码器计数的时钟节拍数(而不是编码器信号脉冲)、那么如何获得该242x4Hz 信号来触发计数器捕捉功能?

    Brian

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

    Brian、

    感谢您的所有意见。

    Randy、

    如果需要进一步的帮助、请告知我们。

    此致、

    Vishnu