系列文章目錄
文章目錄
- 系列文章目錄
- 前言
- 1 1 資料獲取與演示視頻
- 1.1 資料介紹
- 1.2 資料獲取
- 1.3 演示視頻
- 2 系統框架
- 3 硬件
- 3.1 主控制器
- 3.2 顯示屏
- 3.3 WIFI模塊
- 3.4 DHT11溫濕度傳感器
- 3.5 可調電位器
- 4 設計PCB
- 4.1 安裝下載立創EDA專業版
- 4.2 畫原理圖
- 4.3 擺放元器件,設計規則,淚滴,鋪銅。
- 4.4 使用嘉立創下單助手進行下單,打板。
- 4.5 實物圖
- 5 軟件設計
- 5.1 編寫STM32單片機代碼
- 5.2 設計手機APP
- 6 proteus仿真
- 7 實驗測試
- 7.1 準備
- 7.2 燒錄軟件
- 7.3 實驗驗證
- 總結
前言
本文設計出一款基于STM32單片機的絕緣檢測系統。
主要功能如下:
1、STM32F103C8T6單片機作為主控制器。
2、DHT11溫濕度傳感器采集溫濕度
3、測量未知物體阻值
4、語音實時播報當前溫度、濕度、電阻值
5、閾值可以調節,超出閾值報警
6、OLED實時顯示當前信息
7、通過ESP8266連接OneNET云平臺,實現單片機-OneNET云平臺-手機APP三方交互。
1 1 資料獲取與演示視頻
1.1 資料介紹
1.2 資料獲取
完整資料獲得鏈接:
咸魚:【勝磊電子】基于STM32單片機的絕緣檢測系統設計(STM32代碼編寫+手機APP設計+PCB設計+Proteus仿真)
淘寶:【勝磊電子】基于STM32單片機的絕緣檢測系統設計(STM32代碼編寫+手機APP設計+PCB設計+Proteus仿真)
1.3 演示視頻
嗶哩嗶哩:【勝磊電子】基于STM32單片機的絕緣檢測系統設計(STM32代碼編寫+手機APP設計+PCB設計+Proteus仿真)
2 系統框架
系統框架如圖所示:
單片機整體框圖:
3 硬件
3.1 主控制器
主控制器選擇STM32F103C8T6,在淘寶上買的,如下圖所示:
STM32F103C8T6 是意法半導體(ST)推出的一款基于 ARM Cortex-M3 內核的 32 位微控制器,以下從其性能參數、功能特性、應用領域等方面進行介紹:
-
主頻
最高可達 72MHz,具備 1.25DMIPS/MHz 的運算能力,能夠快速處理各種指令和任務。
內核處理器:采用 ARM Cortex-M3 內核,具有高性能、低功耗的特點,支持 Thumb-2 指令集,能夠高效地執行各種指令。 -
存儲
擁有 64KB 的 Flash 存儲器,用于存儲程序代碼和常量數據;20KB 的 SRAM,用于存儲運行時的變量和臨時數據。 -
豐富的外設接口
USART:集成了 3 個 USART(通用同步異步收發器)接口
SPI:2 個 SPI(串行外設接口)接口
I2C:2 個 I2C(Inter-Integrated Circuit)接口
USB: 1 個 USB 2.0 全速接口
定時器:包含 7 個定時器,其中包括 4 路 PWM 輸出,可用于脈沖寬度調制、輸入捕獲、輸出比較、正交編碼器接口等功能,廣泛應用于電機控制、脈沖信號生成等領域。
ADC(模數轉換器):內置 2 個 12 位 ADC,轉換時間僅為 1μs,具有 10 個通道,可對多路模擬信號進行快速采樣轉換,適用于各種需要采集模擬信號的場景,如傳感器數據采集等。 -
時鐘系統
內置 4-16MHz 的高速內部時鐘(HSI)和 32KHz 的低速內部時鐘(LSI),也可通過外部晶振提供更高精度的時鐘源,通常包括一個 8MHz 的高速外部時鐘(HSE)和一個 32.768KHz 的低速外部時鐘(LSE),為芯片內部各個模塊提供精確的時鐘信號,確保它們能夠同步工作。 -
其他功能
集成了看門狗定時器、CRC 計算單元、RTC 實時時鐘、SysTick 定時器、DMA(Direct Memory Access)控制器等,進一步增強了芯片的功能和可靠性。支持 JTAG(Joint Test Action Group)和 SWD(Single Wire Debug)調試接口,方便開發人員連接調試器進行程序調試和下載,提高開發效率。
3.2 顯示屏
使用1.8寸顯示屏,分辨率128*160。如圖,
1.8寸彩屏,支持16BIT RGB 65K彩色顯示,顯示色彩豐富
128X160分辨率,顯示清晰
采用SPI串行總線,只需幾個IO即可點亮顯示
帶SD卡槽方便功能擴展
軍工級工藝標準,長期穩定工作
3.3 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 連接控制燈光、空調、門鎖等設備。
環境監測:采集溫濕度、空氣質量等數據并上傳至云端。
工業自動化:遠程監控設備狀態,實現無線數據傳輸。
智能農業:監測土壤濕度、光照等參數,優化種植管理。
3.4 DHT11溫濕度傳感器
使用DHT11模塊檢測環境的溫度和濕度。
DHT11 是一款濕溫度一體化的數字傳感器。該傳感器包括一個電阻式測濕元件和一個 NTC測溫元件,并與一個高性能 8 位單片機相連接。通過單片機等微處理器簡單的電路連接就能夠實時的采集本地濕度和溫度。DHT11 與單片機之間能采用簡單的單總線進行通信,僅僅需要一個 I/O 口。傳感器內部濕度和溫度數據 40Bit 的數據一次性傳給單片機,數據采用校驗和方式進行校驗,有效的保證數據傳輸的準確性。DHT11 功耗很低,5V 電源電壓下,工作平均最大電流 0.5mA。
DHT11 的技術參數如下:
? 工作電壓范圍:3.3V-5.5V
? 工作電流 :平均 0.5mA
? 輸出:單總線數字信號
? 測量范圍:濕度 20~90%RH,溫度 0~50℃
? 精度 :濕度±5%,溫度±2℃
? 分辨率 :濕度 1%,溫度 1℃
DHT11 數字濕溫度傳感器采用單總線數據格式。即,單個數據引腳端口完成輸入輸出雙向傳輸。其數據包由 5Byte(40Bit)組成。數據分小數部分和整數部分,一次完整的數據傳輸為40bit,高位先出。DHT11 的數據格式為:8bit 濕度整數數據+8bit 濕度小數數據+8bit 溫度整數
數據+8bit 溫度小數數據+8bit 校驗和。其中校驗和數據為前四個字節相加。
傳感器數據輸出的是未編碼的二進制數據。數據(濕度、溫度、整數、小數)之間應該分開處理。例如,某次從 DHT11 讀到的數據如圖所示:
由以上數據就可得到濕度和溫度的值,計算方法:
濕度= byte4 . byte3=45.0 (%RH)
溫度= byte2 . byte1=28.0 ( ℃)
校驗= byte4+ byte3+ byte2+ byte1=73(=濕度+溫度)(校驗正確)
可以看出,DHT11 的數據格式是十分簡單的,DHT11 和 MCU 的一次通信最大為 3ms 左右,
建議主機連續讀取時間間隔不要小于 100ms。
下面,我們介紹一下 DHT11 的傳輸時序。DHT11 的數據發送流程如圖所示:
首先主機發送開始信號,即:拉低數據線,保持 t1(至少 18ms)時間,然后拉高數據線 t2(20~40us)時間,然后讀取 DHT11 的響應,正常的話,DHT11 會拉低數據線,保持 t3(40~50us)時間,作為響應信號,然后 DHT11 拉高數據線,保持 t4(40~50us)時間后,開始輸出數據。
DHT11 輸出數字‘0’的時序如圖所示:
DHT11 輸出數字‘1’的時序如圖所示:
通過以上了解,我們就可以通過 STM32 來實現對 DHT11 的讀取了。
3.5 可調電位器
調電位器是一種可以手動調節電阻值的電子元件,廣泛應用于各種電子設備中,通過改變電阻值來控制電路中的電流、電壓等參數。
- 基本結構
可調電位器通常由以下幾個關鍵部分組成:
電阻體:是實現電阻調節的核心部分,一般由碳膜、金屬膜、導電塑料等材料制成,其電阻值分布決定了調節的特性。
滑動觸點:與電阻體緊密接觸,能在電阻體上滑動,通過改變與電阻體接觸的位置來改變接入電路的電阻值。
引出端:通常有三個引腳,其中兩個引腳連接電阻體的兩端,稱為固定端;另一個引腳連接滑動觸點,稱為滑動端。
調節機構:包括旋鈕、滑桿等,用于手動操作滑動觸點在電阻體上移動,實現電阻值的調節。 - 工作原理
可調電位器的工作原理基于分壓或限流的特性。當它接入電路時,滑動觸點將電阻體分成兩個部分。
若將兩個固定端接入電路,滑動端可以從中取出一部分電壓,實現分壓功能,例如在音量調節電路中,通過改變滑動端的位置來改變輸出電壓,從而調節音量大小。
若將一個固定端和滑動端接入電路,則接入電路的電阻值為該部分電阻體的電阻,通過滑動觸點改變接入長度來改變電阻值,實現限流功能,比如在一些小電流電路中調節電流大小。 - 主要類型
根據不同的分類標準,可調電位器有多種類型:
按調節方式:
旋轉式可調電位器:通過旋轉旋鈕來調節電阻值,是最常見的類型,如收音機、音響的音量旋鈕。
直滑式可調電位器:通過沿直線滑動滑桿來調節,常用于一些需要線性調節的場合,如調音臺的推子。
按電阻體材料:
碳膜可調電位器:成本較低,性能一般,適用于對精度要求不高的電路。
金屬膜可調電位器:精度較高,溫度穩定性好,適用于要求較高的電路。
導電塑料可調電位器:壽命長,耐磨性好,線性度高,常用于需要頻繁調節的場合。
按用途:
普通可調電位器:適用于一般的電路調節。
精密可調電位器(微調電位器):體積較小,調節精度高,常用于電路的校準和微調,如儀器儀表中的校準電路。
4 設計PCB
直接使用上述模塊,線路非常雜亂,因此,我們需要自己設計一塊PCB底板。開發工具使用立創EDA。
相關資料已經放在本文第一節。
4.1 安裝下載立創EDA專業版
4.2 畫原理圖
4.3 擺放元器件,設計規則,淚滴,鋪銅。
4.4 使用嘉立創下單助手進行下單,打板。
4.5 實物圖
實物如圖:
5 軟件設計
5.1 編寫STM32單片機代碼
工程目錄如圖所示:
5.2 設計手機APP
手機APP設計完成如下:
6 proteus仿真
本系統使用proteus8.17進行仿真測試。
完整視頻請看本文1.3 演示視頻
7 實驗測試
7.1 準備
1、準備好硬件實物,接好傳感器和其他外設。
2、將TFT LCD插在底板響應位置。
3、ESP8266插在相應位置。
4、在手機端安裝APP。
5、上電
7.2 燒錄軟件
下載代碼需要提前安裝好MDK環境,準備好SWD下載器,在MDK中進行“LOAD”下載。
7.3 實驗驗證
1、 proteus仿真測試
2、溫濕度傳感器測試
3、電阻測量測試
4、語音播報測試
5、閾值調節,報警測試
6、單片機-OneNET云平臺-手機APP三方交互測試
演示視頻:
基于STM32單片機的絕緣檢測系統(STM32代碼編寫+手機APP設計+PCB設計+Proteus仿真)