STM32精準控制水流

如何用STM32精準控制水的流量?

一、系統組成框圖

  +-------------+     +------------+     +-----------+     +-------------+|             |     |            |     |           |     |             || 流量傳感器  +----->   STM32    +----->|  驅動電路 +----->| 水泵/比例閥  || (Feedback)  |     | (Controller)|     | (Driver)  |    | (Actuator)  ||             |     |            |     |           |     |             |+-------------+     +------------+     +-----------+     +-------------+^                                                    ||                                                    |+----------------------------------------------------+(閉環控制)

二、硬件選型

  1. 霍爾傳感器測水量(體積):內部有葉輪和磁鐵,水流推動葉輪旋轉,產生脈沖信號(頻率與流量成正比)。優點:價格便宜、接口簡單(只需一個GPIO引腳計數)、壽命長。缺點:有最低啟動流量要求。對于大多數應用,脈沖輸出的霍爾傳感器是性價比最高的選擇。STM32的定時器編碼器模式或輸入捕獲模式可以非常精準地測量脈沖頻率。

  2. 進水流量調節

    • 比例閥/電動調節閥:通過輸入PWM信號或模擬信號(0-5V/4-20mA)來精確控制閥門的開度,從而線性地控制流量。STM32通過PWM或DAC輸出即可控制。

    • 步進電機+普通閥門:用步進電機精密地旋轉閥芯。優點:控制非常精確,無需昂貴的比例閥。缺點:系統設計復雜,需要電機驅動電路。

  3. 出水調節:需要從水箱抽水,因此選擇帶調速功能的微型水泵。用法:通過PWM控制電機轉速,從而控制流量。

  4. 控制器:自適應PID等復雜控制算法需要STM32F4/G4系列。一般來說,STM32F0/F1系列即可,配有基本的定時器(用于PWM輸出和脈沖計數)和ADC。

  5. 驅動電路:執行元件(尤其是閥和泵)通常需要比STM32 GPIO(3.3V/8mA)大得多的電流和電壓(如12V/24V, 1A)來驅動。

    • 繼電器模塊:僅用于開關控制,不適用于需要調節的場景。

    • 步進電機驅動芯片(如A4988、TMC2209):用于驅動步進電機。

    • H橋驅動芯片(如DRV8833、L298N):用于驅動需要正反轉的直流電機。

    • MOSFET管:STM32的PWM通過MOSFET放大后驅動驅動水泵、電磁閥等直流負載。


三、軟件設計與控制算法

  1. 脈沖傳感器測流量

    • 使用STM32定時器的輸入捕獲模式,精確測量兩個脈沖之間的時間間隔。

    • 或者使用定時器的編碼器接口模式,直接讀取脈沖頻率。

    • 更簡單的方法是,在固定時間窗口(如1秒)內計數脈沖數。時間窗口越短,響應越快,但噪聲越大;窗口越長,數據越平滑,但延遲越大。這是一個權衡。

  2. 控制算法選擇PID控制


四、實現步驟總結

  1. 硬件連接

    • 將流量傳感器的信號線接到STM32的定時器輸入引腳(脈沖型)或ADC引腳。

    • 將比例閥、泵通過驅動電路連接到STM32的定時器PWM輸出引腳。

    • 確保供電穩定,特別是執行機構的電源要與STM32隔離(共地即可,電源分開)。

  2. 調試與優化

    • 使用串口打印實時流量值和PWM輸出值,繪制曲線圖(可以使用VOFA+、SerialPlot等工具),這是調試PID參數的關鍵。

    • 從純P控制開始,加入I項消除靜差,最后加入D項抑制振蕩。

    • 考慮加入“積分抗飽和”、“死區補償”等高級功能來優化性能。

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

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

相關文章

吃透 Vue 樣式穿透:從 scoped 原理到組件庫樣式修改實戰

在 Vue 項目開發中,我們經常會引入 Element Plus、Vant、Ant Design等成熟組件庫來提升開發效率。但即便組件庫提供了基礎樣式配置,實際業務中仍需根據設計需求調整組件內部細節樣式——這時候,「樣式穿透」就成了必須掌握的技能。而要理解樣…

記一次維修網橋經歷

