ST意法半导体
直播中

飞毛腿452

9年用户 915经验值
擅长:电源/新能源
私信 关注
[问答]

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)

郭舒静

2023-8-7 14:35:46
严格地说,刹车后输出的空闲状态电平,这个电平跟你当初的配置是有关系的。


我看你已经开启了死区配置。以OCx为例,首先它在死区时间内按照CCxP的配置位来输出,


然后输出之前配置的OCx空闲状态的输出电平。


结合你目前的代码配置,你的极性选择控制是低有效,即CCxp=1.


这样看来是可能出现你反映的情况的。
举报

更多回帖

×
20
完善资料,
赚取积分