STM32
直播中

赵辉

13年用户 967经验值
私信 关注
[问答]

STM32F103VET6的PWM输出,设置空闲态为低电平,在低电平刹车时出现异常短暂脉冲的原因?

单通道PWM输出时(设定低电平时间为600us,设定空闲状态为低电平),在PWM低电平500us时,来了一个刹车信号,发现PWM波形出现了一个短暂的异常脉冲,然后才一直为低。(理论上不应该刹车信号来了之后就会一直变成低电平吗?)这个异常脉冲是什么原因?

程序配置如下:
/PWM模式配置///配置为PWM模式1tiM_OCInitStructure.OCMode = TIM_OCMODE_PWM1;TIM_OCInitStructure.Pulse = ChannelPulse;//初始  50%TIM_OCInitStructure.OCPolarity = TIM_OCPOLARITY_LOW;TIM_OCInitStructure.OCIdleState = TIM_OCIDLESTATE_RESET;//初始化通道1输出PWMHAL_TIM_PWM_ConfigChannel( TIM_TimeBaseStructure, TIM_OCInitStructure,TIM_CHANNEL_1);/ 自动输出使能,断路、死区时间和锁定配置 /TIM_BDTRInitStructure.OffStateRunMode = TIM_OSSR_ENABLE;TIM_BDTRInitStructure.OffStateIDLEMode = TIM_OSSI_ENABLE;TIM_BDTRInitStructure.LockLevel = TIM_LOCKLEVEL_1;TIM_BDTRInitStructure.DeadTime = 11;TIM_BDTRInitStructure.BreakState = TIM_BREAK_ENABLE;TIM_BDTRInitStructure.BreakPolarity = TIM_BREAKPOLARITY_LOW;TIM_BDTRInitStructure.AutomaticOutput = TIM_AUTOMATICOUTPUT_ENABLE;HAL_TIMEx_ConfigBreakDeadTime( TIM_TimeBaseStructure,  TIM_BDTRInitStructure);/ 定时器通道1输出PWM /HAL_TIM_PWM_Start( TIM_TimeBaseStructure,TIM_CHANNEL_1);



回帖(1)

杨平

2024-3-18 16:45:14
可能的原因是时序问题或者硬件问题。

1. 时序问题:在低电平时刹车信号到来,可能会导致一次PWM周期内出现短暂的异常脉冲。如果刹车信号延迟过大,可能会导致无法及时刹车。

2. 硬件问题:可能存在与PWM输出有关的干扰或者电容充放电等问题,这些问题可能会导致异常脉冲的出现。

为了解决这个问题,可以尝试以下方法:

1. 调整PWM的输出时序,使刹车信号能够及时生效。

2. 检查硬件连接和布局,确保没有冲突或者干扰。

3. 使用外部电路来过滤或者延迟刹车信号,以解决异常脉冲的问题。

4. 如果可能,尝试升级或者更换硬件设备,以解决潜在的硬件问题。

需要注意的是,对于具体的问题,要根据实际情况进行详细的分析和调试。
举报

更多回帖

×
20
完善资料,
赚取积分