• 沒有找到結果。

CANopen分散式網路架構於機器手臂控制

N/A
N/A
Protected

Academic year: 2021

Share "CANopen分散式網路架構於機器手臂控制"

Copied!
100
0
0

加載中.... (立即查看全文)

全文

(1)

大華技術學院

機電工程研究所

碩士論文

CANopen 分散式網路架構於機器

手臂控制

Motion Control of Robot Arm using

CANopen Distributed Network

研 究 生: 蘇聖傑

指 導 教 授: 鄭時龍 博士

(2)

I

CANopen 分散式網路架構於機器手臂控制

研 究 生:蘇聖傑 Student:Sheng-Chieh Su 指導教授:鄭時龍 博士 Advisor:Dr. Shyr-Long Jeng

大華技術學院 機電工程研究所

碩士論文

A Thesis

Submitted to Institute of Mechatronic Engineering Ta Hwa Institute of Technology

in partial Fulfillment of the Requirements for the Degree of

Master of Science in

Mechatronic Engineering July2011

Hsinchu, Taiwan, Republic of China.

(3)

II

CANopen 分散式網路架構於機器手臂控制

研 究 生:蘇聖傑 指導教授:鄭時龍 博士 大華技術學院 機電工程研究所

摘要

機器人領域技術發展如火如荼。現行的機器人規格要求不僅 僅要求體積小,重量輕、省電以及高智慧與活動能力,系統整合已漸 漸成為一個關鍵性問題。傳統機器人設計為了整合聲音影像運動控制 等多個感測器回授信號,資訊內容豐富且龐大和複雜,大多皆是使用 PC-Base 的集中式架構為基礎,然而這些集中式架構本身即需要一個 複雜作業系統和應用程式去整合,系統架構本身的處理性能限制了機 器人交錯協調控制能力與硬體計算之控制能力。為了解決傳統的機器 人系統整合與適用性問題,本計畫提出以 CAN 通訊技術基礎,傳導 機器人各種交錯的複雜控制訊號。CAN 網路有減少配線、減少安裝及 維護成本下降優點。其可將移動式機器人中,多軸伺服馬達控制器串 接,構成一個網路化的系統。藉由 CANOpen 通訊協定與伺服馬達控 制器成功的來控制六軸伺服馬達。依伺服控制器特性,提升機器人操 控性能。伺服驅動器系統架構與分散式 CAN 網路的技術在機器人整 合科學領域上的特點與特性做完整的剖析。 關鍵字:通訊協定、六軸伺服馬達、分散式網路

(4)

III

Motion Control of Robot Arm using CANopen

Distributed Network

Student:Sheng-Chieh Su Advisor:Dr. Shyr-Long Jeng Institute of Mechatronic Engineering

Ta Hwa Institute of Technology

Abstract

The system integration effort for mobile robots has become more and more complex due to the requirement in size, power saving, weight and functionality. PC-based architecture was largely adopted because of its expansion capability and the ease of software development. However, the inherent drawbacks of the PC-based approach such as power consumption also limit the further development of the robot. This project proposes a novel distributed control system architecture based on CAN network, to provide a uniform environment for the integration of real-time control and information exchange among servo controllers. CAN becomes popular in different industrial applications with advantages as low cost, reduction of installation, and easy maintenance. The servo motor adopted in this study with the CAN interface to connect all motors. The main controller is applied to generate commands as the protocol to control six servo-motors of a mobile robot. CANOpen protocol provides a low-cost, high-integration and flexible real-time environment for mobile robot systems. This system platform has great potential to improve the manipulability of the mobile robot.

(5)

IV

目錄

頁次

摘要

... Ⅱ Abstract... Ⅲ 目錄 ... Ⅳ 圖目錄 ... Ⅵ 表格目錄 ... Ⅷ 第一章 簡介 ... 01 1.1 前言 ... 01 1.2 研究背景 ... 01 1.3 研究目的 ... 02 1.4 文獻回顧 ... 02 第二章 電源系統與履帶傳動部分 ... 04 2.1 串列式機器人 ... 04 2.2 輸入電源 ... 07 2.3 履帶傳動電源系統 ... 09 2.4 手控/遙控履帶運動命令選擇 ... 11 2.5 自行設計開發履帶控制面板 ... 14 2.6 自行設計開發緊急開關繼電器電路 ... 19 第三章 六軸機械手臂 ... 21 3.1 機械手臂電器規格 ... 21 3.2 自行設計伺服驅動器轉換電路板 ... 22 3.3 機械手臂運動 ... 29 3.3.1 正向運動學(forward kinematics) ... 29 3.3.2 反向運動學(inverse kinematics) ... 34

(6)

V

第四章 網路控制介面與機器人操作 ... 37

4.1 網路控制 ... 37

4.2 Controller Area Network-CAN 控制器區域網路... 37

4.2.1 CAN Bus 協定模式 ... 38 4.2.2 CAN Bus 訊框格式 ... 40 4.2.3 訊息的優先權 ... 47 4.2.4 仲裁機制 ... 47 4.2.5 偵錯機制 ... 48 4.3 CANopen 通訊協定 ... 49 4.4 DS-301 協議 ... 50 4.4.1 識別碼(COB) ... 50

4.4.2 NMT(Network Management Object)流程 ... 52

4.4.3 NMT 協議 ... 54

4.4.4 SDO(Service Data Object) ... 58

4.4.5 PDO(Process Data Object)... 68

4.4.6 EMCY(Emergency Object) ... 70 4.5 DS-402 協議 ... 70 4.5.1 狀態機的設備控制器 ... 71 4.5.2 定位 ... 76 4.5.3 位置控制 ... 78 第五章 機器人實際操作 ... 80 5.1 移動式機器人操作 ... 80 第六章 結論 ... 86 參考文獻 ... 89

(7)

VI

圖目錄

圖 2.1 履帶式災害處理機器人 ... 05 圖 2.2 六軸機械手臂各軸說明 ... 06 圖 2.3 各軸移動座標系 ... 06 圖 2.4 兩種不同動力源輸入選擇 ... 07 圖 2.5 履帶式機器人電源系統 ... 08 圖 2.6 電控箱配置 ... 09 圖 2.7 電源開關電路圖 ... 09 圖 2.8 履帶左右無刷馬達驅動器 ... 10 圖 2.9 履帶無刷馬達驅動控制器接頭腳位定義 ... 11 圖 2.10 兩種不同輸入訊號源,控制履帶運動 ... 13 圖 2.11 自行設計履帶信號控制板 ... 15 圖 2.12 自行設計緊急開關繼電器控制板 ... 20 圖 3.1 前方控制箱 ... 21 圖 3.2 自行設計驅動器轉換版與原廠轉換坂 ... 23 圖 3.3 自行設計訊號轉換版 ... 24 圖 3.4 伺服驅動器平貼於金屬壁 ... 25 圖 3.5 六軸機械手臂正向運動關係 ... 32 圖 3.6 旋轉關節 J1 可能解... 35 圖 3.7 旋轉關節 J2 解 ... 36 圖 4.1 CAN 網路結構 ... 38 圖 4.2 雙絞線差動傳輸信號 ... 39 圖 4.3 數據訊框 ... 41 圖 4.4 控制欄與資料欄 ... 43

(8)

VII 圖 4.5 CRC 檢驗欄與確認欄 ... 43 圖 4.6 擴展格式資料訊框 ... 44 圖 4.7 遠端要求資料的遠程格式 ... 45 圖 4.8 出錯格式 ... 46 圖 4.9 過載格式 ... 47 圖 4.10 CanOpen 網路協定 ... 50 圖 4.11 CanOpen 識別碼結構(COB) ... 51 圖 4.12 網路管理狀態流程 ... 53 圖 4.13 利用 SDO,讀取伺服驅動器內部參數資料 ... 59 圖 4.14 遠端模式 ... 71 圖 4.15 狀態基區塊動作圖 ... 72 圖 4.16 使用正定位開關和索引脈衝定位 ... 77 圖 4.17 使用負定位開關和索引脈衝定位 ... 78 圖 5.1 無線操控移動式機械手臂 ... 80 圖 5.2 後方配電箱 ... 81 圖 5.3 前方控制箱 ... 82 圖 5.4 利用遠端桌面連線操控機器人內部微控制器 ... 83 圖 5.5 程式操作畫面 ... 83 圖 5.6 無線操控搖桿 ... 84 圖 5.7 機器人操控 ... 85

(9)

VIII

表格目錄

表格 2.1 機器手臂各軸運動角度範圍 ... 05 表格 2.2 履帶無刷馬達驅動控制器接頭訊號 ... 11 表格 2.3 Port#1 端子腳位信號定義 ... 16 表格 2.4 Port#2 端子腳位信號定義 ... 18 表格 2.5 Port#3 端子腳位信號定義 ... 18 表格 3.1 各軸伺服馬達與伺服控制器規格 ... 22 表格 3.2 電源端接頭訊號定義 ... 26 表格 3.3 伺服馬達接頭訊號定義 ... 26 表格 3.4 伺服馬達迴授訊號接頭訊號定義 ... 27 表格 3.5 CAN 網路接頭訊號定義 ... 27 表格 3.6 RS232 網路接頭訊號定義 ... 27 表格 3.7 數位輸入訊號接頭定義 ... 28 表格 3.8 數位輸出訊號接頭定義 ... 28 表格 3.9 類比輸入訊號接頭訊號定義 ... 28 表格 4.1 不同物件管道函數代碼 ... 52 表格 4.2 NMT 狀態與物件啟動關係 ... 54 表格 4.3 SDO 傳輸訊息基本架構(Ⅰ) ... 60 表格 4.4 SDO 傳輸訊息基本架構(Ⅱ) ... 61

