WS2812硬件电路设计
小菜鸡的第一篇的CSDN文章,冲冲冲!!!
设计目标:
1.RGB可实现多种灯效,可通过按键切换;
2.RGB灯珠亮度可调节;
3.选用蓝牙或者wifi模块,通过手机远程设置RGB的灯效及亮度;
硬件设计:
原理图思路:
1.MCU选用STM32F103C8T6(用的时候嘉立创48一片,现在125一片,吃相难看),刚好之前项目有用剩的103C8T6,本着时间就是金钱的想法,就选了这款芯片;两个按键一个用于复位,一个用于切换模式;
2.WS2812使用5V供电,电流<20mA,选用15颗灯珠,电流<300mA(白灯全亮峰值电流会更大),因此供电可以使用Type-C来供电,控制信号选择PWM+DMA,每五个灯珠一组,选用TIM3的三路PWM驱动RGB;
3.选用电位器作为调节RGB亮度的器件,考虑到用户体验,选择了滑动变阻器类型的电位器。(一个五块钱,心疼死了)
4.选用普通的蓝牙串口模块和ESP8266,通过串口与MCU通信。
最终设计如下:
上面的是蓝牙版本版本,下面的是WIFI版本。(犯了一个致命的错误,串口的TX和RX搞反了,蓝牙模块和WIFI模块是对的,但是MCU端我凭着印象放置了网络标签,导致出现错误,所以一定一定要查阅MCU的手册确认)
PCB绘制:
三维模型图如下:
实际打板是黑色的
设计缺陷
选型
1.MCU选择F1系列的芯片实在不太明智,价格太高;(做的东西不怎么样,花了不少钱,果然是个辣鸡);
2.滑动变阻器手感很好,但是价格太高了,根本不具备量产的可能;
3.8MHZ、3225封装的晶振也在涨价,也可以省了;
原理设计缺陷
1.多路PWM驱动多路RGB,原理上可以搭配出更多种灯效,但是实际上三路PWM+三个通道的DMA搭配,设计出比较好看的灯效还是比较难的(应该慢慢来,之后迭代试试);
2.不是所有的定时器的通道都有DMA的,我当时没有看手册确认,但是恰巧我选用的定时器的三个通道是有DMA的;
3.串口TX和RX用反了,第一个原因是没有查手册确认,第二个原因是用了F1的芯片,用F0不香吗?还有TX、RX交换的功能。
4.没有设计供电开关,应该设计一个MOS开关,关闭RGB更可靠,静态功耗也更低。可以通过三极管讲MOS关闭,远程关机也更加可靠。
PCB缺陷
1尺寸过小,40*90mm,找个懒人手机架子也根本夹不住灯板。
2.灯板的散热没有特殊考虑,在PCB白灯亮度最大时,可以明显感觉到灯板发烫;
3.没有留定位孔,直接扼死了自己做个壳子的想法。
希望在接下来迭代的版本中可以改掉这些缺陷
###之后会继续些软件调试的经历(包括ESP8266上云、RGB灯效及亮度调试)
先附上效果视频吧
WS2812灯板制作效果