Comments
Description
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 月号