草庐IT

一、LED驱动电路

Wooooone 2023-04-29 原文

该专栏笔记整理于哔哩哔哩up主 硬件工程师桥 ,个人感觉up主视频质量还是很高的,对硬件感兴趣的小伙伴可以戳蓝字关注一波~
文档中原理图部分(不包含对原视频截图中涉及的原理图)统一使用 立创EDA 进行绘制
同时,由于个人能力以及时间等因素,笔记中的部分内容难免产生错误,不当部分请以原视频为准,也欢迎各位小伙伴批评斧正~

文章目录

2022/04/09
视频地址:项目篇3_LED的多种驱动方式及选择

LED驱动电路的基础知识

  1. LED串联电阻阻值的计算:例如电源为5V,一个LED正常工作时的电压为2v 电流为20mA。要想使LED正常工作,需要串联的电阻分压5-2=3V,由于串联的LED额定电流为 20mA,所以流经电阻的电流也为20mA,阻值可以用电压3V除以电流20mA大体计算得到
  2. 理论上来说,在LED串联电阻的简单电路中,LED与电阻哪个器件靠近Vcc是无所谓的,但由于电源电压有波动,为了保护LED,通常将电阻放到Vcc一侧,而LED放到GND一侧
  3. 使用单片机时,为保证其正常工作,一般IO口的电流不超过1mA,而LED正常工作时的电流一般为10-20mA,故需要外部驱动电路

驱动LED的三种方法

  1. 使用三极管或MOS管等驱动器件:便宜、简单
  2. 使用达林顿管:节省PCB面积 ||| 使用继电器:功率大
  3. 使用串并转换芯片:节省CPU的IO口资源

驱动单个LED电路

  1. 原理图:
  2. 各个器件的选型及作用:
    • 三极管的选择:Ic端的电流必须满足负载的需求,例如假设上图中LED电流为20mA,因此选择的三极管Ic需要大于20mA
    • R16的选择:可以由Ic和放大倍数求出基极电流Ib,再由 LED_17_MCU 的电压和 Ib 即可大体求出R16的大小
    • R18的作用:由于单片机初始上电时IO口的电平不定,因此此处接一个对地的电阻,可以保证上电时三极管基极处的电平为低,可以避免上电时LED的误闪
    • C7的作用:当外界有干扰时,LED_17_MCU 上可能会出现电压的抖动,当电压抖动较大时,LED会被点亮,因此,加入C7电容可以滤除 LED_17_MCU 上高频的抖动,避免LED因外界的干扰误闪
    • 三极管的漏电流通常为微安级别,因此不足以点亮一颗LED,不用担心漏电流点亮LED

达林顿管

  1. 内部示意图:
  2. 大体作用:将输入的信号进行两极放大,类似于三极管的驱动,但可以将体积做的很小
  3. 视频中使用的器件驱动能力为500ma

串并转换芯片

  1. 好处:可以节省单片机的IO口资源
  2. 选择:使用电流驱动型芯片,由于二极管的UI曲线类似于指数型,在电压变化很小的情况下电流变化会很大,若使用电压型驱动芯片,在电压变化不大的情况下可能会造成电流有较大的变化

背光灯的设计

  1. 背光灯设计时注意将LED合理分布,避免LED在一处聚集造成某处过亮或光线在屏幕边缘反光造成屏幕边缘过亮,影响观感

  2. 原理图:

  3. 背光灯的特点:选用串联的方式,由于器件的体质不同,若使用电压控制亮度,降低同样电压,LED的亮度降低程度可能会出现较大的差异

  4. 下图不可使用,电压变化时可能会造成亮度变化明显,因此上图中R29电阻不可以省略

  5. 在设计背光灯的PCB时通常将焊盘放置的非常紧密,由于串联关系,可以将0欧姆电阻和LED交换位置(紧密的好处:当屏幕的亮度不均匀时,可以调整LED的位置,使屏幕的亮度均匀)

