STM32电机控制代码框架搭建(五)——使用Stm32CubeMx配置PWM

采样配置完成后,进行PWM的配置。PWM的生成依赖于STM32的TIM1定时器,其功能完备如下图所示,电机控制中主要应用其PWM生成功能。

我们当前阶段的目标是生成占空比为50%的三路PWM,其开关频率为10kHz。

那么开始CubeMx的配置,依据stm32f405数据手册中地址总线部分内容,TIM1是挂在ABP2时钟上的,那么先要配置ABP2的时钟。

时钟的配置如下图所示

 此时ABP2的时钟频率为72MHz,要想获得10kHz的PWM,则定时器的周期值TPRD = 72M/2/10k = 3600,配置TIM1参数如下图所示,配置123通道均为PMW generation,然后时钟选择为内部时钟。分频系数设置为0,Counter period计数周期值设为3600。

 这里需要明确一点就是Count Mode需要注意一下,三者的区别在于中断标志置位的条件不同,我们选择在递增等于比较值和下降等于比较值都触发中断。因此选择中心对齐模式3。

 接下来设置死区时间,查询所用开关管的datashee,开关管上升时间+延迟+关断时间+延迟总时间为91ns,因此设置0.5us = 500ns时间作为死区时间完全足够。

由于此时的时钟频率为72M,因此0.5us对应的计数值约为36(36 = 0.5*1e-6*72*1e6)

 最后设置PWM的模式,下图基本为默认设置,注意

 然后生成代码即可。

物联沃分享整理
物联沃-IOTWORD物联网 » STM32电机控制代码框架搭建(五)——使用Stm32CubeMx配置PWM

发表评论