​ 上图所示的是电脑显示屏的微观图像,拍摄的方法非常有意思,通过在手机摄像头上滴一滴水滴,形成凸透镜,就能做成一个简易版的显微镜。

​ 从显微录像中也可以很明显的看到显示屏的一个个像素组成,我的ThinkPad显示屏共有1366列768排、近100万像素点,而每一个像素点,都由红、绿、蓝三种颜色组成。由RGB色彩的知识可以知道,通过对红绿蓝不同深度的配比,能调出世界上所有的颜色

​ 这样一来,本来高级、难学的彩屏显示,就变得非常简单,我们只需要计算好每个像素的红绿蓝颜色深度,且主控芯片的频率足够高,让显示屏能在20ms(人眼的视觉暂留时间)内刷新完整一面图像,即可让显示屏连续的显示视频。

​ 那么就有一个问题,就是如何让只能输出1和0两种数字状态的逻辑芯片,来控制RGB三色深度这连续的模拟量?

模拟量控制的两种办法

1、经过数字信号到模拟信号的转化,让只有两种状态的开关信号,转换到连续信号。

这种办法可行,但是由于转换时间的限制,难以提高屏幕的刷新频率,并且每一个像素点都需要单独的数模转换模块,这样在硬件上的工程量会非常非常庞大,我们总不想自己的手机屏幕后边背着一个巨大的主机箱吧?因此这种方法在驱动显示屏上是完全不可行的。

2、再者,便是使用一种由A.H.里夫在20世纪30年代发明的脉宽调制技术(Pulse width modulation),简称PWM


PWM技术的优点

**1、**PWM从处理器到被控系统信号都是数字形式的,无需进行数模转换。

**2、**让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,才能对数字信号产生影响。

因此,因为他实现比较容易,且有极强的抗干扰能力,PWM被广泛应用于功率调节,通信等领域。而上文所说的显示屏像素的RGB配比,正是PWM在功率调节上的一个典型应用。

PWM的两个概念:

1、周期/频率

​ 周期是指一个PWM信号一个上升沿 ↑ 执行至下一个上升沿所需要的时间,一般用字母T表示。

​ 频率则是周期的倒数,即1/T。

频率为1Hz的PWM信号施加在LED上,可以感受到肉眼可见的频闪

频率为50Hz的PWM信号在LED灯上的体现,人眼视觉暂留时间为20ms,因此50Hz的信号足以让人眼感受不到频闪。

2、占空比

​ 一个PWM信号内其中一个周期,高电平时间所占整个周期的百分比,即一个5V的直流信号相当于占空比为100%的PWM信号,一个0V的直流信号相当于占空比为0%的直流信号。

将PWM的占空比由0%慢慢提高到100%时LED亮度的变化


​ 很多刚接触PWM的人往往不太能理解为什么被施加了不同占空比PWM的LED,会直接体现在LED的亮度变化上,简单来说就是

为什么PWM能控制LED亮度、电机的转速?

​ 我在初学PWM的时候也有这样的困惑,也去网上查了很多资料,但是大部分都涉及到数学物理计算上,不仅难懂并且没有让人有看下去的欲望,时间长了也就放弃了搞懂他原理的冲动,有种食之无味弃之可惜的鸡肋感。

​ 后来偶然间,我看到了一种通俗易懂的解释方法,我也茅塞顿开,他的解释是,PWM的占空比越大,那么LED开启的时间占比越大,宏观上释放的能量越高,反之释放的能量越低,这样当提高了频率,让使用者无法感受到开关量的变化,就会使得LED的变亮或者变暗。

小米台灯上的调光按钮,他其实不是一个可调电阻
而是一个脉冲开关
同样是利用了单片机来处理脉冲数据而输出PWM
从而达到调光的效果

按下按钮并且旋转可以调节灯光的色温
他是通过调节暖白色和亮白色两种LED亮度的配比
来达到调节色温的目的
同样使用到了PWM的技术


​ 这种说法似乎是有些偷换概念,和真正意义上的调光调速似乎不太一样,但是从能量上来讲,的确可以说通所有的现象。

