siemens x
I/O 設備

基于CAN總線的高低溫試驗箱監(jiān)控系統(tǒng)

2025China.cn   2008年09月03日
摘 要: 本文介紹了一個基于CAN總線的高低溫試驗箱監(jiān)控系統(tǒng),其特點在于應用CAN總線進行信息傳遞。文中較詳細的介紹了以MCP2510總線控制器為核心的CAN總線接口板,包括硬件設計和軟件設計兩部分。其中,硬件部分著重MCP2510的結構特點與接口設計,軟件部分著重MCP2510與單片機的編程設計。

關鍵詞: CAN總線;MCP2510;編程

  高低溫試驗箱主要用于考核產(chǎn)品的高低溫性能,是企業(yè)進行產(chǎn)品環(huán)境試驗必不可少的設備,它主要是由箱體、制冷裝置、加熱裝置組成,并有溫度顯示和簡單的控制系統(tǒng)。由于高低溫試驗持續(xù)時間長,工作時有噪音、振動,環(huán)境較為惡劣,因此實現(xiàn)對高低溫試驗箱的計算機監(jiān)控有一定的現(xiàn)實意義。

  傳統(tǒng)的設備監(jiān)控系統(tǒng)多采用RS232、RS485等串行通訊方式,實時性、擴展性和可靠性較差。CAN總線是現(xiàn)場總線中的一種,它能有效地支持分布式控制和實時控制,是一種開放式、數(shù)字化、多點通信的串行通訊網(wǎng)絡。本文設計了一種基于CAN總線的分布式高低溫試驗箱監(jiān)控系統(tǒng)。該系統(tǒng)結構簡單,成本低,且實時性、擴展性和可靠性好,具有較強的實用價值。

1 系統(tǒng)的總體結構

  該系統(tǒng)包括一個主控制器(工業(yè)控制計算機,含PC-CAN接口卡)和多個節(jié)點控制器(CAN接口控制板),并采用總線式網(wǎng)絡拓撲結構,無源抽頭連接,因而系統(tǒng)的可靠性較高。其信息傳輸采用CAN通信協(xié)議,通訊介質采用雙絞線。

  系統(tǒng)的組成結構如圖1所示。

  圖中工控機(含PC-CAN接口卡)安裝在控制室,高低溫試驗箱放在工作間,兩地之間用雙絞線進行連接,距離約50m,雙絞線的兩端需短接120Ω的終端匹配電阻。

  工控機選用臺灣研華的IPC610,具有良好的軟硬件兼容性,在該工控機的ISA插槽中插入型號為PCL-841的CAN-PC接口卡,通過該卡即可把工控機連接到CAN總線上。工控機的控制軟件可設置高低溫試驗箱的工作模式:高溫試驗、低溫試驗、溫度沖擊試驗、自定義。每種模式均可設置預定溫度和保持時間,溫度沖擊試驗還能設置循環(huán)次數(shù),自定義模式由上述三種基本模式按一定流程組成,每個節(jié)點均可獨立設置其工作參數(shù)。


圖1 高低溫試驗箱監(jiān)控系統(tǒng)的組成

  CAN接口控制板是系統(tǒng)的核心,它負責與CAN總線進行通訊,另外還完成溫度信號的采集、加熱與制冷裝置的控制等功能,內有CAN總線收發(fā)器及控制器、單片機、溫度傳感器接口等部件。加電后,CAN接口控制板通過溫度傳感器,定時采集高低溫試驗箱的溫度數(shù)據(jù)并上傳給工控機,供其顯示與儲存。工控機根據(jù)用戶設置的工作模式發(fā)出特定指令至CAN總線,CAN接口控制板收到該指令后,根據(jù)預定的算法控制加熱與制冷裝置的啟動、停止,完成相應的操作。

  下面將重點介紹CAN接口控制板的軟硬件設計。

