【无标题】自己也DIY充电宝,带照明功能的。

        事情还的从十几年前说起,当时还不太流行锂电池的电动车,我从网上购买了二手的锂电池用于自己的电动车,结果不太行,续航里程特别少没办法就搁置了。晒图购买的电池。

快10年了电池还能有多大容量得打个问号

        好长时间后又看见它了。觉得扔了也太可惜,毕竟好多电池呢,拆开后发现里面的几个电池不行了,还有能用的电池呢。再配个电动车电池也不太可能了,毕竟这种电池不好找,即使是找到了,容量等参数不配套不能发挥最佳状态,可能用不长时间就把好的电池给拖废了。只好拆开单用。里面的电池好大啊。

这个时候我就发现我20多年前买的硬盘盒里面正好能装2块这样的电池,同时还有空间安装控制板什么的。

经过一段时间的策划这个充电宝项目就诞生了。

先看内脏结构图

 两块大电池,上面是照明灯头当然是自制的有点吃藕,但是很实用。高价买的带快充的充电宝主板,自制的照明等控制电路。前面的usb to ttl模块是用来给单片机下载程序的,下载好程序就去掉了,不用装到盒子里。

细节1,灯头用了一块厚的亚克力做面板,后面一块铝板用来导热啊,把热量导到盒子上从而实现散热,把一个3v,3w的led面光COB灯板夹在亚克力和铝板之间缝隙灌的是可固化的散热硅胶,就是这样的

 细节2,光控制部分,用了一个单片机15f104w、触摸模块和一个三极管8050,还有三个7135恒流驱动。

电路图

 电路介绍:触摸模块用来接受控制动作,单片机处理信息并生成pwm控制信号,通过7135芯片控制led灯,其中的8050是用来消除上电瞬间单片机io口输出高电平导致led强制亮一下,这里说一下来龙去卖,

        这个充电宝是我的第二个版本,第一个版本的时候是P3.0直接连的7135恒流驱动,使用时就会导致上电的一瞬间led灯先亮一下,然后再是初始亮度,原因很明显,是因为单片机在它自己上电到运行程序的这一小段时间内,io是不受控制的,并且是高电平,高电平就会导致7135满功率的输出使led以最大功率亮一下,虽然不会对led灯的寿命产生什么影响,但是对使用者是一个不好的感受。这个版本的时候我就想怎么把这个上电强制亮一下屏蔽掉,当然办法有很多,我想到的有,1.可以用一个三极管将输出的电平反转一下。2.可以将io口接一个下拉电阻,外部拉低io口,输出时使io强推挽输出高电平大于下拉电阻的下拉效力,就是高电平了,(这个是单片机官方手册上给出的办法)3.还可以让pwm从P3.3 io口输出,P3.3口设置成上电低电平。其实这个办法是最简单的,懒得改太多的程序了,因为pwm从P3.0口出来是用到了时钟输出的功能,要是从P3.3出来就不能使用时钟输出的功能,只能软件模拟输出pwm虽然复杂不到哪里去,但是懒得改懒得改.所以就有了这样一个畸形的奇怪的方案。当8050的c脚悬空或者为高电平时,b、e两脚之间的be结相当于只在回路中串联了一个二极管,当单片机控制led的时候能够正常工作。由于e脚受到7135内部下拉作用为低电平,当c脚被拉为低电平的时候,这时ce等电平因为电子排斥,be结的二极管不通了。使7135不能点亮led灯

 7135选择350mA的,那么一颗就是1W,7135芯片支持并联使用,3W的led灯板就需要3颗并联,在并联用法图上我只画出两个,3个并联原理是一样的,同样的脚位连接同样的脚位就可以当一个使用了。

细节3,充电宝控制主板从网上买的,买回来一看使主控芯片用的是SW6208,主流功能都有了,各种快充也都支持的比较全面,还有小电流模式和照明模式。

