【導讀】液體或氣體流速檢測是物聯網 (IoT) 應用的一項重要要求,如監(jiān)控氣流或液體處理性能所需的智能表計和傳感器。 傳感器通常需要部署在遠離電源的位置,那么在其使用壽命期間必須依靠電池供電。 因此低能耗就十分關鍵。
在流量監(jiān)控應用中,通常選擇的測量技術是電感檢測。 這項技術結合了旋轉金屬槳輪和線圈傳感器,其中傳感器在槳片經過線圈附近時利用電壓和電流變化來檢測槳片。 當交流電流作用于線圈時,所產生的交流磁場會使導電目標中形成渦電流。
基于電感器和電容器的 LC 電路可提供一種低成本方法來產生所需的 AC 振蕩。 在這樣的 LC 電路中,電容器以電能形式存儲能量,線圈則以磁場形式存儲能量。 當電容器受到激勵時,它首先充電,其電壓直至達到 DC 電源電壓。 當電容器充滿且電源電流切斷后,電容器開始通過線圈放電。 隨著通過線圈的電流開始上升,電容器的電壓開始下降。 這種逐漸上升的電流在線圈周圍產生一個磁場。 電容器完全放電后,電容器之前存儲的能量現在存儲在電感線圈中。
由于電路中沒有外部電壓來維持線圈中的電流,因此電流又流回電容器進行重新充電。 這整個周期不斷重復,便在兩個電路元件之間產生周期性的能量傳遞。 電感器和電容器之間的能量傳遞導致電壓極性發(fā)生變化,最后產生交流電壓和電流波形。
每次在這兩個電路元件之間傳遞能量時,發(fā)生的損耗均會使振蕩衰減。 這是由于阻性電路元件造成的,它們會隨時間的流逝而消散能量。 在每半個振蕩周期,振蕩的幅度會減弱,直到電路完全沒電。 這一阻尼過程在有金屬物體靠近線圈時會加速,原因是在物體內部會產生渦電流。
為了確定導電物體是否存在,一種微控制器 (MCU) 算法可測量振蕩波幅度。 一般來說,MCU 會按一定間隔測量電路中的電壓并與基準電壓進行比較。 如果與沒有外部阻尼的情況相比,輸入電壓降到低于此基準電壓的速度更快,MCU 便會觸發(fā)一個接近事件。 通過分析接近事件的頻率,便可表明氣體或液體推動槳片繞軸旋轉時的流速。
低能量系統(如物聯網流量傳感器)的問題在于:簡單的實現都要求喚醒 MCU,以便按一定間隔生成激勵信號以及對 A/D 轉換器 (ADC) 輸入進行采樣。 如果已知流速較慢,那么 MCU 可以長時間休眠,只要間歇性喚醒進行讀數即可。 但是,此類策略無法適應流速變化并面臨錯失重要接近事件的風險,從而導致流速低估。 如果 MCU 采用更活躍的占空比,可能會出現被喚醒但經常發(fā)現狀態(tài)變化極小的情況,因而浪費處理周期和能量,縮短了電池的使用壽命。
為了解決這一難題,可以將更多的傳感器處理操作轉移到硬件外設。 通常,這些外設的運行能耗比 MCU 低得多,MCU 需要相對高的時鐘速率,且必須不斷地從存儲器加載指令和數據才能執(zhí)行任務。 硬件電路則更為精簡,可在 MCU 處于低功耗休眠模式時以更低的時鐘速率來運行。
在諸如 NXP Kinetis L 系列之一的 MCU 上,定時器和比較器可以配合執(zhí)行大部分所需的傳感器處理工作。 如果流量可逆,該方案可輕松擴展到正交等測量方案,其中兩個基于線圈的傳感器之間的角度為 90 度。 傳感器在不同的時間檢測導電槳片的經過情況,并使用相對定時確定速度和方向。
圖 1: 該電路用于通過與 (AND) 門將 NXP Kinetis L 上定時器輸出連接到基于線圈的流量傳感器,從而縮短激勵脈沖。
在此類方案中,兩個定時器 TPM0、TPM1 可從一個 32 kHz 晶體直接計時,以便在 CPU 處于深度休眠模式時保持運行。 定時器繼續(xù)對時鐘計數,并且如果處于 PWM 模式,定時器的輸出可能會在用于生成傳感器控制信號的引腳上傳遞。 這些信號可以控制傳感器的激勵,同時導通一個晶體管并以采樣頻率短期提供電流。
實際上,充電時間要比 32 kHz 時鐘的周期時間短得多,因此可以設置晶體管,以便通過帶有與 (AND) 門的 RC 電路生成更短的脈沖。 電阻和電容值從 MCU 定時器上激勵信號上升沿提供對與 (AND) 門的延遲響應,使其可以充當一個脈沖生成器。
激勵脈沖結束后,MCU 的比較器讀取傳感器的電壓并生成邏輯 1,表示電壓高于設定閾值時的無阻尼脈沖。 如果使用正交測量,則比較器的多路復用器選擇待測量的傳感器信號。 比較器的控制方式是通過定時器信號控制 Kinetis MCU 的存儲器直接訪問 (DMA)。 經過預定義的掃描周期次數后,MCU 被喚醒以便對 DMA 控制器從比較器傳遞到片載 RAM 的結果進行處理。
圖 2: 用于正交流量傳感的 Kinetis L MCU 上定時器和比較器的配置。
可配置控制塊為系統設計人員提供了更大的靈活性。 Silicon Labs 通過 Gecko 系列 MCU 實現的 LESENSE 外設控制器就是一個例子。 為了自主分析傳感器結果,LESENSE 解碼器能夠為有限狀態(tài)機定義最多 16 個狀態(tài),并定義狀態(tài)轉換時的可編程操作。 這樣解碼器就可以實現更大范圍的解碼方案,如正交解碼。 RAM 塊可用于存儲配置和測量結果。 這樣 LESENSE 就有了相對較大的結果緩沖區(qū),從而使 MCU 在收集傳感器數據時可以長時間保持低能量模式。
圖 3: 使用 Silicon Labs Gecko MCU 的正交流量測量設置示例。
借助 LESENSE,MCU 上的比較器可充當脈沖發(fā)生器和計數器。 在狀態(tài)機控制下的 DAC 輸出生成激勵脈沖后,比較器隨著 LC 電路振蕩而在高低狀態(tài)之間切換。 在阻尼狀態(tài)下,這表示靠近導電物體,其中激勵信號后的脈沖數量將比無阻尼狀態(tài)下少很多。 狀態(tài)機記錄脈沖計數并保存在存儲器中。
LESENSE 塊能夠處理正交傳感器的輸入以指明方向變化,還可以在取得一個或多個正讀數之后進行編程以激活 MCU。 這樣就避免了預定讀數后軟件的操作,因為所有這些讀數可能為負。
圖 4: 有關脈沖串的振蕩阻尼影響(由基于 Silicon Labs LESENSE 的檢測系統生成)。
Silicon Labs 的經驗型研究結果表明,390 µH 線圈最多可檢測 6 mm 金屬物體,并且采樣頻率為 20 Hz 時,在 Gecko 的深度休眠模式中僅使用 200 nA 電流,這樣振蕩器和其他輔助電路總共消耗 1.2 μA。
通過將流量傳感器測量分流到硬件,可以使 CPU 內核休眠更長時間,同時不會導致軟件的頻繁處理消耗更多的電流,這樣可使單電池充電的系統維持更長的時間。
推薦閱讀: