【嵌入式小白学习】PWM实现呼吸灯
Part1. 原理讲解
本节实验中,使用TIM2,输出一个PWM波形,用来驱动LED。TIM2的输出通道选择通道2,也就是PA1,输出PWM的占空比随时间变化,以此来实现一个呼吸灯的效果。LED外接的LED灯。
使用脉冲占空比拟合不同波形的方式称为 PWM(脉冲宽度调制)控制技术——通过 对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。PWM 控制 的基本原理为:冲量相等而开头不同的窄脉冲加在具有惯性的环节上时,其效果基本 相同。其中冲量指窄脉冲的面积;效果相同指环节输出响应波形基本相同。 例如:可以用一系列等幅不用一系列等幅不等宽的脉冲来代替一个正弦半波,见图
要改变等效输出正弦波幅值,按同一比例改变各脉冲宽度即可。 若把拟合的波形改成呼吸特性曲线,即可得到控制呼吸灯使用的 PWM 波形,要生成 拟合的 PWM波形,通常使用计算法和调制法,本文中使用计算法:根据拟合波形的频率、幅值和半周期脉冲数,准确计算 PWM 波各脉冲宽度和
间隔,据此控制开关器件的通断,就可得到所需 PWM 波形。在下边编程实现中会详细说明。
Part2. 环境的配置
1.在stm32CubeMX中新建一个工程。芯片选择“STM32F103C8”。
在System Core 中配置High Speed Clock为