使用 ATtiny1627 Curiosity Nano 簡化動作偵測開發

作者:Jacob Beningo

資料提供者:DigiKey 北美編輯群

動作感測的需求在許多工業、商業、居家和嵌入式應用中持續增長。問題在於,動作感測需要昂貴的數位感測器,而這些感測器不容易介接。此外,收到數據後,仍然需要開發演算法來偵測動作,這並非簡單的工作。

有幾種解決方案可以感測動作,但紅外線 (IR) 解決方案最受歡迎。開發人員可以選擇常用於許多獨立式數位感測器的主動解決方案,但費用更高,且實作上更為複雜。另一種方法是利用被動紅外線感測器 (PIR),成本則較低且介接上更為直覺。PIR 提供一個絕大多數微控制器都可以介接的類比介面。

本文將探討動作感測的基礎知識,然後展示開發人員如何透過連接到 Microchip DM080104 ATtiny 1627 Curiosity Nano 的 PIR 開始進行動作感測。接著會展示複雜演算法開發的替代方案,利用機器學習 (ML) 技術達到動作感測。此外也會提供入門的提示和技巧。

動作感測的基礎知識

有許多感測技術都可以偵測動作,但 IR 最廣泛使用。IR 感測器分為主動與被動。主動感測器含有一個 IR LED 發射器和光電二極體接收器。主動感測器會感測物體反射的紅外線,然後使用接收到的紅外線來偵測對象或物體是否移動。根據應用的不同,主動感測器可能包含多個光電二極體,以查看動作方向。舉例而言,四個光電二極體可偵測哪些 IR 訊號延遲或提前,藉此感測方向動作,如左、右、前、後、上、下。

被動紅外線感測器無法發射 IR,只能接收。PIR 感測器使用相關對象/物體發射的 IR 來偵測其是否存在,以及與其相關的任何動作。例如,住家安全系統通常具備動作感測器,可偵測人類或動物發出的 IR,並判定其是否正在移動穿越其視野範圍。圖 1 顯示類比 PIR 感測器在多種情況下可能偵測到的內容,例如無 IR、有 IR、穩定和離開 (切斷)。

PIR 感測器利用對象或物體發出的紅外線示意圖圖 1:PIR 感測器使用對象或物體發出的紅外線來偵測其存在和動作。圖中顯示多種偵測階段:無 IR、有 IR、穩定和離開 (切斷)。(圖片來源:Microchip Technology)

挑選適合應用的紅外線感測器類型時,開發人員需要仔細考量與以下參數相關的權衡:

  • 感測器成本
  • 封裝
  • 微控制器介面
  • 偵測演算法和運算能力
  • 感測器範圍和能耗

讓我們以一個採用 ATtiny1627 的 PIR 動作偵測系統舉例說明。

ATtiny1627Curiosity Nano 介紹

Microchip Technology 的 ATtiny1627 是一個用於動作感測的有趣微控制器 (MCU) 解決方案。這款 8 位元 MCU 內建 12 位元類比數位轉換器 (ADC),可超取樣至 17 位元。更含有一個可編程的增益放大器(PGA),可調節靈敏度。這兩個特點結合後,便可提供適合許多應用的低成本動作偵測系統。

入門時的最佳低成本解決方案就是使用 DM080104 ATtiny1627 Curiosity Nano 開發板(圖 2)。此開發板包含一個 AVR MCU,運行頻率高達 20 MHz,具有 16 KB 快閃記憶體、2 KB SRAM 和 256 位元組 EEPROM。此板件含有一個編程器、LED 和使用者開關。或許最有趣的是,此板的設計可透過排針座輕鬆連接,因此可快速原型設計,或者也可以直接焊接到原型或生產板上。

Microchip 的 ATtiny1627 Curiosity Nano 圖片圖 2:ATtiny1627 Curiosity Nano 內建 8 位元可編程 AVR MCU,運行速度高達 20 MHz,搭配 16 KB 快閃記憶體、2 KB SRAM 和 256 位元組 EEPROM。此開發板可以輕鬆焊接或跳接到更大的基板上,以簡化原型設計和生產系統。(圖片來源:Microchip)

此板還附加一些額外特點,對開發人員有所幫助。首先,具有兩個邏輯分析器通道:DGI 和 GPIO。這些通道可對微控制器進行除錯與管理。其次,開發人員可以運用板載的虛擬 COM 埠 (CDC) 對訊息進行除錯或記錄。最後,還有多項工具可用來編寫和部署軟體。例如,開發人員可以使用 Microchip Studio 7.0 (GCC 編譯器),或是 MPLAB X,其採用 GCC 或 XC8 編譯器

Microchip 更支援大約十幾個程式碼儲存,並提供 ATtiny1627 的多個範例。這些程式碼儲存庫中的範例涵蓋 PIR 動作偵測、溫度測量、類比轉換等等。

打造動作偵測測試台

