Mindsensors的新裝置-NXT Motors Multiplexer(NXTMMX)
大約一週前, Mindsensors的網站公佈了即將上市的新裝置: NXTMMX, 而就在前不久也開始提供User Guide及NXC程式庫與範例程式的下載, 於是利用週末整理了一下這個新裝置的相關資訊.
外觀 與 功能
NXTMMX具有四個RJ12的Ports, 分別是:
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 port的I2C操作來控制額外多連接的兩個NXT Servo Motors, 所以NXT Firmware Output Module的所有功能都不能使用在這些多附加的NXT Servo Motors的操作上, 反而NXTMMX的Firmware必須重現這些功能, 而這也是這類型裝置通常較複雜的地方.
接下來摘要一些NXT Output Module所沒有的功能:
1. 多提供了對Motor運轉時間的控制(Time Control), 而如果與Tachometer Control一起使用, 則Time control具有較高的優先順序.
2. Holding Tachometer position: 這個功能可以將前一次執行運轉完成後的位置儲存起來, 此時若Motor受到外力的影響以致改變位置時, 可以自動回復原來的位置後再繼續執行運轉.
3. 可以選擇使用相對位置 或 絕對位置方式來控制Motor的運轉
以上這些特性, 過去多半都是使用程式來進行控制, 而NXTMMX則已經加到Firmware的功能中, 所以理論上執行起來應該更有效率.
接下來, 將會繼續整理NXTMMX的I2C操作方式, 因為還沒有實際的產品可以測試, 所以算是紙上談兵.