你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

分享一个STM32驱动WS2812B型全彩RGB5050 LED的方案,使用HAL库  

[复制链接]
Stm32McuLover 发布时间:2016-8-31 17:07
本帖最后由 哈佛祖安智 于 2016-11-28 15:30 编辑
( n9 Z% a9 ?! [/ [  H& k
) g# Y5 r. h2 d0 \  q9 l7 d9 R使用STM32L011D4P6驱动了WS2812B RGB5050 全彩LED,使用ST最新的HAL库。
; Y; d) e2 Y" ^6 W) I) u+ zWS2812B简介:6 T# D9 g; l, Z& k* I3 x) e
新一代的RGB5050将控制电路与RGB芯片集成在一个5050封装的元器件中,构成一个完整的外控像素点。
. [& g+ J; Q* A; b-内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加。0 o8 L6 g- T6 j  F! \1 l
-内置上电复位和掉电复位电路。
# T6 }; F) E/ q8 a; n) m7 C9 k-每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。" V$ _% v1 k9 X+ [3 A1 c
-串行级联接口,能通过一根信号线完成数据的接收与解码。- [. B, j% {- r& R8 z5 m) D9 w& d
-任意两点传传输距离在不超过5米时无需增加任何电路。" u1 O* w* w1 j9 h$ o. J
-当刷新速率30帧/秒时,低速模式级联数不小于512点,高速模式不小于1024点。
( U# Q- A$ r# _0 j1 I# l-数据发送速度可达800Kbps。
' k, d2 x5 l& y3 ], K+ n" O1 {-光的颜色高度一致,性价比高。5 Y8 T# C% o. j7 t8 h
基于STM32驱动WS2812B设计案例概述:! H2 ]/ g6 u! s) J: z3 _& U1 z
        使用了STM32L011D4P6设计了最小系统板,电源部分前级采用TI高效率开关电源芯片TPS563200将12V转换为5V,再由低压差LDO AMS1117-3.3转换为3.3V给单片机供电,STM32使用了PWM来模拟24bit数字信号,驱动了WS2812B,达到LED颜色,亮度可控的目的。详细介绍及程序文件详见附件内容。! P$ C1 F6 F7 h: e: A8 u! E: q
0 J$ }6 R+ L5 Q- n0 s1 A: w
工程采用CubeMX生成,使用的是ST最新的HAL库,需要使用keil5及以上版本打开,CubeMX版本需要16.0及以上,下载地址:http://www.st.com/content/st_com/zh/...cmp=pf259242_prom_stm32cube-long-promo_feb2014
: B3 ^3 Y7 ?' |  r% E$ J: `$ D' s: y
; z; Q7 {7 a3 e# r7 ]  k+ C优酷视频:* E3 ?( q" o1 f/ M  s& _
+ J6 j" m, Q& j9 |; v5 `6 t( h
7 K9 G1 V8 Q( d/ P6 z, M# q
三点说明:" @1 L+ \3 l, o' k; C
WS2812B为5V供电,5V逻辑器件,因此需要电平转换IC;
8 S% h% G& }8 N6 b& RRGB5050 最大60mA电流,单色时为20mA.因此应根据灯珠的多少设计合适的电源;
' d: R$ n9 F: G0 P1 H/ V2 T本设计采用TI开关电源芯片TPS563200,最大3A电流输出能力。2 E; g* u  g% ^9 ^
STM32驱动WS2812B电路板截图:  ~: X0 s" E  r6 B( ]

7 B# }4 f+ T* J# B* J, Z
& z, s( W$ d, Q  Q# I9 v3 O 111111111.png
/ r, Q6 w$ z) E2 V% j& J; g% m% x& l' S' G6 J1 u% w
RGB.jpg 3 \" `6 o( b- Z# J& H

) F0 b" W; }0 B( T% Y7 S- G! p7 D1 {6 Y, n
文件下载:
3 B5 ]) s2 A$ k PCB工程.zip (6.34 MB, 下载次数: 8785)
4 收藏 20 评论87 发布时间:2016-8-31 17:07

举报

