A111脈衝雷達傳感器入門 (SparkFun SEN-15577)

介紹

您的項目是否需要高精度、最先進的距離、速度、運動和/或手勢感應?我們不是在談論超聲波,甚至不是紅外線,而是 60GHz 雷達!向我們微小的脈衝雷達朋友 Acconeer A111 打個招呼吧!

A111 是用於脈衝相干雷達(pulsed coherent radar, PCR)的單芯片解決方案 - 它帶有天線和 SPI 接口,速度最高可達 50MHz。PCR 的應用包括距離感應,手勢,運動,和速度檢測。該傳感器可以在不超過兩米的距離內監視一個或多個物體。

我們用於 A111 的擴展板包括一個 1.8V 穩壓器,電壓電平轉換,並且將脈衝雷達傳感器的所有引腳分到 0.1 英寸和適用 Raspberry Pi 的插頭上。

所需材料

留意!A111 旨在與 ARMv7 以上一起工作。我們能夠使傳感器在 Raspberry Pi 3、3B+ 和 4 上運行。

要使用 A111,您將需要 ARMv7 或 ARM Cortex-M4 - 閉源 SDK 目前僅支持這些架構。本教程將說明如何將雷達傳感器與 Raspberry Pi 配合使用 - Raspberry Pi 是基於 A111 SDK 支持的體系結構的平台。

A111 Breakout 包括一個 20 針 2x10 母頭 ,可以與任何一代的 Raspberry Pi 配合使用。如果您希望將 A111 手動連接到 Raspberry Pi,則大約需要 9 條公對母的電線。

硬體總覽

傳感器和晶體

擴展板上裝有 A111 IC 和一個外部 26MHz 晶體振盪器。該 IC 帶有兩個天線,並使用 mmWave 無線電通過雷達脈衝感應物體。

A111 位於頂部
背面裝有晶體振盪器

2x13 母頭

為了保持電路板的尺寸小,板上焊接了一個 2x13 母頭,可輕鬆與 Raspberry Pi 的標準頭匹配。

2x13 母頭

這只應覆蓋 Pi 上 2x20 公頭連接器的一部分。

安裝示意圖

斷開的其他引腳

在26針接頭連接器的上方,如果需要訪問這些引腳,則可以斷開其他引腳以用於SPI,中斷,使能和電源。 A111 IC 需要 1.8V 的輸入電壓,因此背面裝有穩壓器。 此外, I/O 邏輯電平為 1.8V ,因此包含一個邏輯轉換器來轉換信號。

調壓器
邏輯電平轉換器

板子尺寸

整個電路板尺寸為 1.30 英寸 x 1.55 英寸。 有兩個額外的安裝孔,其距離板邊緣的距離為 0.10 英寸。

硬體組裝

A111 脈衝雷達突圍設計為直接位於 Raspberry Pi 的頂部。同樣,它不跨越 Raspberry Pi B+(或更高版本)的全部 40(2x20)引腳,但是 26 針(2x13)接頭連接器應與任何 Pi 兼容。

將屏蔽層連接到 Raspberry Pi,確保分組討論中的 “Pi Displa” 文本與 Pi 上的顯示標題匹配。插入後,傳感器應該朝上。

A111 Breakout 已插入 Raspberry Pi

或者,如果您想手動將分線連接到Pi,請在本教程的其餘部分中使用以下引腳:

擴展板真引腳樹莓派引腳名稱樹莓派硬體引腳號
CSSPI0 CS024
SCLKSPI0 SCLK23
MISOSPI0 MISO21
MOSISPI0 MOSI19
INTGPIO2522
ENGPIO2713
GNDGND6, 14, 20, etc.
VIN5V2, 4

⚡ 輸入電壓和邏輯電平: “5V” 應該為傳感器供電,這可以消耗約 80mA 的電流。

當連接到 Raspberry Pi 的 I/O 旁引出的其他引腳時,請確保不要意外連接高於 3.3V 的電壓,因為它只能承受3.3V電壓。

配置您的Pi

Raspbian 和 SPI

本教程假定您已經使用 Raspbian 設置了 Raspberry Pi。要獲得在您的 Pi 上安裝基於 Debian 的操作系統的幫助,請查看 Raspberrypi.org 上的文檔。 或者 - 更好! - 查看我們的 Headless Raspberry Pi 安裝指南 。

您還需要在 Pi 上啟用 SPI。要獲得幫助,請查看我們的 SPI on Pi 教程 。

