中文在线中文资源,色鲁97精品国产亚洲AV高,亚洲欧美日韩在线一区,国产精品福利午夜在线观看

你的位置:首頁 > 互連技術 > 正文

基于CAN總線的溫度檢測設計

發布時間:2010-07-08

中心議題:
  • 溫度檢測節點原理與結構
  • 系統控制軟件流程設計
  • 數據交換SPI接口通信
解決方案:
  • 單片機系統將監控實時溫度
  • 軟件采取冗余和容錯處理
  • 信號調理電路對傳感器信號放大和限幅的功能

在對電子點火模塊的測試中,為了模擬電子點火系統的真實工況,電子點火模塊往往被置于高于常溫的環境下進行電子點火實驗,以獲得最接近真實汽車運行工況的點火參數數據。由于電子點火模塊自身的發熱,其核心元件的溫度成為影響電子模塊性能的重要因素;另外,還要考慮環境溫度是否達到模擬真實工況的要求等。

本文介紹了一種應用LM35溫度傳感器和PICMicro的溫度檢測節點的設計方案,用于檢測在模擬汽車電子點火的過程中,電子點火模塊的核心模塊溫度和環境溫度,將闡明模塊結構、工作原理及采樣值量化的方法。

節點原理與結構

該溫度檢測節點由傳感器電路、信號調理電路、單片機應用系統、CAN總線接口等構成。電路基本工作原理是:傳感器電路將感應到的溫度信號以電壓的形式輸出到信號調理電路,信號經過調理后輸入到A/D采樣電路,由ADC將數字量值送給單片機系統。單片機系統將監控實時溫度,當溫度超過警戒值和危險值時,單片機將主動發送警告信息到上位機,提醒操作人員檢查。模塊邏輯結構如圖1所示。


圖1溫度檢測節點邏輯結構

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

本節點的核心MCU是PIC16F87x,是Microchip公司推出的低功耗8位單片機。PIC16F87x擁有精簡指令集,執行速度為200ns。CAN控制器采用Microchip公司的MCP2510,總線驅動器采用PCA82C250,總線隔離電路采用光耦6N317,信號調理電路采用LF412。溫度監測模塊的硬件結構如圖2所示。


圖2溫度監測模塊硬件結構

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

外圍設備電路為PIC16F87x最小系統運行所需要的必要外設。PIC16F87x通過SPI總線與MCP2510進行數據交換,完成CAN總線數據包的發送和接收,其接口電路如圖3所示。


圖3PIC16F877與MCP2510的接口電路

其中,SCK為SPI總線時鐘,PIC16F87x模塊的SPI接口接MCP2510的SI、SO、SCK,RA4與RA1分別控制MCP2510的芯片復位和片選。INT接受MCP2510的中斷請求。

系統軟件設計

系統軟件流程

為了避免因干擾而產生誤動作,軟件采取了一些冗余和容錯處理,在A/D模塊處理采樣數據時,采用了軟件濾波措施,以濾除電路中可能會出現的尖峰干擾。

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


圖4主程序流程[page]

當CPU檢測到溫度出現異常,會根據溫度異常范圍向上位機發出溫度異常警報,這是該節點CPU唯一主動向上位機發出的數據幀。該節點的溫度相關數據存放在緩沖區,在沒有收到上位機數據請求的時候,該緩沖區的數據會不斷的被新的數據刷新,以保證該節點數據的實時性,中斷流程如圖5所示。


圖5CAN接收中斷流程

采樣值的量化方法

采樣值的準確量化是溫控電路正常工作的關鍵,這里采用以下換算辦法來進行量化。設經過信號調理后的電壓為Ui,則-10V<Ui<10V,已知-10V對應的溫度是-55℃,10V對應的溫度為125℃,易求得比例因數Kt=0.111V/℃。溫度為0℃時,ΔT=55℃(相當于-55℃時的變化量)。

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

Ui轉換為數字量后,每個數字量對應電壓值為19.531mV,用Ks表示。可以求得數字量變化和溫度變化之間的對應關系:Kt/Ks=(0.111V/℃)/(19.531mV/數字量)=5.683數字量/℃。

其他溫度對應的數字量也可以通過以上方法算出。

SPI接口通信

PIC16F87x通過SPI接口和MCP2510進行數據交換。

MCP2510設計可與許多微控制器的串行外設接口(SPI)直接相連。外部數據和命令通過SI引腳傳送到器件中,而數據在SCK時鐘信號的上升沿傳送進去。

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


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

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


圖6SPI接口通信時序

基于LM35開發的溫控節點工作穩定性強、可靠性高、且具有體積小、靈敏度高、響應時間短、抗干擾能力強等特點。該節點成本低廉,器件均為常規元件,有較高的工程價值。本節點擁有CAN接口,既可以作為一個獨立的檢測系統,也可以作為分布式測試系統的一個關鍵部分。CAN的上層協議都可以在軟件中實現,使得本節點接口靈活,不受上層協議的限制。

要采購傳感器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

  • <center id="09kry"></center>

  • 主站蜘蛛池模板: 合作市| 闽侯县| 济南市| 郧西县| 信宜市| 蒙山县| 托克逊县| 襄汾县| 义乌市| 镇赉县| 永城市| 南岸区| 隆德县| 应城市| 新宾| 灵丘县| 双桥区| 汶上县| 通州区| 兴国县| 安宁市| 金塔县| 高陵县| 高平市| 新民市| 视频| 新巴尔虎左旗| 平谷区| 鲁甸县| 库伦旗| 综艺| 叶城县| 顺义区| 江安县| 柳州市| 达拉特旗| 垫江县| 曲松县| 麦盖提县| 广灵县| 松原市|