我是靠谱客的博主 饱满飞鸟,最近开发中收集的这篇文章主要介绍【STM32】STM32中间计数模式产生多路存在的相位差PWM,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、中间计数模式

        如图,是定时器上升计数模式,初始化过程中通过设置对应的psc,arr得到要求频率,占空比的PWM,可用于电机调速,呼吸灯,控制舵机等……

如图,中间计数模式还有一向下计数的过程,形状类似于三角波,通过设置不同的CCR得到存在相位差的PWM。

二、STMM32CubeMX的配置

        1、在RCC选择外部晶振

        2、配置定时器时钟来源,使能PWM输出通道,设置psc与arr

        中间计数存在三个模式

        模式一二仅仅在向上计数与向下计数产生一处中断,PWM频率计算与向上计数模式相同 

PWM频率 = 定时器频率/(分频系数 x 自动重装载值)

        模式三,在向上或向下计数产生中断,PWM频率计算公式

        PWM频率 = 定时器频率/(分频系数 x 自动重装载值 x 2)

        3、配置时钟树 

        时钟树能够很好理解单片机的运行,有很多详细博客进行讲解,不在此处进行讲述

        4、生成模板

三、代码讲解

        在主函数加入以下代码

	HAL_TIM_Base_Start_IT(&htim3); //开启定时器3中断(5ms)
	HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
	HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2);
	TIM1->CCR1 = 144;
	TIM1->CCR2 = 216;

        TIM1->CCR1=360*0.4(100kHz 40%占空比,CH Polarity设置为High)

        TIM1->CCR1=360-360*0.4(100kHz 40%占空比,CH Polarity设置为low)

四、现象展示

最后

以上就是饱满飞鸟为你收集整理的【STM32】STM32中间计数模式产生多路存在的相位差PWM的全部内容,希望文章能够帮你解决【STM32】STM32中间计数模式产生多路存在的相位差PWM所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部