H桥驱动电机,STM32 PWM互补输出功能误用分析

时间:2024-05-22 18:29:47

如果排查的思路对你有帮助,请记住 消雨匆匆 or  大吊工。 码字和排查很累,仅此而已 

硬件不是抄电路,拿烙铁,懂点软件,细致分析,找问题和破案搜集线索是一样的。     

  导航车设计项目中,一个新人设计了如下的驱动电路,需要驱动一个直流电机,作为手臂伸长和缩短,采用控制电机正转,采用NMOS管搭建驱动电机。采用一个MOS管驱动芯片来驱动电机。

H桥驱动电机,STM32 PWM互补输出功能误用分析

P2连接电机,从电路上分析,没有问题,完全可以用。

逻辑分析,新人是这样设计程序的:

1、TIM1_CH1和TIM1_CH1N采用STM32互补的PWM资源去控制电机,代码实现比较简单(这里我就不赘述了,STM32可以设计PWM互补输出),互补输出的波形类似如下如下

H桥驱动电机,STM32 PWM互补输出功能误用分析

频率为10K,这位新手之前是设计开关电源的,所以看到桥就说互补电路驱动。

2、在实际调试中,其实已经出现电机在低频率输出的情况下抖动,随后抬高频率10K解决。

其实这里面存在重大问题!!!

我们分析一下这个简单的电路,U4,U5作为mos驱动,无非是将IN引脚输入的波形进行 放大,简单可以这么理解,因为IN输入高,上管打开,输入低,对应驱动的MOS管的下管打开,所以输出端电机可以理解为IN输入的信号放大。新人在设计过程中,范了一个错误,H桥用互补????意味着我驱动电机每一个时刻重要电流从电机流过,而且将占空比设置为50%,频率设置为10K,作为静止电机的条件,小于50%反转,大于50%正转。。。。。

“微观”上看,其实表面上看电机停止是因为你50%的高电平正转了一个很小很小的小段,再50%的低电平又反转一个很小很小的小段。打个比方,蜗牛爬井壁,爬一步,滑一步,最后保持原位置,只是因为频率提高到10K,把高电平和低电平的时间很小而已,但是从一个等效时间看,基本就是电机一直在正转反转中消耗了电池能量。

如何使用H桥驱动:

要正转的话,我Q5打开,然后控制U4的PWM输入(即控制Q2,Q3)占空比的大小,控制正转快慢,同理,要反转的话,我Q5打开,然后控制U5的PWM输入(即控制Q4,Q5)占空比的大小,控制反转快慢。这样才是正确驱动H桥的方式。

那又会问,STM32PWM互补哪里有用?

单桥臂的时候,非常有用,还有死区控制不会同时打开烧坏二极管。

H桥驱动电机,STM32 PWM互补输出功能误用分析

如果用互补,一时间就只有上管和下管一个导通,就十分安全了

这是一个论坛上某人的发问,如果你已经理解了互补输出,H桥,自然就会回答了:

http://bbs.21ic.com/icview-624460-1-1.html

如下这种电路,用上STM32的互补PWM输出功能,是有问题的
这个可以理解了应该~

H桥驱动电机,STM32 PWM互补输出功能误用分析