第二章 履帶式機器人之軟、硬體系統架構與設計
2.3 馬達程式設計
在本論文中所用到的 SLIM5 伺服驅動器是採用 RS232 串接,在 RS232 上 的設定的通訊參數如下:
1. 傳輸速率: 9600 2. 同位檢查: None
15
3. 資料位元: 8 4. 停止位元: 1
5. 傳輸等待時間: ON 6. XON/XOFF: ON 7. RTS 電路: ON
在本論文中,自主式履帶機器人的開發平台為個人電腦,因此我們可以利 用 C 語言藉由 RS232 傳輸埠與機器人做溝通。但由於目前的電腦大都沒有配備 RS232 傳輸埠(comport),因此我們採用 USB to serial port 傳輸線。
RS232 傳輸埠的通訊參數可經由 MS-DOS 中命令提示字元(cmd)設定參數,
只要在 cmd 指令中輸入 mode 指令將可抓取全部使用中 RS232 通訊輸埠資訊,
單一 COM-PORT 的相關參數如表 2-2 所示[30],其中 Serial port 的設定格示為 MODE COM[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s] [RETRY=r],這當中 的大寫英文可以省略,直接以小寫英文字母下達,中間的空白以逗號來取代。
以 COM1 為例,可以輸入 MODE COM1:9600,N,8,1,X,結果如圖 2-11 所示。在 C 語言中,我們可藉由 system 指令直接對 CMD 下達命令,程式設計者可利用 sprintf 指令存好設定字串,再利用 system 指令中執行來設定 com-port。
16
表 2-2 MS-DOS 的 MODE 相關指令表[30]
圖 2-11 下達 CMD 指令後之視窗圖
在完成通訊參數設定後,我們可以利用 SLIM5 伺服驅動器所提供的指令來 下達馬達控制命令,如表 2-3 所示。指令表上為 SLIM5 伺服驅動器之串列接收 碼,主要為運動指令、JOG 運動指令、歸零、馬達控制指令、I/O 控制指令和 系統參數設定指令。在準備程式設計前,首先必須確認 SLIM5 伺服驅動器的作 業系統 MD(PN01)參數是否設為 5,如表 2-4 為 MD 模式表。SLIM5 伺服驅動器
17
最多可串接十五台驅動器,當驅動器進行串接時,必須先設定 TID 和 PN50 參 數。主控端驅動器 TID 參數設定為 0,第二台至第十五台驅動器的 TID 參數則 須設定為 1 至 15;另外,主控端驅動器的 PN50 參數必須依照當下串接驅動器 數量來做設定(或可預設為連接數的最大值),其餘驅動器皆設定為 H0000(16 進 制)。以四台驅動器為例,PN50 需設為 H000F(16 進制),完成設定後,利用指 令 SAVE 儲存設定,並且重新啟動驅動器。在我們實驗中,PN50 設定 H000F,
因此串接數不可超過四台。設定完參數後,若要向被串接的驅動器下達命令,
第一台至第十五台的運動指令碼需要加上 T1 至 T15 之代號,同時參數名稱需 要設定為參數編號。例如下達命令至串接中的第四台伺服馬達時,運動指令 JGF 和 VJ=100 則以 T4JGF 和 T4PN14=100 做設定。串接的好處是可以節省 RS232 的控制線,只需用網路線從驅動器的 RS485 端串接至另外一台驅動器的 RS232 端即可完成驅動器之串聯。但若在串接的驅動器中,有任意一台斷線或者存在 異常情況而導致無法工作,後面所串接的所有驅動器將全部無法動作,此為串 聯傳輸的最大風險。
18
19