(10)

1

第一章 簡介

1.1 前言 近期震驚全球之日本大地震,造成福島核安事故,現場充滿高濃 度的輻射,就算有全套防護服,仍然是極度危險,尤其部分區域充斥 著輻射汙水,動輒幾公尺的深度,在無電力,漆黑一片的現場來說, 一旦踏入,幾乎沒有全身而退的可能,在這種惡劣環境之下,要搶修 者孤身挺進明顯是不明智之舉動,試想,光是摸索出反應爐故障的位 置,搶修者已不知要暴露在輻射中多久,因此,日本方面求助於美國, 派出 iRobot 系列之 SUGV((Small Unmanned Ground Vehicle)),即無人 戰地用小型機器人,協助探查場內情況,此型機器人可遠端操作,重 量輕便,一台 SUGV 約 30 磅重,運送方便,用途多樣,可佈署於戰 場、公共場所、市街,其上有可裝備不同感測器的設計,使其可在不 同的情況下,改變裝備之感測器,擔當起偵查、監視以及未爆彈處理 等危險處理,SUGV 外型的最大特徵為在兩側履帶前端各有裝備突起 之副履帶,可幫助其在階梯或崎嶇不平之地面攀爬行走,如履平地。 1.2 研究背景 現今台灣產業,最主要的收入來源仍為代工業,部分關鍵技術皆 掌握於他人之手,導致台灣無法自力生產,以長遠之遠光來看,絕不 利於台灣產業之發展,而無論是何種產業,除部分傳統手工產業,皆 難以與自動化機械離拖,因此擁有自動化技術是十分重要的,現在更 是以機械手臂之間的互動為主流,講到機械手臂,無外乎機械結構, 互相間的通訊,控制系統之類,每一項間皆息息相關,因此能確實掌 握每一項的關鍵技術是十分重要的。

(11)

2 1.3 研究目的 本計畫是以在 99 年現有中科院已完成履帶式「災害處理機器人」 雛型機為基礎,對雛型機中,原有馬達電控,操控軟體軟介面進行改 善調整,完成相關技術盤點整合,以輔助中科院設定遠程目標為 101 年科專 3K 產業及 102 年國防產業 UGV 建案成功。 計畫中硬體方面改善方面,擬更新六軸機器手臂馬達與控制驅動 器。原雛型機六軸機器手臂馬達有些採用直流無刷伺服馬達,步進馬 達與直流有刷馬達。由於受限電池電壓,原雛型機六軸機器手臂馬達 與驅動器設計並無法完全展現機器手臂特性。本計畫擬更新六軸機器 手臂馬達與控制驅動器,全採用直流無刷伺服馬達。操控中,我們不 採用原設計 RS232 介面,而改採較快速 CAN 網路介面,以實現分散 式網路馬達多軸控制設計。CAN 網路介面在串列式機構同步控制設計 與電控配線方面皆優於原設計 RS232 介面。在操控軟體方面,除程式 可相容於較新 Vista 作業系統,程式撰寫採用 C#語言搭配 NI 圖控軟 體,提供較視覺化圖控介面。提供中科院對「災害處理機器人」對其 他功能整合一個較佳操作環境。 1.4 文獻回顧 機器人產業為一新興產業,在政府不遺餘力的推動之下[1],已有 初步的成果,而無論是學界抑或民間,對於機器人之研究,更是有大 量之研究成果展現。 智慧型機器人由於是多種專業領域之高度結合,其中包含有運動 分析[2],使機器人可在規定的時間內,快速且準確的執行所需的動作, 而六軸機器手臂是常見之軌跡可控制系統[3],因機械手臂的結構與採 用的材質,甚至外在環境之影響與本體之極限,都會影響到手臂靈活

(12)

3 度與抓取的準確度,因此運動控制系統之重要由此可見,現今串列式 伺服運動控制[4]已慢慢取代傳統伺服控制技術,改善了過多配線、解 析度之不足、即時性與雜訊等缺點,可是即使採用了串列式伺服運動 控制,要如何取得最佳之馬達參數[5],又是一重要課題。 工業用之產業機器人由於通常之用於固定生產線之固定流程,因 此常採用固定於某位置之設計,可若是多功能之機器人[6],其必須要 具備一定之移動能力,在移動之選擇上,有使用仿生物之足類移動[7], 採用輪子進行移動[8]之設計,或與本次中科院計畫所採用之履帶式為 最常見。機器人具備了對環境之偵測以進行判斷之能力,需要在其上 裝置有影像攝影機或各類感測器[9,10],以提供機器人擁有視覺及感 知周遭狀態的能力。

(13)

4

第二章 電源系統與履帶傳動

2.1

串列式機器人 履帶式「災害處理機器人」雛型機如圖 2.1 所示。移動載具採用 履帶式移動設計,具有避震系統。能做原地旋轉,亦即,左右履帶能 做互為反向之運動。移動載具行走能力規格如下:行動自由度為 2,行 進速度大於 0.6 公尺/秒,爬坡能力 大於 60%。移動載具最大長度小 於 1100 mm;載具最大寬度小於 700 mm;載具單獨最大高度不限。 載具上面裝置六軸機械手臂。載具(含電池模組、行控電腦、感測器), 加上六軸機械手臂後,最大重量 小於 250 公斤。當六軸機械手臂呈 摺收狀態下,總高度小於 1100 mm。 移動載具上裝設六軸機械手臂,各軸運動關係圖如圖 2.2 所示。

(14)

5 軸號 1 2 3 4 5 6 迴旋 府仰 府仰 府仰 滾轉 鉗口 旋轉 角度 ±90° -80° ~135° -45° ~150° ±120° ±150° >50mm 說明 以車頭 方向為 0 度 以旋轉 軸方向 為 0 度 以 X2軸 方向為 0 度 以 X3軸 方向為 0 度 以 Z4軸 方向為 0 度 表格 2.1 機器手臂各軸運動角度範圍 依據右手定則。每一軸都附著一個移動座標系。註腳第 i 號代表 移動座標軸。第 0 號代表車體,第 n(n=1~6)號分別代表第 n 軸,如圖 2.3 圖所示。軸 XnYnZn對應角αn,βn,γn,角正負方向遵從右手定則。 圖 2.1 履帶式災害處理機器人

(15)

6 各軸運動角度範圍如表格 2.1 所示:

圖 2.3 各軸移動座標系 圖 2.2 六軸機械手臂各軸說明

(16)

7 2.2 輸入電源 履帶式「災害處理機器人」雛型機,其動力源輸入選擇有二。一 為採用內部磷酸鐵鋰型電池,電池容量約 50 安培小時。提供 24V 直 流電壓電源;或直接由外部接點,輸入 24V 直流電源,如圖 2.4 所示。 總直流電源最大容許電流以 100A 設計。兩組動力電源,進入履帶式 機器人後方控制配電箱,由手動閘刀開關,選擇動力輸入源,閘刀開 關往下選擇磷酸鐵鋰型電池為動力源。閘刀開關向上選擇外部端子輸 入 24V 直流電源。 閘刀動力電源開關輸出連接一個100A無熔絲總電源開關。如圖 2.5所示,總電源經無熔絲電源開關將電力分成三部分,分別提供 1. 履帶傳動馬達電源 2. 六軸機械手臂電源 3. 微電腦控制電源。圖2.6 與圖2.7分別為其實體圖與線路圖。履帶傳動部分:從無熔絲總電源開 關將電源連接至容量50A迴路保護器輸入端,迴路保護器輸出端連接 鋰鐵電池 外部電源端子(市電) 圖 2.4 兩種不同動力源輸入選擇

(17)

8 下面緊急開關繼電器,再將+24V直流電源分別傳送至左右履帶馬達之 驅動控制器電源輸入端。六軸機械手臂電源部分:經另一容量50A迴 路保護器,其輸出端連接至另一側緊急開關繼電器,將+24V直流電源 經鋰鐵電池右側空間,傳送至前方控制箱中DC/DC轉換器輸入端。準 備將+24V電源提升至+48V,以提供六軸機械手臂,六顆伺服馬達電 源。微電腦控制電源部分:經容量16A迴路保護器,由鋰鐵電池左側 空間,進入前方控制箱中,微電腦控制專用端子台,提供電源給主控 電腦。 電池(24V/100A) 或外部電源 履帶傳動 (24V/50A) 六軸機器手臂 (48V/50A) 微電腦控制 (24V/10A) 圖 2.5 履帶式機器人電源系統

(18)

9 2.3 履帶傳動電源系統 圖 2.7 電源開關電路圖 總電源開關 機械手臂開關 履帶開關 微控制器開關 緊急開關繼電器 履帶控制訊號板 圖 2.6 電控箱配置 閘刀開關

(19)

10 災害處理機器人履帶傳動機構,為兩側獨立驅動模組。各側傳動 機構零組件,包括:馬達,減速機,驅動齒輪,尾端惰輪,中間惰輪 與 鋼 絲 補 強 之 橡 膠 履 帶 。 履 帶 左 右 兩 側 動 力 致 動 源 採 用 兩 顆 600W/24V 之直流無刷馬達,獨立分別驅動履帶運轉。驅動控制器如 圖 2.8 所示,提供功能有開機/關機、啟動/停止、轉矩等控制功能。 圖 2.9 與表格 2.2 分別為驅動控制器接頭腳位定義與其相對控制信號 說明。驅動器採用傳統 DAQ 控制模式,啟動/停止,正/反轉與 On/Off 切換採用數位訊號,邏輯 1 為+24V,邏輯 0 為 0V。馬達轉矩命令, 為類比信號,其輸入信號範圍為 0 V ~ 4.2V。 右側履帶無刷馬達 控制訊號接頭 左側履帶無刷馬達 控制訊號接頭 圖 2.8 履帶左右無刷馬達驅動器

