51单片机PWM控制LED的亮度仿真程序图谱 (附仿真文件+源代码)
51单片机PWM控制LED的亮度仿真程序图谱
因为项目比较简单,我就没有做实物,只是用了仿真来实现,大家最重要的是要弄懂原理。
原理:单片机输出PWM斩波,控制LED的亮度并在图谱上面显示出来
仿真开启
参考代码:
#include "reg51.h"
unsigned int cd,dd;
unsigned char cc,ee;
sbit LED=P2^0;
void led_int() interrupt 1 using 0
{
TH0=0xf1;
TL0=0xf1;
TR0=1;
dd++;
if(dd==11)
{
if((cc==0x50)&&(ee==0)){cd=0;}
if((cc==0)&&(ee==0x50)){cd=1;}
if(cd){cc++;ee--;}
else {cc--;ee++;}
dd=0;
}
}
void delay(unsigned int i)
{
unsigned int j;
while(i--)
{
for(j=0;j<0x20;j++);
}
}
void main()
{
cc=0;
ee=0x50;
TMOD=0x01;
TH0=0xf0;
TL0=0xf0 ;
EA=1;
ET0=1;
TR0=1;
while(1)
{
LED=0;
delay(ee);
LED=1;
delay(cc);
}
}
最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 程序完整源代码和 设计文件,请在下方留言或者私信我,看到后会第一时间回复。
谢谢!
感谢你的阅读,希望您有所收获,喜欢请点赞评论加关注!
「PWM」干货|详解白光LED的PWM驱动方式
赢一个双肩 背包
有多难?
戳一下试试看!
→_→
长摁识别
白光LED的电学特性具有很强的离散性,而且白光LED是一种同态电光源,是一种半导体照明器件。它具有体积小、机械强度大、功耗低、寿命长,便于调节和控制以及无污染等特征,是一种有极大发展前景的新型光源产品。但由于白光LED正向伏安特性非常陡,为其供电比较困难,白色LED工作电压的较小波动就会导致工作电流的急剧变化,甚至可能烧坏LED。为了保持LED工作电流稳定,保证LED能正常可靠的工作,驱动电路设计至关重要。这里设计一种基于PWM的可调光LED驱动电路,可提供LED所需的电压和电流,且具有色温高、经济实用、寿命长的特点。
1 白光LED的电特性
1.1 LED发光强度与电流的关系
LED器件在极限工作电流范围内发光强度随正向电流的增加而增加,但不同半导体材料制成的LED器件,其发光强度与正向电流的变化关系有所不同。从总体上看,发光强度Ir都是随着正向电流If的增加而增加的。
Ir与If的关系曲线描述为达到所需的发光强度,LED应该用多大的电流来驱动。LED发光强度与正向电流的关系如图l所示。图1中的曲线以红色发光LED为例,当正向电流约40 mA时,红色LED的发光强度几乎不再发生变化。也就是说,只要控制红色LED阵列的正向电流达到一定值,其发光强度也就趋向饱和。
1.2 温度对白光LED正向电流的影响
白光LED的正向电流的大小也随温度的变化而变化的,图2是常用白光LED的允许正向电流随温度的变化曲线。
2 LED的PWM驱动方式
2.1 PWM信号的原理和形成
PWM调光基于人眼对亮度闪烁不够敏感的特性,使负载LED时亮时暗,如果亮暗的频率超过100 Hz,人眼看到的就是平均亮度,而不是LED的闪烁。PWM调光通过调整亮和暗的时间比例实现调整亮度。这种方法通过把可调占空比和固定频率的数字信号加到调整亮和暗时间比例的引脚即可实现调光,但调光的范围取决于器件内部电路软启动或恢复正常工作的速度,因而范围不是很宽。
PWM原理是以一固定直流电压经过以一定频率打开与闭合的开关K,从而控制改变LED上的电压。设当LED接通时的最大电流为Imax。开关开闭周期为T,每次闭合时间为t,则当占空比为D=t/T时,LED的平均电流为:
由(1)式可知,当T不变(即开关的开关频率同定)时,只要改变导通时间t,就可以改变LED两端的平均电流。从而改变LED的亮度。
脉冲调宽信号的形成电路有3种:1)可用电压-脉宽变换器产生,即硬件产生脉宽调制信号;2)由软件定时产生,由定时器定时,定时时间受软件控制,并从脉宽信号的输出口P1.0或其他口输出脉宽可调信号;3)由单片机控制外接定时/计数器(如8253)硬件电路产生脉宽调制信号,只需用两个计数器分别工作于方式l和方式2,通过硬件连接便可以产生脉宽调制信号。其中,第1种是硬件电路实现,电路复杂。第2种使用定时器TO,但由于系统计数器不足,必须扩展。第3种是利用8253,非常方便,而且占用的软件时间少。
Atmega 16单片机带有4通道PWM,而且有快速PWM模式、相位修正PWM模式等多种工作模式。考虑到成本及整个系统的简化,本设计直接利用Atmega 16单片机产生脉宽调制信号。
2.2 PWM驱动白光LED
LED的发光强度基本上正比于通过LED器件的电流,这说明脉冲电流的平均电流与直流电流相同的条件下,LED的发光亮度一样。另外,用高幅值的脉冲电流驱动LED,然后通过调节脉冲的占空比获得较合适的平均电流,这样可以降低功耗。因为当LED工作在脉冲状态时,人眼觉察到的LED亮度值是介于峰值亮度与平均亮度值之间的。因此,脉冲电流驱动LED可比直接恒流驱动的LED更亮,即获得同样的发光亮度,脉冲电流驱动方式比直流电流驱动方式所需要的平均电流值更小。
其次,对于LED,如果采用脉冲电路驱动,其控制部分采用脉宽调制方式,与恒流控制方式相比,控制部分的控制效率会有比较大的提升,另外还可去掉限流电阻或减小其值。因此,从节能的角度出发,采用脉冲电源驱动方式更好。
脉冲驱动方式是利用人眼的视觉惰性,采用重复向LED器件通断供电的方式使之点亮的。但采用这种驱动方式通常需考虑脉冲电流幅值的确定和重复频率的选择。要获得与直流驱动方式相当的发光强度,脉冲驱动电流的平均值Ia应与直流驱动的电流值相同。如图3所示,平均电流是瞬间电流i的时间积分。
对于矩形波,有
式中,Ic为直流驱动电流值,Ia为脉冲驱动电流平均值,IF为脉冲电流幅值,ton/T是占空比。
为了使脉冲驱动方式下的平均电流Ia与直流驱动电流Ic相同,则需使其脉冲电流幅值IF满足
可见脉冲驱动时,脉冲电流的幅值是直流驱动电路的电流幅值的T/ton倍。需注意驱动器件的工作频率,当频率超过一定范同,器件将无法正常工作,因为器件无法正常导通和关断。LED的工作频率是10 MHz到几百MHz范围内。
3 LED照明电路设计
3.1 白光LED供电电源
LM317是可调三端正电压稳压器,输出电压范嗣为1.2~37 V时能提供超过1.5 A的电流。此稳压器易于使用,只通过2个外部电阻设置输出电压。工作时,LM317建立并保持输出与调节端之间1.25 V的标称参考电压(Vref),该参考电压由R1转换为编程电流,该电流经R2到地,如图4所示。
因为此处调节端的电流IADj控制小于100μA,这一误差可忽略。一个白光LED需要3.3 V直流电压,本设计为3个白光LED串联,需LM317输出9.6 V直流电压,由于LED与场效应管串联,故除去场效应管的压降,可得LM317输出的电压约10V。先确定R1的电阻为220Ω,得出电位器R2的电阻值为1.4 kΩ。
3.2 白光LED的驱动电路
本设计是PWM信号经过三极管VQ1的基极连接到P沟道功率MOSFET IRF9540的栅极上。P沟道功率MOSFET的栅极驱动采用简单的NPN三极管驱动放大电路,以改善MOSFET的导通过程,减少驱动电源的功率。当驱动电路直接驱动功率MOSFET时会引起被驱动功率MOSFET的快速开通和关断,这就可能造成被驱动功率MOSFET漏源极间电压的振荡。一则引起射频干扰;二则有可能造成功率MOSFET遭受过高的电压而击穿损坏。为解决这一问题,需在被驱动功率MOSFET的栅极与驱动电路的输出之间串联一只无感电阻R1。当PWM波输出高电平时,三极管VQ1导通,从而使MOSFET的栅极电压低于源极电压,MOSFET的源极和漏极导通,LED点亮;当PWM波输出低电平时,VQ1截止,LED熄灭。当PWM频率超过100 Hz时,人眼可视平均LED的导通和截止时间,产生LED亮度变化的感觉,其亮度与LED导通周期成正比,如图5所示。
4 结束语
白色LED具有寿命长、可低压驱动、安全稳定等优良特性,因而成为极具发展潜力的新型光源,但LED的半导体特性使其供电系统设计比较困难。为了获得较高的发光效率和调光效果,设计了一个PWM驱动的LED照明电路。利用所设计的LED驱动电路不但方便控制LED的亮度,而且与普通的驱动方式相比,可以极大调高色温。
相关问答
如何将 单片机 输出的 PWM控制 信号,变成可以带负载的变化的电压?单片机输出的PWM为控制信号,需要加入控制器件才可以驱动负载单片机输出的PWM驱动能比较弱,不能直接驱动负载,需要三极管、MOS管参与才可以控制负载的功率,比...
单片机 是怎么通过 pwm 波来 控制 电机运转的,工作原理是什么?PWM的英文全称是PulseWidthModulation的缩写,翻译成中文就是脉冲宽度调制,PWM是一种利用数字输出来对模拟电路进行控制的技术,它的实质就是使用数字信号...
急! 单片机 如何驱动RGB三色 LED 灯来合成各种颜色的?通过 PWM 脉宽调制,还是通过驱动芯片来实现?驱动芯片也是通过调节三色灯的PWM脉宽进而调节每个LED灯的亮度驱动芯片也是通过调节三色灯的PWM脉宽进而调节每个LED灯的亮度
怎么用 单片机 模拟 PWM控制 RGB灯颜色渐变?可调的三路PWM输出,仿真实例你可以修改成自己需要的功能。可调的三路PWM输出,仿真实例你可以修改成自己需要的功能。
51 单片机 关于单独按键 控制LED 灯-ZOL问答所以你要配置定时器1为PWM模式,随便定个频率,比如1KHz,因为D0是低电平亮,所以你可以把占空比设到最小,也就是说初始化的时候LED最亮,或者你可以反过来,把占空比...
太阳能 led 路灯如何 控制 开关?现在日常生活中路灯是很常见的,在照明、城市亮化工程等起到了很重要的作用。其实在国道、省道两旁也会看到路灯,在高高的柱子上面不仅有风能发电机,还有太阳能...
led 灯可以调光吗? - 157****7949 的回答 - 懂得白炽灯和金卤灯在调光领域应用得比较广泛,但随着节能减排的不断推广,LED可调光在攻克了调光技术障碍后,开始呈现发展趋势,LED可调光与LED红外智能灯...
stc15 单片机pwm 工作原理?STC15W内部集成了一个15位的PWM模块,可以6路独立输出.此外PWM模块每一路都有两个用于控制波形翻转的计数器T1和T2,可以灵活地控制每路PWM的高低电平宽度,...
固态继电器到底能否用于, 单片机PWM , 控制 AC220V,五十五瓦,50HZ的电风扇调速?为什么?主要考虑一下固态的关断时间和PWM脉宽,如果脉宽小于关断时间固态容易损坏,个人认为如果调速范围不是很大应该没问题。还有就是电机属于电感类负载,在选型时要...
单片机PWM 的概念是什么?分两点讨论:1.PWM脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效...