5 基于STM32單片機的絕緣檢測系統設計(STM32代碼編寫+手機APP設計+PCB設計+Proteus仿真)

系列文章目錄


文章目錄

  • 系列文章目錄
  • 前言
  • 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 位微控制器,以下從其性能參數、功能特性、應用領域等方面進行介紹:

  1. 主頻
    最高可達 72MHz,具備 1.25DMIPS/MHz 的運算能力,能夠快速處理各種指令和任務。
    內核處理器:采用 ARM Cortex-M3 內核,具有高性能、低功耗的特點,支持 Thumb-2 指令集,能夠高效地執行各種指令。

  2. 存儲
    擁有 64KB 的 Flash 存儲器,用于存儲程序代碼和常量數據;20KB 的 SRAM,用于存儲運行時的變量和臨時數據。

  3. 豐富的外設接口
    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. 時鐘系統
    內置 4-16MHz 的高速內部時鐘(HSI)和 32KHz 的低速內部時鐘(LSI),也可通過外部晶振提供更高精度的時鐘源,通常包括一個 8MHz 的高速外部時鐘(HSE)和一個 32.768KHz 的低速外部時鐘(LSE),為芯片內部各個模塊提供精確的時鐘信號,確保它們能夠同步工作。

  5. 其他功能
    集成了看門狗定時器、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)和嵌入式系統設計。
以下是其詳細介紹:

  1. 核心架構與性能
    處理器:采用 32 位 Tensilica L106 RISC 處理器,主頻支持 80MHz 或 160MHz,集成 TCP/IP 協議棧,可直接運行用戶程序。
    內存配置:
    閃存(Flash):提供 1MB 或 4MB 兩種版本(具體型號差異),用于存儲固件和用戶代碼。
    RAM:64KB,支持程序運行和數據緩存。
    通信協議:支持 802.11b/g/n 標準,數據傳輸速率最高 4Mbps,覆蓋 2.4GHz 頻段,支持 STA、AP、STA+AP 三種工作模式。

  2. 硬件資源與接口
    引腳定義:
    供電: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)實現。

  3. 低功耗特性
    工作模式:
    活躍模式:傳輸時電流約 170mA,接收時 56mA。
    睡眠模式:
    輕睡眠:電流約 10mA,保留網絡連接。
    深度睡眠:電流低至 20μA,適用于電池供電設備。
    喚醒方式:支持定時喚醒、GPIO 觸發喚醒或 UART 數據喚醒。

  4. 應用場景
    智能家居:通過 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 可調電位器

在這里插入圖片描述
調電位器是一種可以手動調節電阻值的電子元件,廣泛應用于各種電子設備中,通過改變電阻值來控制電路中的電流、電壓等參數。

  1. 基本結構
    可調電位器通常由以下幾個關鍵部分組成:
    電阻體:是實現電阻調節的核心部分,一般由碳膜、金屬膜、導電塑料等材料制成,其電阻值分布決定了調節的特性。
    滑動觸點:與電阻體緊密接觸,能在電阻體上滑動,通過改變與電阻體接觸的位置來改變接入電路的電阻值。
    引出端:通常有三個引腳,其中兩個引腳連接電阻體的兩端,稱為固定端;另一個引腳連接滑動觸點,稱為滑動端。
    調節機構:包括旋鈕、滑桿等,用于手動操作滑動觸點在電阻體上移動,實現電阻值的調節。
  2. 工作原理
    可調電位器的工作原理基于分壓或限流的特性。當它接入電路時,滑動觸點將電阻體分成兩個部分。
    若將兩個固定端接入電路,滑動端可以從中取出一部分電壓,實現分壓功能,例如在音量調節電路中,通過改變滑動端的位置來改變輸出電壓,從而調節音量大小。
    若將一個固定端和滑動端接入電路,則接入電路的電阻值為該部分電阻體的電阻,通過滑動觸點改變接入長度來改變電阻值,實現限流功能,比如在一些小電流電路中調節電流大小。
  3. 主要類型
    根據不同的分類標準,可調電位器有多種類型:
    按調節方式:
    旋轉式可調電位器:通過旋轉旋鈕來調節電阻值,是最常見的類型,如收音機、音響的音量旋鈕。
    直滑式可調電位器:通過沿直線滑動滑桿來調節,常用于一些需要線性調節的場合,如調音臺的推子。
    按電阻體材料:
    碳膜可調電位器:成本較低,性能一般,適用于對精度要求不高的電路。
    金屬膜可調電位器:精度較高,溫度穩定性好,適用于要求較高的電路。
    導電塑料可調電位器:壽命長,耐磨性好,線性度高,常用于需要頻繁調節的場合。
    按用途:
    普通可調電位器:適用于一般的電路調節。
    精密可調電位器(微調電位器):體積較小,調節精度高,常用于電路的校準和微調,如儀器儀表中的校準電路。

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仿真)


