|
[規格]
l
Controller
電源電壓 : 7.5V ~
25VDC
l
消耗電流
: 30mA
l
sensor數
: 4個/controller
(16 controller / 1 Line)
l
解析度
: 8bit(0~255)/12bit(0~4095)
l
測定荷重
: 10N(約1Kg)
l
破壞荷重
: 45N(約
4.6Kg)
l
通信速度
: 9600bps/115kbps
l
通信設定
: 8bit, no parity, 1, no flow control, TTL level
l
固定ID
: 100 ~ 115 , 16種類(可SW設定)
l
尺寸
: 29mm x 29mm, 重量9g
[機能]
l
各
/ 全sensor的重量測定
l
記錄各
/ 全sensor的現在重量值
l
4點的重心測定
[介紹]
l
搭載四個感壓sensor
AGB65-4FS是機器人神經系統的一部分,
利用4個感壓sensor板,
裝置在機器人上,
裝置處需加工一個孔以便安裝感壓sensor,
利用附屬的cable將感壓模組連到控制模組。
l
步行機器人足底重心的計算
除了4個感壓sensor的壓力值外,
根據4個sensor的資料,
會自動計算出重心的XY座標。這個資料可以判定機器人的重心位置以及接觸位置。若是重心位置在4個重心的範圍以外,
也可以得知該重心的方向。
此外,
因為可以記憶目前的荷重值,
master(主控制器)與感壓sensor連接,
並將數值傳回電腦,
, 透過適當的程式,
可以知道荷重增加或減少的變化情況。
l
Hobby Robot最恰當的荷重
這個sensor的測定重量為10N(約1Kg),
破壞荷重45N(約4.6Kg),
最適合小形機器人的荷重性能。(即是在這個荷重以上,
根據機器人的結構狀況,
仍可以進行非破壞性的測試)。
l
高感度,
高精度,
高速的檢出
sensor是利用半導體方式製成的,
可以高感度及高速度方式讀取數值。
為了要從sensor到模組高速讀值,
取到數值的時間幾乎等於通信的時間;
在模組部,
也搭載增益放大器,
以便讀取sensor為小的變化。
l
12bit的高解析度
從sensor讀取的值,
是以12bit的高解析度來處理,
最低檢知重量約200g,
200g以上的荷重只要輕微觸碰,
都會有明顯的數值變化。也可以以8
bit資料來讀取,
這樣可以在更短的通信時間讀到數值。
l
也可以和其他的AGR65系列連接
其他的AGB65系列sensor,
和controller都是用同樣的串列通訊。
l
115Kbps的高速通信
對應115K bps的高速通信速度,
可以往PC端送出高速data
(通常是9600bps);
使用微處理器時,
clock的選擇必須可以輸出115K;
clock的選擇請參照各microcontroller的data
sheet。
l
29 x 29mm超小尺寸設計
一般機器人的搭載電路板,
一定是愈小愈好,
4FS感壓sensor是用極小的零件製成的,
所以尺寸可以很小;
在基板兩側還有孔,
可以鎖固在機器人的表面(M2螺絲)
。 |
|
[使用微處理器的接線方法]

