當前位置:首頁 > 單片機 > 單片機
[導讀] 隨著對供電可靠性的要求也越來越高,很多場合用兩路電源來保證供電的可靠性。當常用電源異常,智能雙電源裝置能自動切換到備用電源,智能雙電源裝置就是這種在兩路電源之間進行可靠切換、以保證供電的裝置。在醫(yī)院、賓館和礦山等有廣泛的應用。

作者Email: c8051@21cn.com

1.    智能雙電源裝置的簡介

    隨著對供電可靠性的要求也越來越高,很多場合用兩路電源來保證供電的可靠性。當常用電源異常,智能雙電源裝置能自動切換到備用電源,智能雙電源裝置就是這種在兩路電源之間進行可靠切換、以保證供電的裝置。在醫(yī)院、賓館和礦山等有廣泛的應用。 

    智能雙電源裝置由開關本體和控制器兩部分組成。開關本體由電機通過機械聯(lián)鎖機構控制常用電源的斷路器和備用電源的斷路器的分合,進而控制電源的切換??刂破魍ㄟ^對電壓的采樣來判斷電源是否異常,如果出現(xiàn)異常應產(chǎn)生相應的切換。

2.    PIC16F877A的簡介 

    美國Microchip公司的PIC 8位單片機其生產(chǎn)史11年,但現(xiàn)在其產(chǎn)量已躍居世界第二位(僅次于Motorola公司)?,F(xiàn)在PIC單片機的品種已超過120種。PIC單片機是RISC結(jié)構的單片機,具有高速處理數(shù)據(jù)的特性(執(zhí)行速度可達120ns)。PIC16F877A內(nèi)部自帶看門狗、256Bytes的EEPROM、8路AD功能、ISP功能和寬電壓工作,工作可靠,能很好的適應智能雙電源裝置應用開發(fā)。

3.    在8位單片機中 在PIC與51系列單片機的比較

PIC的堆棧結(jié)構是硬件固定的,PIC16F877A有8級深度的硬件堆棧,51系列單片機的堆棧結(jié)構是在RAM區(qū),由程序指定SP的開始位置。

PIC的RAM區(qū)每個Byte的位都可以尋址,有4條專用的位操作指令和2條移位指令。51系列單片機的只有0x20到0x2F的Bytes的位是可以尋址,有17條專用的位操作指令和4條移位指令。

PIC的ROM和RAM是采用“頁”結(jié)構的,每頁為512個Bytes,通過STATUS的位來選擇不同的頁,在程序調(diào)用和變量尋址的時候,要先確定目標的頁,使有起來不是很方便。51系列單片機的ROM是可以在64K范圍內(nèi)尋址的,可程序直接尋址調(diào)用;RAM在0到0x7F可以直接尋址或間接尋址,0x80以上地址的RAM(包括擴展的RAM)只有間接尋址。

4.    智能雙電源裝置的動作處理

雙電源控制器的有三種控制方式,自投自復方式、自投不自復方式和發(fā)電機方式。
自投自復式方式:如果常用電源被檢測到出現(xiàn)偏差時,則自動將負載從常用電源轉(zhuǎn)換至備用電源;如果常用電源恢復正常時,則自動將負載返回換接到常用電源。
自投不自復式方式:如果常用電源被檢測到出現(xiàn)偏差時,則自動將負載從常用電源轉(zhuǎn)換至備用電源;如果常用電源恢復正常時,不能自動將負載返回換接到正常電源供電。除非備用電源出現(xiàn)異常才進行轉(zhuǎn)換。

發(fā)電機方式:如果常用電源被檢測到出現(xiàn)偏差時,發(fā)出發(fā)電指令請求發(fā)電。當發(fā)電電壓達到額定電壓時,先從電網(wǎng)斷開負載電路,自動轉(zhuǎn)換到發(fā)電電源供電;當常用電源恢復正常后,則又自動返回換接到正常電源供電,并發(fā)出停電指令,請求停止發(fā)電。

