LED背光灯的PWM(脉冲宽度调制)控制亮暗原理是通过调节电信号脉冲的占空比(高电平时间占整个周期的比例)来改变平均电流,从而控制亮度。
一、核心原理:占空比调节亮度
1.占空比与平均电流
PWM信号以固定频率(通常≥200Hz)在高电平(导通)和低电平(关断)间切换:
占空比=100%:LED持续导通,亮度最高;
占空比=50%:一半时间导通,平均电流减半,亮度中等;
占空比=0%:LED完全熄灭。
亮度公式:平均电流 = 峰值电流 × 占空比。
2.频率选择
PWM频率需高于200Hz(常用1-20kHz),避免人眼察觉闪烁(利用视觉暂留效应)。频率过低会导致可见频闪,过高则增加电路功耗。
二、硬件实现
1.控制原理说明
LED供电:
MCU控制的IO输出5V的电压,此时NPN的基极导通,集电极和发射极之间形成通路。注意会有0.7V左右的导通压降。
PNP的基极此时与地等电势位,发射极和基极存在压差,发射极与集电极导通,LED接收到11.3V左右电压。
LED暂停供电:
MCU控制的IO输出0V的电压,此时NPN的基极截止,集电极和发射极之间形成断路。
PNP的基极此时等于浮空,发射极和基极不存在压差,发射极与集电极截止,LED接收到0V左右电压。
下面是50%占空比时NPN的集电极也就是PNP的基极处波形图
三、项目问题说明
此IO使用的是FTM的通道输出PWM,但是FTM所有通道共基频,无法使用FTM输出PWM波形。
项目上使用4M的频率,改变占空比时LED无法改变亮度。
下图是25%的占空比输入给NPN的基极波形
下图是NPN处理后的集电极波形
明显看到高频时可能因为电容充放电电压无明显的拉低,虽然此时PNP的发射极和基极因为存在压差可以点亮LED,但是LED亮度固定且不可改变。
三、软件实现
使用中断模拟IO的反转输出PWM波形:
100HZ对应的中断是100us,根据占空比调节计数。缺点:100us的中断能明显看到CPULOAD的增加。我们的数据是从0x38增加到0x48。
使用GPT计算时间反转IO输出PWM波形:
10ms的task中使用GPT反转IO去输出100HZ的PWM波形。