ホーム > 製品概要 > EMMA-U0A > サーボ制御 Vol.6

会社概要

・EMMA-U0A(エマ・ユーゼロエー) ソフトウェア

サーボ制御 Vol.6

 説明に入る前に、前回までの技術で可能であるスペックを、おさらいしたいと思う。
○一回の位置データ更新で25個のサーボモータを同時制御
○角度分解能は9BIT(512段階)
○サーボモータの位置に関わらず、位置更新時間は12.75msの固定値

という事であったが、EMMA-U0Aの位置更新時間は12.0msであるので、まだ仕様に対し差がある。あと0.75msの時間を埋める為にもう一工夫が必要なのである。
 今までの工夫とは違い、今回紹介する工夫は、かなりアイデア的な要素を含む。大した工夫ではないが、一番考え付かない部分でもある。さて、その辺の事について説明していきたいと思う。
結果を先にいってしまうが、一つの信号に必ず必要であった、0.55msのON時間を、次の信号のON時間と重ねてしまう事だ。
今までの説明では、0.55msの固定ON時間を必ず先につくり、その後にON時間の変動する部分を生成していた。それを場合により、ON時間の変動する部分を先につくり、その後に0.55msの固定ON時間を生成するという方法もとる。これにより、信号を生成していく過程で、先に再生されている信号の固定ON時間と、後に再生されている固定ON時間が、重なるようなタイミングがうまれる。
私には文章のみで、表現することが出来ないので下図を見ていただきたい。
0.55msの固定ON時間は、いわば待っているだけの無駄時間である。たくさんある信号の中で、この時間だけは変動しない時間であり、プログラムも完全に同じ形をとる事だろう。この無駄時間のプログラムを、下図のように、異なる信号でタイミングを一致させてやれば、本来5つあるはずの0.55msのON時間のプログラムが3つに減らす事が可能だ。これにより、2つ分の無駄時間1.1ms稼ぐ事が出来る。
 これで、EMMA-U0Aの仕様である、12.0msの位置更新時間は達成できた。この方法を利用する事で、11.65msの位置更新が可能となるのである。単純ではあるが、時には大きな差を生んでくれる。そんなアイデアである。
これで、大体の説明はしたことになると思う。サーボモータの速度を別々に持つための方法は、そんなに難しくはない。
ただ、高級言語による開発では、少々高性能なCPUに頼らざるをえないだろう、とは思う。さらに、CPUの持つ割り込み機能を使用した場合、見かけ上、高い分解能を持つ制御であっても、いくつかの問題を解決できていない場合、生成された信号そのものは、大きな誤差を含んだものになる事も考えるべきだろう。

サーボ制御 Vol.6

ページの先頭へ

Copyright 2009 ROBO Engine Co., Ltd. All Right Reserved.