一、首要功用

  • 运用COB灯丝+3D打印构建精妙的螺旋线条露营灯
  • 选用IP5328P作为电源主控,支撑双向PD快充,支撑PPS档位输出
  • 电池仓结构规划兼容26650(不可替换)或21700/18650(可替换)电池
  • 运用WS2812灯组成顶部灯圈,能够完结照明灯+气氛灯的双重功用
  • 经过STM32与5328进行iic通讯,获取充放电数据,并经过BLE透传
  • 经过BLE与手机APP衔接,完结对“萤辉”的掌上操控(现在存在必定bug)

一款多功用露营专用气氛灯

二、硬件说明

请注意,本项目一共有4片PCB,其中两片4层板,两片2层板(均在10*10以内能够免费打样)

硬件说明将会依据PCB编写,以便对电路规划进行了解,主张结合电路图进行阅读。

一、主板

主板是负责承载ip5328充电宝电路和stm32主控电路的基板,运用跳线和铜柱对外衔接(下图中显露的PCB便是主板PCB)

一款多功用露营专用气氛灯

1、单片机主控及外围电路

主控单片机选用STM32F411单片机,保证有足够的可扩展性

该部分电路首要包含作为主控的F411单片机、对外的调试接口(运用1.25mm距离插口,包含SWD调试接口+串口便利进行调试作业,一起引出了复位引脚便利远程操作)、外置FlashW25Q128芯片(但后来程序没有用上,能够不焊,如果今后升级程序能够用)、BT-11蓝牙BLE模组、蜂鸣器等电路