(20)

11 腳位 顏色 說明 1 黑 GND訊號,控制器電源(DC 0V)輸入端 2 棕 啟動 / 停止 3 紅 Torque 扭矩命令(0 V~4.2V)輸入端 4 橙 N/A 5 黃 CW / CCW 馬達運轉方向切換 6 綠 N/A 7 藍 N/A 8 灰 控制器電源輸入端(開機 / 關機) 9 白 電池電源(DC 24V)輸入端 表格 2.2 履帶無刷馬達驅動控制器接頭訊號 2.4 手控/遙控履帶運動命令選擇 黑 棕黑 黃 橙黑 紅 綠 藍 紫 灰黑 白黑 1 2 9 10 圖 2.9 履帶無刷馬達驅動控制器接頭腳位定義 腳位 腳位

(21)

12 履帶傳動由左右兩顆無刷馬達驅動器。驅動無刷馬達命令可由 1. 移動式機器人後面面板(圖 2.10 (a)所示); 2.微控制器經由機器人左 側資料擷取卡(圖 2.10 (b)所示),由前端控制箱中微電腦,經 USB 介 面,由資料擷取卡控制器輸出 DO 與 AO 訊號控制履帶運動。 1 手動控制部分 圖 2.10 (a)為手動履帶運動命令面盤。面盤按鈕其功能選擇如下; (1) 手動/遙控命令選擇開關: 為一般數位開關,當開關切換至手動部分,履帶運動由面盤 上控制按鈕操控;當開關切換至遙控部分,履帶運動直接由 前端控制室中微電腦程式操控,與面板按鈕無關。 (2) 左側履帶前進/後退選擇開關: 為一般數位開關,設定左側履帶前進或後退運動。 (3) 左側履帶輸出轉矩大小調整開關: 為可調式可變電阻,改變電壓,調整左側履帶輸出轉矩。 (4) 右側履帶輸出轉矩大小調整開關: 為可調式可變電阻,改變電壓,調整右側履帶輸出轉矩。 (5) 右側履帶前進/後退選擇開關: 為一般數位開關,設定右側履帶前進或後退運動。 (6) 緊急開關: 當緊急開關按鈕按下時,經功率繼電器切換將履帶與機械手 臂電源開路,停止履帶與機械手臂運動。但是,前端控制室 中微電腦電源並不受緊急開關影響。 (7) 輸入電源指針電壓顯示: 當下方可彈回切換開關向上切換時,指針電壓顯示現在電源

(22)

13 (a)手動控制面盤 (b)傳統 DAQ 資料擷取 USB 介面 資 料擷取卡 手動/遙控命令 選擇開關 圖 2.10 兩種不同輸入訊號源,控制履帶運動 緊急開關按鈕

(23)

14 系統電壓準位。 (8) 入電 LED 指示燈: 當總電源無容絲開關啟動,且輸入電源維持直流+24V 左右時, 入電 LED 指示燈會亮起。 (9) 市電 LED 指示燈: 當外部輸入電源端子,接上+24V 直流電源時,市電 LED 指 示燈會亮起。 2 遙控部分 履帶運動控制,由前端控制箱中微電腦,經 USB 介面,由資料擷 取卡控制器如圖 2.10(b) ,輸出 DO 與 AO 訊號,經控制箱中自 行設計之履帶控制面板,將勳號輸出至無刷馬達驅動器,驅動馬 達運動。 2.5 自行設計開發履帶控制面板 自行設計開發履帶控制面板,主要將兩組不一樣控制訊號: 履帶 運動手動控制面盤訊號與資料擷取卡所送出訊號,匯入控制電路板。 經由內部 PLD 數位邏輯晶片,將正確控制訊號輸出至左右兩顆無刷 馬達驅動器,電路圖以及佈線圖如圖 2.11。 履帶控制面板其主要訊號輸入與輸出可分為4個Port,包含有:1. DAQ 信號輸入端子。 2. 手動控制面盤信號輸入端子。3. 輸出右邊 履帶無刷馬達控制端子。4. 輸出左邊履帶無刷馬達控制端子。 1 Port #1 端子: 採用 D型 15 Pin接頭,連接DAQ資料擷取卡中DI, DO 與AO 訊號,各腳位訊號定義如表格2.3。

(24)

15 (a)履帶信號控制電路圖 (b)印刷電路板佈線圖 Port 1: DAQ 信號輸入 Port 2: 面板 信 號 輸 Port 4: 左馬達 信 號 輸 出 圖 2.11 自行設計履帶信號控制板 Port 3: 右馬達 信號輸 出

(25)

16

腳位 符號 說明

1 AO #1 左馬達轉矩訊號,訊號範圍: 0.7 ~ 4.3 V 2 Gnd

3 DO #1 右馬達 前進/#後退訊號: 0~5V

4 DO #3 右馬達 Enable訊號 -> Active High : 0~5V 5 DO #5 右馬達 #Run訊號 -> Active Low : 0~5V 6 DI #0 手動/自動 切換訊號 : 0~5V

7 DI #2 Home 訊號: 0~5V 8 Gnd

9 AO #2 右馬達轉矩訊號,訊號範圍 0.7 ~ 4.3 V 10 DO #0 左馬達 前進/#後退訊號: 0 ~ 5V

11 DO #2 左馬達 Enable訊號 -> Active High: 0~5V 12 DO #4 左馬達 #Run訊號 -> Active Low: 0~5V

13 DO #6 保留 14 DI #1 緊急開關訊號: 0 ~ 5V 15 DI #3 保留 表格 2.3 Port #1 端子腳位信號定義 2 Port #2端子: 採用 D型 25 Pin接頭,連接外部控制面板訊號,各 腳位訊號定義如表格2.4。 腳位 符號 說明

(26)

17 1 Emcy+ 緊急開關 正端輸入 (0 ~ 5V) 2 NC 3 Dirleft- 左馬達前進/#後退訊號 負端輸入 (0V) 4 Dirright- 右馬達前進/#後退訊號 負端輸入 (0V) 5 Torqleft+ 左馬達轉矩訊號 正端輸入 (~5V) 6 Torqleft- 左馬達轉矩訊號 負端輸入 (0V) 7 Torqright2 右馬達轉矩訊號 信號端輸出 ( 0 ~ 5V) 8 NC 9 Manu- 手動/遙控開關 負端輸入(0V) 10 LED1+ 入電LED 指示燈 正端輸入 (24V) 11 LED2+ 市電LED 指示燈 正端輸入 (24V) 12 +24V 電壓表正端輸入 (24V) 13 Gnd 地線 14 Emcy- 緊急開關 負端輸入 (0V) 15 Dirleft+ 左馬達前進/#後退訊號 正端輸入 (0 ~ 5V) 16 Dirright+ 右馬達前進/#後退訊號 正端輸入 (0 ~ 5V) 17 NC 18 Torqueleft2 左馬達轉矩訊號 信號端輸出 ( 0 ~ 5V) 19 Torqueright1 右馬達轉矩訊號 正端輸入 (~5V) 20 Torqueright3 右馬達轉矩訊號 負端輸入 (0V) 21 Manu+ 手動/遙控開關 正端輸入(5V) 22 NC

(27)

18 23 LED1- 入電LED 指示燈 負端輸入 (0V) 24 LED2- 市電LED 指示燈 負端輸入 (0V) 25 Gnd 地線 表格 2.4 Port #2 端子腳位信號定義 3 Port #3端子: 採用 D型 9 Pin接頭,輸出訊號與左邊馬達驅動器訊 號控制端子相連接,各腳位訊號定義如表格2.5。 腳位 符號 說明 1 Gnd 地線

2 #Run 運轉控制訊號(Active Low : 0 ~ 24V) 3 Torque 輸出轉矩訊號( 0 ~ 5V) 4 NC 5 CW/#CCW 前進/#後退控制訊號 (0 ~ 24V) 6 NC 7 NC 8 Enable 致動控制訊號 (0 ~ 24V) 9 +24V 24V 電源 表格 2.5 Port #3 端子腳位信號定義 4 Port #4端子: 採用 D型 9 Pin接頭,輸出訊號與右邊馬達驅動器訊 號控制端子相連接。訊號定義與Port #3相同。

(28)

19 2.6 自行設計開發緊急開關繼電器電路 當緊急開關按鈕被按下時,前一代移動機器人電控設計是對履帶 馬達動力源直接做斷電處置。本計畫在考量履帶馬達動力源最大電流 設計為50A,直接用緊急開關按鈕切斷電源會有一些電性上不恰當。 故我們修正利用三顆低壓高電流繼電器並聯共兩組,分別控制履帶動 力源與機械手臂動力源。 如圖2.12 所示,自行設計開發緊急開關繼電器電路板,上端端子 台分別為連接來自履帶與機械手臂迴路控制器輸出端動力源。經3*2 低壓高電流繼電器,輸出端連接至下方端子台。繼電器控制訊號由左 下端3Pin 2.0 mm 接頭輸入。當外部控制面盤按下緊急開關按鈕時, 訊號從履帶信號控制板 Port #2輸入。緊急開關訊號再從信號控制板 中一個3Pin 2.0 mm 接頭將訊號輸出,進入緊急開關繼電器板中,控 制3*2低壓高電流繼電器。當緊急開關按鈕被按下時,6個繼電器同時 動作,將履帶與機械手臂主力電源同時開路,完成緊急斷電動作。

(29)

