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 無線電通過雷達脈衝感應物體。
2x13 母頭
為了保持電路板的尺寸小,板上焊接了一個 2x13 母頭,可輕鬆與 Raspberry Pi 的標準頭匹配。
這只應覆蓋 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 上的顯示標題匹配。插入後,傳感器應該朝上。
或者,如果您想手動將分線連接到Pi,請在本教程的其餘部分中使用以下引腳:
擴展板真引腳 | 樹莓派引腳名稱 | 樹莓派硬體引腳號 |
---|---|---|
CS | SPI0 CS0 | 24 |
SCLK | SPI0 SCLK | 23 |
MISO | SPI0 MISO | 21 |
MOSI | SPI0 MOSI | 19 |
INT | GPIO25 | 22 |
EN | GPIO27 | 13 |
GND | GND | 6, 14, 20, etc. |
VIN | 5V | 2, 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傳感器前面
運行其他示例
除了基本的距離檢測器之外,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脈衝雷達傳感器,是時候將其集成到您自己的項目中了! 有關更多信息,請查看以下資源:
- 原理圖(PDF)
- Eagle 檔案 (ZIP)
- 板子尺寸
- Acconeer
- 開發人員 - SW下載,數據表,用戶指南,常見問題解答
- 閱讀文檔:設置 Raspberry PI EVK - Python 示例的文檔,這些文檔可能對可視化 A111 示例獲取的數據很有用。
- GitHub Repos
- SFE 演示