(制御符号?) | 数値 | 意味 |
---|---|---|
0-200 | 数値データ | |
SDV | 239 | 以下通信終了まで、1箇所のモータを駆動するためのデータ(分割数,モータ番号,角度) |
VD | 240 | 次の1バイトは、電圧のデータ(マイコン側から)。 |
SMD | 241 | 以下通信終了まで、モーションデータ |
DIV | 242 | 次の1バイトは、分割数(前のポーズからの時間) |
SLO | 243 | ループ開始(次の1バイトはループ回数) |
ELO | 244 | ループ終了 |
CSM | 245 | 次の1バイトは、チェックサム(保存データからは削除) |
MEX | 246 | マイコン上にあるモーションを実行 |
RTM | 247 | EEPROMのモーションをマイコンへ読み出し |
MTR | 248 | マイコン上にあるモーションをEEPROMへ書き込み |
SSD | 249 | 以下通信終了まで、1箇所のモータを駆動するためのデータ(モータ番号,角度のみ) |
SPWM | 250 | PWM開始 |
EPWM | 251 | PWM停止 |
ACK | 252 | 肯定応答(マイコン側から) |
NAK | 253 | 再送信要求(マイコン側から) |
SOH | 254 | 通信開始 |
EOT | 255 | 通信終了 |
ASCIIコードを送るなどということは考えず、全てを1バイトのデータとして送ることにします。 制御コードも自分勝手に決めます(笑)。
0-200までをデータとし、201-255までを制御コードに割り振ります。
今回は、モータの角度データも、0-200までで指定することにしておきます (複数バイトへの拡張は、それほど難しくは無いと思います。たぶん・・・)。
現時点では、マイコン側のデータをパソコンに取り込むことは考えていません (マイコン側のデータとの比較や整合性を考えだすと、頭が痛くなってくるので・・・)。
マイコン起動時のポーズは、EEPROMの最初のページから読み出すことにします。
ループは、1モーションに1回のみ利用可能とします。
1モーションはできるだけ小さくてすむように努力してみたいと思います。
1モータをスライダで動かす場合は、チェックサムなどは送らない。
SDVで始まるデータは、分割数を含む。 分割数は0-199までで指定する (20ms単位)。 199は3.98sに相当する。
分割数に200を指定した場合には、 目的の値まで、 ONパルスの幅を20mSごとに12.5usずつ変更する。
最初の「全モータのデータ」は、モータ番号無しで角度データをモータ番号順に送る。
チェックサムには、データ部をすべて加算して256で割った余りを入れる。
アドレスは、128X4(?)で指定。
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||