我們將假設您已經安裝了 Raspberry Pi 並可以與 Raspbian 一起運行。 我們還將假定它已連接到Internet。 如果沒有,請查看我們的入門工具包和有關設置 Raspberry Pi 的教程。

Raspberry Pi 3入門套件連接指南 2016年4月11日 Raspberry Pi 3 Model B和Raspberry Pi 3 Model B +入門套件的入門指南。 確保更新映像,以便我們擁有最新的發行版。 在命令行中分別輸入以下命令以更新圖像。

COPY CODE language:bash sudo apt-get update sudo apt-get dist-upgrade 注意: sudo代表“超級用戶權限”,它是從命令行賦予超級用戶權限的一種方式。 使用sudo時要小心。 用戶配置設置

設置完成後,我強烈建議您更改預設的登錄名和密碼:(用戶名:pi,密碼:raspberry)。Raspberry Pi 配置工具是更改密碼以及設置網絡,語言,鍵盤等的快速方法。有兩種方法可以調整設置。 您可以通過轉到Pi開始菜單 > 首選項 > Raspberry Pi配置 > 接口來使用GUI。 對於老式的校長,您還可以使用raspi-config工具 ,方法是使用命令行鍵入以下命令,然後瀏覽菜單以更新信息。

COPY CODE language:bash sudo raspi-config 您需要使用該工具來啟用SPI引腳,以使用SPI讀取傳感器。 如果使用的是GUI,只需選擇“ 啟用” ,然後單擊“確定”按鈕。 如果您使用raspi-config ,請按照提示完成設置SPI。 有關更多信息,請查看我們的教程以在Pi上設置SPI引腳 。

通過桌面GUI啟用SPI 在Pi上啟用I2C 通過桌面GUI啟用SPI 終端中用於SPI的raspi-config工具 您需要重新啟動Pi才能使更改生效。

取得SDK 不幸的是,用於A111的軟件開發套件(SDK)被鎖定在一個封閉源Blob的後面,該Blob目前僅支持Cortex-M4和ARMv7平台。 但是,Acconeer的人們已經同意將我們的示例代碼託管在他們在Github上的SparkFun的Pulsed Radar Example Code存儲庫中的最新版本。 要從Acconeer下載SDK,請在Raspberry Pi的瀏覽器上訪問Acconeer的“開發人員”頁面 。

訪問SDK的ACCONEER的“開發人員” 您需要一個帳戶才能訪問文件。 單擊頁面底部的鏈接以創建一個或登錄。或單擊下面的快捷方式。

用ACCONEER註冊用ACCONEER 登錄 登錄後,“ SW Download ”選項卡將包含用於下載SDK的其他鏈接。 向下滾動網頁到XC111的部分。 Acconeer不斷更新和改進軟件。 在編寫本教程時,我們使用的是v1.8.6軟件,因此該版本可能與您下載的版本不同。 單擊v1.8.6的下載按鈕。

替代文字 從Acconeer下載SDK。 通讀許可證,同意並單擊軟件的“ 下載acconeer_rpi_xc111”按鈕。 根據您的瀏覽器,您可能需要刷新頁面並重複說明,然後才能激活按鈕。

下載後,轉到下載ZIP的目錄。 您可以使用GUI,也可以使用以下命令(包括安裝解壓縮的命令)使用終端來解壓縮SDK。 只需確保使用下載的版本更新文件名即可。 假設您位於“ 下載”文件夾中,則將在終端中使用以下命令。

COPY CODE language:bash unzip acconeer_rpi_xc111_v1_8_6.zip -d a111 注意:請確保將acconeer ZIP文件名替換為下載的SDK版本的名字。 然後將cd轉到“ a111 / rpi_xc111 / … ”目錄以準備構建示例軟件。 根據您下載的版本,路徑可能會略有不同。 如果在目錄中導航時遇到問題,請確保使用ls驗證解壓縮的a111文件夾的內容。

SDK概述

A111 SDK包括使用A111脈衝雷達傳感器的源代碼,歸檔庫,文件和文檔。 以下是SDK附帶的快速概述:

