0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

绚丽的色彩从何而来_LOTO示波器实测WS2812B系LED光源

西安乐拓精益 2022-06-05 00:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

不管你对“RGB性能狂升300%”的梗认同不认同,不可否认,绚丽的彩色很是酷炫,在现在市面上带“灯”的肯定比不带“灯”的贵也成了商家的一致行为。

在市面上呢,其中有一种RGB LED灯珠,因为价格便宜一个只要几毛钱买的多了都可能到1毛钱一个,无需额外的“庞大”控制电路来驱动,用各廉价的单片机和简单的元件,就可以单IO接口串联让成百上千个灯珠各自独立的发出颜色,低功耗,而且还有不错的刷新率,让DIY玩家在很是推崇。

这就是WS2812系类,它是一种“集控制电路与发光电路于一体的智能外控LED光源”。

那么它是怎么实现的?相关的文档、源码很多,但具体到实际控制方式还是不明不白。本文以WS2812B-4为例,它是WS2812的mini版本,性能上没有标准6脚的快,但是体积小,性能也用,可以让点距更小些。

让我们了解下它,然后为我们就会知道为什么要用LOTO示波器明明白折的分析下它是怎么被单片机控制并发出绚丽颜色的吧。

先来看看官方文档的说明~

poYBAGD9FzSALRMXAAOl_k-BptI091.pngpoYBAGD9F0CALBqvAAIZrUkqq4c942.png

pYYBAGD9F0uAXhCiAAAbjszFe3w951.pngpoYBAGKQQKOAIKJGAACi3KpvNbQ464.pngpoYBAGKQQKSAFVlGAAJ4hROdAkM560.png

科普下时间单位,方便后边说明。

ms是毫秒=0.001秒us是微秒=0.000,001秒 ns是纳秒=0.000,000,001秒

现在开始正文,简单总结下来就是想最快的让一个WS2812B-4LED亮出颜色就需要1960ns(1bit) * 24(红绿蓝3种颜色各8bit) + 280us = 47040ns(47.04us) + 280us = 327.04us。

也就是可以让单个WS2812B-4 LED在不考虑余辉的情况下1毫秒3次,1秒钟约3000次的变换不同颜色。

再之后呢,每扩展1个WS2812B-4LED,就要多一个47.04us的颜色数据,那么要1秒60次刷新需要16.66ms = 16,666us – 280us = 16,386us /47.04us = 348个LED。

这个串联数量,让我们设计小的DIY RGB光源的时候可以游刃有余的完成所要的设计。这也就是WS2812受到推崇的原因了。

但是这么快的速度让我们很难看到它是怎么工作了,用万用表什么的是绝对没可能看到实际情况,因为太快,电压看来都是0。那么怎么才能看到LED怎么被电路驱动的呢,只能用示波器了。

专业人士的示波器都是很贵的,几万几十万上百万的不在少数,而这价格让我们DIY玩家很难承受,毕竟银子难赚嘛,二三四手的也不省钱还有可能翻车。

这里就要让本文的主角LOTO示波器出场了。有了它可以让我们只要花几百块就可以在电脑上了解到专业示波器的分析结果,当然了一分钱一分货,带宽和采样和价格是同比的,不过一般的DIY也用不到那么专业的嘛,所以,LOTO让你可以不用花很多钱就可以在日常场景中方便的了解学习电路原理,真的是物超所值的哦。

如图~,这个洞洞板用一下1块的STC8G单片机,用一个IO端口驱动了2个WS2812B-4,让第一个发出了绿色,第二个发出了红色,并且是呼吸闪烁的效果,不过图片嘛,就看不出来了。

pYYBAGKQQKSAEUXDAAZxKS-z_Ts006.png

因为是5V的高电平电路,需要用10X挡的探头,先来用1ms时域看,只有小小的一个尖刺,1ms里看9600bps的通讯那叫清楚,现在看us级的只能看成这样的尖刺,只能说,真快啊。

poYBAGD9F3uAJoiHAAPivZTOKqk147.png

再来换成0.1ms挡位,已经能看到连续的波纹了,不过还是太密集了,可以见到蓝色的A通道是黄色B通道长一倍,这就是LED1收到2组24bit后转发给LED2的1组24bit的波纹啦。

pYYBAGD9F4mAXgubAAP1hMzOceM814.png

0.1ms还太“慢”了,让我们来到10us,也就是0.000,010秒。也因为太快了,这里用了触发,可以拦截到有高电平,要不闪动太快想找到波形可不容易。可以看到明显的波形情况了,但是还是不清楚,那我们继续。

pYYBAGD9F5aAK2vpAAQajd3o9CQ033.png

1us档,现在就可以清楚的看到波形了。怎么样,0.000,001秒的电压变化清楚的展现给你的感觉?

poYBAGD9F6OAAkOiAAOMU5cti7E325.png

也许你会奇怪为什么不是平的波形的呢?是不是示波器有问题?我们先来试试示波器,看看是不是示波器的问题,示波器多都有一个标准方波生成功能,来方便我们调校示波器。

看下图,这是个1000hz的标准方波,嗯~很平,证明示波器没问题。那就是STC8G的输出就是上图中所显示的波形了~

poYBAGD9F6-AKTFeAAQEtEbXdYI490.png

我们继续,加上标签,可以看到第一个高电平是0.323us,这就是我们单片机里发的高电平的8位二进制颜色的第一位颜色的波形表现,00011101就是我们第一个灯的绿色数值。

poYBAGD9F7uATbV2AAITAKikVa0760.png

我们把波形缩小一点看下全部的波形。前8个第一组波形就是绿色G,第二组就是红色R,第三组就是蓝色B。

poYBAGD9F8iAEOFfAAPol6W2r3g963.png

