標(biāo)題: 絢麗的色彩從何而來_LOTO示波器實測WS2812B系LED光源 [打印本頁]

作者: MXWL    時間: 2021-3-18 09:57
標(biāo)題: 絢麗的色彩從何而來_LOTO示波器實測WS2812B系LED光源
絢麗的色彩從何而來_LOTO示波器實測WS2812B系LED光源

不管你對 “RGB性能狂升300%” 的梗認(rèn)同不認(rèn)同,不可否認(rèn),絢麗的彩色很是酷炫,在現(xiàn)在市面上帶“燈”的肯定比不帶“燈”的貴也成了商家的一致行為。
在市面上呢,其中有一種RGB LED燈珠,因為價格便宜一個只要幾毛錢買的多了都可能到1毛錢一個,無需額外的“龐大”控制電路來驅(qū)動,用各廉價的單片機(jī)和簡單的元件,就可以單IO接口串聯(lián)讓成百上千個燈珠各自獨立的發(fā)出顏色,低功耗,而且還有不錯的刷新率,讓DIY玩家在很是推崇。

這就是WS2812系類,它是一種“集控制電路與發(fā)光電路于一體的智能外控LED光源”。
那么它是怎么實現(xiàn)的?相關(guān)的文檔、源碼很多,但具體到實際控制方式還是不明不白。本文以WS2812B-4為例,它是WS2812的mini版本,性能上沒有標(biāo)準(zhǔn)6腳的快,但是體積小,性能也用,可以讓點距更小些。
讓我們了解下它,然后為我們就會知道為什么要用LOTO示波器明明白折的分析下它是怎么被單片機(jī)控制并發(fā)出絢麗顏色的吧。
先來看看官方文檔的說明~




科普下時間單位,方便后邊說明。
ms是毫秒=0.001秒  us是微秒=0.000,001秒 ns是納秒=0.000,000,001秒
現(xiàn)在開始正文,簡單總結(jié)下來就是想最快的讓一個WS2812B-4 LED亮出顏色就需要1960ns(1bit) * 24(紅綠藍(lán)3種顏色各8bit) + 280us = 47040ns(47.04us) + 280us = 327.04us。
也就是可以讓單個WS2812B-4 LED 在不考慮余輝的情況下1毫秒3次,1秒鐘約3000次的變換不同顏色。
再之后呢,每擴(kuò)展1個WS2812B-4 LED,就要多一個47.04us的顏色數(shù)據(jù),那么要1秒60次刷新需要16.66ms = 16,666us – 280us = 16,386us /47.04us = 348LED。
        這個串聯(lián)數(shù)量,讓我們設(shè)計小的DIY RGB光源的時候可以游刃有余的完成所要的設(shè)計。這也就是WS2812受到推崇的原因了。
        但是這么快的速度讓我們很難看到它是怎么工作了,用萬用表什么的是絕對沒可能看到實際情況,因為太快,電壓看來都是0。那么怎么才能看到LED怎么被電路驅(qū)動的呢,只能用示波器了。
        專業(yè)人士的示波器都是很貴的,幾萬幾十萬上百萬的不在少數(shù),而這價格讓我們DIY玩家很難承受,畢竟銀子難賺嘛,二三四手的也不省錢還有可能翻車。
這里就要讓本文的主角LOTO示波器出場了。有了它可以讓我們只要花幾百塊就可以在電腦上了解到專業(yè)示波器的分析結(jié)果,當(dāng)然了一分錢一分貨,帶寬和采樣和價格是同比的,不過一般的DIY也用不到那么專業(yè)的嘛,所以,LOTO讓你可以不用花很多錢就可以在日常場景中方便的了解學(xué)習(xí)電路原理,真的是物超所值的哦。
如圖~,這個洞洞板用一下1塊的STC8G單片機(jī),用一個IO端口驅(qū)動了2個WS2812B-4,讓第一個發(fā)出了綠色,第二個發(fā)出了紅色,并且是呼吸閃爍的效果,不過圖片嘛,就看不出來了。

因為是5V的高電平電路,需要用10X擋的探頭,先來用1ms時域看,只有小小的一個尖刺,1ms里看9600bps的通訊那叫清楚,現(xiàn)在看us級的只能看成這樣的尖刺,只能說,真快啊。

再來換成0.1ms擋位,已經(jīng)能看到連續(xù)的波紋了,不過還是太密集了,可以見到藍(lán)色的A通道是黃色B通道長一倍,這就是LED1收到2組24bit后轉(zhuǎn)發(fā)給LED21組24bit的波紋啦。

0.1ms還太“慢”了,讓我們來到10us,也就是0.000,010秒。也因為太快了,這里用了觸發(fā),可以攔截到有高電平,要不閃動太快想找到波形可不容易。可以看到明顯的波形情況了,但是還是不清楚,那我們繼續(xù)。

1us檔,現(xiàn)在就可以清楚的看到波形了。怎么樣,0.000,001秒的電壓變化清楚的展現(xiàn)給你的感覺?

也許你會奇怪為什么不是平的波形的呢?是不是示波器有問題?我們先來試試示波器,看看是不是示波器的問題,示波器多都有一個標(biāo)準(zhǔn)方波生成功能,來方便我們調(diào)校示波器。
        看下圖,這是個1000hz的標(biāo)準(zhǔn)方波,嗯~很平,證明示波器沒問題。那就是STC8G的輸出就是上圖中所顯示的波形了~

我們繼續(xù),加上標(biāo)簽,可以看到第一個高電平是0.323us,這就是我們單片機(jī)里發(fā)的高電平的8位二進(jìn)制顏色的第一位顏色的波形表現(xiàn),00011101就是我們第一個燈的綠色數(shù)值。

我們把波形縮小一點看下全部的波形。前8個第一組波形就是綠色G,第二組就是紅色R,第三組就是藍(lán)色B。

然后我們來看看第一個WS2812轉(zhuǎn)發(fā)給第2個的波形,可以看到只過了150ns,第二個WS2812就收到了轉(zhuǎn)發(fā)的波形信號了!真的很快了。

以上就是我們使用LOTO虛擬示波器對WS2812B-4的波形分析啦。如果沒有示波器,只能在單片機(jī)里盲目的調(diào)節(jié)頻率來適配WS2812的數(shù)據(jù)。而有了LOTO示波器就方便多了,不知道你有沒有感覺到示波器的方便呢。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1