20 (a)緊急開關繼電器電路圖 (b)印刷電路板佈線圖 3*2 個 繼 電 器 並 聯,分別控 制 履 帶 與 機 械 手 臂 電源 履帶與機 械手臂電 源輸入端 子 履 帶 與 機 械 手 臂 電 源 輸 出 端 子 繼 電 器 控 制訊號 圖 2.12 自行設計緊急開關繼電器控制板

(30)

21

第三章 六軸機械手臂

3.1

機械手臂電器規格 履帶式災害處理機器人,其六軸機械手臂運動,由六顆伺服馬達 驅動。機械手臂動力源從後端電控箱中,緊急開關繼電器輸出端子 (+24V),沿著鋰鐵電池右側,進入前方控制箱中 1 KW DC/DC 轉換器 中,如圖 3.1 所示。DC/DC 轉換器將輸入直流 24V 電源昇壓至直流 48V 電源,提供機械手臂,六個伺服驅動器,推動伺服馬達主力電源。 第一軸, 第二軸與第三軸伺服驅動器平貼於電控箱。第四軸,第五 軸與第六軸則平貼於機械手臂第四軸空間中。伺服驅動器皆利用金屬 箱壁或機械手臂金屬直接散熱。各軸伺服馬達與伺服控制器規格如表 1KW 24V/48V DC/DC 轉換器 1, 2, 3 軸 伺服控制器 圖 3.1 前方控制箱 微電腦控制器

(31)

22 格 3.1 所示。 馬達規格 控制器產牌規格 減速比 /Encoder 第#1軸 DC 48V/480W 直流無刷伺服馬達 Elmo 10A/60V 300/2500 第#2軸 DC 48V/480W 直流無刷伺服馬達 Elmo 10A/60V 600/2500 第#3軸 DC48V/200W 直流無刷伺服馬達 Elmo 10A/60V 675/2500 第#4軸 DC48V/200W 直流無刷伺服馬達 Elmo 10A/60V 960/2500 第#5軸 DC48V/90W 直流無刷伺服馬達 Elmo 5A/60V 380/2048 第#6軸 DC48V/90W 直流無刷伺服馬達 Elmo 5A/60V 15/2048 表格 3.1 各軸伺服馬達與伺服控制器規格 3.2 自行設計伺服驅動器轉換電路板 履帶式災害處理機器人,機械手臂硬體設備裝置與傳統固定式機 械手臂在技術上相比,主要差異有: 履帶式災害處理機器人可利用放 置電控原件空間遠比固定式機械手臂俠小。如何在有限空間中,將伺 服驅動器順利安裝於履帶式災害處理機器人中,又要注意其散熱問題, 與減少配線複雜度,是本計畫一個很大挑戰。

(32)

23 從表格 3.1 中可知:災害處理機器人採用目前全世界最小伺服驅 動器: Elmo 公司生產 Whistle 驅動器。其除提供一般伺服馬達應有功 能外,亦提供 CAN 網路介面。但是其提供驅動器訊號轉換板面積很 大,如圖 3.2 所示,原廠提供轉換版並不適用於履帶式災害處理機器 人。在計劃中,我們針對此缺陷,重新設計訊號轉換板,將面積縮小, 且驅動器散熱片在底層,可直接將驅動器平貼於金屬壁。 伺服驅動器轉換電路板,主要將 Elmo 伺服驅動器信號接點,利 用印刷電路板轉換成不同型式接頭,方便實際應用電路整合。轉換板 電路圖如圖 3.3 所示,轉換板包含有: 1) 電源端接頭。 2) 伺服馬達 接頭。 3) 伺服馬達迴授訊號接頭。 4) CAN 網路接頭。 5) RS232 網 路接頭。 6) 數位輸入訊號接頭(DI) 。 7) 數位輸出訊號接頭(DO)。 8) 類比輸入訊號接頭(AI) ;電路板實際配置圖,如圖 3.4。各接頭訊 號定義如表格 3.2 至表格 3.9。 原廠驅動器轉換板 自行設計轉換板 圖 3.2 自行設計驅動器轉換板與原廠轉換板

(33)

24 (a) 訊號轉換板電路圖 (b) 訊號轉換板實體圖 電 源 馬達 UVW RS232 接頭 CAN 接頭 馬達迴授 訊號接頭 數位輸入訊 號接頭 圖 3.3 自行設計訊號轉換板

(34)

25

(a) 第 1, 2, 3 軸 伺服驅動器

(b) 第 4, 5, 6 軸 伺服驅動器 圖 3.3 伺服驅動器平貼於金屬壁

(35)

26 1. 電源端接頭 腳位 符號 說明 1 +24V 直流 24V 電源(提供一般 DAQ 訊號電源) 2 +48V 直流 24V 電源(提供伺服馬達主要動力源) 3 Gnd 地線 表格 3.2 電源端接頭訊號定義 2. 伺服馬達接頭 腳位 符號 說明 1 PE 伺服馬達接地線 2 P1 伺服馬達 U 相電源 3 P2 伺服馬達 V 相電源 4 P3 伺服馬達 W 相電源 表格 3.3 伺服馬達接頭訊號定義 3.伺服馬達迴授訊號接頭 腳位 符號 說明 1 +5V 提供伺服馬達 編碼器與霍爾感測器電源 2 Gnd 地線 3 ChA+ 編碼器 A 相 正端差動訊號 4 ChA- 編碼器 A 相 負端差動訊號 5 ChB+ 編碼器 B 相 正端差動訊號 6 ChB- 編碼器 B 相 負端差動訊號 7 Ind+ 編碼器 起始訊號, 正端差動訊號

(36)

27 8 Ind- 編碼器 起始訊號, 負端差動訊號 9 HA 馬達霍爾感測器 A 相 訊號 10 HB 馬達霍爾感測器 B 相 訊號 11 HC 馬達霍爾感測器 C 相 訊號 12 PE 訊號排線 接地端 表格 3.4 伺服馬達迴授訊號接頭訊號定義 4. CAN 網路接頭 (兩組,彼此並聯) 腳位 符號 說明 1 CAN_H CAN 網路 正端差動訊號 2 CAN_L CAN 網路 負端差動訊號 3 Gnd 地線 表格 3.5 CAN 網路接頭訊號定義 5. RS232 網路接頭 腳位 符號 說明 1 CAN_H RXD 接收訊號線 2 CAN_L TXD 接收訊號線 3 Gnd 地線 表格 3.6 RS232 網路接頭訊號定義 6. 數位輸入訊號接頭(DI) 腳位 符號 說明 1 DI #1 數位輸入訊號 Ch#1 (0~24V) 2 DI# 2 數位輸入訊號 Ch#2 (0~24V)

(37)

28 3 DI# 3 數位輸入訊號 Ch#3 (0~24V) 4 DI# 4 數位輸入訊號 Ch#4 (0~24V) 5 DI# 5 數位輸入訊號 Ch#5 (0~24V) 6 DI# 6 數位輸入訊號 Ch#6 (0~24V) 7 +24V 直流+24V 輸出電源 8 Gnd 地線 表格 3.7 數位輸入訊號接頭訊號定義 7. 數位輸出訊號接頭(DO) 腳位 符號 說明 1 DO# 1 數位輸出訊號 Ch#1 (0~24V) 2 DO# 2 數位輸出訊號 Ch#2 (0~24V) 3 +24V 直流+24V 輸出電源 4 Gnd 地線 表格 3.8 數位輸出訊號接頭訊號定義 8. 類比輸入訊號接頭(AI) 腳位 符號 說明 1 AI# 1 類比輸入訊號 AI#1 (0~5V) 2 AI# 2 類比輸入訊號 AI#2 (0~5V) 3 Gnd 地線 表格 3.9 類比輸入訊號接頭訊號定義

(38)

29 3.3 機械手臂運動 目前機器人的探討非常的深入且廣泛。其中機械臂的研製應可算 是最基本的工作[11, 12, 13]。六軸機械臂控制涉及運動學(kinematics), 動力學(dynamics)及控制理論[14, 15, 16, 17]。記著重於幾何觀點之運 動學解算,包含由機械臂之工作點及姿態 (posture)來計算六軸旋轉角, 及由旋轉角推空間工作點位置及姿態,以完成空間軌跡規劃等。

六軸機械臂(6-joint Robotics manipulators)由六個伺服旋轉軸(joint) 及軸間之剛性連結(rigid link)所構成。前三軸用來支撐及控制機械臂 (arm),它主要決定了手(hand ,tool or end-effector)及腕(wrist)在空間 的位置;後三軸不含手構成了腕(wrist), 它主要決定了手的擺置方式 (姿態)。 3.3.1 正向運動學(forward kinematics) 在不考慮到速度與扭力控制的情況下,機械臂必須先求出正反向 運動學方程式, 其目的在於讓機械臂可以在卡氏坐標系(Cartesian Coordinate)與軸坐標系(Joint Coordinate)間自由轉換。所謂正向運動學 所指的是利用機械臂各軸所轉動之角度,去推出其工作點在三度空間 上的位置及工具姿態向量。反向運動學則反向利用三度空間點坐標及 姿態反推各軸轉動量。 正向運動學問題可以描述如下:已知 J1,J2,J3,J4,J5,J6,求 機械臂各點位置及最終工具姿態向量。定義了機器人的各個坐標系 則可以用廣義齊次座標轉換矩陣描述機器人的位姿及位姿變換廣義 齊次座標轉換矩陣 Ai 是一個 4×4 矩陣,表示第 i 個關節坐標系在第 i - 1 個關節坐標系中的投影。它的第 4 行元素是為滿足矩陣運算而 “填”上的,恒為[0 0 0 1]。矩陣左上角的 3 行 3 列 Ai ( n ,1) , Ai ( n ,2) ,

(39)

30

