...

アームを動かす モータ制御プログラミング

by user

on
Category: Documents
14

views

Report

Comments

Transcript

アームを動かす モータ制御プログラミング
特集*5自由度アーム付き自走ロボットの製作
第 7 章 統括制御モジュールと
H8 マイコンによる連携プレー
アームを動かす
モータ制御プログラミング
竹村 不二夫
Fujio Takemura
第 6 章の図 1 に示すように,アームのベース,腕,
肘,手首,そしてハンドにはそれぞれブラシ付き DC
れ以外はオプションです.
本章では,上記四つのモードを利用するためのレジ
モータが取り付けられています.1 枚のモータ制御モ
スタ設定の方法などを紹介します.
ジュールが駆動できるモータの数は最大 3 個ですから,
2 枚使用します.1 枚は,ベース,腕,肘用,もう 1
枚は手首とハンド用です.モータ制御モジュールに搭
載されている H8/3687 には,アームを操作する次の
表 1 統括制御モジュールがモータ制御モジュールに対して送信
するコマンド
コード
instruction(命令)
内 容
01
PING
エラー・ステータスを返す
12
READ DATA
制約事項:ワード・レジスタ
は必ず 1 ワードで読み書きす
る
13
WRITE DATA
制約事項:ワード・レジスタ
は必ず 1 ワードで読み書きす
る
統括制御モジュールは,これらのモードを指定する
ことによって,アームを自在に操縦します.今回,
18
WRITE_mode
モータの動作モードをセット
する
TIrobo01 − CQ で使用したのはモード 0 だけです.そ
19
WRITE_status
モータの ON/OFF を制御する
四つの制御プログラムを組み込みました.
モード 0 :位置制御モード
モード 3 :位置制御時間移動モード
(オプション)
モード 4 :位置制御速度移動モード
(オプション)
モード 5 : PWM 発生モード(オプション)
I D,length,instruction
の加算値のビット反転
統括制御モジュールの送信パケット
ID
FF FF 01
sync
length
instruction
sum
02
01
sum
sync
ID
FF FF 01
length
error
sum
02
00
sum
(a)P I NG
モータ制御モジュールの返信パケット
統括制御モジュールの送信パケット
sync
ID
FF FF 01
モータ制御モジュールの返信パケット
length
instruction
register
size
sum
04
13
00
02
sum
sync
ID
FF FF 01
length
error
data(H)
data(L)
sum
04
00
04
03
sum
(b)READ DATA
統括制御モジュールの送信パケット
sync
ID
FF FF 01
length
instruction
register
data(H)
data(L)
sum
05
13
03
01
20
sum
返信パケットはなし
(c)WR I TE DATA
統括制御モジュールの送信パケット
ID
FF FF 01
length
instruction
mode
sum
03
8
04
sum
▼
sync
返信パケットはなし
(d)WR I TE_mode
sync
ID
FF FF 01
length
instruction
status
sum
03
19
03
sum
▼
統括制御モジュールの送信パケット
返信パケットはなし
(e)WR I TE_status
図 1 統括制御モジュールとモータ制御モジュール間でやりとりされるパケット・データ
Keywords
TIrobo01 − CQ,H8/3687,ポテンショメータ,カウント・バッファ・レジスタ,ROBOTIS,RS − 485,サム・チェック
2006 年 9 月号
173
表 2 統括制御モジュールが操作できるレジスタ一覧
レジスタ・
アドレス
reg0
reg1
名 称
モード・レジスタ
ステータス・レジスタ
指示位置レジスタ(上位)
R
指示位置レジスタ(下位)
reg2
現在位置(上位)
R
現在位置(下位)
reg3
reg4
reg5
reg6
reg8
reg9
reg10
reg11
reg12
reg13
reg14
reg15
▲
注
指示位置レジスタ(下位)
移動・時間 / 速度レジスタ
(上位)
移動・時間 / 速度レジスタ
(下位)
フィードバック・ゲイン・
レジスタ(上位)
フィードバック・ゲイン・
レジスタ(下位)
未定義
D6
未定義
動作モード
D5
未定義
動作ステータス
D4
未定義
目標の位置情報が
自動更新されている
D3
未定義
ポテンショメータを
A − D 変換した値
D1
内 容
0
0
0
0
0
0:位置制御モード
1:リザーブ
2:リザーブ
3:位置制御時間移動モード
4:位置制御速度移動モード
5:PWM モード
D2
モード
W
D0
R/W
移動させたい目標
位置
表 4 ステータス・レジスタのビット指定
R/W
R/W
移動速度パラメータ
モータの保持トルク
D7 未定義
0
D6 未定義
0
D5 未定義
0
D4 未定義
0
D3 未定義
D2 移動中
リザーブ
D1 トルク制御中
リザーブ
D0 稼働中
リザーブ
▲
reg7
指示位置レジスタ(上位)
D7
アクセス
R
表 3 モード・レジスタのビット指定
注
0
000:制御 OFF 状態
W 011:制御中ポジション保持
W 111:制御移動中
R
R:読み出ししかできない.W:書き込みしかできない
リザーブ
リザーブ
リザーブ
パワー・モニタ・レジスタ
(上位)
パワー・モニタ・レジスタ
(下位)
最小位置リミット・レジス
タ
(上位)
最小位置リミット・レジス
タ
(下位)
最大位置リミット・レジス
タ
(上位)
最大位置リミット・レジス
タ
(下位)
R
現在の PWM 幅
(±)
R/W
指示位置の
最小リミット
R/W
指示位置の
最大リミット
リザーブ
リザーブ
リザーブ
リザーブ
PWM 出力最大(上位)
PWM 出力最大(下位)
リザーブ
リザーブ
R/W:読み書きできる.R:読み出ししかできない
H8/3687 のプログラム・ソースや開発方法に関する
情報が付録 CD − ROM に収録されているので参照して
ください.
アームを操縦するための四つのモード
〈編集部〉
■ 統括制御モジュールがモータを起動し
停止させるまでの手順
統括制御モジュールは,モータ制御モジュールに対
174
2006 年 9 月号
Fly UP