小电流模式的用处

正常情况下电流较小的时候芯片会关闭升压模块,进入节电待机状态,要是灯开的亮度较低的话用到的电流比较小这时就会被芯片关灯。小电流模式关闭了电流检测,开灯亮度低就不会被关灯。

照明模式的用处

SW6208有照明模式,可以使照明的端口驱动一个mos管,用来开和关led控制部分的电源,不使用led灯的时候可以关闭单片机的电源节省电池电量。实现了充电和照明的分别控制。

 想是这么想的,但是经过试验发现,小电流模式和照明模式不能同时打开,因为打开小电流模式和照明模式的操作方法都是长时间按键,当两个电阻都设置的话就会发现长按按键进入小电流模式,不能打开照明灯。同时发现打开照明灯了的同时升压电路也就开始工作了,这时升压电路的工作与否肯定是受照明模式的控制的,当照明模式关闭好升压电路也就关闭了,这也就不需要小电流模式的关闭电流检测这一功能了,因此去掉小电流模式的设置,打开照明模式的设置。照片中正是折磨电路板的过程,因为官方给出的电路图和主板生产商实际的电路有一些细微的差别,所以电路板没少受折磨。总算是能实现我想要的功能。

开始时这么认为的但是实际情况不是这样,用了一会儿发现小电流模式没有打开的情况下升压电路工作一会儿就关闭了,从升压电路后面取电源的时候,还是出现了被关灯的情况。

---改改改,又得想办法改进解决了,不得已还得直接从电池上直接取电。这样就会引发两个问题,问题(一)是电压,电池上取电是2.7-4.2v不等,升压电路之后取电是稳定的5v,

稳定的5v变成了2.7-4.2v电压范围, 对于led来说问题不是很大,电压范围没有问题,但是对于驱动电路就有一个小小得区别了,单片机我采用的15f104这个是5v的当电压不够时就会出问题,好在stc有同款的款宽电压产品,直接换到也好解决。

led驱动芯片也有问题

