Apple160 2025-01-14 15:47 采纳率: 0%
浏览 37

舵机咯噔咯噔响切转的很慢

舵机咯噔咯噔响且转的很慢是什么原因

舵机:PDI-6221MG-180
外接电源:5v,板子与电源共地
驱动信号:stm32f407生成的pwm,周期20ms,脉宽1.5ms

img

img

img

  • 写回答

3条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-01-14 15:48
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    问题分析:
    1. 将舵机接收器和驱动器之间的连线检查是否接触不良或短路。
    2. 检查是否电源供应足够以及稳定。
    3. 检查控制信号是否正确,包括PWM信号的频率、占空比以及极性。 可能的原因:
    4. 驱动信号的PWM信号频率不正确,导致舵机不能正常工作。
    5. 电源供应不稳定,导致舵机工作受到影响。
    6. 舵机接收器或者驱动器出现故障,导致舵机转速变慢或出现咯噔的情况。 解决方案:
    7. 检查并确保PWM信号频率为20ms,脉宽为1.5ms,且极性正确。
    8. 检查电源供应是否稳定,是否有足够的电流输出。
    9. 检查舵机接收器和驱动器之间的连线是否良好。
    10. 尝试更换舵机接收器或者驱动器进行测试,确保设备正常。 案例: 在检查后发现PWM信号频率为20ms,脉宽为1.5ms,但是舵机仍然转动缓慢且发出咯噔声。进一步检查后发现是电源供应不足,导致舵机不能正常工作。解决方法为更换电源或者增加电源输出。 代码示例:
    // 生成PWM信号的STM32代码示例
    #include "stm32f4xx.h"
    void TIM_Configuration(void)
    {
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
        
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        TIM_OCInitTypeDef       TIM_OCInitStructure;
        TIM_TimeBaseStructure.TIM_Period = 20000 - 1; // 20ms
        TIM_TimeBaseStructure.TIM_Prescaler = 8399;
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
        TIM_OCInitStructure.TIM_Pulse = 1500; // 1.5ms
        TIM_OC4Init(TIM2, &TIM_OCInitStructure);
        TIM_Cmd(TIM2, ENABLE);
        TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable);
    }
    

    以上是一个简单的生成PWM信号的STM32代码示例,该代码使用TIM2定时器生成一个20ms周期的PWM信号,脉宽为1.5ms。您可以根据具体情况来调整参数以适配您的舵机。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月14日