Ai ( n ,3) 共 9 個元素表示坐標軸 Xi+1,Yi+1 , Zi+1 分別相對於 Xi , Yi ,

Zi 的方向餘弦;第 4 列 Ai ( n ,4) ( n = 1 ,2 ,3) 表示座標原點 Oi+1 在坐 標系 Oi XiYi Zi 中的座標,由於這 3 個座標是關節變數的函數,所以,實際 上也就是 Oi+1 點的運動方程,廣義矩陣的乘積也有同樣的物理意義。 利用齊次座標轉換矩陣,我們定義 1 延x 軸方向平移a              1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 a a x, T (3.1) 2 延y 軸方向平移b              1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 b b y, T (3.2) 3 延z 軸方向平移c              1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 c c z, T (3.3) 4 以 x 軸為中心,正方向轉 α 角               1 0 0 0 0 cos sin 0 0 sin cos 0 0 0 0 1

α x, R (3.4)

(40)

31 5 以y 軸為中心,正方向轉 β角               1 0 0 0 0 cos 0 sin 0 0 1 0 0 sin 0 cos

β y, R (3.5) 6 以z 軸為中心,正方向轉γ角               1 0 0 0 0 1 0 0 0 0 cos sin 0 0 sin cos

γ z, R (3.6)

假設 X-Y-Z 坐標是絕對坐標系(base coordinate system),OA,AB, BC,CD,DE 為臂(arm),; OA 長度=L10;AB 長度=L11; BC 長

度=L2;CD 長度=L30;DE 長度=L31。EP 代表理想尤拉型(Euler)腕關

節抽象示意, P 點為手或工具安裝起點,P 點定義為工作點(tool center) 。X’-Y’-Z’坐標定義為腕坐標系(wrist coordinate system),其中 Z’在 DE 射線方向上,X’垂直於地面;E 為腕坐標中心(wristcenter)。

L4 為尤拉型腕關節腕坐標中心至工作點之距離;關於六軸機械手臂

(41)

32 1 A 點坐標可由下式求得                                         1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 10 10 0 L L O T A z,L1 (3.7) 2 B 點坐標可由下式求得 Z X Y O A C D E P 10 L 11 L 2 L 30 L 31 L 圖 3.5 六軸機械手臂正向運動關係

(42)

33                                            1 sin cos 1 0 0 1 0 0 0 0 1 0 0 0 0 cos sin 0 0 sin cos 10 1 11 1 11 11 1 1 1 1 0 L J L J L L J J J J A T R T B z,L1 z,J1 x,L11 (3.8) 3 C 點坐標可由下式求得                                                            1 cos sin sin cos sin 1 0 0 1 0 0 0 0 cos 0 sin 0 0 1 0 0 sin 0 cos 1 0 0 0 0 1 0 0 0 0 cos sin 0 0 sin cos 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 1 1 2 0 J L J J L J J L L J J J J J J J J y B B T R T R T C z,L1 z,J1 x,L11 ,J z,L2 (3.9) 4 E 點坐標可由下式求得 L31 z, π/2 y, L30 z, π/2 J3 y, L2 z, J , L11 x, J1 z, L1 z, R T R T R T R T T E0    y 2      (3.10) 5 P 點坐標(tool center)可由下式求得 J5 y, J4 z, L31 z, π/2 y, L30 z, π/2 J3 y, L2 z, J2 y, L11 x, J1 z, L10 z, R T R T R T R T R R T P           (3.11)

(43)

34 3.3.2 反向運動學(inverse kinematics) 反向運動學問題為:給定已知工作點(P 點坐標)及工具姿態,反求 各旋轉關節軸 J1、J2、J3、J4、J5、J6。而實際機械臂操作軌跡規畫中, 已知起點 A 點至終點 B 之軌跡,另外起點姿態與終點姿態也為已知, 中間姿態用線性插值插出。此種問題為已知工作點及 J4,J5,J6 反推 J1,J2,J3 之問題。 1 計算工作點 P 點至腕坐標各軸投影值 Lx,Ly,Lz 機械臂,J4,J5,J6 為已知值,所以可固定手腕形狀,使工作點 P 點至腕坐標各軸投影值 Lx, Ly,Lz 為固定值。Lx,Ly,Lz 可用 下式求出: 4 5 4 sinJ cosJ L Lx    (3.12) 4 5 4 sinJ sinJ L Ly    (3.13) 5 4 cos J L Lz   (3.14) 2 計算旋轉關節軸 J1 ) ( sin ) ( tan 1 1 1 L L p p J y x y     (3.15) 其中 2 2 y x p p L 

T z y x p p pP J1 有二個解,此二解差180 度,如圖3.6 所示。其結果解也會 影響J2 及J3 之量測方向。

(44)

35 3 計算旋轉關節軸 J2,如圖 3.7 所示。 ) / 2 / 2 / ) (( cos 2 2 1 2 2 2 2 2 1 1 Q P r r Q P r CBP       (3.16) ) / ( tan 1 Q P PBU    (3.17) ) / 2 / 2 / ) (( cos 2 2 1 2 2 2 2 2 1 1 Q P r r Q P r CBP       (3.18) ) ( 2 / 2 CBP PBU J

   (3.19) 其中 10 2 2 2 L L P P Pxyy  11 L p Qz  A B C E O z

-

-

-

+

+

+

J1 J2 J3 L10 L11 L2 L3 A O B C E L10 L11 L2 L3

+

+ -

-

z J1 J2 J3 (a) 關節軸 J1 可能解#1 (b) 關節軸 J1 可能解#2 圖 3.6 旋轉關節軸 J1可能解

(45)

36 4 計算旋轉關節軸 J3 ) / / 2 / ) (( cos 2 2 2 2 2 2 2 1 1 r L Q P r r BCP      (3.20) ) / ( tan )) /( ( tan 1 4 3 4 1 30 31 3 BCP L L L L L J    ba   (3.21) 其中 3 30 3 31 4 L L /L L L /L L az   x 3 31 3 30 4 L L /L L L /L Lbz   x 圖 3.7 旋轉關節軸 J2解 z v A B O D C P E J3 J2 L11 L10 L2 L30 L31 L3 u (0,0) L4a L4b r1 r2 Lx Lz (U0,Y0)

(46)

37

第四章 網路控制介面與機器人操作

4.1 網路控制 目前工業用機器人種類繁多,但根據其多軸控制系統的技術特點 一般可分為三種類型:1. 基於 PLC 的多軸控制系統;2. 基於 PC 的 多軸控制系統;3. 基於網路控制的多軸控制系統[18, 19]。其中,網 路控制系統具有數位信號傳輸、系統完全開放等優點,得到廣泛的應 用。CAN 網路[10,11]已實際應用工業機器人中,現場匯流排能夠傳送 多個過程變數,而傳統的 4~20mA 控制回路一般只能攜帶一個過程變 數。採用網路控制後,在傳輸變數過程的同時,儀錶的識別字和簡單 的診斷資訊也可一併傳送。 CAN-bus 是一種多主方式的串列通訊匯流排,基本設計規範要求 有高的位元速率、高抗電磁干擾性而且能夠檢測出產生的任何錯誤。 CAN- bus 匯流排在通信能力可靠性、即時性、靈活性、易用性、傳輸 距離遠、成本低等方面有著明顯的優勢,成為目前業界最有前途的現 場匯流排之一。 4.2 CAN 控制器區域網路 CAN 是一個簡易的雙線差動式序列匯流排系統。它在充滿雜訊的 電氣環境下仍具有高階的資料整合能力,不論是短距 (40 m) 的高速 (1 Mbits/s) 資料傳輸或是遠達 10,000 m 的低速 (5 kbits/s) 資料傳輸, 多主控端的 CAN 匯流排系統均可提供高度容錯、功能強大的偵錯與 設計處理能力。 CAN 匯流排,如圖 4.1,其特點為允許網路上的設備直接進行互 相通訊,而且網路上並不需要主機(Host)控制通訊。它為一序列匯流

(47)

38 排,提供高安全等級及有效率的即時控制,更具備了偵錯和優先權 判別的機制,在這樣的機制下,網路訊息的傳輸變的更為可靠而有效 率。並擁有高度的彈性調整能力,可以在既有的網路中增加站台而不 用在軟硬體上作修正與調整的作業,並且,資訊的傳遞不是建構在特 殊種類的站台上,增加了在升級網路時的便利性。 4.2.1 CAN Bus 協定模式 CAN 協定是參考 ISO/OSI 的七層協定模式而做定義的,但因它主 要是用來傳送簡短且簡單的訊號,而且是一封閉性的系統,並不需要 負責系統的安全、產生使用者介面的資料,以及監控網路的登入等動 作,因此只定義了實體層(Physical Layer)和資料鏈結層(Data Link Layer)。

1 實體層(Physical Layer)

CAN 實體層的作用在於規範位元元標記法(bit representation)、 位元時序及同步性(bit timing and synchronization),通常還包括 CAN-Bus

節點 1 節點 2 節點 3

節點 4 節點 5

(48)

39

腳位連接器和接線的型式。CAN 藉由兩條序列匯流排(CAN_H and CAN_L)即時傳輸資料,傳輸速率可高達 1M bits/sec。

CAN 通訊採用雙線差動(two-wire differential) 傳輸的技術規 格,只需要兩條信號線(CAN-H 和 CAN-L),就可進行正常的通訊, 如果是在干擾較強的地方,可能還需要用到 CAN-G,主要功能為 遮蔽干擾訊號。如圖 4.2,Bus 須能夠呈現兩種邏輯狀態(dominant & recessive),當在隱性(recessive)狀態時,CAN-H 和 CAN-L 的輸 入電壓差為 0V,而當顯性(dominant)狀態時,CAN-H 和 CAN-L 的輸入電壓差為 2V。假如有兩個裝置同時對 bus 傳輸不同的邏輯 狀態的訊息時,只有傳送 dominant 狀態的裝置能夠成功傳輸資料 並繼續其動作。

2 資料鏈結層(Data Link Layer)

CAN 資料鏈結層可以說是 CAN 功能的核心,其目的在於建 立資料訊框(data frame)封包,在訊框內包含資料和控制資料。 在資料鏈結層中的主要功能之一,就是當系統中出現有兩個訊號 同時想使用網路中的相同資源時,如何防止衝突的發生,這就是 CAN-H CAN-L 3.5V 2.5V 1.5V 時間 邏輯 1 邏輯 0 邏輯 1 圖 4.2 雙絞線差動傳輸信號 電壓

(49)

40

所謂 MAC(Medium Access Control)的功能。

在 CAN 協定中,MAC 功能會讓具有最高優先權的資料訊框 先使用匯流排的網路資源,在網路的接取控制上有兩大方向,一 是先決式(determined),一是隨機式(random)。在先決式的接 取控制中,匯流排的使用權必須在節點接取匯流排前就預先定義 好,以確保不會發生任何衝突。此類的網路需要一個中央管控的 裝置來進行網路管理,但一旦此裝置失常,整個網路就無法運作 了;在隨機式的接取控制中,當匯流排閒置時,每個節點都能夠 要求使用網路資源。最常見的隨機式接取控制方式是載波偵測多 重存取(Carrier Sense Multiple Access,CSMA),CSMA 又分成 限制或防止訊號碰撞的 CSMA/CA 方式,和允許碰撞再進行處置 的 CSMA/CD 方式。由於 CSMA/CD 較浪費頻寬資源及會產生較 長的延遲性,CAN 採用的是 CSMA/CA 的方式,此作法又稱為非 破壞性的按位元仲裁(Non-Destructive Bit-Wise Arbitration)機制。

在 每 個 訊 號 訊 框 的 一 開 始處 就 存 在 有仲 裁 域 ( Arbitration Field),仲裁域中有一個識別碼(Identifier),當識別碼的數值愈 小時,表示其優先權限愈高。此作法能有效的利用匯流排資源, 其具有最高優先權的訊號,最大的延遲時間大約只有 150ms。 4.2.2 CAN Bus 訊框格式 訊框(Frame)是包含由傳送器送出的完整訊號的資料封包。在 CAN 協定中具有四種訊框,分別為傳送資料的 1)資料格式(Data Frame)、向遠端要求資料的 2) 遠端訊框(Remote Transmit Request Frame)、向節點報告出錯的 3) 誤碼訊框(Error Frame)、節點電路尚未 準備好會要求延遲傳送的 4) 額負載訊框(Overload Frame)。由於 CAN

