Dependencies:   FastPWM GMD_template_lib mbed

You are viewing an older revision! See the latest version

GMD

 「GMD」は2016年のロボコンにおいて新しくなったMD(モータドライバ)用のライブラリであり、「NewMD2」は「GMD」を利用したプログラムです。この「NewMD2」が動作しているMD(以下「GMD」とする)の使用方法を説明します。


インターフェース

 GMDはインターフェースとしてI2Cを備えていて、スレーブとして動作します。I2Cで使うスレーブアドレスを決定するために4PのDIPスイッチがあり、起動時にこのスイッチの値を読み取ることでスレーブアドレスを決定します。
 また、GMDはリセットスイッチも備えているため、リセットスイッチを押すことで、DIPスイッチの状態の変更を反映させることができます。
 GMDにプログラムを書き込むにはプログラム書き込み用端子に専用の書き込み器を差し込みPCから書き込みます。この書き込み器はUSBシリアル変換モジュールを使って簡単に作れます。

/media/uploads/inst/dsc_0010.jpg


スレーブアドレス

 I2Cのスレーブアドレスには10ビットアドレス指定と7ビットアドレス指定がありますがGMDは7ビットアドレス指定です。
 実際にスレーブアドレスを設定する際はDIPスイッチの入力が2進数4桁の値として扱われ、この値にオフセット値として8を足した値を使用します。スレーブアドレスには予約済みアドレスが存在しており、その値を使わないようにするためにオフセット値を足して最終的なスレーブアドレスを決定しています。以下にアドレスの範囲の表と予約済みアドレスの表を載せておくので確認しておいてください。なおDIPスイッチの値は二進数であり、スイッチの位置とは対応していないです。下に1と書いてあるのスイッチがLSB(最下位ビット)で4と書いてあるスイッチがMSB(最上位ビット)となります。

DIPスイッチ00000001001000110100010101100111
I2Cスレーブアドレス0 x080x090x0A0x0B0x0C0x0D0x0E0x0F
DIPスイッチ10001001101010111100110111101111
I2Cスレーブアドレス0x100x110x120x130x140x150x160x17

/media/uploads/inst/-3.png
*出典:UM10204 I2C バス仕様およびユーザーマニュアル Rev. 5.0J — 2012 年 10 月 9 日 (日本語翻訳 11 月 2 日) http://www.nxp.com/documents/user_manual/UM10204_JA.pdf


制御データ

 I2Cで渡される モータの回転状態を指定したデータ(以下「制御データ」とする)のデータ長は1Byteです。この制御データが8bitの符号付き整数型として評価され、-128~127の範囲の値となります。この値がモータの回転の状態を表していて、127の時に最大の力で正転し、-127, -128の時に最大の力で逆転します。そして、0の時にブレーキをします。


All wikipages