|
本帖最后由 追风飞扬 于 2022-9-12 17:28 编辑
先说一下来源思路,最初刷抖音看到一个国外的朋友做的ws2812b灯珠做的 RGB耳坠灯,带一组升压电路,纽扣电池不可充电,并带上一个大的电池座。重量可能不适合带在耳朵上。
个人硬件部分做的感受跟心路历程分享:
耳坠灯板:
初步想法是自己做一个给心爱的妹子,开始做的思路也是带一组升压电路升压到5V,后面发现升压电路一般要带一CD54的小电感。外加一个SOP8或者SOT23-6的OTP单片机来实现,接着就是单片机选型,然后画原理图,画PCB。说道画PCB,通过确认PCB尺寸和电池尺寸后,灯珠选型,开始想选用3030封装,但后考虑这个封装焊盘是在下面的,意味着灯珠只能贴在板子正面或者反面。那效果可能就没那么美观了。 然后经过查看不同灯珠,最后选择一款4020侧面焊盘的灯珠。因整个板子是圆形,当时考虑的是在圆弧上面做焊盘,灯珠直接焊在圆弧上
下面是第一版带升压IC灯板原理图和PCB截图
灯珠计算下来能摆16颗。但16颗灯珠工作起来最少也有个50ma左右,小的纽扣电池,一般电池容量在40ma以内,这也就意味着只能工作不到1小时。然后经过电池选型,才确认使用2032,3.7V-70mah这款可充电电池。基本充满电能工作一个小时左右是有的。 选择这款电池还有一层意思,就是他的厚度只有3.2mm,因1.6厚度的板子电池的圆形是掏空的,电池直接装在板子中间,所以3.2mm的厚度装进去板子之后,基本算是比较平整的,不会突出太多影响美观。
接着就是升压IC选型,因为PCB布线空间原因,选择一款YX2118升压5V-SOT23封装升压IC,使用的是0805贴片电感,自认为应该能驱动,也没去实际验证是否可行,就先把板子画好打下去了。第一个版本的板子打的是1.6mm厚度,板子回来就开始焊板,才发现灯珠巨难焊,原因是,焊盘虽然我已经画到板子最边缘,但PCB厂家打板时,焊盘会往里面进去一点点,实际焊盘跟最边缘还是有个一点点距离的,所以灯珠本身焊盘就比较小,4个小焊盘又挨的比较近,焊接起来要么焊锡会到2个焊盘,要么就是中间有缝隙焊不上。2个耳坠灯,最后焊了1小时才焊完。
接着全部电路焊完后,开始测试升压电路,发现升压后小电流带个单片机没啥问题。 带灯珠就完全不行了,可能是因为0805贴片电感的原因,带不动。接着就直接去掉了升压电路,直接通过单片机控制MOS管来驱动灯珠。
下面是第二版去掉升压IC PCB截图
充电座子:因2032-3.7V电池充满电压能到4.2V,采用一个40574057充电管理IC处理充电。充电亮红灯,充满亮绿灯。 暂时使用一个单片机来设置充电RGB灯呼吸,充满亮绿灯,感觉有点多余,就取消单片机控制了。
充电座子的PCB
软件部分心路历程:
之前没写过ws2812b灯珠的软件。开始都是从网上搜了很多前辈分享的例子,一边看灯珠的规格书再结合例子然后通过多次的验证,开始其实也不太理解怎么去控制灯珠,只是知道通过单片机一个IO口给数据可以控制很多个灯珠。
后面慢慢验证才发现如此强大,灯珠每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。然后再去调试怎么去发送数据给灯珠,再通过单片机发送数据
每颗灯珠需要24bit数据结构G7-G6-G5-G4-G3-G2-G1-G0-R7-R6-R5-R4-R3-R2-R1-R0-B7-B6-B5-B4-B3-B2-B1-B0,
意思是先发送G的数据再发送R的数据,最好发送B的数据。通过这个数据来决定亮那个颜色,和亮度的控制每个颜色亮度最大是255-oxff。
然后我理解的级联方式,比如我发送2个24bit的数据,那么第1颗灯珠只接受一个24bit数据,多出来的就发送到第2颗灯珠,再多的就往下后面发送。
懂了这些原理之后就是开始试我想要的效果了,从先点亮第1颗灯珠,到单色显示,第二颗到16颗灯珠。再让这些灯珠通过不同配色流水跑起来。
总结:
硬件部分 一个SOP8单片机 4020侧边幻彩灯珠 轻触按键 一个MOS管2302 一个1206电阻 2032-3.7V-70mah可充电电池,一个充电的插座头。
充电座子:4057充电管理IC,充电亮红灯,充满亮绿灯
软件部分 通过一个IO口驱动4020灯珠,一个IO口驱动MOS管,一个按键控制开关机。
最后附上耳坠灯+充电底座实物图+视频效果+部分资料
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|