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

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

[复制链接]
Stm32McuLover 发布时间:2016-8-31 17:07
本帖最后由 哈佛祖安智 于 2016-11-28 15:30 编辑
# v! J9 w$ V# S3 a# [: a! d. C0 A7 e% }
使用STM32L011D4P6驱动了WS2812B RGB5050 全彩LED,使用ST最新的HAL库。
/ V3 o3 K% U$ t+ I1 w. wWS2812B简介:
: ^4 D9 s# J3 F  R/ D# }7 [! R8 [% [新一代的RGB5050将控制电路与RGB芯片集成在一个5050封装的元器件中,构成一个完整的外控像素点。; P/ }& x2 q6 M5 K% W4 O& o- u5 ]6 n  Z
-内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加。
& }. ~7 c. i: n0 i5 v/ G-内置上电复位和掉电复位电路。
8 U: ^  N" n% R( \; L# I9 J5 \$ ?-每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。0 p8 h. s+ f0 y. M( c7 P
-串行级联接口,能通过一根信号线完成数据的接收与解码。8 z) s6 l" |# f) E% W: }( y6 L# V
-任意两点传传输距离在不超过5米时无需增加任何电路。
! ~+ t) g8 V7 P$ K& a7 u-当刷新速率30帧/秒时,低速模式级联数不小于512点,高速模式不小于1024点。, b+ |' U0 @1 b
-数据发送速度可达800Kbps。
4 U' m4 E0 t! O) T1 j4 ?0 w-光的颜色高度一致,性价比高。
$ H5 ]( U  q1 R' |2 u基于STM32驱动WS2812B设计案例概述:
3 g: t( \8 E0 ]        使用了STM32L011D4P6设计了最小系统板,电源部分前级采用TI高效率开关电源芯片TPS563200将12V转换为5V,再由低压差LDO AMS1117-3.3转换为3.3V给单片机供电,STM32使用了PWM来模拟24bit数字信号,驱动了WS2812B,达到LED颜色,亮度可控的目的。详细介绍及程序文件详见附件内容。1 h4 l/ B; Y- p$ T4 @% C3 v7 F

# c4 ]* r% s, h" B) r8 F; w7 e0 s工程采用CubeMX生成,使用的是ST最新的HAL库,需要使用keil5及以上版本打开,CubeMX版本需要16.0及以上,下载地址:http://www.st.com/content/st_com/zh/...cmp=pf259242_prom_stm32cube-long-promo_feb2014/ m0 s7 M4 f0 m. X" D- i8 S

. s1 Y8 ]( r0 c$ l  {* H优酷视频:, A& ^& t" w, ]* M7 O" L
! i/ q+ N- v0 q( j
( P/ E$ Q9 ^, d1 z5 w
三点说明:
  c8 w, ?$ Q& ~5 B! iWS2812B为5V供电,5V逻辑器件,因此需要电平转换IC;
3 [% C+ w8 t' C3 TRGB5050 最大60mA电流,单色时为20mA.因此应根据灯珠的多少设计合适的电源;6 }6 n- c2 c! B8 v6 J" t
本设计采用TI开关电源芯片TPS563200,最大3A电流输出能力。5 {7 B( ~7 {6 r2 s* C' `" Y
STM32驱动WS2812B电路板截图:# _4 O8 v+ x0 b
' x# f# ^/ j# B, I
- H# Q- f2 M9 s7 N9 V  ^
111111111.png
" u, |7 P( {4 \( v6 @4 a% `# e# }+ j) @+ P4 C. M% l7 C  _7 k$ q
RGB.jpg   o5 g+ K+ J# I9 ?$ z/ d
# T3 h' l6 w# x1 s3 }% c9 G
: V0 j8 j; b* ?; Q# r& c
文件下载:
  b) t8 D: N. \& q4 d 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$ }' q; g, T8 a% y  G
多谢分享,实验了代码,能驱动起LED灯带,但是控制总是做不好,实现不了视频里面RGB的颜色交替显示。所有的 ...
4 N( m- r5 Z5 \- P7 C6 p) ?6 ?
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个亮,没有一个全亮的,量波形有亮的灯都正常,没亮的灯都是前面的灯没有转发数据波形出来,这是什么原因请教下,谢谢!6 _; r; F; j! p, t* }) P5 y' \" e
WS2812B线路.png
土豆十三 回答时间:2016-11-28 15:48:21
哈佛祖安智 发表于 2016-11-28 11:49
. U& C" \5 i, E$ Z! M) P" x+ r我这个没用DMA,你先把基本的调通看看

1 K" ~3 E% _' B5 N- i6 l其中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
( P3 |* V* s4 G/ v多谢分享,实验了代码,能驱动起LED灯带,但是控制总是做不好,实现不了视频里面RGB的颜色交替显示。所有的 ...

2 G  [2 W7 C, |" @7 T/ |6 H这个只是实现了基本的RGB控制,周末再把库函数发上来
土豆十三 回答时间:2016-11-28 10:56:55
本帖最后由 土豆十三 于 2016-11-28 10:59 编辑 % j% L& |& Y9 m' ?
" U& L3 E/ l. n  L; _
我在调试的过程中驱动也有些问题,Send_8bits(255);这个函数执行只发5位数据,示波器读取只读到5个1码的波形。0码的话就是8位。是不是我的DMA数据传输有问题呢?
Stm32McuLover 回答时间:2016-11-28 11:49:11
土豆十三 发表于 2016-11-28 10:563 f# a% P4 l. D% {
我在调试的过程中驱动也有些问题,Send_8bits(255);这个函数执行只发5位数据,示波器读取只读到5个1码的波 ...

9 ]! A0 t4 O( L( Y3 u% B0 F( h我这个没用DMA,你先把基本的调通看看
Stm32McuLover 回答时间:2016-11-28 17:23:02
土豆十三 发表于 2016-11-28 15:48
: E: S# [9 X& }+ K4 Q% J* g, }其中D1为MCU端发送的数据,D2、D3、D4为级联电路自动整形转发的数据。这个数据发送的模式我没太懂,如果1 ...

/ h( J% J7 f3 V% V: ]! ?8 \嗯,上一颗灯取走自己的24bit数据后,把剩余的数据转发给下一颗LED
zbber 回答时间:2016-11-28 17:24:53
多谢分享,我只是路过打酱油的,嘿嘿
8 X. V" N, Y" T* n6 r- b' ~
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 手机版