[DATA 形式]
從主控板(master)向4FS
sensor傳送的資料是以4
~ 16 byte形式傳送,
因為Byte的大小是8bit,
也就是0~255,
所以共有255種類的命令。
[資料的基本型]
[single byte] [ID (100-115)] [送信byte數(1-13)]
[命令1]
[命令2]
[命令
3] …
|
single byte |
用來告知4FS資料通信的開始、通常是以「255」開始。 |
|
ID |
針對4FS設定用的固定ID。 |
|
送信byte數 |
送信時命令的byte數。 |
|
命令 |
控制4FS動作的命令。以下詳細說明。 |
|
|
注)資料並非字元型態(char)的資料,
而是以binary(2進位)的資料方式傳送。
|
例えばマイコンをマスタとし、C言語でプログラムを作る場合に255を送信しようとして(PCや他の言語も考え方は同じ)、
例如
: 以微處理器為控制器時, C語言方式編譯, 發送255的資料時, 是稍微有些不同的, 寫法如下 : (其他語言也多半相同)
printf("255");
實際上, 是以2和5和5的3個byte的字元資料來發送, 而2進位資料則是[32][35][35]的方式發送
(可以參考ASCII表), 並不是以[255]的方式來傳送。
unsigned char SINC = 255;
printf("%d",SINC);
で、[255]則是需要2個byte來發送的。
※使用C complier時的資料宣告可能會有些不一樣(假如沒有printf功能時, byte size變數的宣告,
並不是 char而是以int或byte方式來宣告的。)請多多注意。 |
|
-命令の説明-
<動作説明>
■ 8 bit mode:計算結果是以8 bit方式, 返送回來。
■12 bit mode:計算結果是以12 bit方式, 返送回來。實際通信是1 byte : 8bit單位在執行, 所以1個資料的傳送,
使用2個byte。
■self check:controller運作時, 用以檢查是否有連線。
<全命令説明>
※方向為從控制端(master)開始的通信方向, 所見到的資料。所以「送信」是master -->
controller發送命令 ; 「受信」是 controller -->
master送回資料。
|
命令値 |
動作 |
方向 |
Format |
|
|
(mode 設定、他) |
|
|
|
0 |
8bit mode 設定 |
送信 |
[255][ID][長(1)][命令(100)] ※電源輸入後, 開始8 bit mode |
|
100 |
12bit modeに設定 |
送信 |
[255][ID][長(1)][命令(100)] |
|
254 |
self check (自我診斷) |
送信 |
[255][ID][長(1)][254] |
|
|
|
受信 |
[255][ID][長(1)][254] |
|
|
(8bit mode) |
|
※電源輸入後, 開始8 bit mode運作 |
|
1 |
傳回P1的值 |
送信 |
[255][ID][長(1)][命令(1)] |
|
|
|
受信 |
[255][ID][長(2)][命令(1)][結果(0-255)]
結果0は無荷重、大きくなるほど荷重が増える (以下同様) |
|
2 |
傳回P2的值 |
送信 |
[255][ID][長(1)][命令(2)] |
|
|
|
受信 |
[255][ID][長(2)][命令(2)][結果(0-255)] |
|
3 |
傳回P3的值 |
送信 |
[255][ID][長(1)][命令(3)] |
|
|
|
受信 |
[255][ID][長(2)][命令(3)][結果(0-255)] |
|
4 |
傳回P4的值 |
送信 |
[255][ID][長(1)][命令(4)] |
|
|
|
受信 |
[255][ID][長(2)][命令(4)][結果(0-255)] |
|
11 |
記憶P1的值 |
送信 |
[255][ID][長(1)][命令(11)] |
|
12 |
記憶P2的值 |
送信 |
[255][ID][長(1)][命令(12)] |
|
13 |
記憶P3的值 |
送信 |
[255][ID][長(1)][命令(13)] |
|
14 |
記憶P4的值 |
送信 |
[255][ID][長(1)][命令(14)] |
|
21 |
傳回P1的相差值 |
送信 |
[255][ID][長(1)][命令(21)] |
|
|
|
受信 |
[255][ID][長(3)][命令(21)][符号][結果(0-128)]
符号は 0:Plus (正), 1:minus (負)を表す(以下同様) |
|
22 |
傳回P2的相差值 |
送信 |
[255][ID][長(1)][命令(22)] |
|
|
|
受信 |
[255][ID][長(3)][命令(22)][符号][結果(0-128)] |
|
23 |
傳回P3的相差值 |
送信 |
[255][ID][長(1)][命令(23)] |
|
|
|
受信 |
[255][ID][長(3)][命令(23)][符号][結果(0-128)] |
|
24 |
傳回P4的相差值 |
送信 |
[255][ID][長(1)][命令(24)] |
|
|
|
受信 |
[255][ID][長(3)][命令(24)][符号][結果(0-128)] |
|
30 |
傳回P1 - P4的值 |
送信 |
[255][ID][長(1)][命令(30)] |
|
|
|
受信 |
[255][ID][長(5)][命令(30)][P1][P2][P3][P4]
P1, P2, P3, P4是4點感壓sensor (以下同様) |
|
40 |
記憶P1-P4的值 |
送信 |
[255][ID][長(1)][命令(40)] |
|
50 |
傳回P1-P4的相差值 |
送信 |
[255][ID][長(1)][命令(50)] |
|
|
|
受信 |
[255][ID][長(9)][命令(50)][符号][P1][符号][P2][符号][P3][符号][P4] |
|
60 |
傳回現在重心的位置 |
送信 |
[255][ID][長(1)][命令(60)] |
|
|
|
受信 |
[255][ID][長(3)][命令(60)][X][Y] 無負荷:X=Y=0 ; 重心在上方:Y=255 ;
重心在下方:Y=0 ; 重心在右方:X=255 ; 重心在左方:Y=0 |
|
70 |
記憶現在重心的位置 |
送信 |
[255][ID][長(1)][命令(70)] |
|
80 |
傳回相對重心 |
送信 |
[255][ID][長(1)][命令(80)] |
|
|
|
受信 |
[255][ID][長(3)][命令(60)][X][Y] 記憶時, 重心位置相同情況下:X=Y=127 |
|
|
(12 bit mode) |
|
※電源輸入後, 開始12 bit mode運作 |
|
1 |
傳回P1的值 |
送信 |
[255][ID][長(1)][命令(1)] |
|
|
|
受信 |
[255][ID][長(3)][命令(1)][結果上位][結果下位]
結果是以2 byte方式傳回。因為是12 bit, 結果值得上段 bit 4,5,6,7是以0寫入, 0000RRRR
RRRRRRRR (R是結果值, 以下同樣) |
|
2 |
傳回P2的值 |
送信 |
[255][ID][長(1)][命令(2)] |
|
|
|
受信 |
[255][ID][長(3)][命令(2)][結果上位][結果下位] |
|
3 |
傳回P3的值 |
送信 |
[255][ID][長(1)][命令(3)] |
|
|
|
受信 |
[255][ID][長(3)][命令(3)][結果上位][結果下位] |
|
4 |
傳回P4的值 |
送信 |
[255][ID][長(1)][命令(4)] |
|
|
|
受信 |
[255][ID][長(3)][命令(4)][結果上位][結果下位] |
|
11 |
記憶P1的值 |
送信 |
[255][ID][長(1)][命令(11)] |
|
12 |
記憶P2的值 |
送信 |
[255][ID][長(1)][命令(12)] |
|
13 |
記憶P3的值 |
送信 |
[255][ID][長(1)][命令(13)] |
|
14 |
記憶P4的值 |
送信 |
[255][ID][長(1)][命令(14)] |
|
21 |
傳回P1的相差值 |
送信 |
[255][ID][長(1)][命令(21)] |
|
|
|
受信 |
[255][ID][長(4)][命令(21)][符号][結果上位][結果下位]
符号は 0:Plus (正), 1:minus (負)を表す (以下同様) |
|
22 |
傳回P2的相差值 |
送信 |
[255][ID][長(1)][命令(22)] |
|
|
|
受信 |
[255][ID][長(4)][命令(22)][符号][結果上位][結果下位] |
|
23 |
傳回P3的相差值 |
送信 |
[255][ID][長(1)][命令(23)] |
|
|
|
受信 |
[255][ID][長(4)][命令(23)][符号][結果上位][結果下位] |
|
24 |
傳回P4的相差值 |
送信 |
[255][ID][長(1)][命令(24)] |
|
|
|
受信 |
[255][ID][長(4)][命令(24)][符号][結果上位][結果下位] |
|
30 |
傳回P1 - P4的值 |
送信 |
[255][ID][長(1)][命令(30)] |
|
|
|
受信 |
[255][ID][長(9)][命令(30)][P1上位][P1下位][P2上位][P2下位][P3上位][P3下位][P4上位][P4下位]
P1, P2, P3, P4是4點感壓sensor (以下同様) |
|
40 |
記憶P1-P4的值 |
送信 |
[255][ID][長(1)][命令(40)] |
|
50 |
傳回P1-P4的相差值 |
送信 |
[255][ID][長(1)][命令(50)] |
|
|
|
受信 |
[255][ID][長(13)][命令(30)][符号][P1上位][P1下位][符号][P2上位][P2下位][符号][P3上位][P3下位][符号][P4上位][P4下位] |
|
60 |
傳回現在重心的位置 |
送信 |
[255][ID][長(1)][命令(60)] |
|
|
|
受信 |
[255][ID][長(5)][命令(60)][X上位][X下位][Y上位][Y下位]
Y,Y是以2 byte方式表示(12bitモードの命令1参照)
無負荷:X=Y=0 ; 重心在上方:Y=4095 ; 重心在下方:Y=0 ; 重心在右方:X=4095 ;
重心在左方:Y=0 |
|
70 |
記憶現在重心的位置 |
送信 |
[255][ID][長(1)][命令(70)] |
|
80 |
傳回相對重心 |
送信 |
[255][ID][長(1)][命令(80)] |
|
|
|
受信 |
[255][ID][長(5)][命令(60)][X上位][X下位][Y上位][Y下位]
記憶時, 重心位置相同情況下:X=Y=2047 |
|
上以外 |
無效 |
|
|
|
<格式 (format) 説明>
|
P0,P1,P2,P3 |
全部sensor測定時、表示各sensor所測定的荷重。 |
|
結果 |
顯示, 各sensor個別讀取時的荷重值。
8 bit模式 : 是以1 byte表示, 輸出值介於 0 ~ 255。
12 bit模式 : 是以2 byte表示, 傳回值必須要和和master側結合, 上段byte的上位4
bit以0寫入。
例)C語言的complier範例
unsigned int Kekka=0x0000; /*宣告16 bit長的資料變數*/
Kekka = (int)Jyoui; /*結果的上位 byte, 00000000 0000RRRR */
Kekka = Kekka << 8; /*向左shift 8個bit 0000RRRR 00000000*/
Kekka = Kekka | Kai; /*和下位byte合成 0000RRRR RRRRRRRR*/ |
|
XY |
重心是以X-Y二維座標表示。sensor如下方配置在四個角落。
 |
|
|
<響應時間>
※4FS其中1台運作時, 從接收主控端(master)的命令開始, 到結果值回傳所需的時間。
|
命令 |
9600/8bit |
9600/12bit |
115k/8bit |
115k/12bit |
|
1-4 |
5.1mS |
6.1mS |
420uS |
520uS |
|
21-24 |
6.1mS |
7.2mS |
520uS |
600uS |
|
30 |
8.2mS |
12.4mS |
680uS |
1050uS |
|
50 |
12.4mS |
16.5mS |
1029uS |
1360uS |
|
60 |
6.1mS |
4.2mS |
520uS |
680uS |
|