無人機穩定機制
PMW3901是一種光流感測器,用於計算內部流量變化,並提供每個針幀之間的像素差異,原理類似我們常使用的滑鼠原理一樣,但需要在高度80 mm以上到無限大之間的操作範圍。
原相的光學動態追蹤(Optical Motion Tracking / OMT)技術可提供無人機應用中的長距離 (far field) 追蹤。這種技術可在低光環境中回傳移動物體的 x 軸及 y 軸動態資訊,並持續以高幀率進行同步作業,可有效應用在無人機的穩定功能上。
一般廣泛應用於無人機上的陀螺儀可透過物體的加速度和傾斜角度來精準偵測物體動態,但在速度沒有變的情況下,針對強風或引擎失效帶來的飄移極可能偵測失準。在這種情況下,縱使速度維持一致仍可進行精密偵測的光學動態追蹤(OMT) 感測器,便顯得舉足輕重。
OMT 感測產品擁有小巧且低功耗的設計,但在性能上絕不妥協。每個 OMT 感測器都使用高幀率來進行快速且精確的追蹤,其最高速度可達 7.4 rad / s,並且可支援 80mm 到無限遠的範圍。它的內建的振盪器(oscillator)無需進行時脈輸入(no clock input),且鏡頭安裝過程中也不需進行鏡頭對焦,可讓客戶的開發過程輕鬆許多。
- MoTor連接PC時的操作畫面
No. |
Item |
Type |
Description |
(1) |
Accum X & Y |
Input |
顯示從PMW3901回報的 X & Y 計數值 |
(2) |
Mouse Emulation |
Selection |
啟用鼠標模擬。在此模式下PMW3901模擬鼠標移動 |
(3) |
Connect /Disconnect |
Button |
連接或斷開模組 |
(4) |
More >> |
Button |
在MoTor中顯示或增加附加功能。 |
(5) |
Reset |
Button |
重開PMW3901並重新初始化寄存器設置 |
(6) |
Terminal |
Button |
啟動命令終端窗口以進行替代寄存器讀取和寫入 |
(7) |
Register |
Button |
啟動寄存器設置位址 |
(8) |
Connect /Disconnect |
Button |
連接或斷開PMW3901 |
可以藉由MoTor在PC上觀察X-Y值偏移的狀態,再導入無人機Host端藉由SPI 介面傳輸,由MCU內部算法來修正風量所造成相位的改變,進而達到無人機懸停的效果。
- X-Y偏移量讀取的方式與語法流程
void ReadMotion(bool forceReport)
{
int i = 0, j = 0;
unsigned char f;
bool report = false;
if (IS_BIT_CLEAR(MCU_CONFIG[0],CONFIG_00_DISABLE_MOTION_REPORT) && !bStopReadMotion)
{
// 檢查Motion Bit是否成立
MotionData.d[i++] = RegRead_tsrw_tsrr(0x02);
if (IS_BIT_CLEAR(MotionData.burst.motion , BIT7) && !forceReport)
{
return;
}
// 讀取檢測狀態
MotionData.d[i++] = RegRead_tsrw_tsrr(0x15);
// 讀取累積向量位移的資料
for (; i < MOTION_BURST_SIZE; i++)
{
//感測器將開始累積位移計數
MotionData.d[i] = RegRead_tsrw_tsrr(i+1);
}
- PMW3901搭載到ARDUINO UNO R3連接方式
►場景應用圖
►展示板照片
►方案方塊圖
►核心技術優勢
可依照感測器的位移,提供 x 座標和 y 座標的資訊 可支援 80mm 至無限遠的廣泛工作距離 可於低照度環境下 (>60 lux) 進行偵測 在運行模式下,僅使用極低的 6mA 耗電量 鏡頭的安裝過程中,無需進行對焦 速度最高可達每秒 7.4 rad 具有內建的振盪器,故不需進行時脈輸入 (clock input) 可與原相的 L214-ZSZ 光學鏡頭搭配使用,以獲取最佳性能
►方案規格
封裝類別:28-pin QFN 封裝尺寸 (mm) :6*6*3.08 耗電功率:@run mode 6mA 操作範圍 (mm) :80 up to infinity 低亮度的性能需求 (lux) :>60 最大速率:7.4 rad/s 操作視野:42 度