基于C8051F041單片機(jī)的直流電源設(shè)計
溫度測量電路設(shè)計
溫度測量中,系統(tǒng)選用Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820。它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)及易配微處理器等特點,因而特別適合于構(gòu)成多點溫度測控系統(tǒng)。DS1820 能提供九位溫度讀數(shù),它無須任何外圍硬件即可方便的構(gòu)成溫度檢測系統(tǒng)。
系統(tǒng)的溫度實際測量電路如圖3 所示。這里可采用任意只DS1820 同時測控多路路溫度,可視實際需要任意選定通道數(shù)。系統(tǒng)采用C8051F041 單片機(jī),其P2.2 口接單線總線。DS18B20采用寄生電源供電方式,采用寄生電源供電方式時VDD 必須接地。為保證在有效的DS1820 時鐘周期內(nèi)能提供足夠的電流,圖3 中采用一個MOSFET管和C8051F041 的P2.1 口來完成對DS1820 的總線上拉。由于單線制只有一根線,因此發(fā)送接收口必須是三態(tài)的,為了操作方便我們用C8051F200 的P2.2 口作發(fā)送口Tx ,P2.3 口作接收口Rx。由于DS1820 是單線數(shù)字溫度傳感器,只須用它輸出線上的序列號就可以決定要讀取哪一個點上的溫度值,而且它的輸出量本來就是數(shù)字量,所以無須經(jīng)過A/ D 轉(zhuǎn)換,就可以直接連到單片機(jī)上。需要注意的是,在系統(tǒng)安裝及工作之前應(yīng)將主機(jī)逐個與DS1820 掛接,以讀出其序列號。其工作過程為:主機(jī)發(fā)出一個脈沖,待“0”電平大于480μs 后,復(fù)位DS1820 ,在DS1820 所發(fā)響應(yīng)脈沖由主機(jī)接收后,主機(jī)再發(fā)讀取ROM的命令代碼33H ,然后再發(fā)一個脈沖(15μs) ,并接著讀取DS1820 序列號的一位。用同樣方法讀取序列號的56 位。另外,由于DS1820 單線通信功能是分時完成的,遵循嚴(yán)格的時隙概念,因此,系統(tǒng)對DS1820 和各種操作必須按協(xié)議進(jìn)行,即:初始化DS1820 (發(fā)復(fù)位脈沖) →發(fā)ROM 功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。由于DS1820 輸出量就是數(shù)字量,所以它的輸出可直接連接到單片機(jī)上。
單片機(jī)及通信接口
C8051Fxxx 系列單片機(jī)
C8051Fxxx 系列單片機(jī)成是完全集成的混合信號系統(tǒng)級芯片,具有與8051 兼容的微控制器內(nèi)核,與MCS - 51 指令集完全兼容。除了具有標(biāo)準(zhǔn)8052 的數(shù)字外設(shè)部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件。它有優(yōu)于51 系列單片機(jī)的性能,而且成本也不高,C8051Fxxx 單片機(jī)是真正能獨(dú)立工作的片上系統(tǒng)(SOC) 。每個MCU 都能有效地管理模擬和數(shù)字外設(shè),可以關(guān)閉單個或全部外設(shè)以節(jié)省功耗。所以本系統(tǒng)選用C8051Fxxx 系列中的C8051F041 作為控制中心。
C8051F041 單片機(jī)的MCU 中的外設(shè)或功能部件包括模擬多路選擇器、可編程增益放大器、ADC、DAC、電壓比較器、電壓基準(zhǔn)、溫度傳感器、SMBus/ I2C、UART、SPI、CAN 總線210B、可編程計數(shù)器/ 定時器陣列、數(shù)字I/ O 端口、電源監(jiān)示器、看門狗定時器(WDT) 和時鐘振蕩器。
CAN 通信接口電路
CAN ,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。CAN是一種多主方式的串行通訊總線,基本設(shè)計規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。在信號傳輸距離達(dá)到10Km 時,CAN 仍可提供高達(dá)5Kbit/ s 的數(shù)據(jù)傳輸速率。
基于C8051F041單片機(jī)的直流電源設(shè)計 直流電源
單片機(jī)C8051F041 自身帶有CAN 總線2.0B 接口,在收發(fā)器與單片機(jī)接口之間采用高速光耦來實現(xiàn)它們之間的電氣隔離,以保護(hù)單片機(jī),最后收發(fā)器和CAN 協(xié)議控制器連接,這樣就實現(xiàn)了C8051F041 與CAN總線的通信。
軟件設(shè)計
該系統(tǒng)軟件是一個功能較強(qiáng)的監(jiān)控軟件,它具有實時多任務(wù)處理的能力,能及時有效地響應(yīng)突發(fā)事件。它完成顯示,A/ D 轉(zhuǎn)換,數(shù)據(jù)處理,聲光報警,通信等任務(wù)。實踐證明,本系統(tǒng)軟件工作圓滿,完全符合系統(tǒng)設(shè)計的要求。系統(tǒng)軟件由五個模塊組成。
主程序模塊主要完成系統(tǒng)的初始化,設(shè)定各種常數(shù),進(jìn)行預(yù)處理,顯示電池各種狀態(tài)參數(shù)。
采樣程序模塊完成對電池的電壓、電流、溫度等參數(shù)的測量,其中包含A/ D 轉(zhuǎn)換程序。
CAN 通信程序模塊主要完成本系統(tǒng)同上位機(jī)之間的CAN 通信功能。
電池電量計算程序模塊主要完成對采樣得到的電池電壓、電流來計算電池電量。
電池狀態(tài)分析程序模塊完成對采樣及計算得到的各種電池參數(shù)進(jìn)行分析,并發(fā)出聲光報警信號。
結(jié)論
本文基于C8031F041 單片機(jī)直流電源電池監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)。通過實驗證明,系統(tǒng)的硬件和軟件完全符合系統(tǒng)設(shè)計的各種性能要求,能圓滿完成對電池組的工作狀態(tài)進(jìn)行監(jiān)控。
評論