基于STM32和CAN總線的溫度監控系統
摘要:介紹基于STM32和CAN總線的溫度監控系統的硬件設計和軟件設計,通過上位機與下位機的通信,實現對溫度數據的監控。
關鍵詞:STM32;CAN總線;Delphi;PT100;SD卡;FATFS文件系統
0 引言
現代工業控制領域通常要測量很多信號,并將其轉化為計算機可以識別的二進制信號,并利用計算機監視和記錄各種測量的信號。這個過程就要涉及到信號的采集和處理。CAN總線是一種串行多主總線,它卓越的特性、極高的可靠性和獨特的設計,特別適合工業過程監控設備
的互連,因此,越來越受到工業界的重視,并已公認為最有前途的現場總線之一。本文介紹了基于STM32和CAN總線的溫度監控系統的設計,通過上位機與下位機的通信,實現對溫度數據的監控,并經初步實驗達到了設計的要求。
1 系統總體方案概述
系統總體框圖如圖l所示,本系統采用主站+從站的結構,CAN主站主要實現溫度數據的存儲以及CAN總線協議和串口協議之間的橋接,CAN 從站主要實現溫度的采集。CAN從站采集的溫度,經過CAN總線傳送到CAN主站,主站將各從站的溫度值傳送到系統上位機中。上位機對各點的數據進行實時曲線顯示并進行存儲,上位機可以設定報警值,當節點溫度超過設定值的時候,上位機發出報警聲。在沒有上位機的場合,主站將數據以文本文檔的形式存儲在主站的SD卡中。
2 系統硬件設計
2.1 CAN主站硬件設計
主站電路如圖2所示,主要有電源模塊、STM32模塊、CAN收發器模塊、RS232串口模塊和SD卡模塊。
其中STM32模塊由STM32F103RBT6和周邊時鐘、復位、調試等組成。電源模塊由外部輸入+5V電壓,經線性壓降AMS1117-3.3V后供 STM32使用。CAN收發器模塊采甩NXP的高速收發器TJA1040,TJA1040是PCA82C250的替代品,它完全符合ISO 11898標準,具有高速、低功耗、低電磁輻射的優點。RS232電平轉換芯片采用MAX3232,它具有低功耗、高數據速率以及增強型ESD保護等特性。采用專有的低壓差發送輸出級,+3.0 V至+5.5V供電時利用內部雙電荷泵保證RS-232性能。工作時,電荷泵僅需要四個100 nF的小電容。SD卡模塊采用四線制SPI總線與SD卡相連接。
2.2 CAN從站硬件設計
從站電路如圖3所示,主要有電源模塊、STM32模塊,CAN收發器模塊,PT100模塊和從站地址選擇模塊。
其中電源模塊、STM32模塊和CAN收發器模塊與CAN主站相同。PT100模塊,采用傳感器測量電橋,為了保證電橋輸出電壓信號的穩定性,電橋的輸入電壓通過TL431穩至2.5V。從電橋獲取的差分信號通過兩級運放放大后輸入STM32的AD輸入口。從站地址選擇模塊由8位撥碼開關組成,連接到 STM32 I/O的PC6-PC13。
3 系統軟件設計
本系統軟件由CAN主站軟件、從站軟件以及Delphi上位機軟件構成。其中CAN主站和從站程序用C語言編寫,上位機程序用Obieet Pascal編寫。
3.1 CAN主站軟件設計
CAN主站的功能是發送遠程幀向從站查詢數據、通過AD的轉換結果計算芯片內部溫度傳感器的溫度值、接收從站發送的數據幀、發送溫度數據到上位機或存儲數據到SD卡。CAN主站程序如圖4所示。
評論