《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于STM32和CAN總線的溫度監(jiān)控系統(tǒng)
基于STM32和CAN總線的溫度監(jiān)控系統(tǒng)
劉運乾 趙 捷
山東師范大學
摘要: 介紹基于STM32和CAN總線的溫度監(jiān)控系統(tǒng)的硬件設計和軟件設計,,通過上位機與下位機的通信,,實現(xiàn)對溫度數(shù)據(jù)的監(jiān)控,。
Abstract:
Key words :


0 引言
    現(xiàn)代工業(yè)控制領域通常要測量很多信號,并將其轉化為計算機可以識別的二進制信號,,并利用計算機監(jiān)視和記錄各種測量的信號,。這個過程就要涉及到信號的采集和處理,。CAN總線是一種串行多主總線,,它卓越的特性,、極高的可靠性和獨特的設計,特別適合工業(yè)過程監(jiān)控設備
的互連,,因此,,越來越受到工業(yè)界的重視,并已公認為最有前途的現(xiàn)場總線之一,。本文介紹了基于STM32和CAN總線的溫度監(jiān)控系統(tǒng)的設計,,通過上位機與下位機的通信,實現(xiàn)對溫度數(shù)據(jù)的監(jiān)控,,并經(jīng)初步實驗達到了設計的要求,。

1 系統(tǒng)總體方案概述
   系統(tǒng)總體框圖如圖l所示,本系統(tǒng)采用主站+從站的結構,,CAN主站主要實現(xiàn)溫度數(shù)據(jù)的存儲以及CAN總線協(xié)議和串口協(xié)議之間的橋接,,CAN 從站主要實現(xiàn)溫度的采集。CAN從站采集的溫度,經(jīng)過CAN總線傳送到CAN主站,,主站將各從站的溫度值傳送到系統(tǒng)上位機中,。上位機對各點的數(shù)據(jù)進行實時曲線顯示并進行存儲,,上位機可以設定報警值,,當節(jié)點溫度超過設定值的時候,上位機發(fā)出報警聲,。在沒有上位機的場合,,主站將數(shù)據(jù)以文本文檔的形式存儲在主站的SD卡中。
a.JPG


2 系統(tǒng)硬件設計
2.1 CAN主站硬件設計
    主站電路如圖2所示,,主要有電源模塊,、STM32模塊、CAN收發(fā)器模塊,、RS232串口模塊和SD卡模塊,。
b.JPG

    其中STM32模塊由STM32F103RBT6和周邊時鐘、復位,、調試等組成,。電源模塊由外部輸入+5V電壓,經(jīng)線性壓降AMS1117-3.3V后供 STM32使用,。CAN收發(fā)器模塊采甩NXP的高速收發(fā)器TJA1040,,TJA1040是PCA82C250的替代品,它完全符合ISO 11898標準,,具有高速,、低功耗、低電磁輻射的優(yōu)點,。RS232電平轉換芯片采用MAX3232,,它具有低功耗、高數(shù)據(jù)速率以及增強型ESD保護等特性,。采用專有的低壓差發(fā)送輸出級,,+3.0 V至+5.5V供電時利用內部雙電荷泵保證RS-232性能。工作時,,電荷泵僅需要四個100 nF的小電容,。SD卡模塊采用四線制SPI總線與SD卡相連接。
2.2 CAN從站硬件設計
    從站電路如圖3所示,,主要有電源模塊,、STM32模塊,CAN收發(fā)器模塊,,PT100模塊和從站地址選擇模塊,。
    其中電源模塊、STM32模塊和CAN收發(fā)器模塊與CAN主站相同。PT100模塊,,采用傳感器測量電橋,,為了保證電橋輸出電壓信號的穩(wěn)定性,電橋的輸入電壓通過TL431穩(wěn)至2.5V,。從電橋獲取的差分信號通過兩級運放放大后輸入STM32的AD輸入口,。從站地址選擇模塊由8位撥碼開關組成,連接到 STM32 I/O的PC6-PC13,。

3 系統(tǒng)軟件設計
    本系統(tǒng)軟件由CAN主站軟件,、從站軟件以及Delphi上位機軟件構成。其中CAN主站和從站程序用C語言編寫,,上位機程序用Obieet Pascal編寫,。
3.1 CAN主站軟件設計
    CAN主站的功能是發(fā)送遠程幀向從站查詢數(shù)據(jù)、通過AD的轉換結果計算芯片內部溫度傳感器的溫度值,、接收從站發(fā)送的數(shù)據(jù)幀,、發(fā)送溫度數(shù)據(jù)到上位機或存儲數(shù)據(jù)到SD卡。CAN主站程序如圖4所示,。
c.JPG

 

d.JPG

    寫SD卡部分程序流程圖如圖5所示,,SD卡部分主要用到了移植的FATFS文件系統(tǒng)提供的訪問FAT卷的應用接口(Application Interface)。主要用到了以下函數(shù):
    ·f_mount-注冊/注銷一個工作區(qū)域
    ·f_open-打開/創(chuàng)建一個文件
    ·f_close-關閉一個文件
    ·f_lseek-移動/寫指針,,擴展文件大小
    ·f_puts-寫字符串
    ·f_printf-寫一個格式化字符串
3.2 CAN從站軟件設計
    CAN從站的主要功能是通過AD轉換器檢測PT100電橋的差分輸出電壓,,然后計算得出此節(jié)點的溫度值,最后通過CAN總線傳送給CAN主站,。其中只有在 CAN從站收到與自己節(jié)點號相同的主站發(fā)送的遠程幀的時候,,從站CAN控制器才發(fā)出一個數(shù)據(jù)幀。CAN從站程序流程圖如圖6所示,。
e.JPG

3.3 Delphi上位機軟件設計
    本上位機軟件主要實現(xiàn)了五個功能:實時曲線顯示當前各從節(jié)點的溫度,;打印實時曲線;將實時曲線保存為圖片,;將實時曲線的數(shù)據(jù)保存為TXT文檔以及實時溫度超過報警值時報警,。
    本系統(tǒng)上位機串口通訊控件采用SPCOMM,該控件具有豐富的與串口通信密切相關的屬性及事件,,支持多線程,;提供了對串口的各種操作。圖形控件采用TChart,,TCharc是Delphi里面一個標準的圖形顯示控件,。它可以靜態(tài)設計(At Design Time)也可以動態(tài)生成。該系統(tǒng)設計采用的版本為TeeChart 7,;實時曲線部分流程圖如圖7所示,。上位機程序完成后界面如圖8所示。

f.JPG

4 結束語
    本文介紹了基于STM32和CAN總線的溫度監(jiān)控系統(tǒng)的設計,初步實驗證明,,上述的硬件及軟件設計基本達到了設計要求,。本系統(tǒng)適用于多節(jié)點、遠距離的場合,,并具有實時性好,、可靠性高的特點,具有一定的應用價值,。
 

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。