(50)

41

是採差分訊號的形式來傳輸,所以訊號可分 CAN-L 跟 CAN-H,CAN-H 的訊號方向與 CAN-L 相反,下列敘述我們以 CAN-L 作為標準來分析 CAN bus 訊號。

1 傳送資料的標準資料格式(Basic Data Frame)

資料格式可分為標準格式與擴展格式,標準格式傳送資料的格式 (Data Frame)如圖 4.3 所示。資料訊框包含了識別碼和各種控制資 訊,以及最多 8 位元元組的資料。其基本組成包括:訊框開始(Start of Frame)、仲裁域(又包括識別碼和 RTR)、控制域(Control Field) (又包括 IDE、r0 和資料長度碼)、資料欄(Data Field)、迴圈 冗 餘 碼 檢 驗 ( Cyclic Redundancy Check , CRC ) 域 、 確 認 域 (Acknowledgement Field),以及訊框終點(End of Frame)等。

(1) Start of frame 任何格式起始位元一定為 0,表示要求遠方傳資料回來。 (2) Arbitration Field Identifier 為 11bits 主要功能是訊號發送時的順序排列,數值 圖 4.3 資料訊框 1 S ta rt of f ra m e ID 10 ID 0 R T R Arbitration Field 12 bits Controd Field 6 bits Data Field 0-64 bits CRC Field End of Field A ck F ie ld 2 bits 16 bits 7 bits 11 bits Identifier

(51)

42

越小優先權越高,而排列由 ID-10 至 ID-0,而 ID-10 至 ID-4 不可皆為 1。最後 RTR(Remote Transmit Request) 為傳送或遠 程要求的判斷位元,當 RTR=0 表示傳 Data 出去,RTR=1 表 示要求遠方傳資料回來。 (3) Control Field 控制段由 6 個位元組成,包括數據長度代碼和兩個將來作為 擴展格式用的保留位元。所發送的保留位元必需為 0。接收器 接收所有由 0 和 1 組合在一起的位元。如圖 4.4 控制段的 IDE 和 RB0 是保留位元一定是 0,後面的 4bit 只能是 0-8,表示後 續 data 段將傳幾個 bytes 的資料。 (4) Data Field 所需要傳的資料,先傳 MSB,只能傳 0-8 bytes 的 Data。 (5) CRC Field 如圖 4.5 所示,16bit CRC 驗證碼,最後一個 Del 為界定符, 固定為 1。 (6) Ack Field 此為接收端的回傳訊息,有兩個位元,最後一個 Del 為界定 符,固定為 1。若接收成功 Ack 就回傳 0,則傳送端就知道接 收端已接收到資料。

(52)

43 (7) END of Frame

1111111 表示結束。

2 擴展格式

如圖 4.6,資料訊框包含 Start of bit(SOB)、Arbitration Field、Control Field、.Data Filed、CRC Filed、ACK Filed、END of Frame 等七小

圖 4.5 CRC 檢驗欄與確認欄

1 1 1 1 1 1 1 1

CRC

Field End of Frame 7 bits 16 bits 15 bits CRC D E L A C K D E L Ack Field 1 0 0 Data Field Controd Field 6 bits 0 – 64 bits ID E R B 0 D L C 3 D L C 0 R es er ive d B it s 4 bits Data Length Code 圖 4.4 控制欄與資料欄

(53)

44

節。不過 Arbitration Field 的部分多了 18bit,而 SRR 與 IDE 皆為 1。

3 向遠端要求資料的遠程格式(Remote Transmit Request Frame)

如圖 4.7 所示,當 RTR=1,表示向遠端要求資料的遠程格式 Remote Transmit Request Frame,此時的 DLC3..DLC0 為所需回傳資料的 Data bytes。且此格式無 Data Filed。

圖 4.6 擴展格式資料訊框 1 1 0 0 0 1 1 ID 28 ID 18 S R R ID E ID 17 ID 0 R T R R 1 R 0 D el D L C 0 D L C 3 A C K D el 32 bits Arbitration Field 6 bits Control Field 0 - 64 bits Data Field 15 bits CRC 16 bits CRC Field 2 bits Ack Field 4 bits Data Length Code R es er ive d B it s 11 msb Identifier 18 lsb Identifier S ta rt of f ra m e E n d of f ra m e (7 bi ts )

(54)

45 4 向節點報告出錯的出錯格式(Error Frame) 主動錯誤標誌由 6 個連續的顯性位元構成。這種位元順序主動打 破了位元填充規則。所有其他站在識別到產生的位元填充錯誤後, 會自行產生錯誤幀,稱為錯誤回應標誌。錯誤標誌欄位因此包含 6 到 12 個連續顯性位(由 1 個或多個節點產生)。錯誤幀以錯誤 定界符欄位為結束。在錯誤幀發送完畢後,匯流排活動恢復正常 狀態,被中斷的節點會嘗試重新發送被中止的報文。錯誤界定符: 錯誤定界符由 8 個隱性位元組成,允許匯流排節點在錯誤發生後 重新啟動匯流排通信,如圖 4.8。 圖 4.7 遠端要求資料的遠程格式 1 0 0 0 0 0 0 1 1 S ta rt of f ra m e ID 10 ID 0 R T R ID E R B 0 D L C 3 D L C 0 D el D el A C K R es er ive d B it s 6 bits Control Field 16 bits CRC Field 2 bits Ack Field 7 bits End of Frame 4 bits Data Length Code 15 bits CRC 11 bits Identifier 12 bits Arbitration Field

(55)

46 5 要求延遲傳送的過載格式(Overload Frame) 有兩個方式會產生過載格式: (1) 節點的內部條件節點處理資料中,對於下一筆資料需要延 遲。 (2) 起始於第一個間歇期間位元。間歇期間檢測到’0’, 起始於檢 測到間歇期間為’0’的下一個位元。 如圖 4.9,過載標誌會發出六個’0’,此六個’0’會破壞間歇的格式, 使其他節點知道此時有節點發出過載標誌。當發送完過載標誌, 節點會發出 8 個’1’,其他節點也會在完成後發出 7 個’1’。 6 報文間的空隙(Interframe Space) 報文間的空隙分為間歇與 bus 空閒兩種。間歇為 3 個’1’,此期間 不可傳送任何訊息,除了過載格式例外。bus 空閒為各節點都未發 送資料,所以此長度示任意的,任何節點都可在此時發送自己的 圖 4.8 出錯格式 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Error Flag Error Delimiter 8 bits 6 bits 6~12 bits Superposition of Error Flags

(56)

47 資料。當有節點處於錯誤被動,會在間歇後發出 8 個’1’,讓其他 的節點有機會重發自己的資訊。 4.2.3 訊息的優先權 訊息的優先權是由訊息封包的 message identifier 所決定的, identifier 的屬性則是由系統一開始所給定的二進位數值決定,其數值 是不能一直改變的。數值越小,就享有越高的優先順位。 即時環境中使用的通訊協定優點:  訊息有分優先次序  有限度的訊息傳遞延遲  訊息可多重發送、資料確保一致性  可分辨資料是網路傳送錯誤或是裝置不正常運作所造成,進 而將有問題的網路節點關閉 4.2.4 仲裁機制 圖 4.9 過載格式 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Overload Flag Overload Delimiter 8 bits 6 bits 6~12 bits Superposition of Overload Flags

