ドローンを制御する一番基礎はモーターのコントロールだ。
ということで、この間かなり徹底的に、ラズパイからのモーター制御を試みてきた。そして、その細かいところまで要約できたようなので、次の姿勢制御の問題に移っている。
そこで、モーター制御のポイントをここに書いておこう。ラズパイから、I2C経由で、PCA9685を制御し、そこでPWM信号を生成しESCを制御するというのが基本的流れだ。PCA9685は、ハード的にパルス信号を生成する。
このパルスの周波数を指定しなければならないが、オシロスコープでしらべると、PixHawkは400Hzを使用していることがわかった。したがって、周期は2.5msである。2500マイクロ秒ということになる。この周期の中で、パルスのONの期間の長さがモータの強さとなる。これは、PixHawkの場合、1000マイクロ秒までが、モーターが動かないパルスはちょうとなている。そして、1250マイクロ秒が出力0%で、2000マイクロ秒が最大である。
このことをESCに記憶させなければならないが、これがキャリブレーションである。
このあたりのことは、
https://team432.jpn.org/?p=272
で、勉強させていただいた。
周波数などはPCA9685に設定できる。
実際は1250マイクロ秒が0%出力ではなく、1300マイクロ秒にするとようやく起動する。
0 件のコメント:
コメントを投稿