doc — Doxygen生成的有關A111 API和源代碼的文檔。 包括 — 標頭和API文件,它們描述如何與預編譯的A111庫進行交互。 lib — 預編譯的A111靜態檔案。 這些文件的API在“ include”目錄中提供。 out — 編譯後的板以及示例對象和可執行文件。 規則 — 董事會和示例文件的遞歸Makefile規則。 source — 自定義板和示例應用程序的C源文件。 makefile — 頂級 makefile。遞歸調用 rule 目錄中的文件以構建示例文件和開發板文件。 添加自定義示例和開發板文件 SparkFun A111 Breakout 的預設引腳無法與 SDK 示例中的引腳配合使用。為了使用該板構建和運行示例,我們有一個示例板定義,make 腳本和示例應用程序。單擊下面的按鈕從 GitHub 存儲庫下載這些文件。 該代碼當前適用於 v1.8.6

下載 SPARKFUN A111 示例代碼(ZIP) 下載後,轉到下載示例代碼的文件夾並解壓縮文件。您可以通過右鍵單擊並選擇在此處提取來使用GUI進行提取。或者,如果使用的是終端,則可以使用以下命令。確保使用 cd 以便您與 ZIP 文件位於同一文件夾中。

COPY CODE language:bash unzip SparkFun_Pulsed_Radar_A111_Example_Code-master.zip -d SparFun_Pulsed_Radar_A111_Example_Code-master 提取後,將從../SparkFun_Pulsed_Radar_A111_Example_Code-master/sparkfun-a111-source提供的文件移動到… a111 / rpi_xc111 。 我們建議您使用GUI打開一個單獨的窗口,將文件拖放到文件路徑中。 這會將SparkFun示例添加到各自的路徑中。 您會彈出一個窗口。 單擊彈出的每個窗口的“ 覆蓋”按鈕,將文件添加到各自的文件夾中。

將文件拖放到文件夾中 生成並運行測試草圖 在終端中,執行make文件以及它的遞歸依賴關係,應該可以構建您可以與A111一起使用的所有示例。 要構建所有電路板和示例文件,請導航至SDK的頂級目錄(在本例中,該目錄應類似於… Downloads / a111 / rpi_xc111 ),在該目錄下,在終端中鍵入make 。 您應該看到類似於以下輸出的內容。

終端輸出usnig Make命令

故障排除

如果在構建電路板和示例文件時遇到任何問題,請確保已安裝 gcc 並 make 軟體包。 (例如 apt-get install make gcc

運行示例應用程序

編譯後,您可以運行示例應用程序。 在終端窗口中,用 cd 導航到 .../out 文件夾。 您可以通過單擊可執行文件或鍵入以下命令來運行示例。 我們建議在終端中鍵入命令以查看數據。如果您選擇單擊可執行文件,則一些應用程序將在獲取傳感器數據後自動關閉窗口。

COPY CODE language:bash ./sparkfun_detector_distance_basic 鍵入(或將命令粘貼到終端中)後, 按鍵盤上的Enter鍵以執行命令。

輸入命令之前

這將運行我們修改後的距離檢測器示例應用程序。 為簡單起見,它將顯示天線前物體的距離。

距離示例跑步

通過將物體放在傳感器的前面,距離應根據A111可以檢測到的東西而變化。 該應用程序將繼續在終端窗口中運行,直到按 CTRL + C

手在A111傳感器前面

通過 VNC 遠程連接 Pi 時,將手放在 A111 的前面。

運行其他示例

除了基本的距離檢測器之外,SDK 還包含一些其他示例。 要執行這些文件,請從 out 目錄運行它們:

  • sparkfun_detector_motion — 如果有物體在傳感器前面移動,它將輸出true。 否則,輸出為假。
  • sparkfun_detector_obstacle — 檢查是否有障礙物 。
  • sparkfun_detector_service_iq - 信封服務的高級版本,其中包括有關距離的很小變化的相位信息。 輸出將在極坐標中。
  • sparkfun_detector_power_bins — 演示如何使用A111“電源箱”,這對我們來說仍然是一個謎。
  • sparkfun_distance_detector_peak — 此應用程序將從計算原始峰值距離開始,最多反射十次。 該示例將簡要估計最小和最大閾值。

在編寫您自己的 A111 自定義代碼之前,請確保通讀 Acconeer 的代碼(位於源文件夾中),數據表,用戶指南和相關文檔中的註釋以獲取更多信息。

資源和進一步發展

現在您已經成功啟動並運行了A111脈衝雷達傳感器,是時候將其集成到您自己的項目中了! 有關更多信息,請查看以下資源:

初級班導師

研究興趣廣泛,涵蓋 AIoT 相關產品