【正文】
車蓄電池在線監(jiān)測系統(tǒng).制造業(yè)自動化.V01.24 No.11 P15.18.2002年11月[2]楊振江.智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應(yīng)用.陜西:西安電子科技大學出版社.2001[3]沙占友、王彥朋、孟志永.單片機外圍電路設(shè)計北京:電子工業(yè)出版社.2003[4]Mark Nelson.串行通信開發(fā)指南(第二版).中國水利水電出版社.2001年3月[5]朱元、韓曉東.電動汽車動力電池80C預測技術(shù)研究.電源技術(shù).V01.24 No.3 J U n.20 00.P153.158[6]韓曉東、傅春江等.判斷電動車電池放電終止狀態(tài)的新標準.電池.V01.32 No.2 p r.200 2P 117.120[7]郊航.電動車電池電擻監(jiān)測系統(tǒng)的研究與實現(xiàn).清華大學碩士學位論文.1996年6月[8]胡漢才.單片機原理及其接口技術(shù).清華大學出版社.2001年1月[9]DS243 Smart Batery Monitr DALLAS SEMICONDUCTOR.[10]Altera FPGAACEXK Programmable Logic Device Family Datasheet.2003.3[11]DaiY uewei,Caihu a,MoW ei,WangS nirong,YangL in.The design and realization ofreal—time surveillance system.Jounral of Shanhai Maritime University 2001.3附錄1. 系統(tǒng)完整電路原理圖(參見大圖)2.采集電路PCB圖3. 總程序//========================================================// 工程名稱: // 組成文件: //========================================================//========================================================// 文件名稱: // 功能描述: 工程的主文件//========================================================include include include include int IDs=0。*P_IOB_Data = 0x0000。 ID_save(int IDtemp)。 switch(num) { case 1:ID_one[IDs]=data。*P_IOA_Data=0x0000。 39。p39。)。)。Write_Data(39。_39。 uiTShi_d = TDec/1000。uiResidue=VDec%10。uiCWan_d=CDec%10。T39。 Write_Data(Data[uiTQian_d])。)。 39。)。 Write_Command(0x008c)。)。Write_Data(39。 39。Write_Data(39。a39。i39。E39。)。Write_Data(Data[num])。= 0xff7f。Delay(2)。Data = Data 1。}//========================================================// 語法格式: unsigned int Read_Temp(void)// 實現(xiàn)功能: 讀取溫度//========================================================unsigned int Read_TVC(void){int i。i++) Delay(15000)。 //高低字節(jié)組和,有效位數(shù)11位 共取十六位 i = Data[4]。Write_ds2438_Byte(0x55)。 // 每次復位都需要進行ROM操作 Match_ROM()。Set_DQ(1)。IDu++){ID=ID_use()。 if((IDamp。 for(i=0。uiCCA=CovCCA(ACCU[1])。 if(uiData amp。return (uiI)。 0x0008)uiI += 8。 0x2000)uiI += 8192。 0x0020)uiI += 32。 0x0080)uiI += 128。return(ICA)。 0x0800)uiI += 2048。 0x0002)uiI += 2。return(I)。 0x0080)uiI += 128。float I。 0x0020)uiI += 32。 if(uiData amp。 if(uiData amp。 //溫度十進制轉(zhuǎn)化 uiVoltage=CovV(Data_TVC[1])。 Set_DQ(1)。else Se0(ID)。 else Match_ROM()。 //DCA的低字節(jié) ACCU[2] |= i。 // 每次復位都需要進行ROM操作 Match_ROM()。unsigned int Data[9]。 i = Data[2]。 Write_ds2438_Byte(0x55)。 else{flag = 0。i++){Clr_DQ(1)。i8。= 0xff7f。)。e39。Write_Data(39。e39。Write_Data(39。 Write_Command(0x0080)。Write_Data(39。)。O39。)。l39。*P_Watchdog_Clear = 0x0001。Write_Data(Data[uiVBai_d])。.39。Write_Data(39。CDec=CDec%1000。VDec=uiVoltage。uiTGe = uiResidue。Write_Data(39。)。439。 39。Write_Data(39。Write_Data(39。 case 2: while(uiVoltage){Show_OV()。 case 4:IDtem=ID_four[IDu]。 break。*P_IOA_Dir = 0xfff8。需要說明的是,盡管系統(tǒng)設(shè)計已經(jīng)完成。ID讀取時,不被讀取的器件斷開,只允許單個器件在線。硬件部分主要包括采集電路、單片機最小系統(tǒng)、報警電路。由于串聯(lián)的各個蓄電池的直流電位不共地,不能直接掛在單一總線上傳輸數(shù)據(jù),所以每個DS2438 數(shù)據(jù)采集板要采取光耦隔離措施,并將單線制改為收、發(fā)兩線制,分別掛在收、發(fā)兩根線上與單片機進行通信。 單總線技術(shù) 單總線簡介1wire 單總線是Maxim 全資子公司Dallas 的一項專有技術(shù)。承載著這一使命的就是蓄電池。2.蓄電池放電電流的監(jiān)測3.蓄電池溫度監(jiān)測,測量溫度范圍為 -55℃到+125℃,溫度分辨能力為 ℃。移動通訊基站蓄電池用量較大,每個基站至少使用一組48V蓄電池組,且移動基站分布分散,工作環(huán)境惡劣,這就造成對移動基站蓄電池維護量很大,一塊電池出現(xiàn)故障會使整組電池癱瘓。關(guān)鍵詞:蓄電池;監(jiān)測系統(tǒng);DS2438;單總線;移動基站A high Performance Battery Monitoring And Management SystemABSTRACTBeen called the information age, the twentyfirst century, the rapid development of electronic information science and information transmission, munication is particularly order to protect the ongoing munication, munication base station bees the necessary UPS power battery status will directly affect the work of the UPS system stability, so must the working status of the battery pack article will use the pany39。智能巡檢儀增加了對電池容量的檢測。 功能命令集各功能命令使用流程如下: 各標志位讀寫主機模式數(shù)據(jù)(地位在前)功能介紹TX復位復位脈沖RX應(yīng)答應(yīng)答脈沖TXCCh跳過ROM命令TX4Eh00h發(fā)出寫SP 00h命令TX0Fh設(shè)置ICA, CA, EE, AD位狀態(tài)TX復位復位脈沖RX應(yīng)答應(yīng)答脈沖TXCCh跳過ROM命令TXBEh00h發(fā)出讀暫存器SP 00h命令RX9 data bytes讀暫存器數(shù)據(jù)和校驗位TX復位復位脈沖RX應(yīng)答應(yīng)答脈沖TXCCh跳過ROM命令TX48h00h發(fā)出復制暫存器SP 00h命令RX讀子機當復制暫存器完成時,DS2438返回“1”TX復位復位脈沖RX應(yīng)答應(yīng)答脈沖,完成、讀取溫度電壓主機模式數(shù)據(jù)(地位在前)功能介紹TX復位復位脈沖RX應(yīng)答應(yīng)答脈沖TXCCh跳過ROM命令TX44h發(fā)出轉(zhuǎn)換溫度命令,讀子機TX復位復位脈沖RX應(yīng)答應(yīng)答脈沖TXCCh跳過ROM命令TXB4h發(fā)出轉(zhuǎn)換溫度命令,讀子機TX復位復位脈沖RX應(yīng)答應(yīng)答脈沖TXCCh跳過ROM命令TXBEh00h發(fā)出重讀存儲頁00h命令TX復位復位脈沖RX應(yīng)答應(yīng)答脈沖TXCCh跳過ROM命令TXBEh00h發(fā)出讀暫存器SP 00h命令RX9 data bytes讀取暫存器數(shù)據(jù)和校驗位。具體要求如下: (1)蓄電池端電壓42V~54V,測量單節(jié)電池電壓。光耦解決蓄電池不共地,收發(fā)信號不能在單根總線上傳輸?shù)膯栴}。設(shè)計采用Rsens=。當電池溫度高于五十度或單節(jié)電壓低于預置電壓值()屏幕顯示警告,并發(fā)出蜂鳴報警,提醒工作人員進行電池的更換。float uiTemperature,uiVoltage,uiCurrent,uiICA,uiCCA,uiDCA。 //調(diào)用初始化程序,包括進行端口初始化和LCD初始化 while(skip=0) { inidisply()。 }}//========================================================//選擇num把現(xiàn)行ID賦予IDtem全局變量//========================================================void ID_use(){ int i。break。 //調(diào)用初始化程序,包括進行端口初始化和LCD初始化 Write_Command(0x0080)。)。Write_Data(39。Write_Data(39。_39。)。unsigned int uiResidue。TDec = uiResidue。uiCShi=Cint/10。 //根據(jù)data顯示,當data[5]則顯示為5 Write_Data(39。Write_Data(39。)。.39。Write_Data(39。g39。s39。R39。)。)。)。Write_Data(39。Write_Data(39。 Write_Data(39。c39。 39。if((*P_IOB_Data amp。 //1000 0000 接收完畢后Msb Lsb Delay(31)。Set_DQ(1)。 Write_ds2438_Byte(0x55)。 //發(fā)送 while(Init_ds2438()0) *P_Watchdog_Clear = 0x0001。 //電流的高字節(jié) i = i 8。 // 每次復位都需要進行ROM操作 Match_ROM()。i = Data[5]。Else Match_ROM()。00000010)0)Se1(ID)。else Se0(ID)。} //========================================================// 文件名稱: // 功能描述: 工程的中斷服務(wù)文件//========================================================include include //========================================================//函數(shù):void IRQ5(void)//========================================================void IRQ1(void)__attribute__((ISR))。 if(uiData 0x3200) Baojing(1)。 0x0080)uiDecimal += 50000。 //轉(zhuǎn)換為整數(shù)部分 if(uiData amp。if(uiData amp。if(uiData amp。if(uiData amp。 if(uiData amp。 if(uiData amp。if(uiData amp。if(uiDat