2017年11月21日 星期二

[BCB]高等自動測試-倒車雷達

此"高等自動測試"課程為102學年度下學期
逢甲大學 自動控制工程學系 林宸生 教授
所開給研究所之練習利用簡易BCB程式與認識基本量測儀器寫出小專題

該實驗為本作者所簡易分享出來
詳細課程內容與範例請參考
http://140.134.32.129/edu/teach/index.html







2017年11月16日 星期四

[BCB]高等自動測試-雷射掃描儀-雷射掃描電子鎖

此"高等自動測試"課程為102學年度下學期
逢甲大學 自動控制工程學系 林宸生 教授
所開給研究所之練習利用簡易BCB程式與認識基本量測儀器寫出小專題

該實驗為本作者所簡易分享出來
詳細課程內容與範例請參考
http://140.134.32.129/edu/teach/index.html








2017年11月13日 星期一

[BCB]高等自動測試-PLC 利用BCB遠端控制

此"高等自動測試"課程為102學年度下學期
逢甲大學 自動控制工程學系 林宸生 教授
所開給研究所之練習利用簡易BCB程式與認識基本量測儀器寫出小專題

該實驗為本作者所簡易分享出來
詳細課程內容與範例請參考
http://140.134.32.129/edu/teach/index.html









2017年6月15日 星期四

[EV3]紅光反射光源分析

為了確定在低光源或夾雜複雜的光源下,依然不影響反射光的結果,分析了分別在白色及黑線白色各半以及黑線下的讀值變化,實驗使用LEGO MINDSTORMS EV3裡面的Experiment紀錄每秒取樣數值如圖
正常光源下:


正常光源下全白反射



正常光源下黑線與白色間反射



                           正常光源下黑線反射

每秒取五次數值,10次為一個樣本取平均值如圖

黑線白色間反射折線圖

黑線上反射折線圖

 全白反射折線圖

由上面的圖可分析出,即使在夾雜複雜光源或低光源的惡劣光源下,幾乎和正常光源沒有太大的影響性,由此實驗可證明藉由此自身發射紅光再進行物體吸收反射回來訊號是不會受外界光源影響的。
其中低光源數值的穩定性相對的比正常光源和夾雜複雜光源高,原因估計是因為正常光源與夾雜複雜光源中含有紅光,光源中的微弱紅光也被吸收,但因為相較由光感測器的光源太微弱故幾乎可以忽略。
當反射物體為鏡子時應是將所有光源全部反射,也進行了反射鏡子的實驗,數值為100,如圖
 鏡子全反射


2017年6月13日 星期二

[EV3]用LabVIEW for MINDSTORMS模組操控以及監控

LabVIEW現今已成為許多程式的主流,許多監控以及機器的操作都漸漸的被LabVIEW取代,源自於他的便利性以及使用介面,利用了LabVIEW for MINDSTORMS Module模組可以利用LabVIEW程式控制機器人主機,LabVIEW可以讓控制更多元更不受拘束,也可以隨時監控每一個輸出與輸入端如圖

 Labview操作介面

        下方圖是一個簡易型維持前方固定距離的程式,最外圍是while迴圈地控制,放置超音波感測器設定Port的位置,利用LabVIEW可以使用Waveform Chart監控即時數值,並且可以手動調整想要設定的前方固定距離,並且搭配馬達的設定與控制,再加上停止按鍵,就可以完成簡單的基本控制如圖
        使用LabVIEW最大的優點就是可以利用Chart監控每一個傳輸的數值是否正確,並且可以有彈性地控制參數,不像一般程式如果要改變參數必須要將程式取出並且修改,在LabVIEW介面上可以直接調整如圖

 LabVIEW Front Panel

 LabVIEW Block Diagram

        LabVIEW可以將感測器讀取到的值即時作處理以及運算,在機器人主機無法做過於複雜或龐大的運算功能,並且將每一個資料點儲存起來,可以在做後處理以及運用,利用LabVIEW本身許多的函式可以將程式簡化,不須為了運算而寫複雜的程式,機器人主機本身記憶體容量也不大,能儲存的空間有限,運用LabVIEW可以解決此問題如圖

 LabVIEW即時運算



LabVIEW將資料放進陣列並儲存

2017年6月9日 星期五

[EV3]系統軟體平台

1. LEGO MINDSTORMS

