系列文章目錄
文章目錄
- 系列文章目錄
- 前言
- 1 資料獲取與演示視頻
- 1.1 資料介紹
- 1.2 資料獲取
- 1.3 演示視頻
- 2 系統框架
- 3 硬件
- 3.1 主控制器
- 3.2 顯示屏
- 3.3 WIFI模塊
- 3.4心率血氧傳感器
- 4 設計PCB
- 4.1 安裝下載立創EDA專業版
- 4.2 畫原理圖
- 4.4 使用嘉立創下單助手進行下單,打板。
- 4.5 實物圖
- 5 軟件設計
- 5.1 編寫STM32單片機代碼
- 5.2 設計手機客戶端
- 6 proteus仿真
- 7 實驗測試
- 7.1 準備
- 7.2 燒錄軟件
- 7.3 實驗驗證
- 總結
前言
本文設計出一款基于STM32單片機的心率血氧值監測系統。
主要功能如下:
1、檢測人體的心率和血氧值。
2、按鍵調節閾值,超出閾值聲光報警。
3、閾值保存到AT24C02,掉電不丟失,實現數據永久化存儲。
4、顯示屏實時顯示數據。
5、通過ESP8266連接 機智云平臺,實現單片機-手機APP交互。
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心率血氧傳感器
心率血氧傳感器使用MAX30102,如圖:
產品介紹:
MAX30102是一個集成的脈搏血氧儀和監測儀生物傳感器的模塊。它集成了一個紅光LED和一個紅外光LED、光電檢測器、光器件,以及環境光抑制的低噪聲電子電路。MAX30102采用一個1.8V電源和一個獨立的5.0V用于內部LED燈源。應用于可穿戴設備進行心率和血氧采集檢測,佩戴于手指、耳垂和手腕等處。標準和I2X兼容的通信接口可以將采集到的數值傳輸給單片機進行心率和血氧計算。此外,該芯片還可通過軟件關斷模塊,待機電流接近為0,實現電源始終維持供電狀態。
工作原理:
1.光溶積法:利用人體組織在血管搏動時造成透光率不同來進行脈搏和血氧飽和度測量的
2.光源:采用對動脈血中氧合血紅蛋白(Hb02)和血紅蛋白.(Hb)有選擇性的特定波長的發光二極管
3.透光率轉化為電信號動脈搏動充血容積化導到光的透光率發生改變,此時由光電變換接收經人體組織反射光線,轉變為電信號并將其放大和輸出。
4 設計PCB
直接使用上述模塊,線路非常雜亂,因此,我們需要自己設計一塊PCB底板。開發工具使用立創EDA。
相關資料已經放在本文第一節。
4.1 安裝下載立創EDA專業版
4.2 畫原理圖
4.3 擺放元器件,設計規則,淚滴,鋪銅。
4.4 使用嘉立創下單助手進行下單,打板。
4.5 實物圖
實物如圖:
5 軟件設計
5.1 編寫STM32單片機代碼
工程目錄如圖所示:
5.2 設計手機客戶端
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、AT24C02永久存儲測試
5、手機客戶端測試
演示視頻:
基于STM32單片機的心率血氧值監測系統(STM32代碼編寫+手機APP設計+PCB設計+Proteus仿真)
總結
以上,就是基于STM32單片機的心率血氧監測系統設計,包含實物,仿真、PCB,手機APP等,并對每個環節進行了詳細測試。