1. 超音波雷達網路上有很多文章(自查), 雷達用途當然是搜索目標,但偵測距離 2公尺稍短,況且無辨識目標功能

 

2. 這篇的目的是想偵測特定目標又希望偵測距離能拉長

目標能被偵測, 就是能發出信號, 第一個想到是自身發出信號( IR ), 第二個則是以雷射觸發目標回報信號

 

3. 先做 IR 版本, 以三角定位決定方位及距離, 觀念很清楚, 一個發射源兩個接收器, 圖左下是主控台,右下是外台

三角定位.jpg

 

左上方麵包板代表目標, 掃描裝置則是 SG90 + IR 接收器, 外台需將訊號傳回給主控台, 用簡易的 RF433 發射模組傳遞資料

IR外台.jpg

 

主控台接收資料, 所以是 RF433 接收模組, 整合的資料想用顯示器列出, 先擺個 8x8 LED 陣列當做顯示器

IR主控台.jpg

 

4. 這次做法跟以前做過的紅外線定向雷達一樣, 但重做才發現以前沒注意的問題, 當時為了用scratch畫圖所以用了兩塊板子

IR+ardu板x2.jpg

這次整合在同塊板子卻出現問題....當 SG9 正在轉動時, IR 解碼會錯誤或者無法立即反應

掃描到目標的 IR 若感測有延遲等於角度錯誤, 根本無法使用

IR 版本放棄

 

5. 試試第二個想法雷射版本, 沿用原來的平台, 雷射版本外台如下

目標處加個發射模組, 因雷射觸發後要回覆信號. 外台則須接收模組

雷射外台.jpg

 

主控僅把 IR 接收換成雷射, 其他不變

雷射主控台.jpg

 

6. 問題一樣 "SG90的轉動ing" 也會干擾 RF433 信號的接收, 無法得知及時的角度....

   SG90 幾乎沒替代品, 該說是伺服馬達無法替代, 雷達要轉動.....突然想到一個方法, 雷射版本還有機會

 

7. 雷射版本主控跟外台擺一起

雷射雙台.jpg

 

8. 簡化一下, 先把 SG90 拿掉, 先在圖上拿掉實際上還是要用

用積木的概念邊移動邊說明新想法

雷射雙台簡化.jpg

 

把主控的掃描裝置移到外台, 外台的 RF433 收發兩裝置移走( 不用了 )

轉移一.jpg

 

主控多加個雷射, 外台多個雷射接收裝置.....新主控台及新外台架構如下

這是在作什麼? 沒說明一定看不懂

轉移二.jpg

 

7. 新架構下主控台不掃瞄, 外台變成兩個雷射掃描 ---> SG90 會干擾那就讓它獨立運作

那掃描角度如何得知呢? 看一下前後架構的順序及不同處

原架構程序, 以外台為例 (1) 開始掃描 (2) 雷射觸發目標塔 (3)目標塔信號回覆 (4) 收信得目前角度 (5) 角度回報主控

舊順序之外台ok.jpg

 

新架構程序 (1) 主控雷射開啟外台程序 (2) 主控開始記時time1 (3) 外台掃描 (4) 目標被觸發 (5) 信號回覆主控 (6) 主控收信記時time2

對外台而言, 固定的零件及組合進行相同程序時間應該一樣, 所以主控台幫它記時應是可行的 ( 時間再轉成角度 )

新順序之外台okok.jpg

 

8. 這也解決了雷射掃描的一個問題, 跟 IR 掃描不同, IR 是轉到特定角度接收信號, 雷射是目標塔被觸發才回覆信號 "我收到雷射光,請記錄下來"

問題是....如果各自掃描, 主控及外台是同樣紅光雷射,誰打的不知道

目標無法分辨雷射ok.jpg

 

雷射感測預定用 TSL 2561, 可用不同雷射來解決這問題, 但本例用同樣紅光雷射, 原本的想法是用順序來解決, 假設主控先掃, 掃完要告知外台, 兩個溝通就要把無線傳輸加上去......

現在雷射掃描集中一起, 第一個打完換第二個, 主控算時間長短自然知道是哪個

 

9. 先來看看假設.......所有條件都一樣, 同樣的程序所花費的時間如何