对于单片机与IP5328P衔接的端口,均进行了串阻维护,而对于对外的接口,则额定增加了ESD防护器材(当然你也能够挑选不焊接

单片机选用SWD下载,不运用DFU,因而BOOT0和BOOT1运用10K电阻接地,这样也能够在需求运用的时分进行短接上拉BOOT引脚

一款多功用露营专用气氛灯

晶振部分能够不用焊接,用不上注:最早是用G0的,可是写WS2812的程序最早选用的是刷数组的计划,需求较大的内存容量,因而后来换成了F411来完结,不过在后来,选用了RGB转HSV的计划,HSV的计划不只显示作用好而且占用空间小,但因为PCB此刻现已根本定型,就没有换回G0,这样的缺陷便是项目成本会相对较高,其他并没有什么问题

一款多功用露营专用气氛灯

2、IP5328充放电办理

本项目选用IP5328P作为充放电办理部分的主控

IP5328P一起承担了充电宝以及升压电源的功用,充电宝功用用于对外输出以及给内置电池充电,而升压输出则经过与单片机的程序操控联动,为萤辉的灯丝以及WS2812进行大功率的供电,一起我也预留了VOUT2(现在没有运用),能够让我们依据自己的需求,扩展更多的功用电路

一款多功用露营专用气氛灯

充放电办理芯片IP5328P的电路规划首要参阅了官方的数据手册,我这边就不再赘述了

我这边22uF的电容选型为了耐压,挑选了相对较贵的TDK家“HiFi电容”,我们能够依据耐压需求换成其他电容类型

一款多功用露营专用气氛灯

在主控板的反面(主控板与转接板的夹层中),需求焊接一颗固态电容

一款多功用露营专用气氛灯

3、“灯”的操控

灯丝及WS2812的供电部分如下(包含灯丝的调光操控电路)

一款多功用露营专用气氛灯

升压(BAT转5V)输出部分运用mos进行操控,mos管能够基于5328的根本操控逻辑进行操控,也能够运用单片机进行iic通讯,操作寄存器进行操控

需求注意的是,5328具有快充输入输出功用,VMID总线电压最高为12V,因而在单片机的程序中,会经过寄存器读取,判断5328是否处于快充充电宝形式,此刻会强制封闭MOS避免高压输入“灯”的部分,避免损坏PWM操控器与2812灯珠,但考虑到程序或许存在bug或程序跑飞等特殊情况,还增加了LP5300B6F过压维护芯片,维护后级电路安全(不得不吐槽一些LP5300B6F的引脚规划是真的很离谱,为什么6个引脚给了4个GND,输入输出只是给给了1个,这儿的GND根本不走大电流啊,流通途径全在输入输出,只能怀疑是不是为了兼容其他什么芯片进行这样的规划了)

注:上图的“底部灯圈”这一路输出现在没有运用,只是我一开始挖的坑(本来还想在底部做个环形灯圈手电筒功用)

灯丝也能够直接运用主板进行测验,不需求其他PCB,主张在组装前进行测验避免反工

一款多功用露营专用气氛灯

灯丝的实践亮灯作用测验:

一款多功用露营专用气氛灯

4、单片机供电

对于单片机与蓝牙部分供电是经过RT6150芯片对电池电压自动升降压,然后完结3.3V的稳压输出

注:该芯片现在涨价了(涨的比5328主控都贵了,有点离谱),我们能够换成其他升降压芯片

RT6150芯片的PS引脚是用于操控PSM作业形式的,详细作用请检查数据手册

一款多功用露营专用气氛灯

焊接好主板和主桶下板后,主张选用长螺柱进行测验(这样能够在保证电气衔接的情况下,也能运用万用表、示波器表笔对关键节点进行测验,否则悉数安装好今后就没办法测验主控板反面的电气节点了)

能够先运用USB表等设备测验充电功用是否正常,再测验其他功用

一款多功用露营专用气氛灯

底部盖板制造

一款多功用露营专用气氛灯

嵌入式体系软件

嵌入式软件说明将会依据软件使命编写,以便对程序进行了解。

软件代码在项目附件压缩包中!

1、初始化使命1.1. 改动蓝牙称号

能够依据自己的需求修改蓝牙称号,蓝牙模块默许称号BT-11,程序初始化默许称号YingHui1.2. 等候电源操控芯片被激活

若第一次装入电池,则需求充电激活

若现已完结充电激活后单片机重置,则单击电源按钮激活1.3. 激活成功指示灯亮

单片机下方的指示灯,硬件标示为INIT

若安装夜光环或其他透光材质/色彩的装修环,能够在调试完毕后拆除这颗指示灯1.4. 删去初始化使命

2、看门狗使命从功用上说它能够让微操控器在程序发生意外(程序进入死循环或跑飞)的时分,能从头回复到体系刚上电状况,以保障体系出问题的时分能够重启一次。说的简略一点,看门狗便是能让程序出问题是能从头启动体系

3、按键使命用于在离线形式下操控灯丝按键使命会判断蓝牙是否衔接,只有在蓝牙未衔接情况下才能进入离线状况,(蓝牙)在线状况 下则不能经过按键操控避免冲突

4、LED使命(LED1和LED2相同)

注:如果有需求还能够敞开LED3通道

详细逻辑如下:4.1.依据灯丝形式获取亮度,形式分别为固定值和随机值4.2.线性改动灯丝亮度(否则直接跳会很丑陋)4.3.改动指定定时器通道占空比

5、蓝牙使命若蓝牙未衔接挂起LED使命即离线形式;若蓝牙已衔接康复LED使命即在线形式,并模仿翻开充电宝

这一段听起来欠好了解,但看了代码就明白了,下面为模仿翻开充电宝核心代码:

HAL_GPIO_WritePin(KEY1_CONTROL_GPIO_Port, KEY1_CONTROL_Pin, GPIO_PIN_RESET);osDelay(600);HAL_GPIO_WritePin(KEY1_CONTROL_GPIO_Port, KEY1_CONTROL_Pin, GPIO_PIN_SET);

其实非常好了解,便是运用开漏输出模仿点击充电宝按键

6、WS2812操控

RGB转HSV: HSV用更加直观的数据描绘我们需求的色彩,H代表色彩,S代表深浅,V代表明暗。此处转化易于编程。

由RGB到HSV的转化详解: zhuanlan.zhihu.com/p/67930839

注:一开始没有找到这个办法,运用了用函数计算数组的办法做出色彩变换,可是因为过于占用空间,就把最早运用的G0换成了F411,但后续找到了这个转HSV的好办法,大大降低了程序复杂度,不过因为PCB现已定型,就没有改规划

7、WS2812使命经过上位机APP挑选WS2812可编程逻辑灯珠形式,程序中中暂时完结的形式有默许形式(默许挑选默许形式(这听起来好像是一句废话)),流光溢彩,色彩突变,和混合形式(混合了流光溢彩和色彩突变两个形式)

8、电源操控芯片IP5328P输出操控使命监控体系状况:首要检测是否为5V放电,敞开或封闭寄存器vout通路,避免高压焚毁灯火部分

这一部分说起来比较复杂,会涉及5328的快充与其他形式,程序部分为了减轻作业量,就选用了直接读取5328本身形式寄存器的计划,其实这种情况下或许会存在误判,但在灯火部分的硬件部分规划了过压维护避免意外,详解见硬件部分的说明

注:5328通讯部分参阅了以下链接内的程序,特此向原作者表示感谢!另,原作者部分程序或许存在bug(也有或许是我没有了解原作者的编程思路),现已进行修改,但不保证是否会引入新的bug

gitee.com/chaojiwangb…

www.amobbs.com/thread-5736…

blog.csdn.net/qq_36300069…

www.cxymm.net/article/qq_…

寄存器部分请参阅5328的datasheet和寄存器手册

一款多功用露营专用气氛灯

原理图

一款多功用露营专用气氛灯

PCB

一款多功用露营专用气氛灯

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。