STM32基于PWM的呼吸灯

目录

一、什么是PWM

1、PWM(脉宽调制)简介

2、PWM的基本原理

3、PWM优点

二、项目完成

1、要求

2、STM32CubeMX完成项配置

3、keil完成代码

4、keil仿真输出PWM波形图

5、烧录


一、什么是PWM

1、PWM(脉宽调制)简介

PWM(脉宽调制)是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术,脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

2、PWM的基本原理

脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率 。
例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于 π/n ,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。可以看出,各脉冲宽度是按正弦规律变化的。根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。对于正弦的负半周,也可以用同样的方法得到PWM波形。

3、PWM优点

PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。

二、项目完成

1、要求

使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动外接的LED,实现2个 LED呼吸灯的效果。

2、STM32CubeMX完成项配置

RCC设置

 SYS设置

TIM3配置

TIM4配置

 

 由图可知TIM3的PWM在PA6,TIM4的PWM在PB7.

时钟配置

 完成配置

3、keil完成代码

在main.c中添加代码

第一处,添加全局变量

uint16_t duty_num = 10;
uint16_t a = 10;

 第二处,在main函数中添加,点亮二极管

 

HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2);

 第三处,在while循环中添加PWM控制呼吸灯效果代码

while (1)
  {
	HAL_Delay(50);
	duty_num = duty_num + a;
	if(duty_num > 500)
	{
		a=-10;
	}
	if(duty_num == 10)
	{
		a = 10;
	}
	__HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_1,duty_num);
	__HAL_TIM_SetCompare(&htim4,TIM_CHANNEL_2,duty_num);
  }

 4、keil仿真输出PWM波形图

 因为PWM在PA6和PB7,所以仿真这两个针脚输出波形。

 波形图效果

PWM波形图

                                                                                                                 5、烧录

线路连接效果图

 

烧录

   烧录效果

PWM呼吸灯

                                                                                                                                                                                                                                                                                                                                                                                                                                                

 

 

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值