1.前言 前倆天突然下大雨了,大雨過后我也迎來斷網時刻,經過簡單排查發現是網絡的網橋這條線路無法連通。 猜測1 可能是網線損壞,2 網橋損壞 2.拆解 經過測試網線設備后發現是網橋的問題,嘗試reset發現無反應(正常情況重…

OceanBase001-入門--里面有的概念不確定文章作為了解使用

目錄資料來源特點支持和不支持的點名詞概念租戶資源池租戶使用資源數據庫表分區示例資料來源 B站視頻 點擊跳轉 特點 分兩個版本 企業版支持Oracle 和MySql 社區版本支持 MySql 這里視頻這么講解的。后續有沒有社區版本什么樣子不知道,請不要噴我 單節點部署 兼…

KITTI數據集

KITTI數據集是由德國卡爾斯魯厄理工學院 Karlsruhe Institute of Technology (KIT) 和美國芝加哥豐田技術研究院 Toyota Technological Institute at Chicago (TTI-C) 于2012年聯合創辦,是目前國際上最為常用的自動駕駛場景下的計算機視覺算法評測數據集之一。該數據…

rk3568移植WebRTC AudioProcessing

前言: 大家好,我是飛一樣的成長,今天這篇文章主要想分享音頻3A的內容。在之前有網友找我怎么移植原生的webrtc到rk3568/rk3588上,當時我自己也沒有移植過,后面折騰了一個禮拜才搞定,當時遇到的最大問題&…

介紹一下 RetNet

RetNet(Retention Network)是微軟亞洲研究院于 2023 年提出的一種新型序列建模架構,旨在解決 Transformer 架構在長序列處理中存在的計算復雜度高、內存占用大、推理速度慢等核心問題。它通過創新的 “循環注意力機制”,實現了 “…

CANopen - PDO映射

CiA402為什么不放到一個PDO中。而是分成幾個PDO? 簡短答案:裝不下 解耦時序。 PDO負載上限:經典CAN的每個PDO只有8字節。TargetPosition(607A:0032bit) ProfileVelocity(60FF:0032bit) ModesOfOperation(6060:008bit) 共9字節,單個PDO放不…

北理工提出僅依賴機載傳感器針對IAP的控制與狀態估計框架

近日,度量用戶、北京理工大學俞玉樹老師團隊在IEEE RAL,IEEE TRO和IEEE TASE期刊上分別發表論文,研究著力于解決多飛行器集聯平臺(Integrated Aerial Platforms, IAPs)的相對位姿和全局定位問題,提出IAP的控…

13年測試老鳥,性能測試-618與雙11大促銷壓測(二)

目錄:導讀 前言一、Python編程入門到精通二、接口自動化項目實戰三、Web自動化項目實戰四、App自動化項目實戰五、一線大廠簡歷六、測試開發DevOps體系七、常用自動化測試工具八、JMeter性能測試九、總結(尾部小驚喜) 前言 1、準備工作 準備…

StreamCap(直播錄制) v1.0.2 綠色版

StreamCap 是一個基于FFmpeg和StreamGet的多平臺直播流錄制客戶端,覆蓋 40 國內外主流直播平臺,支持批量錄制、循環監控、定時監控和自動轉碼等功能。軟件特色 多端支持:支持Windows/MacOS/Web運行。循環監控:實時監控直播間狀態&…

OpenCV:圖像拼接(SIFT 特征匹配 + 透視變換)

目錄 一、核心技術原理與對應 API 解析 1.1 SIFT 特征檢測與描述(尺度不變特征提取) 1.1.1 灰度圖轉換:cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 1.1.2 SIFT 檢測器初始化:cv2.SIFT_create() 1.1.3 特征點檢測與描述符計算&…

日語學習-日語知識點小記-進階-JLPT-N1階段藍寶書,共120語法(10):91-100語法+考え方13

日語學習-日語知識點小記-進階-JLPT-N1階段藍寶書,共120語法(10):91-100語法1、前言(1)情況說明(2)工程師的信仰(3)高級語法N1語法和難點2、知識點-語法&…

繼承與組合:C++面向對象的核心

C 繼承:從基礎到實戰,徹底搞懂面向對象的 “代碼復用術” 在面向對象編程(OOP)的世界里,“繼承” 是實現代碼復用的核心機制 —— 就像現實中孩子會繼承父母的特征,C 的子類也能 “繼承” 父類的成員&#…

Matplotlib定制:精解顏色、字體、線型與標記

Matplotlib定制:精解顏色、字體、線型與標記導語 Matplotlib 是 Python 數據可視化領域的基石。雖然它的默認樣式足以滿足快速分析的需求,但要創作出具有專業水準、信息清晰、視覺美觀的圖表,就必須掌握其強大的定制功能。本文將深入探討 Mat…

Qt開發經驗 --- Qt監聽文件/文件夾改變(17)

文章目錄[toc]1 概述2 演示效果3 簡單使用示例4 帶界面的使用示例5 源代碼地址更多精彩內容👉內容導航 👈👉Qt開發經驗 👈1 概述 QT實現實時監控文件的創建、修改、刪除操作 跟蹤文件夾內容的增刪改變化 可用于文件發生變化時自…

數據分析:合并一

🔷 DA37:統計運動會項目報名人數(僅輸出有人報名的項目)? 題目描述給定兩個 CSV 文件:items.csv:包含項目信息(item_id, item_name, location)signup.csv:包含員工報名信…

WWW‘25一通讀 |圖Anomaly/OOD檢測相關文章(1)

寫在前面:進入新一輪學習階段,從閱讀開始。 本文分享的是WWW2025收錄的與作者研究相近的graph-based xx相關paper的閱讀筆記,含個人理解,僅供參考😄 0x01 HEI:利用不變性原理實現異配圖結構分布偏移學習 J…

static_cast:C++類型系統的“正經翻譯官”

1. 背景與核心概念 1.1 C的“類型安全”哲學 想象一下,你所在的世界突然失去了所有規則:文字可以隨意變成數字,人可以瞬間變成椅子,汽車能飛上天變成飛機… 這聽起來像是瘋狂的夢境,但對于早期C語言來說,這…

【嵌入式原理系列-第八篇】USART從原理到配置全解析

目錄 一.通信領域基礎知識介紹 1.1 串行和并行通信 1.2 同步和異步傳輸 1.3 串口和COM口 1.4 通信協議標準以及物理層定義 1.5 物理層協議之TTL / RS-232 / RS-485 二.USART介紹 2.1 USART特點介紹 2.2 UART和TTL / RS-232 / RS-485 2.3 USART硬線流控介紹 2.4 USAR…

MariaDB介紹和MariaDB包安裝

文章目錄MariaDB介紹和安裝1.MariaDB介紹1.1 起源與背景1.2 核心特性1.2.1 高度兼容 MySQL1.2.2 優化的存儲引擎1.2.3 企業級功能增強1.2.4 性能優化1.2.5 安全增強1.3 社區與生態1.4 應用場景1.5 總結2.MariaDB安裝2.1 主機初始化2.1.1 設置網卡名2.1.2 設置ip地址2.1.3 配置鏡…