(57)

48

CAN base frame 一開始是 SOF(Start Of Frame),接著是仲裁區 Arbitration field( 包 含 identifier 和 遠 端 傳 輸 要 求 RTR(Remote Transmission Request)),之後的 IDE(Identifier Extension)用來分辨是 base frame 或 extended frame。DLC(Data Length Code)記錄了 data field 的大小。

當兩種格式同時存在於同一個匯流排時,11-bit 的訊息將會擁有 比 29-bit 的訊息較高的優先順位。可支援 extended frame 的 CAN controller 可正確的傳送 base frame 與 extended frame 的訊息,但是只 支援 base frame 的 controller 則無法正確的傳送 extended frame 的訊 息。 4.2.5 偵錯機制 CAN 提供了五種偵錯機制,使其錯誤發生率低於 4.7×10-11。當 一個以上的上述錯誤發生時,傳送中的傳輸將會失敗中止並且產生錯 誤封包,發訊端則會試著重新傳送訊息封包。各個節點將會重新爭取 優先權。 CAN 的五種偵測錯誤機制  CRC) 校 驗 : CRC 在 訊 息 結 尾 處 加 上 一 個 FCS(frame check sequence)來確保訊息的正確。接收訊息端會將其 FCS 重新演算並 與所接收到的 FCS 比對,如果不相符,表示有 CRC 錯誤。  Frame check: 檢查封包中幾個固定值的欄位以驗證該封包是否有 被訊號干擾導致內容錯誤  ACK errors: 接收端在收到封包後會告知發訊端,發訊端若沒有收 到確認訊息,ACK 錯誤便發生。  Monitoring: 傳一個 bit 到網路上,從網路上再讀進來檢查是否一

(58)

49 致。

 Bit stuffing: 訊號同步用

4.3 CANopen通訊協定

CANopen 是以 CAN Bus 為基礎之工業用區域通訊網路協定 (Protocol),其在 ISO/OSI 網路層定義中屬第 7 層(Application Layer) 應 用層協定,依其協定以設備的種類為導向如 I/O 模組,編碼器(Encoder), 馬達驅動器(Driver) 等皆有其標準協定,依此標準各廠商可生產符合 CANopen 協定的產品,其最大傳輸速率可到 1Mbps,最多可接 127 個 Slave Devices。 由 CiA 組織發表的有關 CANopen 的協議超過 40 個,其中最重要 的協議有 3 個:DS301、DS302 以及 DS401[22, 23, 24],如圖 4.10 所 示。DS301 定義了應用層和通訊規範, DS302 定義了 CANopen 管理 節點以及可編程設備的框架結構,DS401 定義了通用 I/O 模塊的設 備規範。

(59)

50 4.4 DS-301 協議 4.4.1 識別碼(COB) 為了讓網路中處理訊息的工作簡單化,DS-301 協議利用CAN封 包中Arbitration Field,傳送11位元資料定義CAN的識別碼COB,提供 相對應的識別碼以支援其通訊物件。識別碼為11位元,可分成:1) 4

Device Profile CiA DSP-401

Device Profile CiA DSP-402 CiA DS-301 通訊概況 OSI Layer 7 應用層 CAN 控制器 OSI Layer 2 資料連結層 + - - + OSI Layer 1 物理層 CAN Bus 圖 4.10 CanOpen 網路協定

(60)

51

位元的函數代碼(function code)。2) 7位元的節點ID(Node-ID),如圖 4.11。 由於節點ID只有7位元,所以CanOpen通訊協定,網路連結設備最 多可連接127個節點。依據4位元的函數代碼,可包含有四個PDO傳送 管道、四個PDO接收管道、SDO傳送管道、SDO接收管道,NMT錯誤 管道以及緊急傳送管道,如表格4.1。 函數代碼 (ID編號 7-10) 通訊物件 識別碼範圍 緊急狀態 0001b 081h-0FFh PDO1(傳送) 0011b 181h-1FFh PDO1(接收) 0100b 201h-27Fh PDO2(傳送) 0101b 281h-2FFh PDO2(接收) 0110b 301h-37Fh PDO3(傳送) 0111b 381h-3FFh 10 9 8 7 6 5 4 3 2 1 0 函數代碼 節點位址 (Node-ID) 位元編號 圖 4.11 CanOpen 識別碼結構(COB)

(61)

52 PDO3(接收) 1000b 401h-47Fh PDO4(傳送) 1001b 481h-4FFh PDO4(接收) 1010b 501h-57Fh SDO(傳送/伺服器) 1011b 581h-5FFh SDO(接收/客戶端) 1100b 601h-67Fh NMT錯誤控制 1110b 701h-77Fh 表格 4.1 不同物件管道函數代碼  COB 範例 CanOpen 協定中, 若 COB=601h 代表:通訊物件識別碼為 601h, 其二進碼為 110 0000 0001b。 [1] 函數代碼為: 1100b 屬於 SDO(接收/客戶端) 物件。 [2] 節點 ID 為 000 0001b, 屬於第一節點。 DS-301 通訊協定,包括以下 的一些 服務:1. NMT (Network Management Object) 。2. SDO (Service Data Objects)。3. PDO (Process Data Object)。4. EMCY (Emergency Object)

4.4.2 NMT(Network Management Object)流程

網路管理訊息 NM 遵循了主從(Master/Slave)架構進行 NMT 服 務。在這架構之下只有一個主站,而此主站可以搭配多個從站。所有 的 CANopen 節點都有自己專屬的 NMT 狀態,而主站可以藉由 NMT 的訊息去控制從站的狀態。狀態流程圖如圖 4.12 所示。表格 4.2

(62)

53 為各狀態與訊息物件啟動之間關係。 初始化 預備運轉 運轉 停止 PDO ○ SDO ○ ○ SYNC ○ ○ 重置應用 初始化 (1) 重置通訊 預運轉 ABCD 運轉 ABCD 停止 AB (15) (16) (2) (3) (4) (10) (11) (9) (13) (12) (14) (6) (8) (5) (7) 圖 4.12 網路管理狀態流程

(63)

54 Time Stamp ○ ○ Emcy ○ ○ Boot-Up ○ NMT ○ ○ ○ 表格4.2 NMT狀態與物件啟動關係 圖4.12中各程序標號說明如下  開啟電源後,自動進入初始狀態  自動進入預運轉狀態  (6)啟動遠端節點  (7) 進入預運轉狀態  (8) 停止遠端節點  (9) (10) (11) 重置節點  (12) (13) (14)重置通訊  (15) 自動進入重置應用狀態  (16) 自動進入重置通訊狀態 各狀態可啟動訊息服務物件編碼如下:  A: NMT  B: Node Guard  C: SDO  D: Emergency  E: PDO  F: Boot-up 4.4.3 NMT 協議

(64)

55 CANopen 的網絡管理是基於主從式的結構,一個 CANopen 網絡 中只有一個主節點,其它節點都是從節點。NMT 網絡管理實現節點 狀態控制與節點狀態監控 1 節點狀態控制 節點狀態控制是指 CANopen 網絡中的主節點通過發出命令,改變 從節點的狀態。只有 NMT 的主控台會發送 NMT 節點狀態控制訊 息,全部的從節點都必須支援 NMT 的模組控制服務,而對於 NMT 的模組控制訊息,從節點並不會發送回應訊息,一個 NMT 節點狀 態的訊息格式如下: (1) NMT-主節點 => NMT-從節點 識別碼(COB) 位元組 #0 位元組 #1 0x000 CS 節點位址 A 當節點位址為 0 時,全部連接的 NMT 從節點都將處理訊 息。 B CS 為已指定指令,其數值與涵義如下。 CS指令 NMT 伺服器 1 遠端節點開始運轉 2 遠端節點停止運轉 128 進入預運轉狀態 129 重啟節點 130 重啟通訊

(65)

56 (2) 範例 識別碼(COB) 資料訊息 000h 80h 01h 00h 00h 00h 00h 00h 00h A 通訊 物 件 識別 碼 (COB)為000h, 其二 進碼 為0000 0000 0000b,屬於NMT模組控制物件。 B CS為80h, 轉成十進位碼為128,表示通知從節點進入預 備運轉狀態。 C 節點位址為01h,表示通知第一個從節點。 2 節點狀態監控 監控 各節 點 是否 在 網路 線上 正 常工 作 。控 制分 為 兩種 :Node Guarding 和 Heartbeat。兩者都可以檢測節點能否正常通訊。 (1) Node Guarding 訊息傳輸 訊息分成兩階段, 第一階段由主節點,利用 Remote Frame 對從節點 Id 下出訊息,若該從節點 Id 在網路線上,則回報現 在狀態 A NMT 主節點 -> NMT 從節點 (沒有資料訊息) 識別碼(COB) 0x700+NodeID B MT 從節點 -> NMT 主節點(回報從節點目前狀態)

(66)

57 識別碼(COB) 位元組 #0 0x000 Bit 7: Toggle Bit 6~0: 狀態 Bit 6~0: 狀態編碼如下 狀態編碼 從節點狀態 0 初始化中 1 斷線中 2 連結中 3 準備中 4 停止運轉 5 運轉狀態 127 預運轉狀態 (2) Heart beat 訊息傳輸 從節點, 每隔一段時間(可由系統規畫),主動送出從節點現 在狀態,其訊息格式如下: 識別碼(COB) 位元組 #0 0x700+ NodeID 狀態 狀態編碼如下: 狀態編碼 從節點狀態 0 初始化中 4 從節點停止運轉

