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