有关一、LED驱动电路的更多相关文章

  1. 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

  2. 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

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

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

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

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

  5. ruby - 运行测试时静音 Chrome 驱动程序控制台输出 - 2

    我使用的是最新版本的Chrome(32.0.1700.107)和Chrome驱动程序(V2.8)。但是当我在Ruby中使用以下代码运行示例测试时:require'selenium-webdriver'WAIT=Selenium::WebDriver::Wait.new(timeout:100)$driver=Selenium::WebDriver.for:chrome$driver.manage.window.maximize$driver.navigate.to'https://www.google.co.in'defapps_hoverele_hover=$driver.find_

  6. node.js - 从未编写过任何自动化测试,我应该如何开始行为驱动开发? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。多年来,我一直在使用多种语言进行编程,并且认为自己总体上相当擅长。但是,我从未编写过任何自动化测试:没有单元测试,没有TDD,没有BDD,什么都没有。我已经尝试开始为我的项目编写适当的测试套件。我可以看到在进行任何更改后能够自动测试项目中所有代码的理论值(value)。我可以看到像RSpec和Mocha这样的测试框架应该如何使设置和运行所述测试变得相当容易

  7. ruby-on-rails - 在 Rails/Capybara/Poltergeist 规范中使用 url_for 将驱动程序发送到 example.com 而不是应用程序 - 2

    如果我在功能规范中调用url_for,它会返回一个以http://www.example.com/开头的绝对URL.Capybara会很乐意尝试加载该站点上的页面,但这与我的应用程序无关。以下是重现该问题的最少步骤:从这个Gemfile开始:source'https://rubygems.org'gem"sqlite3"gem"jquery-rails"gem"draper"gem"rails",'4.1.0'gem"therubyracer"gem"uglifier"gem"rspec-rails"gem"capybara"gem"poltergeist"gem"launchy"运行

  8. 1个串口用1根线实现多机半双工通信+开机控制电路 - 2

    功能需求:主机使用一个串口,与两个从机进行双向通信,主机向从机发送数据,从机能够返回数据,由于结构限制,主机与从机之间只有3根线(电源、地、数据线),并且从机上没有设物理的电源开关,需要通过与主机连接的数据线来控制开机,总结如下:1、数据线只有1根2、能够双向通信3、主机能够控制从机开机4、主机可以单独向1个从机发数据,也可以同时向两个从机发送数据根据需求,设计出如下电路:工作原理分析:VCC_24V_IN、GND、LINE_L(LINE_R)三根线接线连接到从机,电源开启电路是从机内部的电源控制。开机的逻辑:*主机先上电,LINE_L因为主机的R1上拉而有高电平,使Q6导通,Q5的G极电压被

  9. 驱动开发:内核无痕隐藏自身分析 - 2

    在笔者前面有一篇文章《驱动开发:断链隐藏驱动程序自身》通过摘除驱动的链表实现了断链隐藏自身的目的,但此方法恢复时会触发PG会蓝屏,偶然间在网上找到了一个作者介绍的一种方法,觉得有必要详细分析一下他是如何实现的进程隐藏的,总体来说作者的思路是最终寻找到MiProcessLoaderEntry的入口地址,该函数的作用是将驱动信息加入链表和移除链表,运用这个函数即可动态处理驱动的添加和移除问题。MiProcessLoaderEntry(pDriverObject->DriverSection,1)添加MiProcessLoaderEntry(pDriverObject->DriverSection,

  10. ruby - 事件/观察者驱动的 Ruby on Rails - 2

    我有一个适用于事件/监听器模型的应用程序。发布了几种不同类型的数据(事件),然后许多不同的事情可能需要也可能不需要对该数据(监听器)采取行动。监听器的发生没有特定的顺序,每个监听器将决定是否需要对事件采取行动。Rails应用程序有哪些工具可以完成此任务?我希望自己不必这样做(尽管我可以。这没什么大不了的。)编辑:观察者模式可能是更好的选择 最佳答案 查看EventMachine.它是一个非常流行的Ruby事件处理库。它看起来相当不错,而且很多其他库似乎都在利用它(Cramp)。这是一个很好的介绍:http://rubylearnin

随机推荐