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.

[参考译文] MCF8316A:当通过 RPi 生成 PWM 时、电机不能正常旋转

Guru**** 2482225 points
Other Parts Discussed in Thread: MCF8316AEVM

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1172913/mcf8316a-motor-not-spinning-properly-while-pwm-generated-from-rpi

器件型号:MCF8316A

您好 TI 团队

我正在使用 MCF8316AEVM。 电路板和电机使用模拟电位器进行了配置和测试。 然后、将输入配置为接受10Hz 至325Hz 的 PWM (占空比)。

我提供了 RaspberyPi 的 PWM、50Hz 时为3.3V。 每当在任何特定的占空比下提供输入 PWM 时、电机都会开始以一些急动开始旋转、然后速度开始变化、稍后停止。

片刻之后、它会重新启动相同的行为。 EVM 无法以请求的速度旋转电机。

您能否提出电机行为为何如此的建议?

谢谢你
k Bindu

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

    您好、Bindu、

    您能否检查寄存器是否按如下所示进行配置?  您是否将跳线 J1连接到 EXT 并在 EVM 上的 EXT_SPEED 和 AGND 测试点之间应用 PWM 信号? 50Hz 下施加的占空比是多少? PWM 信号是否稳定? 当您施加非常低的占空比时、器件可能无法以非常低的速度旋转电机。 在更高的 PWM 占空比下、您是否也会看到相同的行为?

    此致、

    Vishnu

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

    您好、先生、
    我们的设置如下、
    速度模式是双周期速度输入引脚频率为10Hz 至325hz。
    J1连接正确。
    PWM 也连接在 EXT_SPEED 和 AGND 之间
    PWM 信号是稳定的
    从低占空比到高占空比、我们的电机具有相同的行为。
    它运行时会出现一些中断、它会停止一段时间、然后再次运行 PWM 流(输入端)是连续的。

    谢谢、

    K.Bindhu

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

    金杜

    由于您提到电机能够以模拟模式旋转、我认为这不是电机调优问题。 我们还没有看到这一问题。 您是否仅在占空比发生变化甚至在恒定占空比时才会看到此问题? 您能否尝试在更高的 PWM 频率(>1kHz)下应用更高的占空比(>50%)? 如果您可以共享捕获 PWM 信号和 FGOUT 信号的示波器屏幕截图、那将会很棒。

    此致、

    Vishnu

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

    你好,Vishnu,

    我们在恒定占空比方面遇到了这个问题、由于我们面临恒定占空比的问题、我们仍未在变化的占空比中进行测试。

    2.我施加的占空比在我获得相同的电机行为时从10到100  

    3.我测试了我的电机直到达到1000Hz 的相同电机行为  

    我在较高占空比下以500Hz 的频率附加图像。  

    e2e.ti.com/.../video-1.mp4

    e2e.ti.com/.../video-2.mp4

    e2e.ti.com/.../video-3.mp4

    谢谢、

    Bindhu。

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

    你好,Vishnu,

    我想知道是否有任何寄存器用于观察电机的速度。  

    当我提供特定占空比时、电机的输入是否以相同的速度生成。 我需要监控该速度寄存器。

    谢谢您、

    Bindhu。

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

    你好,Vishnu,

    我需要知道是否有任何寄存器来监控向电机发出的输入命令。

    谢谢你  

    Bindhu

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

    您好、Bindu、

    我很快会回来。

    此致、

    Vishnu  

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

    金杜

    对延迟答复表示歉意。

    您可以在 电机状态窗口中监控%电压幅度、如下面的屏幕截图所示。 此参数是调制指数(施加的电机电压与直流总线电压之比)。

    在"算法变量状态选择"中选择"速度反馈"。

    注意:在电机旋转时启用"自动读取"寄存器可能会导致器件卡住。  

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

    你好,Vishnu,

    如何确保控制器正确读取输入 PWM 命令? 是否有任何寄存器来验证相同的值?

    谢谢

    Bindhu。

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

    您好、Bindu、

    速度环路参考(下面显示的屏幕截图)应指示 PWM 占空比变化。 例如、如果 MAX_SPEED 设置为100Hz、PWM 占空比为50%、则速度环路的基准应读回50Hz。

    此致、

    Vishnu

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

    你好,Vishnu,

    我给出了占空比为50%的输入 PWM、最大速度设置为267Hz。 速度环路的基准值发生变化、值为49.30Hz、67.60Hz、89.0Hz、我们预期的值为133.5Hz。
    我用另一个占空比进行了尝试、观察结果是类似的。
    您能向我建议为什么值会改变?

    谢谢你  

    Bindu。

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

    金杜

    您能否确保速度 PWM 信号的频率和占空比恒定? 此外、您能否再次检查速度输入是否配置为"由占空比控制"?  此外、请确保将设置写入 EEPROM。  

    此致、

    Vishnu

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

    你好,Vishu,  

    答复延迟的拓扑。

    根据您建议的示例最大速度为100Hz、占空比为50

    我们的最大速度为267hz、我们的估算输出应为133.5hz、在这里我们将获得 49.30Hz、67.60Hz、89.0Hz 等不同的值

    我们仔细检查了速度输入是否 "由 dutycycle"控制

    我们确信、在更改 GUI 寄存器后、我们将写入 EPROM。

    谢谢

    Bindu

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

    金杜

    您能否读取算法状态寄存器(位15:4)? 这 是12位值、表示 PWM/模拟模式下的解码速度命令。 这里是用于将原始数据转换为占空比命令的公式。  

    Duty_CMD (%)=算法状态<15:4> /4096 * 100%。 这应该与输入 PWM 速度命令相匹配。  

    此致、

    Vishnu

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

    你好,Vishnu,

    按照您的建议、我检查了 EVM、对于 PWM 信号、aurdino 我捕获了算法状态寄存器(15:4)的值、并使用了您建议的公式

     50 DutyCycle 时的 Aurdino algo 状态。

    寄存器值                寄存器位               十进制转换          Duty_Cmd%

    0×2B98FC20

    111111000010

    4034.

    0.9843

    0×2C21FC00

    111111000000

    4032.

    0.98437

    0×3044FC10

    111111000001

    4033.

    0.9846

    0×2EEDFBF0

    111110111111

    4031.

    0.98413

    0×2F93FC10

    111111000001

    4033.

    0.984619

    我给出了50%的占空比、但得到的是0.98。可以告诉我发生了什么错误以及如何生成正确的输入。

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

    金杜

    这很奇怪! 我们过去没有看到过这个问题。 是否有您可以尝试的 PWM 信号发生器的替代源? 我想通过 检查所生成的 PWM 信号或 IC 本身是否存在问题来缩小此问题的范围。  

    此外、您能否确保 PWM 信号与 EVM 正确接触?

    此致、

    Vishnu

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

    您好、Bindu、

    [引用 userid="526000" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1172913/mcf8316a-motor-not-spinning-properly-while-pwm-generated-from-rpi "]

    我正在使用 MCF8316AEVM。 电路板和电机使用模拟电位器进行了配置和测试。 然后、将输入配置为接受10Hz 至325Hz 的 PWM (占空比)。

    我提供了 RaspberyPi 的 PWM、50Hz 时为3.3V。 每当在任何特定的占空比下提供输入 PWM 时、电机都会开始以一些急动开始旋转、然后速度开始变化、稍后停止。

    [/报价]

    这似乎是导致问题的设置:  

    首先、您说电路板配置为使用模拟电位计控制电机速度、然后配置相同的速度输入引脚以进行 PWM 占空比速度控制。 您将 SPD_CTRL_MODE 寄存器设置了什么值? 或者、您可能想说您在不同的时间将速度控制方法从使用 POT 更改为 PWM 占空比? 我不清楚您选择的具体速度控制。

    不管怎样、您能否为以下寄存器提供设置值:

    MAX_SPEED

    Min_Duty

    零占空比 THR

    SPD_PWM_RANGE_SELECT

    PWM_FREQ_OUT

    [引用 userid="526000" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1172913/mcf8316a-motor-not-spinning-properly-while-pwm-generated-from-rpi/4418721 #4418721"]速度模式是双周期速度输入引脚频率为10Hz 至325hz。

    这是问题的根本原因:10至325超出规格范围、因为 PWM 频率应在该范围[325Hz 至95kHz]内

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="106056" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1172913/mcf8316a-motor-not-spinning-properly-while-pwm-generated-from-rpi/4437808 #4437808"] 10至325不符合规格、因为 PWM 频率应在该范围内[325Hz 至95kHz]

    Brian、

    SPED_RANGE_SEL 配置为10Hz 至325Hz。 Bindu 正在应用50Hz PWM 信号、因此这不是问题。  

    此致、

    Vishnu

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

    您好、Bindu、

    [引用 userid="526000" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1172913/mcf8316a-motor-not-spinning-properly-while-pwm-generated-from-rpi 命令]电机开始旋转时会出现一些急动、然后速度开始变化、稍后停止。[/引用]

    下面的波形显示了 PWM 占空比不稳定:它有时从~ 50%跳到~30%。 您可以确认这一点吗?

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="435464" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1172913/mcf8316a-motor-not-spinning-properly-while-pwm-generated-from-rpi/4437917 #4437917"]

    Brian、

    SPED_RANGE_SEL 配置为10Hz 至325Hz。 Bindu 正在应用50Hz PWM 信号、因此这不是问题。  

    [/报价]

    谢谢,Vishnu! 我在某种程度上没有看到低频范围选择选项。

    Brian

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

    您好、Brain、

    最初、我们保持模拟速度控制模式、但最后我们期望 SPED_MODE 由速度输入引脚的占空比控制

    我们的频率 SPED_RANGE_SEL 为325hz 至95khz  

    MAX_SPEED 为267Hz

    PWM_FREQ_OUT=25kHz

    我甚至会附上寄存器文件、请检查它以了解我们使用的所有寄存器、并建议我们进行更改。

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

    金杜

    感谢您提供详细信息。

    此致、

    Vishnu

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

    您好、Bindu、

    回到底部波形:它是一个不良的示波器触发器、还是 PWM 占空比在30%至50%的占空比之间不稳定?