總結

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91872.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91872.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91872.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CPP學習之list使用及模擬實現

一、list簡介及用法 1. list簡介 list是可以在常數范圍內任意位置進行插入、刪除、修改操作的有順序性的容器,而且支持雙向迭代,其底層是雙鏈表結構,邏輯上連續但物理空間上不連續,只能通過指針來進行元素訪問,無法使用…

Spring Boot 參數校驗:@Valid 與 @Validated

在日常開發中,參數校驗是保障接口健壯性與數據安全的第一道防線。Spring Boot 為我們提供了基于 JSR-303/JSR-380 的強大校驗機制,通過注解與 AOP 實現了靈活且高效的數據校驗方式。本篇博客將詳細介紹 Spring Boot 中 Valid、Validated 注解的使用方法&…

linux看門狗重啟定位思路總結

1,看門狗定位思路(1)是否是死鎖導致查看日志查看是否有RCU install或者deadlock相關打印,如果有的話可以考慮使用lockdep死鎖檢測工具(2)中斷風暴查看中斷,抓中斷打印,可以查看/proc…

基于單片機直流電機測速中文液晶顯示設計

摘 要 在現在工業自動化高度發展的時期,幾乎所有的工業設備都離不開旋轉設備,形形色色的電機在不同領域發揮著很重要的作用。不同場合對電機控制要求是不同的,但大部分都會涉及到旋轉設備的轉速測量,從而利用轉速來實施對旋轉設備…

c# sqlsugar 主子表明細 查詢

在使用 SqlSugar ORM 進行數據庫操作時,特別是在處理主子表關系時,通常需要執行關聯查詢來獲取主表和其子表的數據。SqlSugar 提供了強大的查詢能力,支持多種方式的關聯查詢,包括左連接(Left Join)、內連接…

研華PCI-1285/1285E 系列------(一概述)

PCI-1285/1285E 系列是基于 DSP 的 SoftMotion PCI 總線控制器卡,專為各種電機自動 化和其它機器自動化的廣泛應用設計。板卡配有高性能 DSP,其中包括 SoftMotion算法,能夠實現運動軌跡和時間控制,以滿足精確運動中的同步應用需求。 研華 SoftMotion 支持以下特性:龍門…

二代身份證識別技術的發展:從機器學習到深度學習

一、技術發展歷程1. 傳統機器學習時代(2000-2012)特征工程方法:主要依賴手工設計的特征(HOG、SIFT、LBP等)分類器技術:支持向量機(SVM)、隨機森林、AdaBoost等OCR技術:基于模板匹配和連通區域分…

云服務器如何設置防火墻和安全組規則?

一、安全組(Security Group)設置安全組是云平臺提供的虛擬防火墻,用于控制 入站(Ingress)和出站(Egress)流量。1. 基本安全組規則(推薦)協議端口源IP用途是否必需TCP22你…

排序【各種題型+對應LeetCode習題練習】

