PR

ドローン用ブラシレスモーターの推力を実測してみる

記事内に広告が含まれています。

ブラシレスモーター 3Dモデル

 Arduinoの姿勢制御プログラム検討のために、ドローン(クアッドコプター)用のブラシレスモーターの推力を実測してみました。(これまでのドローン製作記録はこちらに纏めていってます)

 

▼測りに直接のせて計測してます▼

 アーム部分だけ機体から外して、測りに押し付ける方向に推力が発生するようにプロペラを取り付けて測定してます。これを推力と言っていいのかわかりませんが・・・。

 

 モーターは2204 2300kv、プロペラは 5 × 3 インチ。バッテリはリポ 3Sセルを使用。

 

 ESCへはArduinoから直接パルス信号を出力してモーターの回転をコントロールしてます。

 

                    ▼測定結果▼

 モーター1個当たりの結果です。横軸はパルス幅 [ μs ] にしてます。縦軸は 推力[ g ]、わかり易くグラムでグラフ化してます。

 

 推力はパルス幅にだいたい比例しているような感じです。

 

スポンサーリンク

 今のところドローン機体の全備重量(バッテリー込)は約560g  程度ですので、おおよそ50%程度の出力で浮上はできそうです。推力もほぼ線形で見ることができるので少しは制御アルゴリズムを考えるときに楽になるかな??

 

 ただ今回、ESCに関して少し判明した事がありまして・・。今回の推力実測は、ArduinoからESCへのPWM周期(制御信号)を 20ms(50Hz)で行っていて特にモーターの回転に問題はなかったです。

 

 けれど、50Hzでは姿勢制御には遅すぎる感じがしたので400Hz程まで周波数を上げてみたらESC(モーター)が全く反応しなくなりました。というかほんの少し周波数を上げるだけで反応無しです。。。。100Hzでもダメでした・。

 

 ESCのインプットキャプチャー?リフレッシュレート?チップ?(なんと言っていいのかわかりませんが・・。)が対応していない??

 

 一応、ファームウェアはSimonKと謳ってあったのですが、、。Webで情報探してるとSimonKであればだいたいの製品が 500Hz 以下(標準信号)に対応しているようなのですが。。素性不明(ノーブランド品)の安物ESCのためほぼお手上げです・・。

 

 なんとかできるならしたいのですが、とりあえず姿勢制御プログラム周期を 20ms(50Hz) 前提で考えていこうかな・・・。

 

⊿1:受信データに合わせて PWM 信号のパルス幅を生成しているソース部が間違っていました。ソース見直したら無事モーターが回転。すぐに物のせいにしてはいけませんね・・・。まずは自分を疑わねば・・。

 

これまでのドローン製作記録はこちら

 

コメント

  1. より:

    ESCについてですが,指令信号の周期を変更した場合は再度キャリブレーション(信号の最大値/最小値を覚えこませる)をかけた方がいいかもしれません.

    あるいは,arduinoから100Hzや400Hzでも正しく信号が出ているかどうかオシロスコープ等で見てみるのもどうでしょうか?
    私の場合ですと,信号周期を早くした時に,デューティの方も合わせて変更するのを忘れていて,動かないことがありました.
    ので,そのようなミスがあれば気づけるかもしれません.

    • imo より:

      白さん。コメント、アドバイス有難う御座います。ソースをよく確認したところ、受信データに合わせたパルス幅計算部のソースがまさに間違っていました。Timerを使用したややこしいソースにしていたのでポーリング制御で単純にPWM信号を作り出したら無事に回転しました。白さんと似たようなミス?有難う御座いました。

  2. Anon. より:

    ブラシレスモータの推力ですが、理論的にはデューティ比(または、パルス幅)の二乗に比例すると考えられます。
    数式で表現すると以下のようになります。
    f = kΩ^2 – (1)
    kは定数で、Ωは回転数です。また、回転数と電圧には以下の関係が成り立ちます。
    Ω = KvV – (2)
    KvはKV値で、Vは電圧です。さらに、電圧とデューティ比は以下の関係が成り立ちます。
    V = dVm – (3)
    dはデューティ比、Vmは最大電圧です。したがって、(1)から(3)より、以下の式が導けます。
    f = Kd^2 – (4)
    Kは定数をまとめたものです。デューティ比とパルス幅は比例関係なので、二乗に比例する関係が成り立ちます。

    ちなみに、きちんと計測すると綺麗な曲線を描きます。(自分はRCbenchmark 1580を使いました)

    ESCの制御周波数等に関してですが、50Hzでは遅いということで何年か前にOneshotというプロトコルが開発されました。その後Multishotと続き、今はDShotというのが出ています。DShotは今までのようにパルス幅を読み取るのではなく、0と1で判断するデジタルのプロトコルです。詳しくはググってみてください。

    補足ですが、SimonKは今では古く、ESCのファームウェアとしてはBLHeliがホビーでは主流です。

    • imo より:

      Anon.さん。コメント有難う御座います。また重要な情報頂きまして有難う御座います。まだまだ勉強不足ですね。推力が2次関数で考えられるとのことですが2次の係数は相当小さいですかね?(物によりますかね?)PIDゲインの予測するのに今回の実測値も使うつもりだったので助かりました。実測中に音にビビッてしまって・・。プロット点少ないんです・・(特に後半)。ESCももう少し勉強が必要ですね。いろいろと奥が深い・・。

  3. ぽっむ より:

    コメント失礼いたします。
    私は、ドローンについていろいろ調査をしている大学生です。
    モーターの回転数計測方法について詳細をお聞きしたいのですがよろしいでしょうか??

    • imo より:

      ぽっむさん、サイトを拝見くださり有難うございます。
      詳細の内容によりますが、私で解ることであればお答えしますよ。

  4. ぽっむ より:

    パルスでモーターの回転数を計測する際の構成を教えていただきたいです。

    • imo より:

      実際に回転数計測は行ったことないですが
      フォトリフレクタ、フォト・インタラプタなど使って見てはどうですか?
      ググればちらほら情報でてきますよ。

タイトルとURLをコピーしました