新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于MATLAB的蓄電池充放電監(jiān)測(cè)系統(tǒng)

基于MATLAB的蓄電池充放電監(jiān)測(cè)系統(tǒng)

作者: 時(shí)間:2012-03-07 來(lái)源:網(wǎng)絡(luò) 收藏

其中A/D轉(zhuǎn)換比較簡(jiǎn)單,不再贅述。主要注意一點(diǎn),啟動(dòng)A/D后要等待轉(zhuǎn)換完成再讀結(jié)果,否則讀出的是將上次轉(zhuǎn)換結(jié)果。
e.jpg
f.jpg
3.2 DS18B20程序
DS18B20的操作分為3個(gè)步驟:初始化、ROM命令和DS18B20功能命令。DS18B20的操作時(shí)序如圖5所示。從時(shí)序圖中可以得出,DS18B20對(duì)操作時(shí)序要求比較嚴(yán)格,否則將導(dǎo)致操作失敗。

本文引用地址:http://butianyuan.cn/article/177783.htm

g.jpg


根據(jù)時(shí)序圖所示,每讀一位數(shù)據(jù)需要60us延時(shí),為了延時(shí)精確,采用的方法是查看匯編語(yǔ)言,計(jì)算需要加入的空指令(NOP)個(gè)數(shù)。
根據(jù)時(shí)序要求編寫(xiě)代碼后,有如下統(tǒng)計(jì),啟動(dòng)溫度轉(zhuǎn)換時(shí)間約為2.5ms,讀溫度時(shí)間約為10.25ms,這些時(shí)間量都遠(yuǎn)小于一個(gè)時(shí)間片(20ms)的長(zhǎng)度,符合要求。為達(dá)到12位精度,器件手冊(cè)要求兩次啟動(dòng)溫度轉(zhuǎn)換時(shí)間問(wèn)隔不得低于750ms。溫度采集1s一次可以實(shí)現(xiàn)。讀取溫度任務(wù)流程圖如圖6所示。

h.jpg


圖6中,SenseNo是指DS18B20的序號(hào),SENSE CNT為器件總數(shù)。讀取不同DS18B20的方法是器件自身的ID,這個(gè)ID可以通過(guò)程序讀出,但較為繁瑣。為了減輕程序的負(fù)擔(dān),我們事先通過(guò)其他方式讀出每個(gè)器件的ID,讀溫度時(shí)直接使用,簡(jiǎn)化了任務(wù)。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