2010-03-15

Mindsensors NXT Motor Multiplexer(NXTMMX)功能摘要(1)



Mindsensors的新裝置-NXT Motors Multiplexer(NXTMMX)


大約一週前, Mindsensors的網站公佈了即將上市的新裝置: NXTMMX, 而就在前不久也開始提供User GuideNXC程式庫與範例程式的下載, 於是利用週末整理了一下這個新裝置的相關資訊.


外觀 功能


NXTMMX具有四個RJ12Ports, 分別是:


M1 / M2 - 分別可以連接兩個NXT Servo Motors.
        NXT -
連接NXT Input Port, 所以它是一個I2C裝置
.
    Sensor -
可以連接額外的I2C裝置, 例如再多串接一個NXTMMX, 同時這樣也不會因此而少了一個Input port可以使用.


此外, 還有一個外接電源輸入端子, 額定是9V DC.


這裡我就有一個疑問, 對於串接的I2C裝置, 它的I2C Bus address是否須與NXTMMX不一樣? 假設是的話, 那如果要串接的是另一個NXTMMX, 則就必須要變更其中一個的出廠預設值(0x06).
對於這個問題, 已經寫mail去詢問Mr. Deepak, 可能在美東還是週末的關係, 所以尚未得到答覆.


特性摘要


NXTMMX主要的用途是由NXT透過對Input portI2C操作來控制額外多連接的兩個NXT Servo Motors, 所以NXT Firmware Output Module的所有功能都不能使用在這些多附加的NXT Servo Motors的操作, 反而NXTMMXFirmware必須重現這些功能, 而這也是這類型裝置通常較複雜的地方.




類似的如HitechnicSensor Multiplexer也是同樣的情形, 相較之下, NXTMMX也許還更複雜一些.

 


接下來摘要一些NXT Output Module所沒有的功能:


1.      多提供了對Motor運轉時間的控制(Time Control), 而如果與Tachometer Control一起使用, Time control具有較高的優先順序.


2.      Holding Tachometer position: 這個功能可以將前一次執行運轉完成後的位置儲存起來, 此時若Motor受到外力的影響以致改變位置時, 可以自動回復原來的位置後再繼續執行運轉.


3.      可以選擇使用相對位置 絕對位置方式來控制Motor的運轉


以上這些特性, 過去多半都是使用程式來進行控制, NXTMMX則已經加到Firmware的功能中, 所以理論上執行起來應該更有效率.


 


接下來, 將會繼續整理NXTMMXI2C操作方式, 因為還沒有實際的產品可以測試, 所以算是紙上談兵.


2010-03-13

Firgelli Linear Actuators for NXT( L12-NXT )簡單測試








Firgelli是位於加拿大專門生產微型線性致動器(Linear Actuators)的公司, 在今年初推出了兩款該公司L12系列相容於NXT的產品, 分別是50mm100mm伸縮臂行程的線性致動器, 型號為L12-NXT 50/100.


操作L12-NXT的方式就如同NXT Servo Motor一樣, NXT Cable連接Output ports再利用馬達控制指令就可以很容易的上手使用.


此外, 如果想要以手動方式操作, Firgelli也另外提供了兩種轉接線供選購, 分別可以連接PFTechnic的電池盒, 在應用方面算是相當的多樣化與彈性.



 


至於詳細的產品資訊可參考原廠的產品網頁.


 


外觀與機構


 


L12-NXTLego Parts的組合方式完全符合Lego的規格, 同時額外提供了一個活動接頭, 可以依據機構組合的需要, 彈性應用.




而本體的外殼以及伸縮臂都是鋁製金屬, 粗壯的延伸縮臂看起來應該相當耐操.



 


在收縮狀態L12-NXT 50mm總長度為15 FLU(Fundamental Lego Unit), 100mm21 FLU, 伸縮臂長度50mm6.5 FLU, 100mm13 FLU.



 


L12-NXT操作時, 一但停止供電, 伸縮臂會立即停止移動並鎖住在原來位置, 直到再次供電為止, 這應該是所有線性致動器共通的特性.


 


特性摘要


 


Firgelli提供了NXT-G Block以及DannyNXC libraryXanderRobotC library作為NXT程式的運用參考, 分別可以從這裡下載, 至於產品的User's Guide則尚未提供, 只有原來L12 Seriesdatasheet, 這一份文件比較屬於硬體規格說明, 並不適用於NXT users的參考, 還好, 就如同前面所說明的一樣, L12-NXT使用方式很類似NXT Servo Motor, 運用起來相當的容易.


L12-NXT具備位置回饋功能(Positional Feedback), 根據測試, 50mm回饋值的範圍最大是絕對值100, 100mm則是200, 所以解析度是0.5mm.


當伸縮臂延伸時回饋值遞減, 收縮時則遞增, 而回饋值可以使用MotorRotationCount(Output)函數讀取, 也可以使用ResetRotationCount(Output)歸零.


移動速度受Power level與負載影響, 實測在無負載並Full Power條件下, 50mm全部行程的時間約5.6, 100mm10.2



 


下面的測試影片可以觀察L12-NXT利用讀取位置回饋值, 來移動機械手臂到指定位置, 同時對於不同的Power Level, L12-NXT的運動情形(程式範例).



< >


以上以簡單的NXT Output指令(Un-regulated mode)來操作L12-NXT, 後續將計畫再進一步的測試其他三種控制模式(Speed Regulation’ Synchronized Motor Control’ Tachometer-Limited).