采样配置完成后,进行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的模式,下图基本为默认设置,注意
文章来源:https://www.toymoban.com/news/detail-598681.html
然后生成代码即可。文章来源地址https://www.toymoban.com/news/detail-598681.html
到了这里,关于搭建stm32电机控制代码框架(五)——Stm32CubeMx配置PWM的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!