關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的溫度檢測(cè)節(jié)點(diǎn)設(shè)計(jì)(圖)

基于CAN總線的溫度檢測(cè)節(jié)點(diǎn)設(shè)計(jì)(圖)

作者: 時(shí)間:2008-07-17 來源:網(wǎng)絡(luò) 收藏

  在對(duì)電子點(diǎn)火的測(cè)試中,為了模擬電子點(diǎn)火系統(tǒng)的真實(shí)工況,電子點(diǎn)火往往被置于高于常溫的環(huán)境下進(jìn)行電子點(diǎn)火實(shí)驗(yàn),以獲得最接近真實(shí)汽車運(yùn)行工況的點(diǎn)火參數(shù)數(shù)據(jù)。由于電子點(diǎn)火自身的發(fā)熱,其核心元件的溫度成為影響電子模塊性能的重要因素;另外,還要考慮環(huán)境溫度是否達(dá)到模擬真實(shí)工況的要求等。

  本文介紹了一種應(yīng)用LM35溫度傳感器和PICMicro的的設(shè)計(jì)方案,用于檢測(cè)在模擬汽車電子點(diǎn)火的過程中,電子點(diǎn)火模塊的核心模塊溫度和環(huán)境溫度,將闡明模塊結(jié)構(gòu)、工作原理及采樣值量化的方法。

  原理與結(jié)構(gòu)

  該由傳感器、信號(hào)調(diào)理、單片機(jī)應(yīng)用系統(tǒng)、接口等構(gòu)成。基本工作原理是:傳感器電路將感應(yīng)到的溫度信號(hào)以電壓的形式輸出到信號(hào)調(diào)理電路,信號(hào)經(jīng)過調(diào)理后輸入到A/D采樣電路,由ADC將數(shù)字量值送給。將監(jiān)控實(shí)時(shí)溫度,當(dāng)溫度超過警戒值和危險(xiǎn)值時(shí),單片機(jī)將主動(dòng)發(fā)送警告信息到,提醒操作人員檢查。模塊邏輯結(jié)構(gòu)如圖1所示。

  

  圖1 節(jié)點(diǎn)邏輯結(jié)構(gòu)

  傳感器電路采用溫度傳感器LM35,供電電壓為15V直流,工作電流為120mA ,功耗極低,在全工作時(shí),電流變化很小,電壓輸出采用差動(dòng)信號(hào)方式,由2、3引腳直接輸出。LM35輸出信號(hào)經(jīng)過一個(gè)由RC組成的LP濾波器,濾除高頻的噪聲干擾。

  本節(jié)點(diǎn)的核心MCU是PIC16F87x,是Microchip公司推出的低功耗8位單片機(jī)。PIC16F87x擁有精簡指令集,執(zhí)行速度為200ns。CAN 控制器采用Microchip公司的MCP2510,總線驅(qū)動(dòng)器采用PCA82C250,總線隔離電路采用光耦6N317,信號(hào)調(diào)理電路采用LF412。溫度監(jiān)測(cè)模塊的硬件結(jié)構(gòu)如圖2所示。

  

  圖2 溫度監(jiān)測(cè)模塊硬件結(jié)構(gòu)

  信號(hào)調(diào)理電路主要完成對(duì)傳感器信號(hào)放大和限幅的功能,將傳感器電路輸出的變化范圍為2V左右的直流電壓,調(diào)理為符合PICMicro的AD接口的電壓范圍,既不能超過AD采樣的量程,又要有相當(dāng)?shù)男盘?hào)精度。單片機(jī)通過A/D采樣通道采集傳感器的溫度數(shù)據(jù),并計(jì)算。

  外圍設(shè)備電路為PIC16F87x最小系統(tǒng)運(yùn)行所需要的必要外設(shè)。PIC16F87x通過SPI總線與MCP2510進(jìn)行數(shù)據(jù)交換,完成數(shù)據(jù)包的發(fā)送和接收,其接口電路如圖3所示。

  

  圖3 PIC16F877與MCP2510的接口電路

  其中,為SPI總線時(shí)鐘,PIC16F87x模塊的SPI接口接MCP2510的SI、SO、,RA4與RA1分別控制MCP2510的芯片復(fù)位和片選。INT接受MCP2510的中斷請(qǐng)求。

  系統(tǒng)軟件設(shè)計(jì)

  1系統(tǒng)軟件流程

  為了避免因干擾而產(chǎn)生誤動(dòng)作,軟件采取了一些冗余和容錯(cuò)處理,在A/D模塊處理采樣數(shù)據(jù)時(shí),采用了軟件濾波措施,以濾除電路中可能會(huì)出現(xiàn)的尖峰干擾。

  方法為連續(xù)采樣五次,通過比較判斷,去掉其中的最大值和最小值, 其余三次的值求和后取平均值,把平均值作為CPU用來劃分的有效數(shù)據(jù)。數(shù)據(jù)包的解析和封裝都遵循CAN的應(yīng)用層協(xié)議,主程序流程如圖4所示。

  

  圖4 主程序流程

  當(dāng)CPU檢測(cè)到溫度出現(xiàn)異常,會(huì)根據(jù)溫度異常范圍向發(fā)出溫度異常警報(bào),這是該節(jié)點(diǎn)CPU唯一主動(dòng)向發(fā)出的數(shù)據(jù)幀。該節(jié)點(diǎn)的溫度相關(guān)數(shù)據(jù)存放在緩沖區(qū),在沒有收到上位機(jī)數(shù)據(jù)請(qǐng)求的時(shí)候,該緩沖區(qū)的數(shù)據(jù)會(huì)不斷的被新的數(shù)據(jù)刷新,以保證該節(jié)點(diǎn)數(shù)據(jù)的實(shí)時(shí)性,中斷流程如圖5所示。

  

  圖5 CAN接收中斷流程

  2 采樣值的量化方法

  采樣值的準(zhǔn)確量化是溫控電路正常工作的關(guān)鍵,這里采用以下?lián)Q算辦法來進(jìn)行量化。設(shè)經(jīng)過信號(hào)調(diào)理后的電壓為Ui,則-10VUi10V,已知-10V對(duì)應(yīng)的溫度是-55℃,10V對(duì)應(yīng)的溫度為125℃,易求得比例因數(shù)Kt = 0.111V/℃。溫度為0℃時(shí),ΔT= 55℃(相當(dāng)于-55℃時(shí)的變化量)。

  Ui=-10V+ΔT·Kt=-10V+55℃×0.111V/℃=-3.895V。

  Ui轉(zhuǎn)換為數(shù)字量后,每個(gè)數(shù)字量對(duì)應(yīng)電壓值為19.531mV,用Ks表示。可以求得數(shù)字量變化和溫度變化之間的對(duì)應(yīng)關(guān)系:Kt/Ks =(0.111V/℃)/(19.531mV/數(shù)字量)=5.683數(shù)字量/℃。

  其他溫度對(duì)應(yīng)的數(shù)字量也可以通過以上方法算出。

  3 SPI接口通信

  PIC16F87x通過SPI接口和MCP2510進(jìn)行數(shù)據(jù)交換。

  MCP2510 設(shè)計(jì)可與許多微控制器的(SPI)直接相連。外部數(shù)據(jù)和命令通過SI引腳傳送到器件中,而數(shù)據(jù)在時(shí)鐘信號(hào)的上升沿傳送進(jìn)去。

  MCP2510在SCK下降沿通過SO 引腳發(fā)送表1列出了所有操作的指令字節(jié)。

  

  以PIC16F87x向MCP2510發(fā)送讀指令為例,來說明SPI接口通信過程。

  在讀操作開始時(shí),CS 引腳將被置為低電平。隨后讀指令和8位地址碼(A7~A0)將被依次送入MCP2510。在接收到讀指令和地址碼之后,MCP2510指定地址寄存器中的數(shù)據(jù)將被移出通過SO引腳進(jìn)行發(fā)送。每一數(shù)據(jù)字節(jié)移出后,器件內(nèi)部的地址指針將自動(dòng)加一以指向下一地址。因此可以對(duì)下一個(gè)連續(xù)地址寄存器進(jìn)行讀操作。通過該方法可以順序讀取任意一個(gè)連續(xù)地址寄存器中的數(shù)據(jù)。通過拉高 CS 引腳電平可以結(jié)束讀操作,如圖6所示。

  

  圖6 SPI 接口通信時(shí)序

  結(jié)束語

  基于LM35開發(fā)的溫控節(jié)點(diǎn)工作穩(wěn)定性強(qiáng)、可靠性高、且具有體積小、靈敏度高、響應(yīng)時(shí)間短、抗干擾能力強(qiáng)等特點(diǎn)。該節(jié)點(diǎn)成本低廉,器件均為常規(guī)元件,有較高的工程價(jià)值。本節(jié)點(diǎn)擁有CAN接口,既可以作為一個(gè)獨(dú)立的檢測(cè)系統(tǒng),也可以作為分布式測(cè)試系統(tǒng)的一個(gè)關(guān)鍵部分。CAN的上層協(xié)議都可以在軟件中實(shí)現(xiàn),使得本節(jié)點(diǎn)接口靈活,不受上層協(xié)議的限制。

DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY




評(píng)論


相關(guān)推薦

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

關(guān)閉