<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > 一種蓄電池組智能巡檢儀的設(shè)計(jì)與實(shí)現(xiàn)

          一種蓄電池組智能巡檢儀的設(shè)計(jì)與實(shí)現(xiàn)

          ——
          作者:施愛平1,許同華1,施三保2 時(shí)間:2007-01-26 來源:《電子工程師》 收藏


          引言

          近年來,蓄電池在民用和工業(yè)生產(chǎn)中應(yīng)用越來越廣泛。為保障系統(tǒng)持續(xù)穩(wěn)定運(yùn)行,研究與設(shè)計(jì)高效廉價(jià)、準(zhǔn)確方便和快捷實(shí)用的蓄電池檢測(cè)裝置十分必要。蓄電池單體電壓較低,很少以其自然形態(tài)直接使用,大多采用串聯(lián)或串并聯(lián)組合的方式,同時(shí),蓄電池的電量隨工作時(shí)間的延長(zhǎng)和用電時(shí)間的增加會(huì)逐漸衰竭,很難保證組合中每個(gè)單體蓄電池工作特性一致。因此,必須采用合理的監(jiān)控設(shè)備,通過在線實(shí)時(shí)檢測(cè)各單體蓄電池的充放電電壓、溫度和整個(gè)蓄電池組的充放電流及充放電電壓等參數(shù),找出損壞或性能顯著降低的蓄電池,以保證直流電力系統(tǒng)穩(wěn)定可靠[1]。

          因此,蓄電池組的檢測(cè)應(yīng)該采取分散采集、集中監(jiān)控的方式。一般的檢測(cè)采用rs-232或rs-485總線,由于其為主從方式總線,檢測(cè)終端無(wú)法主動(dòng)向上位機(jī)發(fā)送數(shù)據(jù)。本蓄電池組智能巡檢儀通過非主從方式的can總線作為蓄電池組的分步式巡回采集總線,使得檢測(cè)系統(tǒng)具有高可靠性、可擴(kuò)充性和實(shí)時(shí)性等優(yōu)點(diǎn),更加適合于蓄電池組的檢測(cè)與維護(hù)。

          本文引用地址:http://www.ex-cimer.com/article/21465.htm

          1 巡檢儀總體設(shè)計(jì)及工作原理

          1.1 can總線介紹

          can(controller area network)總線是由德國(guó)bosh公司在1986年為汽車的監(jiān)測(cè)和控制系統(tǒng)設(shè)計(jì)一款串行通信網(wǎng)絡(luò)[2]。can總線可以為多主方式工作,不分主從,可以點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)及全局廣播方式傳送和接收數(shù)據(jù),且具有非破壞性總線仲裁技術(shù);以5bit/s速率,通信距離最大可達(dá)10 km,傳輸介質(zhì)可用雙絞線、同軸電纜或光纖;can總線采用短幀結(jié)構(gòu),每幀8字節(jié),保證了數(shù)據(jù)出錯(cuò)率極低,被公認(rèn)為是最有發(fā)展前途的現(xiàn)場(chǎng)總線之一。

          1.2 巡檢儀總體設(shè)計(jì)

          系統(tǒng)的總體設(shè)計(jì)框圖如圖1所示。單體檢測(cè)單元分別檢測(cè)蓄電池組的24節(jié)單體電池的電壓和電流,各個(gè)檢測(cè)單元的硬件結(jié)構(gòu)十分相似,同時(shí)還有一個(gè)單獨(dú)的檢測(cè)單元用來檢測(cè)蓄電池組整體的電壓和電流。檢測(cè)單元實(shí)時(shí)監(jiān)測(cè)并向can總線發(fā)送數(shù)據(jù),上位機(jī)接收各個(gè)檢測(cè)單元的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行分析、處理、存儲(chǔ)、顯示和打印,同時(shí)對(duì)單體電池的故障進(jìn)行診斷和報(bào)警。

          1.3 單體蓄電池檢測(cè)單元的設(shè)計(jì)

          單體蓄電池電壓檢測(cè)的功能是實(shí)現(xiàn)對(duì)單體電池電壓和溫度的檢測(cè)和網(wǎng)絡(luò)傳輸。該單元由電壓信號(hào)變換、單片機(jī)系統(tǒng)、can總線接口和電源組成。該單元是基于can通信的電壓檢測(cè)模塊,檢測(cè)到的電壓模擬信號(hào)經(jīng)處理并數(shù)字化后,通過can總線傳輸給控制管理單元。單體電池檢測(cè)單元的電路圖如圖2所示。

          檢測(cè)終端采集到蓄電池單體電壓和溫度信號(hào)后,進(jìn)行放大、濾波、a/d轉(zhuǎn)換和隔離,送入單片機(jī),單片機(jī)將通過can總線與上位機(jī)進(jìn)行數(shù)據(jù)通信。其中,檢測(cè)電路采用串行接口的12位a/d轉(zhuǎn)換器ads7841p,采樣周期小于20 ms,通過光電隔離與單片機(jī)連接。單片機(jī)采用低功耗、小體積8位單片機(jī)lpc932。該單元用led(發(fā)光二極管)指示工作狀態(tài)。通過帶有串行接口的can控制器與單片機(jī)連接,can總線用于向上位機(jī)傳輸檢測(cè)數(shù)據(jù)。單元內(nèi)的隔離電源采用小型dc/dc模塊電源。

          1.4 檢測(cè)系統(tǒng)的工作原理

          各檢測(cè)單元將檢測(cè)到的電流、電壓和溫度數(shù)據(jù)按can總線規(guī)范存儲(chǔ)到can緩沖區(qū),并啟動(dòng)發(fā)送命令將數(shù)據(jù)發(fā)送到can總線上,這些數(shù)據(jù)通過can總線向上位機(jī)進(jìn)行發(fā)送[3]。上位機(jī)的can控制器將接收到的數(shù)據(jù)存儲(chǔ)在緩沖器中,向上位機(jī)發(fā)送中斷請(qǐng)求,若上位機(jī)響應(yīng)中斷,則接收這些數(shù)據(jù)并進(jìn)行處理,將其轉(zhuǎn)化成電壓、電流和溫度信號(hào)顯示出來,并對(duì)這些信號(hào)進(jìn)行分析和診斷,若發(fā)現(xiàn)異常情況,則發(fā)出警告信息。

          2 單體檢測(cè)單元節(jié)點(diǎn)電路的設(shè)計(jì)

          2.1 溫度采集電路

          蓄電池的溫度在很大程度上影響著其工作性能,所以有必要采集蓄電池的溫度信息[4]。系統(tǒng)對(duì)蓄電池溫度進(jìn)行循環(huán)檢測(cè),采集數(shù)據(jù)后,經(jīng)放大、濾波和a/d轉(zhuǎn)換并送到單片機(jī),然后發(fā)送到can總線上。其溫度采集電路如圖3所示。其中運(yùn)算放大器a1提供一個(gè)恒壓,電阻r3、r4、r6和熱敏電阻r5組成一個(gè)橋路,經(jīng)運(yùn)算放大器a2后差分輸出。

          2.2 電壓采集電路

          系統(tǒng)采集單體蓄電池的電壓是相對(duì)電壓,為了保證電壓檢測(cè)的準(zhǔn)確性和不影響系統(tǒng)的工作,采用光電隔離器進(jìn)行隔離,經(jīng)運(yùn)算放大器后輸入單片機(jī)。其電路結(jié)構(gòu)如圖4所示。

          電壓采樣電路采用線性光耦隔離芯片hcnr201,它是一種性價(jià)比較高的模擬光電隔離器,由一個(gè)高性能的algas led和兩個(gè)特性十分相近的光敏二極管pd1和pd2組成。輸入光敏二極管pd1用來檢測(cè)并穩(wěn)定led輸出光的強(qiáng)度,它能夠很好地抑制led輸出光的漂移,改善其線性度;輸出光敏二極管pd2用來產(chǎn)生一個(gè)正比于led光強(qiáng)度的光電流。由于兩個(gè)二極管特性相近且封裝在一個(gè)集成芯片內(nèi),因此當(dāng)led發(fā)光時(shí),pd1和pd2接收到led光的數(shù)量成比例,且不受外部雜散光的干擾,所以具有很好的增益穩(wěn)定性和優(yōu)良的線性度。

          輸入電壓變化轉(zhuǎn)化為電流變化,其內(nèi)部呈現(xiàn)如下線性關(guān)系:

          由組成的反饋回路可以得到輸入電壓與輸出電壓之間的線性關(guān)系為:

          電流采樣電路與電壓采樣電路結(jié)構(gòu)類似,只是將電壓信號(hào)通過電阻轉(zhuǎn)化為電流信號(hào)后進(jìn)行采集,本文不再贅述。

          2.3 單片機(jī)與can總線連接電路

          單片機(jī)與can總線連接電路如圖5所示。

          本系統(tǒng)的單片機(jī)選用增強(qiáng)型51單片機(jī)lpc932,lpc932通過spi總線與can控制器mcp2510連接,經(jīng)過高速光電隔離器6n137后連到can收發(fā)器82c250上,82c250連接在can總線上,實(shí)行差分發(fā)送和接收[5]。

          3 通信軟件的編制

          系統(tǒng)軟件包含自檢程序、數(shù)顯程序、濾波處理程序和通信程序等,其中通信程序是軟件設(shè)計(jì)的核心和關(guān)鍵,通信程序主要由初始化程序、發(fā)送程序和接收程序3部分構(gòu)成[6]。

          3.1 初始化程序

          初始化程序包括單片機(jī)lpc932各口的狀態(tài)初始設(shè)置、堆棧的初始設(shè)置、定時(shí)器的設(shè)置、存儲(chǔ)器的初始化、中斷的初始化、串口的初始化和can控制器初始化狀態(tài)的設(shè)置等,通過對(duì)can控制器控制段中的寄存器寫入控制字,從而確定can控制器的工作方式,本系統(tǒng)采用的can控制器為mcp2510,在系統(tǒng)復(fù)位模式下,單片機(jī)lpc932要對(duì)mcp2510完成寄存器操作,寫接收代碼寄存器與接收屏蔽寄存器,確定節(jié)點(diǎn)要接受的信息id;寫總線定時(shí)寄存器,確定總線通信波特率;寫輸出控制寄存器,選擇正常輸出控制模式。

          3.2 發(fā)送程序

          數(shù)據(jù)從mcp2510發(fā)送到can總線是由其自動(dòng)完成的。lpc932發(fā)送的過程是:

          a)編輯所發(fā)送信息的標(biāo)識(shí)id,然而將幀信息存入外部數(shù)據(jù)存儲(chǔ)器之中。

          b)lpc932開始查詢can控制器的狀態(tài)寄存器的傳輸緩沖區(qū)狀態(tài)標(biāo)志位,若為0,則將信息寫入mcp2510的發(fā)送緩沖區(qū)之中,然后,置命令寄存器tc位為1,發(fā)送該信息。

          3.3 接收程序

          can控制器自動(dòng)完成信息從can總線到can接收緩沖區(qū)的傳遞,lpc932接收程序只需從接收緩沖區(qū)讀取要接收的信息即可。mcp2510每成功地接受1幀信息,就把該信息存入內(nèi)部的fifo中,并產(chǎn)生接收中斷。lpc932響應(yīng)中斷后,將fifo內(nèi)的信息讀入外部ram中,然而再釋放該信息所占用的mcp2510緩沖區(qū)。

          4 結(jié)束語(yǔ)

          本文介紹了一種基于can總線的分布式智能蓄電池巡檢儀。該系統(tǒng)實(shí)時(shí)性好、檢測(cè)精度高、易于擴(kuò)展、抗干擾性好、適用性強(qiáng)。同時(shí),為了更好地對(duì)蓄電池的過充電和過放電進(jìn)行保護(hù),可在系統(tǒng)中增加溫度補(bǔ)償電路,隨著蓄電池應(yīng)用的不斷廣泛,蓄電池組的檢測(cè)與維護(hù)技術(shù)將是電力電子技術(shù)研究的一個(gè)熱點(diǎn),基于can總線的分布式蓄電池檢測(cè)系統(tǒng)具有十分明顯的優(yōu)點(diǎn)和實(shí)際應(yīng)用價(jià)值。

          雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理


          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();