打造動作偵測測試台並且開始運作,其實不難且費用不高。打造測試台所需的元件包括:

我們已經看了 ATtiny1627 Curiosity Nano。Curiosity Nano 配接器可當作 ATtiny1627 Curiosity Nano 的載板,能快速進行原型設計 (圖 3)。此外,還提供三個擴充插槽供 MIKROE Click 板使用,以及可取用的排針座,可擷取訊號或添加客製化硬體。

Microchip Curiosity Nano 配接器的圖片圖 3:Curiosity Nano 配接器有三個擴充插槽可供 MIKROE Click 板使用,並搭配排針座,可存取訊號並添加客製化硬體。(圖片來源:Microchip)

最後,MIKROE-3339 PIR 感測器 (如圖 4 所示) 更提供 KEMETPL-N823-01 被動紅外線感測器,採用簡易的可擴充型式,可直接連接 Curiosity Nano 配接器。有個重要的注意事項,若是 MIKROE-3339 要搭配 Microchip 範例使用進行動作偵測,就需要一些修改。這些修改事項位於 Microchip AN3641 應用說明《使用 tinyAVR® 2 系列達到低功率、符合成本效益的 PIR 動作偵測》的第 10 頁。

MikroElektronika 的 MIKROE-3339 Click 板圖片圖 4:MIKROE-3339 Click 板提供 KEMET PL-N823-01 PIR 感測器,並採用可輕易進行原型開發的型式。(圖片來源:MikroElektronika)

PIR 動作偵測軟體

開發人員有多種選項可用來打造動作偵測用的軟體解決方案。第一個解決方案是使用 AN3641 中由 Microchip 提供的範例素材。範例動作偵測軟體的程式碼儲存庫可在 Github 找到。

應用程式會分幾個階段進行。首先,應用程式會初始化並備妥 PIR 感測器。接著,會使用 ADC 中斷服務常式對 PIR 感測器進行定期取樣。第三,將 ADC 數據平均化。最後則會使用偵測演算法來指出是否偵測到動作。如果偵測到活動,板載 LED 會閃爍,並透過序列埠發送偵測訊號。完整的程式流程如圖 5 所示。

Microchip 的動作偵測應用軟體流程圖 (按此放大)圖 5:此圖表顯示 Microchip 動作偵測應用程式的軟體流程。(圖片來源:Microchip)

動作偵測的第二種選項是利用 Microchip 範例中的初始化和 ADC 中斷常式,但不採用其偵測演算法,而是使用 ML。可以收集 PIR 資料,然後再用來訓練神經網路。ML 模型接著可以利用 TensorFlow Lite for Microcontrollers 轉換成在微控制器上執行,使用具有 8 位元權重的定點數學。

以這種方式使用 ML 的有趣之處在於,開發人員就不需要根據特定需求去設計演算法。反之,可以根據其應用所需的預期條件與使用案例,直接對感測器進行取樣。ML 還可讓開發人員在新資料可用時,快速擴充並調整模型。

使用 ATtiny1627 進行動作感測時的提示與訣竅

對於有興趣開始使用動作偵測的開發人員來說,有很多選項可用。開發人員應記住這些「提示與訣竅」,以簡化並加快開發速度,包括:

  • 使用現成的零件打造低成本的原型設計平台。
  • 利用 Microchip 的動作偵測範例 (可在 GitHub 上找到)。
  • 使用 ATtiny1627 Curiosity Nano 封裝設計原型硬體,並將電路板直接焊接到硬體上,即可簡化初期原型作業。
  • 若追求更小、更有效率且最佳化的程式碼,可使用 Microchip 的 XC8 編譯器。
  • 在開始動作偵測應用之前,請先閱讀 Microchip 的 AN3641《使用 tinyAVR® 2 系列達到低功率、符合成本效益的 PIR 動作偵測》。
  • 認真考慮將 ML 用於動作偵測演算法。

開發人員若遵循這些「提示與訣竅」,便可在原型設計時省下很多時間與麻煩。

結論

動作偵測逐漸成為許多應用中的常見功能,尤其是當前講究無接觸的情況。開發人員可以運用 PIR 感測器和低成本 MCU,將 BOM 成本降至最低,並且簡化設計。如本文所述,ATtiny1627 是絕佳的開發起點,而且 Microchip 提供豐富的工具和應用說明,有助於開發人員入門。此外,為了將動作偵測的演算法開發作業複雜性降至最低,可以採用 ML。

DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo 是嵌入式軟體顧問,目前與超過十幾個國家的客戶合作,透過產品品質、成本和上市時間的改善,促成業務的大幅轉型。他曾在嵌入式軟體開發技術上發表超過兩百篇文章,是深思熟慮的講師和技術培訓師,共擁有三個學位,包括密西根大學的工程碩士學位。歡迎透過以下方法洽詢,電郵:[email protected]、網站:www.beningo.com,亦可登記取得他發行的Embedded Bytes 每月電子報

關於出版者

DigiKey 北美編輯群