空間首頁 | 博客 | 存檔 | 朋友和群組 | 個人資料
文章內容
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

文章分類
缺省  
最新日志
此功能已被空間主人關閉
日志搜索
 
站點統計
點擊: 3538138
帖子數量: 4676
開辟個人空間: 2008-10-17
最後更新: 2023-04-22
快速導航
首頁
論壇
Classified Search Engine
黃頁/二手
北美個人空間
免費注冊
登錄
友情鏈接
此功能已被空間主人關閉
最新到訪
此功能已被空間主人關閉
 
 
 
 
 

 

加西網為北美中文網傳媒集團旗下網站