空间首页 | 博客 | 存档 | 朋友和群组 | 个人资料
文章内容
By   

先说说我遇到的问题,


有一个古老的安卓三星手机,三寸多的屏幕,淘汰以后,装一个时钟App, 挂在墙上当挂钟,黑底绿色的数字,还挺显眼的

一开始是直接插着充电器的,没过几个月电池就鼓包了,手机还是可以拆后盖子的,电池把后盖顶开了,没有电池了,手机插着充电线还不让开机,又不想买替换的电池,就把原来的电池的保护板拆下来继续用,接了一个扁平的小锂电池继续用,盖子还能盖回去


第一次想到的保护电池的办法就是定时给手机通电,用了一个闲置的机械式24小时定时器,一圈拨杆,设定好通断时间,
其中一些小问题是,通断时间设置不好,电池就会耗光,增加一些时间后,电池又会比较多比例的充满

果然,又过了几个月锂电池又鼓包了

第三次换锂电池,找不到小个头的了,就用了一个拆机聚合物锂电池,个头比较大,只好在后盖上钻孔引出电线,电池就挂在手机背后了


这次还是用了定时器一段时间,可心里总是担心电池再次鼓包,就想更好的解决这个充电问题
 
点击: 0 | 评论: 6 | 分类: 缺省 | 论坛: 电子电玩 | 论坛帖子
QR Code
请用微信 扫一扫 扫描上面的二维码,然后点击页面右上角的 ... 图标,然后点击 发送给朋友分享到朋友圈,谢谢!
分享:
分享到微信

文章评论

Matrix
无题
我手头的MSP430单片机体验包还是十多年前TI做推广,申请的免费样品

一个入门开发板,两个20脚单片机,一个MSP430G2452,一个MSP430G2553

MSP430G2452的参数差一些

我曾经用MSP430G2452做了一个电子时钟,控制LED,就简单的多了

这次要学ADC,也是第一次






2023-04-22 00:21:35 | 引用
无题
先说一下,MSP430G2452最小系统,只需要一个电阻,一个电容即可,太方便了,47K电阻和1uF电容,都是接在reset脚上的

2023-04-22 00:23:06 | 引用
Matrix
Matrix
Re: 最简单的单片机小制作,MSP430G2452,ADC数模转换,限制锂电
我增加的,就是3.3V供电,两个5K电阻分压取样,一个NPN三极管,加1K限流电阻,用输出控制继电器,买的现成的5V继电器模块,试用才发现模块用了PNP三极管,而且控制电压要5V,所以我只能自己增加一个NPN三极管了

自己画的电路图,不是专业的,第一次学画,用了免费的KiCAD, 软件官网www.kicad.org



2023-04-22 00:25:21 | 引用
Re: 最简单的单片机小制作,MSP430G2452,ADC数模转换,限制锂电
3.3V供电,我是从废旧电路板上找到了,正好看到一个周围元件比较少的,电源芯片加上两个贴片电容,这回简单了,直接连电路板挖下来,我都不用自己焊接贴片元件了


继电器模块是买的,做了小改动,上面说了


取样电路要分压,因为我用的这款单片机,我用了内部参考电压2.5V, 取样的电压范围只能是0V~2.5V
锂电池电压最高4.2V, 我用两个5K电阻分压,输入电压减半

小制作用了洞洞板,把继电器模块固定上去,装了其他元件,有因地制宜,用双面胶把两个5V1A的充电器粘在上面,外面胶带固定,只能这么简陋了







2023-04-22 00:27:15 | 引用
Matrix
Matrix
Re: 最简单的单片机小制作,MSP430G2452,ADC数模转换,限制锂电
电池电压控制在3.8V 到 4.05V 之间

控制继电器,就跟LED开关一样简单,代码照抄

代码异常的简单



代码:


#include <msp430.h>


void longDelay(void)
{
    _delay_cycles(1000000);
}



unsigned int Hi_V, Lo_V;

void main(void)
{
    WDTCTL = WDTPW | WDTHOLD;       // stop watchdog timer
    P1DIR |= 0x01;                  // configure P1.0 as output

    BCSCTL1= CALBC1_1MHZ;
    DCOCTL = CALDCO_1MHZ;

    // Set Ref as internal 2.5V, ADC10ON, enable interrupt
    ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + REF2_5V + ADC10ON + ADC10IE;
    _delay_cycles(30);                // Delay to allow Ref to settle

    ADC10CTL1 = INCH_5|SHS_0|ADC10DIV_0|ADC10SSEL_0|CONSEQ_0;
    ADC10AE0 |= BIT5;             // Set P1.5 as A5 input , INCH_5

    P1DIR |= BIT5;                // Set P1.5 to output direction




    Hi_V=828; //1023*4.05/2/2.5 = 828

    Lo_V=777; //1023*3.8/2/2.5 = 777

    while(1)
    {
        ADC10CTL0 |= ENC+ ADC10SC;                // Sampling and conversion start
         __bis_SR_register(CPUOFF + GIE);        // LPM0, ADC10_ISR will force exi

        if (ADC10MEM < Lo_V) P1OUT = 0x01;//LED ON
        if(  ADC10MEM > Hi_V ) P1OUT = 0x00;   //LED off

        longDelay();
    }

}

// ADC10 interrupt ** routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
  __bic_SR_register_on_exit(CPUOFF);                // Clear CPUOFF bit from 0(SR)
}



2023-04-22 00:29:19 | 引用
Re: 最简单的单片机小制作,MSP430G2452,ADC数模转换,限制锂电
做完用上,发现手机显示电池范围大约在50%~70%,
经过测量,才知道是锂电池已经老了,内阻大,充电的时候,电池电压会上升0.1V, 所以充电电压限制应该再提高一些,关闭充电后,电池电压才会接近4.05V

懒得再拆芯片重新改程序了,就在分压电阻上做调整了,找了一个329欧姆的电阻,加在分压电路的上端,提高了电压上限,当然同时电压的下限也跟着提高了


最后,手机显示电池的电压范围大约是60%到80%


希望这个小制作能够避免电池再鼓包吧



附图是改造以后,记录的电池电压变化图



2023-04-22 00:33:06 | 引用
Matrix

发表评论

很抱歉,仅有会员才能发表评论。

点击此处免费注册, 或者点击此处登录,登录后您便可以发表评论。谢谢!

 
站点公告

Matrix

文章分类
缺省  
最新日志
此功能已被空间主人关闭
日志搜索
 
站点统计
点击: 3548292
帖子数量: 4676
开辟个人空间: 2008-10-17
最后更新: 2023-04-22
快速导航
首页
论坛
Classified Search Engine
黄页/二手
北美个人空间
免费注册
登录
友情链接
此功能已被空间主人关闭
最新到访
此功能已被空间主人关闭
 
 
 
 
 

 

加西网为北美中文网传媒集团旗下网站