下面是用雷射掃描同一目標兩次的時間差測試, 時間只取後4位

時間雖稍有差異,但變動應能接受

 

10. 承上...假設已得驗證, 接下來把各部位完成, 介紹一下

首先是外台......已說明過兩個掃瞄裝置都在這裡

真外台-1.jpg

 

三角定位的兩點距離越遠定位更好處理, 導線能控制 SG90 的最長長度不知道, 先把想法做出來

真外台-2.jpg

 

這是接收主控台雷射的感測裝置, 改造自庭園燈的太陽能部位

真外台-3.jpg

 

11. 目標塔本身就是個雷射接收器, 旁邊的冰棒棍是用來支撐 RF433 發射器的天線, 要使用 RF433 發射信號所以電源會用 7.4V

真目標-1.jpg

 

隨手找個牛奶瓶做為雷射的散射源, 雖不是想要的正規圓筒狀, 能發揮功能就可

真目標-2.jpg

 

雷射感測用的 TSL2561, 發射來的雷射僅測 IR 不測光度

真目標-3.jpg

 

12. 主控台.....雷射開啟外台用, 還有 RF433 接收器, 數字的顯示選擇最簡易的 max7219 模組

真主控.jpg

 

13. 把所有裝置排好, 實測一下.....程序部分上面已用圖解釋過

影片中要調各裝置相對高度, 所以底部會多加點支撐

整個系統-3部分.jpg

 

在此測兩段時間, max7219 模組可顯示 8 個數值, 左邊 4 個代表第一段時間, 右邊第二段, 都只取後面4位

顯示出的值是變換過的, 該注意的是變動程度, 看來還算穩定....以上測試成功

 

[補充說明]

1. 掃瞄過程還可以更快些, 但雷射掃描的速度不能一昧提高須考量 TSL2561 的反應速度, 這點需兩部分配合調整

 

2. 上面測試雖證實了想法可行, 但實作上零件有點跟不上想法

紅光雷射易取得, 但功率不足.....第二段影片仔細點可看到目標塔被雷射觸發時的情況有點特別

這是因為加了反射鏡, 讓感測器更容易被觸發

為了接收各方向來的雷射, TSL2561 置於底部是必然的, " 紅光雷射+牛奶瓶散射器" 想法也沒錯, 但有時散射光不足影響偵測, 權宜之計避免多次測試浪費時間

目標加反射鏡-1.jpg

目標加反射鏡-2.jpg

 

3. 測試其實又有修改, 前面有提到...目標塔通知主控被觸發的瞬間, 主控才能算時間, 但現在改成只通知第一次被觸發, 第二個信號為目標計算時間差再傳給主控

目標第一個信號是 "我被打到了請馬上紀錄時間", 第二個信號是 "我算好時間差了,差值送給你"

整個過程目標塔都需傳給主控兩次信號, 其實意義一樣, 個人覺得這樣比較好....部分事情讓目標塔分擔, 主控台程式較易撰寫

 

4. 時間算出來後就可以折算角度, 下圖中...對第一個雷射而言, 目標近45度,對第二雷射則約 95 度

角度計算上.jpg

 

這張圖則是第一雷射 90 度, 第二雷射 40 度左右

角度計算下.jpg

4. 多測幾個時間就可歸納出跟角度的關係, 折算出來的角度更可進一步以scratch等程式畫出目標塔在實際場所的位置, 只是需要時間....

但這題目個人覺得困難處已克服而且也有點疲乏, 暫告一段落到此

 

5. 或許會有人質疑數字有變動位置不夠精確, 但室內定位的精確程度要看需求, 若真有家用機器人其實大略位置的定位就可接受....

假設下命令到桌子前 30 公分, 但 30 公分這明確的數值可能會估錯, 所以會有第二或第三命令修正...再往前一點等

所以第一命令到桌子前其實也是合理的命令, 反正還會再修正

 

6. 最後補充, IR 版本並非不能做而是外台跟主控台分別都需兩塊 arduino 板子, 真做起來可能比雷射版本更容易點, 但距離的話雷射版本會佔優

 

arrow
arrow
    全站熱搜

    ired2 發表在 痞客邦 留言(0) 人氣()