2 CAN接口控制板的硬件設計

  CAN接口控制板由MCP2551總線收發(fā)器、MCP2510總線控制器和PIC12C672單片機等部件組成。其電路原理如圖2所示

  MCP2551總線收發(fā)器與系統(tǒng)物理總線相連,具有差分發(fā)射和接收能力,可將許多節(jié)點與同一網(wǎng)絡相連接。它作為MCP2510總線控制器MCP2510和系統(tǒng)物理總線之間的接口。

  MCP2510總線控制器擔負著報文的發(fā)送、接收、過濾等工作,是CAN總線接口控制板的核心器件。它支持CAN總線V2.0A/B技術規(guī)范,能夠發(fā)送和接收標準和擴展報文,同時具備驗收過濾以及報文管理功能。該器件包含三個發(fā)送緩沖器和兩個接收緩沖器,減少了MCU的管理負擔。MCP2510通過SPI接口與MCU進行數(shù)據(jù)通訊,其數(shù)據(jù)傳輸速率可高達5Mb/s。

  為了簡化電路設計,降低成本,我們選用PIC12C672單片機作為MCP2510的控制MCU。PIC12C672單片機是美國Microchip公司生產(chǎn)的RISC單片機,只有35條指令,指令周期可短至1us,除跳轉指令外其余均為單周期指令,運行效率高。其內部集成了2K(14bit寬度)的編程空間和128字節(jié)的RAM,另外還集成有4通道的8位A/D轉換器、4MHz的RC振蕩器、上電復位電路、看門狗電路等。它僅有8個引腳,體積小,外圍電路簡單,具有較高的性價比。

  MCP2510通過SPI接口與MCU通訊,但PIC12C672本身沒有SPI接口,因此用四條普通I/O線GP5、GP4、GP1、GP2分別接至MCP2510的CS、SO、SI、SCK引腳,用軟件算法實現(xiàn)SPI接口協(xié)議。SPI接口讀命令時序如下圖3所示。在讀操作開始時,CS引腳將被置為低電平,隨后讀指令和8位地址碼(A7至A0)將被依次送入MCP2510,并在SCK的上升沿縮存每個數(shù)據(jù)位。在接收到讀指令和地址碼之后,MCP2510指定地址寄存器中的數(shù)據(jù)將在SCK的下降沿輸出到SO引腳。拉高CS引腳電平結束讀操作。

  MCP2510外接8MHz晶體作振蕩源,將CAN總線速度配置為125kbps。MCP2510有三個引腳(TX0RTS、TX1RTS、TX2RTS)可以配置成通用的輸入腳,兩個引腳(RX0BF、RX1BF)能被配置成數(shù)字輸出腳,由PIC12C672單片機通過MCP2510的SPI接口對這些引腳進行控制。在此應用中,TX0RTS、TX1RTS、TX2RTS配置成輸入腳,分別連接上三位撥碼開關,用于設置CAN接口板的ID地址。RX0BF、RX1BF配置成數(shù)字輸出腳,分別通過驅動電路、繼電器控制高低溫箱的加熱裝置、制冷裝置。

3 CAN接口控制板的軟件設計

  CAN接口控制板的主要功能有:定時采集溫度數(shù)據(jù)并通過CAN總線發(fā)送至工控機;收到工控機的升溫、降溫指令后,根據(jù)預定的算法控制加熱與制冷裝置的啟動、停止。因此,除硬件設計外,我們還需編寫PIC12C672單片機的程序,以實現(xiàn)上述CAN接口控制板的功能。采用匯編語言編程,使用福州貝能的PICRICE仿真器進行開發(fā)、調試,并用PICSTART PLUS編程器燒寫程序。

  單片機的主程序流程圖如圖4所示:


圖4 單片機的主程序流程圖

  PIC12C672的初始化主要完成I/O腳的配置,定時器中斷的設置,以及A/D轉換模塊的設置。MCP2510的初始化的主要是將總線時鐘頻率設為125kbps,配置中斷信號,將TX0RTS、TX1RTS、TX2RTS配置成通用的輸入腳,將RX0BF、RX1BF配置成數(shù)字輸出腳。

  MCP2510的發(fā)送操作通過三個發(fā)送緩沖器來實現(xiàn),這三個發(fā)送緩沖器各占據(jù)14個字節(jié)的SRAM。第一字節(jié)是控制寄存器TXBNCTRL,該寄存器里的內容設定了信息發(fā)送的條件,且給出了信息的發(fā)送狀態(tài),第二至第六字節(jié)用來存放標準的和擴展的標識符以及仲裁信息,最后八個字節(jié)用來存放待發(fā)送的數(shù)據(jù)信息。

  MCP2510的接收操作通過三個接收緩沖器來實現(xiàn),在三個接收緩沖器中,MAB(報文集成緩沖器)總能夠接收來自總線的下一條報文,其余兩個接收緩沖器RXB0和RXB1則從協(xié)議引擎接收完整的報文。MAB對接收到的報文進行組合,并將滿足驗收濾波器條件的報文傳送到至RXBN緩沖器,并且該接收緩沖器對應的位將置1,器件會在INT引腳產(chǎn)生一個中斷, 顯示接收到有效報文。

(轉載)

標簽:CAN總線 高低溫 試驗箱 監(jiān)控系統(tǒng) 我要反饋 
2024世界人工智能大會專題
即刻點擊并下載ABB資料,好禮贏不停~
優(yōu)傲機器人下載中心
西克
2024全景工博會
專題報道