LEGO MindStorms Education EV3是用來設計EV3機器人程式的軟體如圖,為圖形化程式編輯軟體,設計界面和一般視窗軟體相似,操作相當容易。LEGO MINDSTORMS與前一代NXT-G比較,有下列幾項特色。
相較前一代NXT-G,更是把圖形化界面發揮到淋漓盡致,開發環境更佳簡潔易懂,色調簡樸,圖示更加人性化更清楚,對於初學者更容易上手。
與前一代不同新增了縮放編輯區域功能,可自由地放大和縮小程式方塊,避免程式太大太複雜,也可以快速找到所指定的程式方塊,當程式很大時,可將程式切割,利用My Block的功能來組成整個專案。
Auto ID是一個人性化的自動識別功能,相較於前一代NXT開發程式時,一定會遇到輸入端在Port C,但是程式卻忘記改成C,導致無法工作,此人性化的新功能可以讓程式設計者不用每次檢查Port是否正確,當拉馬達或感應器方塊時,就可以用選擇的方式來設定,解決了軟硬體溝通的問題,讓程式設計者更迅速除錯。
升級藍芽功能,藍芽連線不論是穩定度還是距離大大的進步,程式內也可以直接寫入主動建立和斷開連線的相關程式,比前一代提升許多。

LEGO MindStorms Education EV3 程式介面

2. LabVIEW for LEGO MINDSTORMS Module

        NI為美商國家儀器2014正式宣佈 LabVIEW平台也支援控制 LEGO MINDSTORMS EV3機器人如圖,以便銜接並控制 EV3 積木,就像透過 LabVIEW 來擴充NXT機器人的功能一樣。LabVIEW 具有直覺式的圖形化程式設計功能,亦可連接無數種感測器、裝置和系統,即使程式經驗不足,都可以立刻設計複雜、強大的機器人專案,所以此平台堪稱科學、技術、工程、數學教育的理想平台

 MINDSTORMS Robotics 選單

3. NXTCamView

        藉由NXTCamView軟體可直接將NXTCam連接到電腦,設定影像追蹤功能如圖
        Colormap為透過拍攝影像,儲存要匹配的顏色值,該數值為RGB三原色控制,此數值可以直接儲存在NXTCam裡,這些色值稱為Colormap,最多可儲存8Colormap,並且搭配對應的影像處理功能。NXTCam被傳輸一個預設的Colormap值去追蹤光源,下載測試或寫入測試程式追蹤光源。

 NXTCam View介面
操作步驟如下:
1.下載並安裝在PC上啟動NXTCamView
2.確認USB端和NXTCam端已安裝專屬NXTCamView的驅動程式
3.確認NXTCam插入電腦的USB
4.NXTCamView透過工具設置通信狀態,通常只要設置COMPort如圖
5.點選連線連接NXTCam
6.拍攝影像,檢查對焦和光源是否達想要的狀態。
7.在影像上點選顏色點進行追蹤,顏色為紅、綠、藍每個最大到最小值的範圍。
8.上傳色彩範圍設定到NXTCam

NXTCam View Port設定


 NXTCam Baud rate設定

2017年5月26日 星期五

[EV3]EV3硬體設備規格簡介

1. EV3智慧型可程式主機

        EV3機器人主機採用Linux系統作為OS,表示之後對於主機程式開發人員或周邊設備的開發廠商來說,可以在公開原始碼的環境下來開發EV3,也可製作相容的指令的模組,還可自身研發客製化的套件。目前可以控制EV3的語言有leJOS(Java)LabVIEW RobotCApp Inventor等語言平台等。
        EV3主機前後分別有4個輸入埠與4個輸出埠如圖,比前一代NXT多一個輸出埠,在硬體的架構以及馬達操作操作度上都會來的更加自由。傳輸程式則可透過USB、藍牙與無線網路(需外接Wi-Fi網路卡),將程式或檔案在EV3主機與電腦之間互相傳輸,而使用USB最方便如圖
EV3主機輸入與輸出埠
 EV3主機USB輸入埠與micro SD記憶卡插槽

        操作上,EV3機器人主機保持著樂高原有的直覺性操作,在EV3主機上共有六個功能鍵:按下中間的確認鍵也同時是開機鈕,左上方的取消鍵則是回上一步或是消除原有步驟,四個方向選擇鍵則是用來在直覺性選擇選項中移動如圖