(67)

58

5 運轉狀態

127 預運轉狀態

4.4.4 SDO(Service Data Object)

SDO 使用模式為客戶/伺服端兩端,客戶節點對伺服端節點進行 讀取或寫入物件字典的許可權。物件字典為 CANopen 節點的群組物 件而物件字典包含了多個參數,此參數描述了其所支援的參數屬性和 數值。SDO 通訊一定由 SDO client 開始,並提供初始化相關的參數 每個傳達的訊息生成一個回覆訊息,用以確保傳輸的準確性。圖 4.13 為利用 SDO 服務讀取伺服驅動器內部參數資料。

一個SDO 訊息包含了一組COB-ID(要求的SDO 與回應的SDO), 可以在兩個節點之間做存取的動作。SDO 的存取路徑是藉由索引和 子索引的方式進行。每個物件有單一的索引值,但是假如有需要的話 可能會有多個子索引值。 由於物件字典中的資料長度可能超過8個位元組,無法只用一個 CAN頁框傳輸,SDO也支援長訊息的分割(segmentation)和合併 (desegmentation)。基本的SDO架構如表格4.3與表格4.4所示,分為資 料物件長度相當於4Byte時的快速傳輸(Expedited transfer)以及資料物 件長度大於4Bytes時的分段傳輸(Segmented transfer)。通過這兩種傳輸 方式,SDO可以實現了報文的分段,能夠允許任意長度的數據在兩個 節點之間相互通訊,這樣就為節點的固件升級和程序下載提供了可 能。

(68)

59 1 區域下載

SDO 區域下載分成 (1) 快速傳輸(Expedited transfer),(2) 分段傳 輸(Segmented transfer) (1) 快速下載(Expedited transfer) 資料訊息中第一位元組為傳輸狀態,各位元所含意義為: 位元 7 6 5 4 3 2 1 0 客戶端 => 0 0 1 - n 1 s <= 伺服器 0 1 1 - - - - -  n:當e=1且s=1時才有效,否則為0,表示此訊息中實際資 料的長度。 圖 4.13 利用 SDO,讀取伺服驅動器內部參數資料

(69)

60

型態 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7

7 6 5 4 3 2 1 0 主索引 主索引 次索引 資料 資料 資料 資料 Command L H Sub LL LH HL HH 區域下載 客戶端 0 0 1 N E S 伺服端 0 1 1 區域上載 客戶端 0 1 0 伺服端 0 1 0 N E S 終止傳送 客戶端 1 0 0 伺服端 1 0 0 N:未使用位元組數 E:一般(0) / 發送(1) S:資料大小 表格 4.3 SDO 傳輸訊息基本架構(I)

(70)

61

型態 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7

7 6 5 4 3 2 1 0 資料 資料 資料 資料 資料 資料 資料 Command 區域下載 客戶端 0 0 0 t n c 伺服端 0 0 1 區域上載 客戶端 0 1 1 伺服端 0 1 0 t n c t: toggle bit n: 未使用位元組數 c: 0 (尚有資料)/1(最後一筆) 表格 4.4 SDO 傳輸訊息基本架構(II)

(71)

62  s:若設為1,且e也設為1,表示資料長度代碼記錄在n。 若n設為0,表示實際完整資料的長度會放在此訊息中的資 料欄位中。 (2) 分段下載 當下載資料物件長度大於4Bytes時,需分段傳輸(Segmented transfer)。分段傳輸命令格式分成 A) 起始階段與 B) 資料傳 送階段。 A 起始階段 資料訊息中第一位元組為傳輸狀態,各位元所含意義為: 傳送資料大小記錄於位元組4 ~ 8。 位元 7 6 5 4 3 2 1 0 客戶端 => 0 0 1 - 0 0 1 <= 伺服器 0 1 1 - - - - - B 資料傳送階段 資料訊息中第一位元組為傳輸狀態,各位元所含意義為: 位元 7 6 5 4 3 2 1 0 客戶端 => 0 0 0 t- n c <= 伺服器 0 0 1 t- - - - -  n:表示此封包訊息中實際資料的長度。

(72)

63  c:若設為0,則還有更多的部分要下載,若設為1,表示 下載的是最後一部分。  t:切換位元。 (第一次設為0) (3) 快速下載範例 識別碼(COB) 訊息資料 601h 22h 40h 60h 00h 04h 00h 00h 00h 581h 60h 40h 60h 00h 00h 00h 00h 00h A 客戶端傳送命令 識別碼(COB) 訊息資料 601h 22h 40h 60h 00h 04h 00h 00h 00h  客戶端發出的通訊物件識別碼(COB)為 601h,  函數代碼 1100b: 為 SDO(接收/客戶端)物件。  節點 ID 為 000 0001b:為第一節點。  資料訊息第 1 位元組為 22h  位元 7~5 (001b): 屬下載傳輸  位元 3~2: n= 0  位元 0: s= 0  資料訊息第 2~4 位元組為 40h 60h 00h  下載至 主索引 6040h ,次索引 00h 物件資料  資料訊息第 5~8 位元組為 04h 00h 00h 00h  物件資料內容為 00000004h

(73)

64 B 伺服器端傳送命令 識別碼(COB) 訊息資料 581h 60h 40h 60h 00h 00h 00h 00h 00h  伺服器端發出的通訊物件識別碼(COB)為 581h,  函數代碼 1011b: 為 SDO(傳送/伺服器)物件。  節點 ID 為 000 0001b:為第一節點。  資料訊息第 1 位元組為 60h  位元 7~5 (011b): 屬下載傳輸  位元 3~2: n= 0  位元 0: s= 0  資料訊息第 2~4 位元組為 40h 60h 00h  下載主索引 6040h ,次索引 00h 物件資料 區域上載

SDO 區域上載分成 (1) 快速傳輸(Expedited transfer),(2) 分段傳 輸(Segmented transfer) (1) 快速上載(Expedited transfer) 資料訊息中第一位元組為傳輸狀態,各位元所含意義為: 位元 7 6 5 4 3 2 1 0 客戶端 => 0 1 0 - 1 s <= 伺服器 0 1 0 - n 1 s

(74)

65  n:當e=1且s=1時才有效,否則為0,表示此訊息中實際資 料的長度。  s:若設為1,且e也設為1,表示資料長度代碼記錄在n。 若n設為0,表示實際完整資料的長度會放在此訊息中的資 料欄位中。 (2) 分段上載 當上載資料物件長度大於4Bytes時,需分段傳輸(Segmented transfer)。分段傳輸命令格式分成 A) 起始階段與 B) 資料傳 送階段。 A 起始階段 資料訊息中第一位元組為傳輸狀態,各位元所含意義為: 位元 7 6 5 4 3 2 1 0 客戶端 => 0 1 0 - 0 s <= 伺服器 0 1 0 - n 0 s 傳送資料大小記錄於位元組4 ~ 8。 B 資料傳送階段 資料訊息中第一位元組為傳輸狀態,各位元所含意義為: 位元 7 6 5 4 3 2 1 0

(75)

66 客戶端 => 0 1 1 t- <= 伺服器 0 0 0 t- n c  n:表示此封包訊息中實際資料的長度。  c:若設為0,則還有更多的部分要下載,若設為1,表示 下載的是最後一部分。  t:切換位元。 (第一次設為0) (3) 快速上載範例 識別碼(COB) 訊息資料 601h 40h 41h 60h 00h 00h 00h 00h 00h 581h 42h 41h 60h 00h 37h 06h 00h 00h A 客戶端傳送命令 識別碼(COB) 訊息資料 601h 40h 41h 60h 00h 00h 00h 00h 00h  客戶端發出的通訊物件識別碼(COB)為 601h,  函數代碼 1100b: 為 SDO(接收/客戶端)物件。  節點 ID 為 000 0001b:為第一節點。  資料訊息第 1 位元組為 40h  位元 7~5 (001b): 屬下載傳輸  位元 3~2: n= 0  位元 0: s= 0

數據

圖 2.3    各軸移動座標系  圖 2.2    六軸機械手臂各軸說明
圖 4.1      CAN 網路結構
圖 4.5    CRC 檢驗欄與確認欄
圖 4.6    擴展格式資料訊框 1  1 0  0  0    1    1   ID28ID18SRRIDEID17ID0RTRR1R0DelDLC0DLC3ACKDel32 bits Arbitration Field 6 bits Control Field 0 - 64 bits Data Field 15 bits CRC 16 bits CRC Field 2 bits  Ack   Field 4 bits Data Length Code Reserived Bits 11 msb Id

參考文獻

相關文件

Programming languages can be used to create programs that control the behavior of a. machine and/or to express algorithms precisely.” -

Note that if the server-side system allows conflicting transaction instances to commit in an order different from their serializability order, then each client-side system must apply

The min-max and the max-min k-split problem are defined similarly except that the objectives are to minimize the maximum subgraph, and to maximize the minimum subgraph respectively..

n Media Gateway Control Protocol Architecture and Requirements.

For Experimental Group 1 and Control Group 1, the learning environment was adaptive based on each student’s learning ability, and difficulty level of a new subject unit was

Through the enforcement of information security management, policies, and regulations, this study uses RBAC (Role-Based Access Control) as the model to focus on different

When? Where? What? A Real-Time System for Detecting and Tracking People.’’ Proc. International Conference on Face and Gesture Recognotion, April, pp. Pentland, “Pfinder:

In this study, the combination of learning and game design a combination of English vocabulary and bingo multiplayer real-time and synchronized vocabulary bingo game system,