赞
踩
目录
PWM(脉宽调制)是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术,脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率 。
例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于 π/n ,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。可以看出,各脉冲宽度是按正弦规律变化的。根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。对于正弦的负半周,也可以用同样的方法得到PWM波形。
PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。
使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动外接的LED,实现2个 LED呼吸灯的效果。
RCC设置
SYS设置
TIM3配置
TIM4配置
由图可知TIM3的PWM在PA6,TIM4的PWM在PB7.
时钟配置
完成配置
在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);
- }
因为PWM在PA6和PB7,所以仿真这两个针脚输出波形。
波形图效果
PWM波形图
线路连接效果图
烧录
烧录效果
PWM呼吸灯
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。