EV3主機按鈕說明

EV3主機規格表
處理器
ARM9 300MHz
記憶體
16MB快閃記憶體
64MB RAM
作業系統
Linux Base
顯示器
178*128像素
輸出埠
4個輸出埠
輸入埠
4個輸入埠
支援類比通訊
數位通訊460.8Kbit/
USB傳輸速度
480Mbit/
USB介面
可使用USB線串聯最多四台EV3
可外接Wi-Fi網路卡就能無線上網
SD卡插槽
支援最高32GB micro SD記憶卡
支援智慧型手持裝置
iOS/Android/Windows
使用者介面
6個按鈕
程式碼大小(以循跡程式為例)
0.950KB
感測器通訊能力
1,000筆資料/
資料擷取速度
最高可到1,000筆資料/
藍牙通訊
最多可與7個被控端連接
測試程式的大小與運作速度
2KB
60秒內約可執行10,000次迴圈
電力供應
可充電電池或6AA電池
        EV3具有自動識別(Auto-ID)的功能,EV3主機會自動讀取所使用的連接埠以及連接模組,如此可以減低設計程式者的除錯工作,例如將馬達接在2號輸出埠,但在程式中卻設為3號,可自動識別。

2. 互動式伺服馬達(Interactive Servo Motor)

        機器人基本主要輸出動力的裝置不外乎就是馬達,EV3的馬達套件中分為大型馬達與中型馬達兩種,內建可以偵測馬達所轉動的角度,也支援自動識別的功能,如圖
 EV3大型馬達

大型馬達規格
角度編碼器回饋
正負1
轉速
160170 RPM
無負載時扭矩
0.21 N*m
全負載時扭矩
0.42 N*m
重量
76公克
自動識別
支援

3. 超音波感測器(Ultrasonic Sensor)

        超音波感測器利用發射設定好的超音波後,藉由接收物體所反射音波的時間差來距離量測,左眼為發射超音波,右眼則負責接收音波,新一代的超音波感測器上有LED燈,讓使用者知道是否有發射出超音波,其中EV3超音波感測器提供兩種模式,單純量測距離的接收模式和接收感應器外部超音波訊號的聆聽模式
 。超音波感測器回傳給主機的資料型態為數值如圖
EV3超音波感測器

EV3超音波感測器規格
量測距離範圍
3~250公分
感應角度
20
量測距離誤差值
正負1公分
前方照明
燈光:設定超音波
閃爍:接收訊號
讀取外界的超音波訊號
量測模組
三種量測模式:距離(公分與英吋)、範圍內是否有物體
自動識別
支援

4. 顏色感測器(Color Sensor)

        顏色感測器中可以感測白、黑、藍、綠、黃、紅、棕色與未感測到顏色分別為八種狀態,由數字07所代表,其感測的有效距離為15~50mm,不可過近或過遠,否則將無法正常感測顏色功能。感測器傳輸給主機的資料型態為正整數數值。顏色感測器另一個模式為反射光感測器,可回傳0100的正整數值代表所反射的環境或物體表面吸收光程度,如圖
EV3顏色感測器

 EV3顏色感測器規格
量測
只有紅色的反射光,可量測周圍光的亮度值和顏色
偵測結果
無感測到顏色、白、黑、藍、綠、黃、紅、棕,共八種結果
取樣速率
每秒1,000(1kHz)
距離
15~50mm
自動辨別
支援
以下是當顏色感測器設定為反射光(Reflected Light Intensity)模式時有效偵測範圍如圖。

深紅色三角型區域為偵測反射光的有效範圍
(a)53度、(b)53mm(c)71mm

5. NXTCam-v4

        NXTCam是一個即時的影像處理模組,具有內建處理器,並符合NXT標準輸入埠通訊協定的視覺模組如圖3.8。這個介面提供了NXTCam所見高階的、已處理的影像資料。此處理過的資料包含影像中物件的座標,在循線追蹤模式,它的資料包含了線段的座標圖、物件顏色、物件的數量、座標與線段的區塊座標系統

NXTCam-v4

NXTCam並非送出原始影像到NXT,以USB線連接NXTCam電腦,可透過NXTCamView軟體檢視所見的圖像,透過USB埠傳輸給電腦的解析度可達176*144像素顏色影像。

 NXTCam模組規格表
