Ⅰ 用STM32做了個電子秤,電路代碼原理挺簡單的
這個基於STM32和HX711的智能體重秤項目在開源網站上被發現,不僅能夠測量體重,還能調整測量單位,支持克和千克,最低測量單位可設置為100克。這里分享了項目的開源教程,涵蓋了功能、硬體組成、電路原理、軟體解析以及注意事項。這個項目成本低廉,僅為67元,由7個部分的硬體組成,包括電源電路、主控電路、晶振電路、稱重電路、穩壓電路、通信電路、復位電路和OLED顯示介面。
HX711是一種高精度的稱重感測器處理晶元,能夠通過四個壓力應變片構成全橋來精確測量體重。主控晶元STM32與HX711通信,通過解析壓力應變片的變形量來計算重量,再與手機端的MX-01藍牙模塊進行數據傳輸。以下是電路拆分解析:
- **電源電路**:由TYPE-C介面、鋰電池模塊、充電電路組成,提供穩定的電源。充電完成後,LED2指示燈亮起,TP4056晶元管理鋰電池充電。P2介面接入3.7V鋰電池。
- **主控電路**:選用STM32F103C8T6作為主控晶元,具備2.0v~3.6v的工作電壓,最大時鍾頻率為72MHz,擁有64KB的快閃記憶體和20KB的SRAM,支持多種通信和外部設備連接需求。電源輸入部分需添加100nf電容進行濾波。
- **晶振電路**:使用32.768Khz的低速晶振和8Mhz的高速晶振,配置時鍾輸入源為外部輸入。
- **稱重電路**:HX711作為數模轉換晶元,通過SPI或簡化串列介面將模擬信號轉換為便於與微控制器通信的數字數據。壓力感測器通過全橋連接方式接入HX711的E+、A+、GND、A-介面。
- **穩壓電路**:採用AMS1117穩壓晶元輸出3.3V。
- **通信電路**:通過藍牙模塊MA-01A實現與手機的無線連接,支持BLE5.2藍牙介面,具有良好的通信距離和低功耗特性。
- **復位電路**:通過按下主控的RESET引腳實現復位,松開後系統重新啟動。
- **OLED顯示介面**:OLED顯示器通過I2C協議與主控晶元通信,用於顯示體重信息。
軟體解析包括手機端應用和嵌入式軟體兩個部分:
- **手機端應用**:採用微信小程序設計,能夠存儲和分析稱重數據,並通過ec-canvas控制項動態展示圖表。
- **嵌入式軟體**:使用STM32CUBE進行時鍾配置,關鍵代碼包括從HX711模塊讀取感測器數值、將壓力感測器數值轉換為重量並儲存、OLED顯示字元串代碼等。
注意事項涉及原理圖繪制、布線和調試的關鍵點,確保項目成功實現。
本項目為開源,旨在提供一個成本低廉、功能全面的智能體重秤解決方案,適合DIY愛好者和技術學習者。詳細資料和源代碼可下載獲取。通過關注嘉立創EDA頭條號,可獲得一手優質開源項目的最新動態和資源。