博客 / 詳情

返回

基於 STM32 的智能馬桶系統設計與實現【源碼分享】

基於 STM32 的智能馬桶系統設計與實現【源碼分享】【免費】

智能馬桶主控板軟硬件設計全解析(STM32F0 + HAL + FreeRTOS + Flutter App)

一、項目背景與概述

隨着智能家居的發展,智能馬桶已成為家庭衞浴場景中的高頻智能產品。相比傳統馬桶,智能馬桶在即熱式加熱、安全保護、清洗模式、健康監控等方面具備更高的技術要求。本項目基於 STM32F0 系列 MCU 設計了一款完整的智能馬桶主控系統,功能覆蓋電控加熱、風機控制、閥體控制、藍牙通信、健康數據上報等模塊,同時提供配套 Flutter 手機 App 用於交互。

項目採用 ST HAL 庫 + FreeRTOS 架構,具備良好的擴展性,方便後期加入 WiFi 聯網、用户習慣模型、自定義温控策略等功能。


在這裏插入圖片描述

源碼分享

免費開源

https://blog.csdn.net/weixin_52908342/article/details/155538872

二、硬件設計(PCB)

硬件架構上包含以下功能模塊:

  • STM32F0 主控(核心控制邏輯)
  • 即熱式加熱模塊控制
  • DC 電磁閥與脈衝閥驅動電路
  • 風機驅動與温度檔位控制
  • 藍牙模塊(可替換為 2.4G 模塊)
  • 電源管理(12V/5V/3.3V)
  • 按鍵輸入與安全檢測

1. PCB 注意事項與優化建議

在實際調試中發現幾個可進一步優化的點:

✔ 12V MOSFET 控制端建議加下拉電阻

Q1 ~ Q5 的控制端加入適當的下拉電阻,可避免上電初期 MCU 未初始化時導致 MOSFET 漏觸發的問題。

✔ 藍牙模塊可替換為 2.4GHz(nRF24L01)

原藍牙方案在協議和移動端兼容性方面稍有限制,推薦使用 2.4G,減少配對與信號干擾問題,同時能更輕量地接入數據庫。

✔ 部分電阻標值需根據實際設計校準

早期設計中部分阻值未統一,調試時已根據情況校準,後續可按 wiki 文檔更新 PCB。


在這裏插入圖片描述

三、軟件架構設計(STM32 主控)

本系統採用 FreeRTOS 構建任務體系,將智能馬桶的各模塊功能拆分為獨立任務,使邏輯清晰、可維護性更強。

軟件架構如下:

模塊 功能
加熱控制任務 即熱式模塊啓停、温度 PID 控制、安全過温保護
水路控制任務 脈衝閥控制、大/小沖水邏輯、停電保護策略
風機與風温任務 檔位調節、風温控制
按鍵任務 本地物理按鍵事件解析、防抖處理
藍牙通信任務 與 Flutter App 交互、健康數據上報
系統監控任務 看門狗、錯誤監控、定時器溢出兜底處理

主控基於 HAL 庫開發,對應 IO 控制清晰簡潔,適合快速維護與移植。


四、手機 App(Flutter)設計

項目提供一個 Flutter 編寫的簡單調試/控制 App,用於藍牙配對、遠程操作、健康數據查看等功能。

1. 藍牙 ID 配置

修改 conBan.dart 中的藍牙 ID 即可完成配對:

var _BTid = "00:15:83:00:AB:00";

如果不知道設備 ID,可直接運行調試模式,App 會自動 scan 並打印掃描到的藍牙地址,在控制枱查看後填入即可。

2. 健康數據時間戳問題

當前 APP 的時間戳可能存在誤差,推測為手機本地設置或藍牙傳輸的緩存延遲問題。由於後續計劃加入 WiFi + 雲端同步,因此暫未深入修復。

未來調整方向:

  • 控制協議與數據協議分離
  • 引入個人習慣記錄(如温度偏好 / 風温偏好 / 座圈温度等)
  • 健康數據通過 WiFi 上傳,藍牙只負責實時控制

五、已知問題與後續優化計劃

在這裏插入圖片描述

1. 按鍵邏輯順序錯誤(已修復)

原始按鍵事件的優先級與觸發順序不正確,導致長按/短按邏輯錯亂。已在最新版中修復邏輯。

2. 按鍵事件與電池 hold 動作衝突

由於按鍵 IO 與 hold 電池供電邏輯共用部分通道,可能導致:

  • 沖水動作中斷電 → 沖水無法停止
  • 需要再次按下按鍵才能恢復

臨時解決方案:
除停電衝水外,不持續 hold dcs_pin

後續計劃:
將脈衝閥驅動電路獨立,使用 6V 驅動即可保持穩定的沖水能力,並實現停電時仍可大/小衝。

3. 風温檔位切換會導致計時器停止

原因:計時器設置了“為0後自動停止”,切換檔位時觸發該邏輯導致停止。
將在項目收尾後統一更新。


六、項目總結

這是一個從硬件到軟件、從 MCU 到移動端完整實現的智能馬桶控制系統。核心亮點包括:

  • 基於 STM32F0 + FreeRTOS 的模塊化架構
  • 支持即熱式模塊的實時温控
  • Flutter App 簡易交互,藍牙直連體驗
  • 全套可複用的 PCB + 軟件方案
  • 結構開放,適合繼續擴展成更完整的智能家居產品

該項目仍在持續更新,更多內容可查看 wiki,也歡迎提出建議或進行二次開發。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.