最大消耗電力
42mA at 4.7V
像素
88*144pixel
取樣速率
30fps
調整焦距
追蹤物件
最多可八個物件(須由使用者定義八個不同的顏色)
        I2C使用的腳位為:SDA(1)GND(2)SCL(3)+5V(4),根據表3.6列出了暫存器位置與設置的指令
NXTCam模組I2C功能指令表
Commands
Action
ASCII
Hex
A
0x41
Sort tracked objects by size
B
0x42
Select Object tracking mode
C
0x43
Write to image sensor Registers
Use CAUTION when using command C since this can stop NXTCam from working properly. In case this happens, please power off your NXTCam and power it on again.
D
0x44
Disable Tracking
E
0x45
Enable Tracking
G
0x47
Get the Color map from NXTCam Engine
H
0x48
Read data from the image sensor Registers
I
0x49
Illumination on (Future)
L
0x4C
Select Line tracking mode
N
0x4E
Set ADPA mode ON (setting stored in NVRAM)
O
0x4F
Set ADPA mode Off (default) (setting stored in
NVRAM)
P
0x50
Ping NXTCam Engine
R
0x52
Reset NXTCam Engine
S
0x53
Send the color map to NXTCam Engine
T
0x54
Illumination Off
U
0x55
Sort tracked objects by color
V
0x56
Get NXTCam Engine firmware version No, Read resulting string at 0x42 (12 bytes).
X
0x58
Do not Sort tracked objects
J
0x4A
Lock tracking buffer
Tracking is going on continuously, and while you read buffer may be updated by the tracking engine.  You can issue this command to Lock the buffer updates. After issuing this command allow 25 milliseconds for any updates in progress to finish. Then read the tracking information.
K
0x4B
Unlock tracking buffer.
If you had locked the buffer before reading, ensure to unlock it after you are done reading.

 NXTCam模組I2C暫存器位置表

Register
Read
Write
Comments
0x00-0x07
Software version (Vn.nn)
-

0x08-0x0f
Vendor Id mndsnsrs
-

0x10-0x17
Device ID NXTCam
-





0x41
-
Command
This register is command register.  A
command written here will be executed.
0x42
Number of objects detected
-
Shows how many objects are being tracked. Zero indicates that there are no objects being tracked.
0x43
1st object color
-
This is the first object color as per the sorting method selected.
0x441
1st object - X upper left

Upper left X coordinate of first object
0x45
1st object - Y upper left

Upper left Y coordinate of first object
0x46
1st object - X lower right

Lower right X coordinate of first object
0x472
1st object - Y lower right

Lower right Y coordinate of first object
0x48
2nd object color


0x49-0x4C
2nd object co-ordinates


0x4D
3rd object color


0x4E-0x51
3rd object co-ordinates


0x52
4th object color


0x53-0x56
4th object co-ordinates


0x57
5th object color


0x58-0x5B
5th object co-ordinates


0x5C
6th object color


0x5D-0x60
6th object co-ordinates


        焦距部分,NXTCam鏡頭設置2~4英尺之間為最佳的焦距,此鏡頭可自由旋轉,本身較緊防止意外地轉動與焦點晃動,輕輕地轉動支架鏡頭即可,不可太過用力,否則可能損壞鏡頭。
        內建自動暫停,一旦跟蹤模式開始,程式內讀取NXTCam的對象9秒內必須有動作,如果9秒內沒有動作,跟蹤模式會自動停止。
        NXTCam被設計在正常白光的環境下操作,影像擷取偏向紅色,很有可能外界光源與紅光有關,可以試著調整紅光讓影像處理更加精準,進一步的操作可以透過I2C暫存器來改變顏色增益、亮度和NXTCam的對比度。
        NXTCam的像素是88X144 NXTCam有兩種模式─物件追蹤模式(Object tracking mode)與循線模式(Line following mode)。使用物件追蹤模式時,NXTCam會將物體看作一個大方塊,並傳回方塊左上角與右下角的xy座標,我們只要經由簡單的換算便可以得知物體概略位置,而NXTCam最多可以同時追蹤八個不同的物體。在使用循線模式時,NXTCam會將物體切割成好幾個線段,並傳回每個線段兩個端點的xy座標如圖
 NXTCam模式示意圖