(这里我说一点,我开始焊到板子上得是nu501,我使用得时候我觉得这两个芯片是一样得没有区别,所以开始没有提这个事儿。这个芯片和7135很像,直到这次我才看到了一些区别。

        区别就是,(1)nu501的使能端口只能是5v,可以使用pwm调光,但是电压幅度不够5v的时候,就不稳定了,电压跌落幅度较小的情况下是光功率输出较低,幅度太大就出先闪烁现象,而7135技术资料写的就是宽电压,用在手电筒里的也是7135,所以在这个电压范围内都是可以的而且能正常调光,所以最后不得以把nu501的芯片拆了下来换成了7135.(2)区别2跟这次遇到的问题没有太大关系,但是是因为这次更换才比较出来,因为他们(两种芯片)都是需要和led串联,那么串联的位置也是这两款芯片的区别之一,nu501我使用了上位置(该芯片的手册和技术资料都标的是下位置,我一开始也是使用的下位置,使用下位置时调光会出一些问题所以选择了上位置),7135使用上位置就出问题,7135使用上位置会出现灯光很暗而且闪烁严重,调光效果不明显等问题。

好在这一问题解决了,通过更换宽电压产品单片机芯片,和更换宽电压led驱动芯片来解决了。

问题(二)led照明的电源直接从电池上取了,没有经过电池保护电路,如果电池没电的时候还在使用的话就会时电池过放电,led照明的功率是3w,对于电池来说功率还是很大的。过放电会伤害电池使电池寿命大大缩短甚至报废。

针对这一问题,是加保护板?还是继续在充电宝控制芯片上想办法?

加保护板麻烦不说,充电宝主板上已经有保护电路了,相当于多并了一块保护板线路繁琐不说多并了保护板可能引发别的问题,不是很好,充电宝控制板我也琢磨够够的了,在前面的时候取电的时候,我眼看着正负极就焊在一起了,当时可是已经连好电池了,我当时想完了,正负连一起了,不是芯片冒烟就是电池冒烟,不过没有冒烟,但是当我恢复了之后,还是发现没有输出了,我觉得我这次是真的完了,抱着试试看的心里,我想是不是短路保护电路起效了,要不怎么没有冒烟,保护电路生效了一般需要激活,而激活的办法无非是给充电宝充一次电,我插上充电线开始充电,插上之后我就发现输出又恢复了,还好充电宝主板芯片带的短路保护救了我的电池和充电宝主板。我是真心不想再折腾了,真的怕帽了烟,(因为我真的冒烟了一个mos管,当时也是因为线路太近正负短路了,短路的这个是mos管控制的正负端,mos管当仁不让的冒烟了。)

反转,最后经过考虑选择用软件保护电池的办法,这也是市面上单片机加7135的手电筒采用的办法,就是单片内部都有电压监测电路,当监测到电压低于设定值的时候就采取一系列动作,比如闪烁警示,或者直接关机。于是我就又在程序上下了一番功夫。

细节4,这里就得说说充电宝主板和自己改造的照明部分的接口这一块了。

因为充电宝主板带的照明肯定是一个20mA左右的草帽二极管的照明,跟我想要的3W的led照明不是一个级别的,这里费尽心机找到并打开SW6208的照明功能,并打开照明功能的目的就是用它自带照明功能来控制我们后加上去的照明驱动的电路的电源实现节省电池电量,因为电池的能量比较金贵要是单片机一直开着的话会无谓的浪费不少电量。使现在的照明功能成为我们自己加上的照明电路的总电源开关。

看看SW6208的照明部分电路图

电路图中发光二极管串入了一个2k电阻,二极管的电流应该就在几个毫安级别,我的改动方案是这样的。

 图中原电路部分就不说了。需要改动的就是新增加一个PMOS管,和一个电阻R,供电后面的模块化表示的示意图,前面介绍了,这里想表现的是电源的使用关系。COB发光光源的开关由7135控制,因此COB可以直接接升压得到的5v,在非照明状态,由于单片机没有供电,7135的控制端口得不到高电平因此不会打开COB发光板的,不从PMOS管的后方取电的原因主要考虑降低MOS管的负担(MOS管管理的电流变得非常小,对MOS管的电流参数要求就变得很低了)和因为过MOS管而产生的功耗。CCL/WLED下面的虚线框内是示意的SW6208内部的原理结构,用来解释改动方案的原理。

当想打开照明功能的时候,长按充电宝按键的时候触发SW6208打开了照明功能,相当于SW6208内部的照明开关合上了,将CCL/WLED端与地线连通了,将MOS管的栅极接地,栅极电平低于源极使MOS管导通单片机得到电源开始工作,通过触摸指令控制7135调节发光亮度。

当关掉照明功能的时候,相当于SW6208内部的照明开关断开了,将CCL/WLED端悬空了,电阻R将MOS管的栅极电平拉高至高电平使MOS管不能导通,单片机失去电源,不能工作。

最后介绍用法:

长按充电宝按键,可以打开小电流模式和照明模式。打开照明模式就等于给单片机部分电路上电了。

程序里设定  led初始亮度10%    ,一次触摸led灯亮度25%,   连续2次触摸led灯亮度65%(类似于鼠标双击,中间间隔时间太长了就等于两个一次触摸,执行了两遍前一个功能),  连续3次触摸led灯亮度85%, 连续4次触摸关闭,再次 连续4次触摸开启。

长按触摸,led亮度冲5%逐渐递增,什么时候停亮度就停在什么亮度,一直按着就涨到95%。基本上就是最亮状态了。

最后上程序,

备注:pwm信号和三极管之间加一个2k电阻否则工作不正常。

程序很简单,等待触发,和计算触发状态。输出pwm波形。

程序下个文章里搞个专篇吧。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值