87个回答
Stm32McuLover 回答时间:2016-11-28 15:27:11
土豆十三 发表于 2016-11-21 17:46
. Z0 C# J5 v( F/ Q% e' H# i9 b2 D多谢分享,实验了代码,能驱动起LED灯带,但是控制总是做不好,实现不了视频里面RGB的颜色交替显示。所有的 ...
; O) L1 H3 D$ j- b: [3 o6 m
2016.11.28最新程序移步http://club.gizwits.com/forum.ph ... amp;extra=#pid12633
u18650436001 回答时间:2021-2-18 10:13:14
我这边总共WS2812B总共串联11个(如下线路截图),软件配置发送速率1.25us,即800k, 通过STM32F412RET TIM3 DMA发送,配置11个灯RGB数据都一样,但发现有些灯只有前面6个亮,有些只有前面7个亮,没有一个全亮的,量波形有亮的灯都正常,没亮的灯都是前面的灯没有转发数据波形出来,这是什么原因请教下,谢谢!" P% k2 v& T# [3 \0 ]/ e- x# l
WS2812B线路.png
土豆十三 回答时间:2016-11-28 15:48:21
哈佛祖安智 发表于 2016-11-28 11:496 V* `: u; @9 b6 W% m/ S& u
我这个没用DMA,你先把基本的调通看看
2 [, i* D2 J2 q, [
其中D1为MCU端发送的数据,D2、D3、D4为级联电路自动整形转发的数据。这个数据发送的模式我没太懂,如果1颗灯就是24bit GRB,如果2颗灯就是 发两个 24bit GRB 24bit GRB,如果是3颗灯就是 24bit 24bit 24bit 是么?
tansft 回答时间:2016-10-21 10:27:33
很不错
ynwscfsfi 回答时间:2016-10-21 11:47:24
谢谢分享
黑皮男 回答时间:2016-10-21 11:50:15
多谢分享
车厘子 回答时间:2016-10-21 13:12:39
mark
土豆十三 回答时间:2016-11-21 17:46:54
多谢分享,实验了代码,能驱动起LED灯带,但是控制总是做不好,实现不了视频里面RGB的颜色交替显示。所有的灯随机的乱七八杂的显示。10颗LED等。信号线是正负和信号线;
Stm32McuLover 回答时间:2016-11-21 19:17:59
土豆十三 发表于 2016-11-21 17:46
! C# k8 k8 i  w4 {5 u多谢分享,实验了代码,能驱动起LED灯带,但是控制总是做不好,实现不了视频里面RGB的颜色交替显示。所有的 ...

8 ]  G: y3 @9 _1 Z, \这个只是实现了基本的RGB控制,周末再把库函数发上来
土豆十三 回答时间:2016-11-28 10:56:55
本帖最后由 土豆十三 于 2016-11-28 10:59 编辑 2 f' }0 y1 ]- _  U! M2 N9 W! I
# p) p  }& _* f9 o+ p/ t
我在调试的过程中驱动也有些问题,Send_8bits(255);这个函数执行只发5位数据,示波器读取只读到5个1码的波形。0码的话就是8位。是不是我的DMA数据传输有问题呢?
Stm32McuLover 回答时间:2016-11-28 11:49:11
土豆十三 发表于 2016-11-28 10:56* B$ }, E5 g+ K, i- n* k7 D- E
我在调试的过程中驱动也有些问题,Send_8bits(255);这个函数执行只发5位数据,示波器读取只读到5个1码的波 ...

5 `+ X! X3 p9 w; `1 J我这个没用DMA,你先把基本的调通看看
Stm32McuLover 回答时间:2016-11-28 17:23:02
土豆十三 发表于 2016-11-28 15:48. X1 I9 p+ F' j7 K
其中D1为MCU端发送的数据,D2、D3、D4为级联电路自动整形转发的数据。这个数据发送的模式我没太懂,如果1 ...

6 H6 {# m* M) e/ [7 _7 z嗯,上一颗灯取走自己的24bit数据后,把剩余的数据转发给下一颗LED
zbber 回答时间:2016-11-28 17:24:53
多谢分享,我只是路过打酱油的,嘿嘿4 q" @  T- p, C6 L; i0 Y* A
zzjorzzj 回答时间:2016-12-2 10:58:14
刚好需要,感谢分享a
5265325 回答时间:2016-12-2 11:39:10

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版