| 沼津高専 電子制御工学科 | ||||||
| ||||||
| 改訂記録 | ||||||
|---|---|---|---|---|---|---|
| 版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
| A01 | 2009.3.20 | 片瀬 | 内堀 | 初版 | ||
| コマンド名 | 送信データ | 受信データ | 動作・備考 | ||||||
| コマンド | データ1 | データ2 | データ3 | 応答 | データ1 | データ2 | データ3 | ||
| クリア |
0x00 | - | - | - | 0x80 | - | - | - | 総回転角度をクリアする。 |
| 制御パラメータ設定 |
0x01 | 目標速度 | Kp | Ki | 0x81 | - | - | - |
制御パラメータを変更する。 速度[回転角/周期] |
| モータパラメータ取得 |
0x02 | - | - | - | 0x82 | 現在速度 | PWM | 総回転角度 |
モータパラメータを取得する 速度[回転角/周期]、回転角度[deg] |
| スタート |
0x04 | - | - | - | 0x84 | - | - | - | ストップ状態を解除する。 |
| ストップ |
0x08 | - | - | - | 0x08 | - | - | - | ストップ状態へ移行する。 |
| 制御周期変更 |
0x20 | カウンタ初期値 (下位) |
カウンタ初期値 (上位) |
- | 0xA0 | - | - | - | Timer割込みの周期を変更する。 |
| NCK |
上記以外 | - | - | - | 0x4X | - | - | - | 不正応答 (Negative Acknowledgment) |
#define MG3_MOTOR_PKT_PING 0x00
#define MG3_MOTOR_PKT_SETCTL 0x01
#define MG3_MOTOR_PKT_GETST 0x02
#define MG3_MOTOR_PKT_START 0x04
#define MG3_MOTOR_PKT_STOP 0x08
#define MG3_MOTOR_PKT_PERIOD 0x20
#define MG3_MOTOR_PKT_ACK 0x80
// PI制御用の各ゲイン
#define KP 30
#define KI 5
struct {
uint8_t command;
uint8_t spped;
uint8_t kp;
uint8_t ki;
} request = {MG3_MOTOR_PKT_SETCTL, 18, KP, KI};
この作成されたパケットを用いて通信する際の手順を解説する。| 関連文書 |
|---|