基于單片機的PT100溫度變送器設計
文章目錄
- 基于單片機的PT100溫度變送器設計
- 前言
- 一、資源分享
- 二、系統框架
- 三、硬件準備
- 1.主控制器
- 2、PT100溫度傳感器
- 3、顯示屏
- 4、WIFI模塊
- 5、USB轉RS485模塊
- 6、SP3485EN
- 7、K11-11D3
- 四、設計PCB
- 1、安裝下載立創EDA專業版
- 2、畫原理圖
- 3、擺放元器件,設計規則,淚滴,鋪銅。
- 4、使用嘉立創下單助手進行下單,打板。
- 五、軟件設計
- 1、編寫STM32單片機代碼
- 2、編寫手機客戶端代碼
- 六、使用教程
- 1、準備
- 2、燒錄軟件
- 3、實驗驗證
- 總結
前言
本文設計出一款基于STM32單片機的PT100溫度變送器。
主要功能如下:
1、使用PT100溫度傳感器采集溫度。
2、將攝氏度轉換為華氏度,將溫度信號轉換為4-20mA電流信號輸出。
3、Modbus通信協議,以RS485電平格式實現工業通信。
4、靈活設置溫度報警閾值,超出范圍蜂鳴器報警。
5、通過ESP8266連接云服務器。
6、實現云平臺、手機APP、單片機三方交互。
一、資源分享
實物與資料獲取:基于STM32單片機的PT100溫度變送器設計
資料如圖所示:
二、系統框架
系統框架如圖所示:
單片機整體框圖:
三、硬件準備
1.主控制器
主控制器選擇STM32F103RCT6,在淘寶上買的,如下圖所示:
STM32F103RCT6 是意法半導體(STMicroelectronics)推出的一款基于 ARM Cortex-M3 內核的 32 位微控制器,在工業控制、消費電子等領域應用廣泛。
- 內核與性能
內核:采用 ARM Cortex - M3 內核,具備高效的哈佛結構和 Thumb - 2 指令集,可實現較高的代碼密度和處理性能。
工作頻率:最高工作頻率達 72MHz,能快速處理各種復雜任務。
運算能力:支持單周期乘法和硬件除法,提升了數據處理速度。 - 存儲器
閃存(Flash):擁有 256KB 的閃存,可用于存儲程序代碼。其可擦寫次數多,數據保存時間長,適合存儲一些需要長期保存的程序和數據。
隨機存取存儲器(SRAM):具備 48KB 的 SRAM,能為程序運行提供臨時數據存儲和堆棧空間。 - 外設接口
通用輸入輸出端口(GPIO):多達 72 個 GPIO 引腳,可靈活配置為輸入或輸出模式。這些引腳可用于連接外部設備,如按鍵、LED、傳感器等。
串行通信接口:
UART:3 個通用異步收發傳輸器(UART),可實現全雙工通信,用于與其他設備進行異步串行通信,如連接 PC、藍牙模塊等。
SPI:2 個串行外設接口(SPI),通信速度快,常用于連接外部存儲器、傳感器等高速設備。
I2C:2 個集成電路總線(I2C),可用于連接多個具有 I2C 接口的設備,如 EEPROM、傳感器等,實現數據的傳輸和設備的控制。
USB 接口:支持 USB 2.0 全速設備模式,可方便地與計算機或其他 USB 設備進行通信。
CAN 接口:具備 1 個控制器局域網(CAN)接口,適用于汽車電子、工業自動化等領域的分布式控制系統,實現節點間的可靠通信。
SDIO 接口:支持安全數字輸入輸出(SDIO)接口,可用于連接 SD 卡、MMC 卡等大容量存儲設備,方便數據的存儲和讀取。 - 定時器
高級定時器:1 個高級定時器,可用于電機控制、PWM 生成等高精度應用場景。
通用定時器:4 個通用定時器,具備多種功能,如定時、計數、PWM 輸出等,可滿足不同的應用需求。
基本定時器:2 個基本定時器,主要用于簡單的定時和計數任務。 - 模擬外設
模數轉換器(ADC):擁有 2 個 12 位的 ADC,最多支持 16 個外部通道。可將模擬信號轉換為數字信號,用于采集傳感器的模擬輸出,如溫度、壓力等。
數模轉換器(DAC):1 個 12 位數模轉換器,可將數字信號轉換為模擬信號,用于產生模擬電壓或電流信號。 - 其他特性
低功耗模式:支持多種低功耗模式,如睡眠模式、停止模式和待機模式,可有效降低系統功耗,延長電池續航時間。
復位和時鐘管理:具備完善的復位和時鐘管理系統,可確保系統在各種情況下穩定運行。同時,支持外部晶振和內部 RC 振蕩器,方便用戶根據實際需求選擇合適的時鐘源。
2、PT100溫度傳感器
使用PT100作為溫度傳感器,在淘寶上可以買到,如圖:
pt100溫度傳感器是一種將溫度變量轉換為可傳送的標準化輸出信號的儀表。主要用于工業過程溫度參數的測量和控制。帶傳感器的變送器通常由兩部分組成:傳感器和信號轉換器。傳感器主要是熱電偶或熱電阻;信號轉換器主要由測量單元、信號處理和轉換單元組成.
工作電壓:DC5.0V
輸出信號:模擬電壓0-4V
運用場合:單片機控制溫度計電纜測溫,高爐水循環測溫農業大棚測溫,潔凈室測溫等電子設計
外形尺寸:35x14x1.6mm
發貨清單:PT100溫度傳感器溫度變換器1
接線:
VCC:接DC5.0V電源正極(給傳感器供電)
GND:接電源負極
AO:信號引腳,接單片機AD檢測引腳
3、顯示屏
使用1.8寸顯示屏,分辨率128*160。如圖,
1.8寸彩屏,支持16BIT RGB 65K彩色顯示,顯示色彩豐富
128X160分辨率,顯示清晰
采用SPI串行總線,只需幾個IO即可點亮顯示
帶SD卡槽方便功能擴展
軍工級工藝標準,長期穩定工作
4、WIFI模塊
WIFI模塊使用ESP8266,如圖,
ESP01S 是一款基于樂鑫 ESP8266EX 芯片的低成本、低功耗 Wi-Fi 模塊,專為物聯網(IoT)和嵌入式系統設計。
以下是其詳細介紹:
- 核心架構與性能
處理器:采用 32 位 Tensilica L106 RISC 處理器,主頻支持 80MHz 或 160MHz,集成 TCP/IP 協議棧,可直接運行用戶程序。
內存配置:
閃存(Flash):提供 1MB 或 4MB 兩種版本(具體型號差異),用于存儲固件和用戶代碼。
RAM:64KB,支持程序運行和數據緩存。
通信協議:支持 802.11b/g/n 標準,數據傳輸速率最高 4Mbps,覆蓋 2.4GHz 頻段,支持 STA、AP、STA+AP 三種工作模式。 - 硬件資源與接口
引腳定義:
供電:3.0V~3.6V(推薦 3.3V),傳輸電流 170mA,接收電流 56mA。
通信:UART 接口(TXD/RXD),支持 AT 指令交互,波特率默認 115200bps。
GPIO:提供 2 個可編程引腳(GPIO0、GPIO2),可用于控制外設(如 LED、繼電器)或傳感器輸入。
其他:CH_PD(使能引腳,高電平有效)、RST(復位引腳)。
擴展能力:
PWM:部分引腳支持 PWM 輸出,用于電機調速或燈光控制。
I2C/SPI:需通過外部擴展芯片(如 PCF8574、MCP23017)實現。 - 低功耗特性
工作模式:
活躍模式:傳輸時電流約 170mA,接收時 56mA。
睡眠模式:
輕睡眠:電流約 10mA,保留網絡連接。
深度睡眠:電流低至 20μA,適用于電池供電設備。
喚醒方式:支持定時喚醒、GPIO 觸發喚醒或 UART 數據喚醒。 - 應用場景
智能家居:通過 Wi-Fi 連接控制燈光、空調、門鎖等設備。
環境監測:采集溫濕度、空氣質量等數據并上傳至云端。
工業自動化:遠程監控設備狀態,實現無線數據傳輸。
智能農業:監測土壤濕度、光照等參數,優化種植管理。
5、USB轉RS485模塊
MODBUS在工業上使用的最多是RS485格式,雖然UART也可以使用,但是不如RS485穩定,本文默認配置是RS485電平,因此需要一個USB轉485模塊。本文使用的是cp2102。
按照下圖配置為USB轉RS485模式:
CP2102 是 Silicon Labs 公司推出的一款 USB 轉 UART 橋接芯片,在各類嵌入式系統開發中應用廣泛,:
- 主要特性
高度集成:該芯片將 USB 功能控制器、USB 收發器、晶體振蕩器、EEPROM 和 UART 集成在一起,使得外圍電路設計變得簡單,縮小了整體的 PCB 面積。
低功耗:支持低功耗運行模式,適合對功耗要求嚴格的設備使用,可有效延長設備的電池續航時間。
高兼容性:兼容 USB 2.0 全速規范,在 Windows、Linux、Mac OS 等主流操作系統上都能很好地工作,無需額外的硬件電路支持。
數據傳輸速率:支持高達 3Mbps 的波特率,能滿足大多數應用場景下的數據傳輸需求,確保數據的快速、穩定傳輸。 - 引腳功能
電源引腳:包括 VDD 和 GND,VDD 一般接 3.3V 或 5V 電源,為芯片提供工作所需的電能。
USB 接口引腳:D + 和 D - 是 USB 差分數據線,用于與計算機的 USB 接口進行通信,實現數據的傳輸和設備的識別。
UART 接口引腳:TXD 和 RXD 分別為 UART 的發送和接收引腳,用于與外部的 UART 設備進行數據交互,比如與微控制器、傳感器等設備連接。
其他引腳:如 RESET# 用于芯片復位,SUSPEND# 用于指示 USB 總線的掛起狀態等。 - 工作原理
當 CP2102 芯片連接到計算機的 USB 接口時,計算機會自動識別該設備,并加載相應的驅動程序。之后,計算機就可以通過 USB 接口向 CP2102 發送數據,CP2102 將接收到的 USB 數據轉換為 UART 格式的數據,再通過 TXD 引腳發送給外部的 UART 設備;反之,外部 UART 設備通過 RXD 引腳將數據發送給 CP2102,CP2102 將其轉換為 USB 格式的數據后,通過 USB 接口發送給計算機。 - 應用場景
嵌入式系統開發:在開發基于微控制器(如 STM32、Arduino 等)的項目時,可使用 CP2102 實現計算機與微控制器之間的通信,方便進行程序的下載和調試。
工業控制:在工業自動化領域,很多設備采用 UART 接口進行通信,CP2102 可以將這些設備與計算機連接起來,實現遠程監控和控制。
物聯網設備:在物聯網設備的開發過程中,需要將傳感器采集到的數據傳輸到計算機或云端服務器,CP2102 可以作為數據傳輸的橋梁,實現設備與上位機之間的通信。 - 硬件設計要點
電源設計:要保證電源的穩定性,可在 VDD 引腳附近添加去耦電容,以濾除電源中的高頻噪聲。
USB 接口設計:D + 和 D - 引腳需要連接合適的上拉電阻,以確保 USB 通信的穩定性。
晶體振蕩器:芯片內部集成了晶體振蕩器,但在 PCB 布局時,要注意晶體的位置和布線,避免受到干擾。 - 軟件驅動
Silicon Labs 公司為 CP2102 提供了完善的驅動程序,支持多種操作系統。在使用時,只需將 CP2102 連接到計算機,操作系統會自動識別并安裝驅動程序。安裝完成后,就可以像使用普通的串口設備一樣使用 CP2102 進行數據通信。
6、SP3485EN
SP3485EN - L/TR 是一款由 Maxim(美信)公司生產的低功耗、半雙工 RS - 485 收發器,在工業自動化、樓宇自動化、安防監控等領域有著廣泛的應用。下面為你詳細介紹:
- 主要特性
低功耗設計:該收發器采用低功耗技術,工作電流較低,適合對功耗有嚴格要求的應用場景,能有效降低系統的整體功耗。
寬電源電壓范圍:支持 3.0V 至 5.5V 的電源電壓,這使得它可以方便地與不同電源系統的設備進行集成,提高了其通用性和兼容性。
高數據傳輸速率:能夠支持高達 10Mbps 的數據傳輸速率,可滿足大多數高速數據通信的需求,確保數據的快速、準確傳輸。
增強的 ESD 保護:具備 ±15kV 的人體靜電放電(ESD)保護能力,可有效防止因靜電放電對芯片造成損壞,提高了芯片的可靠性和穩定性。
半雙工通信:采用半雙工通信模式,通過一個使能引腳來控制數據的發送和接收方向,適用于許多只需要單向數據傳輸的應用場景。 - 引腳功能
電源引腳:VCC 為電源輸入引腳,連接電源;GND 為接地引腳。
數據收發引腳:A 和 B 是 RS - 485 總線的差分數據引腳,用于連接外部的 RS - 485 網絡,實現數據的傳輸。
使能引腳:RE#(低電平有效)為接收使能引腳,DE(高電平有效)為發送使能引腳,通過控制這兩個引腳的電平狀態,可以切換芯片的數據收發模式。
其他引腳:RO 為接收器輸出引腳,用于輸出接收到的數據;DI 為驅動器輸入引腳,用于輸入要發送的數據。 - 工作原理
當 RE# 引腳為低電平、DE 引腳為低電平時,芯片處于接收模式,外部 RS - 485 總線上的數據通過 A 和 B 引腳輸入到芯片內部,經過處理后從 RO 引腳輸出。當 RE# 引腳為高電平、DE 引腳為高電平時,芯片處于發送模式,要發送的數據從 DI 引腳輸入到芯片內部,經過處理后通過 A 和 B 引腳發送到 RS - 485 總線上。 - 應用場景
工業自動化:在工業現場的分布式控制系統中,多個設備之間需要進行遠距離的數據通信,SP3485EN - L/TR 可以實現這些設備之間的 RS - 485 通信,保證數據的可靠傳輸。
樓宇自動化:用于樓宇內的各種智能設備(如空調、電梯、照明等)之間的通信,實現對樓宇設備的集中監控和管理。
安防監控:在安防監控系統中,可用于攝像頭、門禁等設備與監控中心之間的數據傳輸,確保監控數據的實時性和準確性。 - 硬件設計要點
總線終端電阻:在 RS - 485 總線的兩端需要連接 120Ω 的終端電阻,以匹配總線的特性阻抗,減少信號反射,提高通信的穩定性。
電源濾波:在 VCC 引腳附近需要添加適當的去耦電容,以濾除電源中的高頻噪聲,保證芯片的穩定工作。
隔離設計:在一些對電氣隔離要求較高的應用場景中,需要使用隔離變壓器或光耦等器件對 SP3485EN - L/TR 進行隔離,以防止不同設備之間的電氣干擾。 - 軟件編程
在使用 SP3485EN - L/TR 進行通信時,需要根據具體的應用需求編寫相應的軟件程序。一般來說,需要通過控制 RE# 和 DE 引腳的電平狀態來切換芯片的數據收發模式,同時要處理好數據的發送和接收邏輯。例如,在單片機控制的系統中,可以使用 GPIO 引腳來控制 RE# 和 DE 引腳,使用串口通信來實現數據的發送和接收。
7、K11-11D3
功能:電壓轉0/4~20mA輸出。
參數:
- 0.1%高精度
- 校準便宜0.05%
- 引腳ESD保護≥4000V
- 8~36V寬電壓供電
四、設計PCB
直接使用上述模塊,線路非常雜亂,因此,我們需要自己設計一塊PCB底板。開發工具使用立創EDA。
相關資料已經放在本文第一節,“資源分享”。
1、安裝下載立創EDA專業版
2、畫原理圖
3、擺放元器件,設計規則,淚滴,鋪銅。
4、使用嘉立創下單助手進行下單,打板。
實物如圖:
五、軟件設計
1、編寫STM32單片機代碼
工程目錄如圖所示:
2、編寫手機客戶端代碼
六、使用教程
1、準備
1、將STM32F103RCT6核心板,插在底板左上角,TYPE-C口朝上,SWD下載口朝下。
2、將TFT LCD插在底板響應位置。
3、插入AT24C02。
4、ESP8266插在相應位置。
5、接好PT100溫度變送器。
6、在手機端安裝機智云APP。
7、PC端安裝MODBUS上位機。
2、燒錄軟件
下載代碼需要提前安裝好MDK環境,準備好SWD下載器,在MDK中進行“LOAD”下載。
3、實驗驗證
1、通過將PT100放在裝了熱水的水杯里,此時顯示屏上溫度值和電流值會變化。
2、使用modbus上位機發送指令,回收到板子回復的溫度信息。
3、使用萬用表,調到電流檔,可以通過板子上的IOUT口測量電流輸出。
STM32
手機APP