一种通俗易懂的PWM的解释相关推荐

  1. python实现单例模式的三种方式及相关知识解释

    python实现单例模式的三种方式及相关知识解释 模块模式 装饰器模式 父类重写new继承 单例模式作为最常用的设计模式,在面试中很可能遇到要求手写.从最近的学习python的经验而言,singlet ...

  2. matlab 双边沿滤波,一种基于数字PWM发生器的左增长双边沿UPWM信号频谱估计方法与流程...

    本发明涉及数字D类音频功放领域,尤其涉及一种由数字音频信号调制得到的左增长双边沿均匀采样脉冲宽度调制信号的频谱估计方法. 背景技术: 数字D类音频功放的电源效率相比A类.B类和AB类等线性音频功放较高 ...

  3. Asp.Net中几种相似的标记符号:解释及用法 还有许多细节

    1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %&g ...

  4. Asp.Net中几种相似的标记符号: 解释及用法

    Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 1.< %#... %>: ...

  5. 如何通俗易懂地向别人解释React生命周期方法?

    什么是生命周期方法?新的React16+生命周期方法是怎样的?你该如何直观地理解它们,以及为什么它们很有用? 生命周期方法到底是什么? React组件都有自己的阶段. 如果要你"构建一个He ...

  6. asp.net学习之SqlDataSource 2 select的四种参数赋予形式的解释

    通过 SqlDataSource 控件,可以使用 Web 服务器控件访问位于关系数据库中的数据.其中可以包括 Microsoft SQL Server 和 Oracle 数据库以及 OLE DB 和 ...

  7. (转)对《javascript 杂谈之哪种写法你更喜欢?》最后一种“匿名函数法”的解释...

    原文地址:http://www.cnblogs.com/hkncd/archive/2012/05/04/2482064.html 前两天看了篇不错的关于javascript写法的文章.在评论里,不少 ...

  8. 几种政务网络的名字解释

    一:几种网络名词解释 1: 局域网 单位内部的自建局域网络; 2: 互联网 互联网(英语:Internet),又称网际网络,或音译因特网(Internet).英特网,互联网始于1969年美国的阿帕网. ...

  9. 23 种设计模式很污的解释

    推荐阅读:CTO:再写if-else,逮着罚款1000! 01 工厂方法 追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德 ...

最新文章

  1. 数据结构——马踏棋盘题解(贪心算法)
  2. windows下备份Mysql数据的脚本
  3. frdora10_a8_linux,在Fedora 10中安装IRAF
  4. Hadoop运维记录系列(三)
  5. Python numpy 平方、乘方和平方根函数
  6. python的加减乘除运算_python实现四则运算
  7. 云原生时代,阿里云联手博睿数据让IT运维可观测更智能
  8. 《驯狮记——Mac OS X 10.8 Mountain Lion使用手册》——2.3 Dock
  9. 硬核总结 9 个关于认证授权的常见问题!看看自己能回答几个!
  10. Mysql-5.6.x多实例配置
  11. JAVA语言程序设计(基础篇)第十版课后题答案(第一章)
  12. 学北邮计算机未来四十岁,双非学渣如何上岸北邮计算机学院
  13. Endnote导出GB/T 7714-2015 格式参考文献
  14. RYYB图像格式学习
  15. 《论文排版札记》part1 论文公式编号—WPS版
  16. 面试总结:测试常见面试题汇总
  17. mac简体拼音打出来是英文_为什么word打不出拼音 mac的word打字出拼音
  18. 最新android版本叫什么,Android版本今年将大更新,迈入10.0时代,新特性曝光
  19. 课程预约小程序开发需要哪些功能?
  20. LeetCode.868-二进制距离(Binary Gap)

热门文章

  1. Lenovo GTX960M 配置CUDA
  2. 文献管理软件 Endnote 简易上手
  3. 实习随笔3( 辗转,终到,这一天)
  4. 团队管理9--新经理角色认知和角色转换
  5. Caffe MNIST 手写数字识别(全面流程)
  6. 【Java开发】Java实现调用微信机器人,发送企业微信通知
  7. Webbrowser 使用IE 最高版本
  8. html table 合并单元格 分页,Word表格跨页,合并单元格后,希望跨页的每一页都显示合并单元格的内容(有图)...
  9. unordered_map详细介绍
  10. Kubernetes高可用性监控:Thanos的部署