日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]小編為大家總結(jié)了一篇基于 STM32 和 CAN 總線的溫度監(jiān)控系統(tǒng)的設(shè)計,通過上位機(jī)與下位機(jī)的通信,實現(xiàn)對溫度數(shù)據(jù)的監(jiān)控,并經(jīng)初步實驗達(dá)到了設(shè)計的要求。1 系統(tǒng)總體方案概述

小編為大家總結(jié)了一篇基于 STM32 和 CAN 總線的溫度監(jiān)控系統(tǒng)的設(shè)計,通過上位機(jī)與下位機(jī)的通信,實現(xiàn)對溫度數(shù)據(jù)的監(jiān)控,并經(jīng)初步實驗達(dá)到了設(shè)計的要求。

1 系統(tǒng)總體方案概述

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

 

 

圖 1 系統(tǒng)總體框圖

2 系統(tǒng)硬件設(shè)計

2.1 CAN 主站硬件設(shè)計

主站電路如圖 2 所示,主要有電源模塊、STM32 模塊、CAN 收發(fā)器模塊、RS232 串口模塊和 SD 卡模塊。

其中 STM32 模塊由 STM32F103RBT6 和周邊時鐘、復(fù)位、調(diào)試等組成。電源模塊由外部輸入+5V 電壓,經(jīng)線性壓降 AMS1117-3.3V 后供 STM32 使用。CAN 收發(fā)器模塊采甩 NXP 的高速收發(fā)器 TJA1040,TJA1040 是 PCA82C250 的替代品,它完全符合 ISO 11898 標(biāo)準(zhǔn),具有高速、低功耗、低電磁輻射的優(yōu)點。RS232 電平轉(zhuǎn)換芯片采用 MAX3232,它具有低功耗、高數(shù)據(jù)速率以及增強(qiáng)型 ESD 保護(hù)等特性。采用專有的低壓差發(fā)送輸出級,+3.0 V 至+5.5V 供電時利用內(nèi)部雙電荷泵保證 RS-232 性能。工作時,電荷泵僅需要四個 100 nF 的小電容。SD 卡模塊采用四線制 SPI 總線與 SD 卡相連接。

2.2 CAN 從站硬件設(shè)計

從站電路如圖 3 所示,主要有電源模塊、STM32 模塊,CAN 收發(fā)器模塊,PT100 模塊和從站地址選擇模塊。

 

 

圖 2 CAN 主站電路框圖                圖 3 CAN 從站電路框圖

其中電源模塊、STM32 模塊和 CAN 收發(fā)器模塊與 CAN 主站相同。PT100 模塊,采用傳感器測量電橋,為了保證電橋輸出電壓信號的穩(wěn)定性,電橋的輸入電壓通過 TL431 穩(wěn)至 2.5V。從電橋獲取的差分信號通過兩級運放放大后輸入 STM32 的 AD 輸入口。從站地址選擇模塊由 8 位撥碼開關(guān)組成,連接到 STM32 I/O 的 PC6-PC13。

3 系統(tǒng)軟件設(shè)計

本系統(tǒng)軟件由 CAN 主站軟件、從站軟件以及 Delphi 上位機(jī)軟件構(gòu)成。其中 CAN 主站和從站程序用 C 語言編寫,上位機(jī)程序用 Obieet Pascal 編寫。

3.1 CAN 主站軟件設(shè)計

CAN 主站的功能是發(fā)送遠(yuǎn)程幀向從站查詢數(shù)據(jù)、通過 AD 的轉(zhuǎn)換結(jié)果計算芯片內(nèi)部溫度傳感器的溫度值、接收從站發(fā)送的數(shù)據(jù)幀、發(fā)送溫度數(shù)據(jù)到上位機(jī)或存儲數(shù)據(jù)到 SD 卡。CAN 主站程序如圖 4 所示。

 

 

圖 3 CAN 主站程序流程圖 圖 5 寫 SD 卡程序流程圖

寫 SD 卡部分程序流程圖如圖 5 所示,SD 卡部分主要用到了移植的 FATFS 文件系統(tǒng)提供的訪問 FAT 卷的應(yīng)用接口(Application Interface)。主要用到了以下函數(shù):

·f_mount- 注冊/注銷一個工作區(qū)域

·f_open- 打開/創(chuàng)建一個文件

·f_close- 關(guān)閉一個文件

·f_lseek- 移動/寫指針,擴(kuò)展文件大小

·f_puts- 寫字符串

·f_printf- 寫一個格式化字符串

3.2 CAN 從站軟件設(shè)計

CAN 從站的主要功能是通過 AD 轉(zhuǎn)換器檢測 PT100 電橋的差分輸出電壓,然后計算得出此節(jié)點的溫度值,最后通過 CAN 總線傳送給 CAN 主站。其中只有在 CAN 從站收到與自己節(jié)點號相同的主站發(fā)送的遠(yuǎn)程幀的時候,從站 CAN 控制器才發(fā)出一個數(shù)據(jù)幀。CAN 從站程序流程圖如圖 6 所示。

 

 

圖 6 CAN 從站程序流程圖 圖 7 Delphi 實時曲線部分流程圖

3.3 Delphi 上位機(jī)軟件設(shè)計

本上位機(jī)軟件主要實現(xiàn)了五個功能:實時曲線顯示當(dāng)前各從節(jié)點的溫度;打印實時曲線;將實時曲線保存為圖片;將實時曲線的數(shù)據(jù)保存為 TXT 文檔以及實時溫度超過報警值時報警。

本系統(tǒng)上位機(jī)串口通訊控件采用 SPCOMM,該控件具有豐富的與串口通信密切相關(guān)的屬性及事件,支持多線程;提供了對串口的各種操作。圖形控件采用 TChart,TCharc 是 Delphi 里面一個標(biāo)準(zhǔn)的圖形顯示控件。它可以靜態(tài)設(shè)計(At Design TIme)也可以動態(tài)生成。該系統(tǒng)設(shè)計采用的版本為 TeeChart 7;實時曲線部分流程圖如圖 7 所示。上位機(jī)程序完成后界面如圖 8 所示。

 

 

圖 7上位機(jī)界面

4 結(jié)束語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