• 公開日:2018年10月26日
  • | 更新日:2022年10月14日

新入社員が制作実習でドローンの自作に挑戦した話。(2)

モーターを回す!

まずは動力となるブラシレスモーターの制御から取り掛かりことにしました。このブラシレスモーターを思い通りに制御できないとドローンを飛ばすことは夢のまた夢で終わってしまいます。

ブラシレスモーターとESC

今回使用するモーターは、「ブラシ付きDCモーター」ではなく、「ブラシレスモーター」を使います。ブラシ付きモーターを使用するドローンもありますが、ドローンで使われる主流のモーターはブラシレスモーターです。ブラシレスモーターはブラシ付きモーターよりも静音性(ノイズの少なさ)や寿命が長いという利点があります。

ブラシレスモーターは、動作原理上端子が3つあり、各端子に流す電流の向き順々に変えることによって回転させます。マイコンを使ってこの制御を行うことも可能ですが、今回はESCというものを使って制御させることにしました。このESCにPWM制御でパルス波を入力してあげると、電流の向きをESC自身が自動で切り替えてくれます。

ESCから配線は、8本出ており、下図のような配線を行います。

モーターとESC
ブラシレスモーターとESC

モーターに3本、電源とGNDに2本、マイコンに2本(PWMとGND)つなぎます。このとき一本余るのですが、この線はBEC(バッテリー・エリミネイト・サーキット)という端子です。5V,1Aを流す出力用のピンなので、マイコンのPWMのピンに入力しては絶対ダメです!!自分は3回失敗し、4本のピンを壊してしまいました。これが原因で、デバッグに苦労したのは言うまでもありません。。。

ESCの使い方が分からない!

私が購入したESCの説明書には、操縦機があることが前提に書かれているため、マイコンやPWM制御について全く書かれていませんでした。当初、手探りで適当な周波数のパルス波(パルス周期420Hz≒2ms)を入力した結果、なんとか動かすことはできたのですが、明らかに回転数が足りていません。PWMのデューティー比を変更して出力を最大にしても、あまり変化が見られませんでした。

Arduinoを活用して原因を探る

世の中には同じようにドローンの自作を取り組んでいる方々がいます。その方々のブログなどを調べてみたところ、ほとんどの人がArduinoと呼ばれるマイコンを利用して動かしていました。Arduinoとはマイコンボードの一種で、初心者でも使いやすいように様々な工夫がされています。様々なセンサーをつなぐためのライブラリ(サンプルプログラム)も充実しているのもメリットの一つです。

私も一旦Arduinoに乗り換えてみました。すると、いとも簡単にモーターが回りました。しかも明らかに大きい出力で・・・。

そこで、ArduinoとMSP430を使ったときの違いは何なのか、具体的にはプログラムのどこが違うのかを比較することにしました。すると、Arduinoが出力していたPWM制御のパルス周期は20msで、パルス幅は1.5msでした。どうやら、ESCには決められた範囲内のパルス周期とパルス幅でPWM信号を入力してあげないといけないようです。

今回使用するESCは10~20ms(50~100Hz)で、立ち上がり時間は1~2msということでしたので(下図参照)、MSP430で同じようなPWM信号を入力してみるとモーターの出力が上がりました!!今回は、出力の反映をなるべく早くしたかったので、パルス周期を10msにしました。

ESCに入力するPWM信号
ESCに入力するPWM信号

モーターは制御できたけれど・・・

この状態で一度浮上検証をしたのですが、全く浮上しません。明らかに浮力が足りていません。

この原因として、

  • 筐体のアーム(モーターを載せている部分)の剛性が弱い。
  • モーターの制御がまだ不十分

ということが考えられました。

筐体の改良

まず、筐体のアームを改良したのですが、その際、なるべく軽量化することを考え、「断面二次モーメント」という考え方を利用しました。材料の断面積によってまがりにくさ(剛性)が変わりますが、断面二次モーメントはその曲がりにくさを数値化したものです。具体的には、筐体アームはプラスチック一枚だけでしたが、三枚にして三角形に組むことで剛性を強めました。まさかこんなところで建築の考え方を学ぶとは想像していませんでしたが・・・。

筐体の改良前と改良後
筐体の改良前と改良後

ESCのプログラマブルモードを使用してみる

ESCについてもっと調べてみたところ、「プログラマブルモード」というESC内部の設定を変更するモードがあることがわかりました。このモードを使用してESC内部の動作周波数や、起動力、ブレーキタイプなどの設定をデフォルト値から変更しました。

改良の結果・・・

これらの改良を行った結果、ついに地面から浮上することに成功!しかし、ただ浮くだけですぐに機体が傾いてしまい、地面に落下してしまいました。ここからは6軸センサーを使った姿勢制御をする必要があります。

次回は6軸センサーの制御に挑戦します。次回をお楽しみに!

※注意事項

機体重量200g以上のドローンは航空法による規制を受けます。また、200g未満のドローンであったとしても航空法の一部の規制や、その他の国の法令、都道府県・市区町村の制定する条例による規制があります。本記事と同様の実験を行う場合はこれらの規制に抵触しない環境であることを確認してください。
弊社での実験はすべて閉め切った屋内で実施しており、法令、条例違反のない環境であることを確認しています。

新入社員が制作実習でドローンの自作に挑戦した話シリーズ