以下是三種方式在不同合閘狀態(tài)下的程序任務處理簡述:

自投自復方式在常用電源合閘狀態(tài),
常用電源出現(xiàn)異常,進行計時
異常計時中
異常計時完成,啟動電機
常用電源正常,停止并恢復計時器
備用電源異常,停止并恢復計時器
自投自復方式在備用電源合閘狀態(tài),
常用電源出現(xiàn)正常
正常計時
正常計時完成,啟動電機
常用電源異常,停止計時
自投不自復方式在常用電源合閘狀態(tài),
常用電源出現(xiàn)異常,進行計時
異常計時中
異常計時完成,啟動電機
常用電源正常,停止并恢復計時器
備用電源異常,停止并恢復計時器
自投不自復方式在備用電源合閘狀態(tài),
常用電源正常,備用電源異常,進行計時
計時中
計時完成,啟動電機
備用電源正常,停止并恢復計時器
發(fā)電機方式在常用電源合閘狀態(tài),
常用電源出現(xiàn)異常,進行計時
異常計時中
異常計時完成,啟動發(fā)電機
發(fā)電機啟動等待時間,計時中
發(fā)電機等待時間完成,啟動電機,進行切換動作
常用電源正常,停止任何計時,并恢復計時器
發(fā)電機方式在備用電源合閘狀態(tài),
常用電源正常,計時開始
計時中,
正常計時完成,啟動電機,進行切換動作
常用電源異常,停止計時,并恢復計時器
如何把這些相近的操作歸納成相同的函數(shù)進行處理,才可以節(jié)約程序代碼。我把這些操作歸納成如下程序:
……
typedef union
{
    unsigned char cc;
    struct 
    {
        unsigned char bit0:1;
        unsigned char bit1:1;
        unsigned char bit2:1;
        unsigned char bit3:1;
        unsigned char bit4:1;
        unsigned char bit5:1;
        unsigned char bit6:1;
        unsigned char bit7:1;
    }Bits;
} Char_Bit;
Char_Bit VolErrFlag[2];            // 可以用位或字節(jié)操作
static void CheckVolErr(unsigned char i)
// I=0, 檢查常用電源的電壓,更新缺相,欠壓和過壓標志位
// I=1, 檢查備用電源的電壓,更新缺相,欠壓和過壓標志位
{
    ……
}
static void StartTurn(unsigned char bi)
// bi=0,轉(zhuǎn)到常用電源
// bi=1,轉(zhuǎn)到備用電源
{
    ……
}
static void CheckVol1(unsigned char i)
// I=0,判斷常用電源的合閘狀態(tài)
// I=1,判斷備用電源的合閘狀態(tài)
{        // 電壓判斷,處理函數(shù)1
    unsigned char j,k;
    if (i==0)
        {
        j=0;
        k=1;
        }
    else
        {
        j=1;
        k=0;
        }
    if (VolErrFlag[j].cc==0)
        {
        bVolErrCnting=0;            // 恢復異常計時器標記
        }
    else
        {
        if (bVolErrCnting==0)
            {
            di();
            CLRWDT();
            VolErrCnt=(unsigned int) LimParams.cc[j]*TiScale;        
            // 預設異常計時器的初值
            ei();
            bVolErrCnting=1;
            return;
            }
        }
    if (VolErrFlag[k].cc !=0)
        bVolErrCnting=0;
    if (bVolErrCnting && VolErrCnt==0)
        {        // 啟動轉(zhuǎn)換動作
        bVolErrCnting=0;
        bBkOpen1=k;
        CLRWDT();
        StartTurn(k);
        }
}
static void CheckVol2()
{        // 電壓判斷,處理函數(shù)2
    if (VolErrFlag[0].cc !=0)
        {
        bVolErrCnting=0;   // 恢復異常計時器標記
        }
    else
        {
        if (bVolErrCnting==0)
            {
            di();
            CLRWDT();
            VolErrCnt=(unsigned int) LimParams.Para.Trn*TiScale;    
           // 預設異常計時器的初值
            ei();
            bVolErrCnting=1;
            return;
            }
        }
    if (bVolErrCnting && VolErrCnt==0)
        {    // 啟動轉(zhuǎn)換動作
        bVolErrCnting=0;
        CLRWDT();
        bBkOpen1=0;
        StartTurn(0);
        }
}
static void CheckVol3()
{        // 電壓判斷,處理函數(shù)3
    if (VolErrFlag[0].cc==0)
        {
        bVolErrCnting=0;  // 恢復異常計時器標記
        bDJstarting=0;
        }
    else
        {
        if (bVolErrCnting==0)
            {
            di();
            CLRWDT();
            VolErrCnt=(unsigned int) LimParams.Para.Tnr*TiScale;    
            // 預設異常計時器的初值
            ei();
            bVolErrCnting=1;
            return;
            }
        }
    if (bVolErrCnting && bDJstarting==0 && VolErrCnt==0)
        {
        di();
        CLRWDT();
        DJstartCnt=(unsigned int)LimParams.Para.T1*TiScale;
        // 預設發(fā)電機啟動的等待計時器的初值
        ei();
        CLRWDT();
        bDJstarting=1;
        return;
        }
    if (bDJstarting &&  DJstartCnt==0)
        {   // 啟動轉(zhuǎn)換動作
        CLRWDT();
        bVolErrCnting=0;
        bBkOpen1=1;
        StartTurn(1);
        }
}
……
void main()
{
……
                if (bBkOpen1)
                    {    // 在備用電源合閘狀態(tài)
                    if (LimParams.Para.JobType==1)
                        {    // 自投不自復方式
                        CheckVol1(1);
                        }
                    else
                        {  //自投不自復或發(fā)電機方式
                        CheckVol2();
                        }
                    }
                else
                    {    // 在常用電源合閘狀態(tài)
                    if (LimParams.Para.JobType==2)
                        {  // 發(fā)電機工作方式
                        CheckVol3();
                        }
                    else
                        {     // 自投自復或自投不自復方式
                        CheckVol1(0);
                        }
                    }
……
}
5. 智能雙電源裝置的電壓采樣的校準
   在實際生產(chǎn)中,由于采樣電阻的誤差,所以在相同的校準電壓輸入,單片機采樣到的AD值是不一樣的。如何設定AD值和校準電壓的校準比例,是一個關鍵的問題,校準比例不能在程序編譯中固定下來,因為這樣會有較大的誤差,即使改用精密電阻來采樣,誤差也不能減低很多。我在應用中采用的方法是:提高采樣電路的線性度,使其在不同電壓下的校準比例有很好的一致性(在解決了溫升的問題后,這點是可以做到的);在采樣電路輸入校準電壓,輸入設置密碼后,單片機自動計算校準比例,并把校準比例進行保存。
……
void main()
{
……
    ReadScal();
……
    while(1)
    {
……

……
    }
}
……
static void KeyProc()
{……
    if ( SetKey==0)
        {
        ……
        if ( bSecPass==1)
            {
            // 設電壓
            if (ReadScalFlag() !=0) 
                return;
    // 如果已設定了比例,就不能再更改
            CLRWDT();
            ShowString(0, 0);
            ShowString(1, 1);            // "pass"
            ShowString(0, 2);    
        // 在LCD屏上顯示PASS
            CLRWDT();
            for (i=0; i!=6; i++)
                ScalUarray[i]=IntUarray[i];    // 讀入比例參數(shù),
            CLRWDT();
            SaveScal();        // 保存比例參數(shù)
            SaveScalFlag();  // 并改寫標志
            Delay5s();
            return;
            }
        ……
        }
}

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