目錄 常用排序 快速排序 LeetCode 912 排序數組 歸并排序 LeetCode 912 排序數組 常用排序 名稱排序方式時間復雜度是否穩定快速排序分治O(n log n)否歸并排序分治O(n log n)是冒泡排序交換O(n)是插入排序插入O(n)是選擇排序選擇最值O(n)否C STL sort快排內省排序O(n log…

鴻蒙與web混合開發雙向通信

鴻蒙與web混合開發雙向通信用runJavaScript和registerJavaScriptProxy web entry/src/main/resources/rawfile/1.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&q…

unity Physics.RaycastNonAlloc

Physics.RaycastNonAlloc 是 Unity 中用于 3D 物理射線檢測的高性能方法&#xff0c;它是 Physics.Raycast 的非分配版本。 方法簽名 public static int RaycastNonAlloc(Ray ray, RaycastHit[] results, float maxDistance Mathf.Infinity, int layerMask DefaultRaycastLay…

數據庫(five day finally)——物物而不物于物,念念而不念于念。(數據庫到此結束!祝世間美好與各位不期而遇,善意常伴汝身!)

1.子查詢&#xff08;1&#xff09;where 子查詢①多行單列配合in和not in操作&#xff08;類似于數據范圍查詢&#xff09;例&#xff1a;顯示工資與各個經理相同的雇員信息&#xff08;包含經理本身&#xff09;。select * from empwhere sal(select sal from emp where jobM…

【甲烷數據集】Sentinel-5P 衛星獲取的全球甲烷數據集-TROPOMI L2 CH?

目錄 數據概述 傳感器 & 衛星信息 監測目標:甲烷(CH?) 數據產品內容 空間與時間覆蓋 云篩選與協同觀測 技術文檔資源 數據下載 Python 代碼繪制 CH4 數據 參考 數據概述 Sentinel-5 Precursor Level 2 Methane (TROPOMI L2 CH?) 數據集是由歐洲哥白尼計劃的 Sentinel…

【數據結構】單鏈表練習(有環)

1.判斷是否是環形鏈表 141. 環形鏈表 - 力扣&#xff08;LeetCode&#xff09; bool hasCycle(struct ListNode *head) {struct ListNode *fast,*slow;fastslowhead;while(fast&&fast->next){fastfast->next->next;slowslow->next;if(fastslow)return tr…

VR 污水廠初體驗:顛覆傳統認知?

第一次戴上 VR 設備走進 VR 污水廠時&#xff0c;那種震撼的感覺至今難以忘懷。仿佛一瞬間&#xff0c;我被傳送到了一個全新的世界&#xff0c;平日里只能在圖紙或實地看到的污水廠&#xff0c;此刻就立體地呈現在眼前。腳下是縱橫交錯的管道&#xff0c;頭頂巨大的處理設備有…

父類 div 自適應高度 子類如何撐滿其高度

使用絕對定位 如果你想要子元素完全撐滿父元素的高度&#xff0c;可以使用絕對定位。這種方法適用于當子元素需要完全覆蓋父元素時。<div class"parent"><div class"child"><!-- 子類內容 --></div> </div>.parent {positio…

從0開始學習R語言--Day51--PH檢驗

在用cox回歸做分析時&#xff0c;我們一般會得出各種變量在結局的風險影響&#xff08;HR大于1&#xff0c;就代表變量值增大&#xff0c;對應結局影響的風險就隨之增大&#xff09;&#xff0c;但是這里有個壞處是&#xff0c;cox回歸得到的是瞬時風險值&#xff0c;我們最多得…

Docker 網絡原理

Linux 常見網絡虛擬化 虛擬網卡:tun/tap虛擬網卡&#xff08;又稱虛擬網絡適配器&#xff09;&#xff0c;即用軟件模擬網絡環境&#xff0c;模擬網絡適配器。在計算機網絡中&#xff0c;tun 與 tap 是操作系統內核中的虛擬網絡設備。不同于普通靠硬件網絡適配器實現的設備&…

【通識】PCB文件

1. PCB文件的導入 在PORTEL99 PCB編輯器的文件菜單中選擇導入先前繪制的CAD文件。導入成功后&#xff0c;編輯器將顯示出元件封裝的基本圖形&#xff0c;為后續操作奠定基礎。將需要抄板的PCB放置于掃描儀中隨后啟動掃描儀&#xff0c;之后啟動AUTO CAD軟件&#xff0c;之后插入…

分布式彈性故障處理框架——Polly(1)

1 前言之服務雪崩 在我們實施微服務之后&#xff0c;服務間的調用變得異常頻繁&#xff0c;多個服務之前可能存在互相依賴的關系&#xff0c;當某個服務出現故障或者是因為服務間的網絡出現故障&#xff0c;導致服務調用的失敗&#xff0c;進而影響到某個業務服務處理失敗&…