然后我们来看看第一个WS2812转发给第2个的波形,可以看到只过了150ns,第二个WS2812就收到了转发的波形信号了!真的很快了。

poYBAGD9F9SAYXDdAAR-tNzTTnE401.png

以上就是我们使用LOTO虚拟示波器对WS2812B-4的波形分析啦。如果没有示波器,只能在单片机里盲目的调节频率来适配WS2812的数据。而有了LOTO示波器就方便多了,不知道你有没有感觉到示波器的方便呢。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 示波器
    +关注

    关注

    113

    文章

    6967

    浏览量

    194670
  • LED光源
    +关注

    关注

    3

    文章

    263

    浏览量

    33883
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于STM32F103C8T6驱动WS2812彩灯模块点亮RGB灯

    一、WS2812模块简介 WS2812是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为
    的头像 发表于 12-04 11:29 2616次阅读
    基于STM32F103C8T6驱动<b class='flag-5'>WS2812</b>彩灯模块点亮RGB灯

    【瑞萨RA6E2】驱动 WS2812 实现 RGB 跑马灯效果

    颜色分量 8 位,从高位到低位依次传输: void ws2812_send_pixel(uint8_t g, uint8_t r, uint8_t b) { uint8_t i; // 发送绿色
    发表于 11-25 01:55

    【瑞萨RA6E2】点亮 WS2812 全彩点阵屏

    WS2812 是彩色灯珠控制芯片,可以控制 RGB 三色灯珠混合呈现出 16M 种颜色,WS2812 有单颗芯片形式,需要外接 RGB 灯珠,也有集成 WS2812 的 RGB 灯珠。 WS2
    发表于 11-05 08:36

    【RA4L1-SENSOR】点亮 WS2812 全彩点阵屏

    WS2812 是彩色灯珠控制芯片,可以控制 RGB 三色灯珠混合呈现出 16M 种颜色,WS2812 有单颗芯片形式,需要外接 RGB 灯珠,也有集成 WS2812 的 RGB 灯珠。 WS2
    发表于 06-09 12:48

    LOTO RC低通滤波模块

    顺序进行编号,以便后续的档位调节说明。LOTO RC 低通滤波模块设置有三档可调,通过信号发生器配合示波器的频响曲线功能,实测绘制出的频响曲线结果如下:(1)如图所示,1,2跳线帽接通时为单一 RC
    发表于 05-09 14:30

    如何用LOTO示波器测量变压器带宽?

    /Ⅰ1*** ,即电压比等于匝数比,且与电流比成反比关系。 测试采用 LOTO OSCH02 型虚拟示波器,通过信号发生器生成正弦扫频信号,作为原边线圈的输入电压 U₁。同时将示波器的 CHA、CHB
    发表于 05-08 17:33

    【RA-Eco-RA4M2开发板评测】点亮WS2812点阵屏

    WS2812 是彩色灯珠控制芯片,可以控制 RGB 三色灯珠混合呈现出 16M 种颜色,WS2812 有单颗芯片形式,需要外接 RGB 灯珠,也有集成 WS2812 的 RGB 灯珠。 WS2
    发表于 05-07 15:28

    WS2812B on S32K144始终闪烁白色,即使没有数据也是如此,为什么?

    我正在尝试控制WS2812B RGB LED使用型号 S32K144EVB-Q100.我的目标是发送GRB 数据使用 bit-banging onPTD0.但是,LED 始终闪烁白色 (R=255
    发表于 04-08 07:15

    CW32模块使用 WS2812彩灯

    WS2812E是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个 元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电
    的头像 发表于 02-24 11:37 773次阅读
    CW32模块使用 <b class='flag-5'>WS2812</b>彩灯

    零知开源——使用 GPIO 模拟时序驱动 WS2812B LED 灯带

    ​利用零知增强版的GPIO 模拟时序        在本教程中,我们将探讨如何使用 零知增强版的 GPIO 接口来模拟 WS2812B LED 灯带的信号传输时序,从而实现对单色或多彩 LED 灯带
    的头像 发表于 02-20 15:43 2089次阅读
    零知开源——使用 GPIO 模拟时序驱动 <b class='flag-5'>WS2812B</b> <b class='flag-5'>LED</b> 灯带

    使用 GPIO 模拟时序驱动 WS2812B LED 灯带

    GPIO
    PCB56242069
    发布于 :2025年02月20日 14:47:01

    零知开源——使用 GPIO 模拟时序驱动 WS2812B LED 灯带

    WS2812B LED 灯带的信号传输时序,从而实现对单色或多彩 LED 灯带的控制。这种技术允许我们避开专用驱动库,直接与硬件进行交互,理解并掌握 WS2812B 的通信机制。
    发表于 02-20 14:31

    零知开源——玩转WS2812B灯条模块

    上传到开发板中。 引用库文件WS2812B.h#include// 引入用于控制WS2812B LED灯带的库 #define NUM_LEDS 9// 定义灯带上的LED数量
    发表于 02-19 17:25

    零知开源——玩转WS2812B灯条模块

    WS2812RGB灯带       通过零知标准开发板平台上驱动WS2812RGB灯珠,包括WS2812B的供电电压、接线和代码实现。通过创建延时函数和设置级联数据,实现对RGB灯珠的控制,展示了从
    的头像 发表于 02-19 15:09 2512次阅读
    零知开源——玩转<b class='flag-5'>WS2812B</b>灯条模块

    【敏矽微ME32G070开发板免费体验】点亮WS2812B灯板

    一、简介 板上集成了8颗RGB彩灯,但只需用到一个GPIO口,这是如何做到的呢?这节我们就点亮WS2812B展开话题。WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源
    发表于 01-07 23:58