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