草庐IT

LED驱动电路设计及原理分析

躺平的码农 2023-12-22 原文

LED驱动电路设计

1, LED灯简单介绍:

	**LED即为我们常见的发光二极管,如下图(图1)**

图1

LED在电路图中的标记如下图(图2)

图2

2, LED灯电气特征:

1, 单向导通性 :

常见的LED发光二极管都有两个引脚,其中长的引脚接电源正极,为电流进入LED的引脚,短的接电源负极,为电流离开LED的引脚。如果LED正向导通(图3),此时LED电阻基本为零,LED导通发光,如果LED反向导通(图4),此时LED电阻可理解为无穷大,LED无电流通过,LED不发光。

图3

图4

2, LED电路分析

图5

1,近似分析:
如上所述, LED正向导通即可理解为电阻为零, 反向导通电阻为无穷大,故分析电路(图五), 10V电压加在发光二极管D与100欧姆电阻R1上面,此时D正向导通,电阻为零, 故该电路电流为

I = U / R = 10 V / 100 欧 姆 = 0.1 A I = U / R = 10V / 100欧姆 = 0.1A I=U/R=10V/100=0.1A

2, 二阶近似:
我们可以这样理解,所有正向导通正常工作的发光二极管其两端电压恒定为0.7V, 故以上电路我们可以进一步分析,D二极管两端分压0.7V, 故电阻R1两端电压为 10 - 0.7 = 9.3V, 故电路电流为

I = U / R = 9.3 / 100 = 0.093 A I = U / R = 9.3 / 100 = 0.093A I=U/R=9.3/100=0.093A

二阶近似也是在大部分电路设计中被普遍使用的

3,高阶近似:

因为二极管正向导通也是存在电阻的(体电阻), 故我们在某些需要非常精确的电路计算的时候我们需要考虑这种体电阻,一般这种体电阻都会在二极管技术手册提及

3, LED电路设计思路

1,限流电阻的使用

一般的51单片机的输出电压只有5V左右,一般3mm发光二极管正常工作电流在5~20mA之间,如果按照二阶近似,二极管分压0.7V,那么剩下的4.3v电压将全部施加在导线电阻上面,这样导线的电流将远远大于20mA, 这样很容易烧坏发光二极管,故我们需要给每个发光二极管串联一个限流电阻,我们假设需要的是20mA的电流, 5V的驱动电压有0.7V被二极管分压,4.3V将加到我们的限流电阻上面故可知,限流电阻电压为4.3V,电流为20mA,故根据欧姆定律,很容易得出,限流电阻大小为215欧姆, 所有我们需要给每个二极管加上一个215欧姆是限流电阻,当然,实际设计电路的时候215欧姆的电阻一般很难找到,故可以提高电阻到300欧姆,因为我们计算的工作电流是20mA, 但是一般5~20mA都可以正常工作

2,三级管的使用

由于单片机本身的驱动功率有限,如果直接使用单片机驱动多个LED灯将可能存在电压输出不稳定的情况,所以我们要使用三极管来放大单片机驱动的电流, 具体关于三极管的电路分析我们留着本文最后面介绍

4, 成品电路及相关分析

(图6,最终电路图)

以上为一个典型的共阴极的LED驱动电路,其中一共引出10条腿,8条接单片机IO口,一条接电源正极,一条接地(也就是接电源负极)

1,三极管的分析

在此我先简单介绍三极管在电路中的电路分析, 我们先看下图

其中C引脚为集电极,B引脚为基极,E引脚为发射极, 三极管内部的电流关系为
I ( B E ) ∗ β = I ( C E ) ; I(BE) * β = I(CE); I(BE)β=I(CE);
即,集电极到发射极的电流等于β倍基极到发射极的电流, 也就是说,基极到发射极的电流被扩大的β倍,然后从发射极流出,β的大小从10到300不等,β的大小从10到300不等, 我们可以试着分析以下电路,β的大小从10到300不等

我们试着分析上面的电路图,因为我们可以把基极到发射极三极管部分理解成一个二极管,所以BE分压0.7V,所以R上面的电压为9.3V,因为R为1K欧姆, 固根据欧姆定律得,R上电流为9.3mA, 因为这部分电流包括三极管的基极和集电极电流,假设三极管β值为100, 固基极电流是集电极电流的100分之1,固基极电流大概为0.093mA, 固此时基极电流很小,但是加在我们的电阻上的电流却远远大于基极电流

此处只是对于三极管的简单介绍,具体的介绍以后我再写一篇专门的博客了

现在我们回到我们的电路上面

当P00引脚高电平输出时,就会有20mA左右的电流流过二极管D1, 此时三极管Q1的基极,P00只有 20mA / β, 如果β等于100, 此时基极电流为0.2mA,这样实际流过单片机的电流就只有0.2mA, 如果八个LED都点亮,单片机本身承载的电流也只有0.2 * 8, = 1.6mA, 还不及没有三极管时的一个二极管的电流大,这样我们的单片机就能承受驱动8个二级管产生的电流。

以上文章为我本人对于LED驱动的看法,如有错误之处,还望各位读者指出

八个LED都点亮,单片机本身承载的电流也只有0.2 * 8, = 1.6mA, 还不及没有三极管时的一个二极管的电流大,这样我们的单片机就能承受驱动8个二级管产生的电流。**

以上文章为我本人对于LED驱动的看法,如有错误之处,还望各位读者指出

有关LED驱动电路设计及原理分析的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  3. ruby-on-rails - 如何在 Ruby on Rails 中实现由 JSF 2.0 (Primefaces) 驱动的 UI 魔法 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。问题1)我想知道ruby​​onrails是否有功能类似于primefaces的gem。我问的原因是如果您使用primefaces(http://www.primefaces.org/showcase-labs/ui/home.jsf),开发人员无需担心javascript或jquery的东西。据我所知,JSF是一个规范,基于规范的各种可用实现,prim

  4. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  5. C51单片机——实现用独立按键控制LED亮灭(调用函数篇) - 2

    说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时

  6. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  7. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  8. ruby-on-rails - 设计注册确认 - 2

    我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,:

  9. ruby-on-rails - 设计通过 reset_password_token 获取用户 - 2

    我正在尝试创建密码规则来设计可恢复的密码更改。我通过passwords_controller.rb做了一个父类(superclass),但我需要在应用规则之前检查用户角色,但我所拥有的只是reset_password_token。 最佳答案 假设您的模型是用户:User.with_reset_password_token(your_token_here)Source 关于ruby-on-rails-设计通过reset_password_token获取用户,我们在StackOverflow

  10. ruby-on-rails - Rails 5,公寓和设计 : sign in with subdomains are not working - 2

    我已经使用Apartment设置了一个Rails5应用程序(1.2.0)和Devise(4.2.0)。由于某些DDNS问题,应用只能在app.myapp.com下访问(请注意子域app)。myapp.com重定向到app.myapp.com。我的用例是每个注册该应用的用户(租户)都应该通过他们的子域(例如tenant.myapp.com)访问他们的特定数据。用户不应限定在其子域内。基本上应该可以从任何子域登录。重定向到租户的正确子域由ApplicationController处理。根据Devise标准,登录页面位于app.myapp.com/users/sign_in。这就是问题开始的

随机推荐