<追記> この件についてstrv様に教えていただきました。今回使用している部品の組み合わせでは、電流不連続モードでおそらく問題ないということがわかりました。https://twitter.com/qzy13700/status/1365943112128819202
以下に元の記事はそのまま残しておきます。
飛行はできていたわけですが、モーターが顕著な発熱をしているのが心配事項でした。Telloと比べて重量がやや重いのと基板により気流が妨げられているためと考えていましたが、もう一つ考えていた要因を検討します。モーターの電流不連続モードPWM駆動による損失です。
以前の記事のビデオをご覧になった方は気づかれたかもしれませんが、試作機は現状、ブラシ有りコアレスモーターに対して電流不連続モードのPWMドライブを行っています。モーターのコイルに流れる電流が10kHzでON/OFFを繰り返しており、この周波数がコイルの電気的時定数より十分に低くなっています。そのため発生トルクもこの周期で変動し、コイルがモーター内部で振動して10KHzをピークとする音が出ます。10kHzは人間の耳の可聴域でありかつビデオでも再生可能な範囲に入っているので、映像では甲高い音がずっと鳴っているのがわかると思います。モーターの回転子やそれに接続されたプロペラの慣性モーメントによって回転速度は平滑化されているので、飛行には影響はないことを期待しています。
このドライブ方式と周波数を選んだ理由は、使用したESP32 6-Axis IMUのモーター駆動回路がこれ以上高い周波数でモーターをドライブできないためです。
10kHz 50%時のゲート電圧の波形です。ESP32 6-Axis IMUに搭載されているMOSFET AO3400 のゲート入力容量は630pF、10kΩの抵抗を介してマイコンのI/Oポートから直接駆動するようになっています。計算上の時定数は6.3[us]、実際のところも10~20[us]ぐらいぐらいです。10kHzでの駆動でも過渡応答が無視できなくなります。実際、20KHzまで周波数を上げたところ、FETに顕著な発熱があったのでやめました。
NOTE - 回路設計編 - PWM ドライブの設計およびコラム:パルス出力ステージ(PWM)とチョークコイルによると、コアレスモーターの場合も電流不連続モードでのPWMドライブを行うと発熱したり定格に達する前に焼き切れたりすることがある、とのことです。詳しい理屈はちゃんと調べていませんが、おそらくコイルの磁束の容量やそれに伴う非線形的な電流-トルクの関係があって、ON期間の高電流時に効率が低下する領域を使うためではないかと想像しています。
Telloの内部を調べてはいませんが、運転時に高周波音は聞こえないので、少なくとも可聴域内かつ電流不連続モードのPWMドライブを行ってはいないことはわかります。
使用した8520型のコアレスモーターはおよそ0.5Ω3.3uHでした。
コラム:パルス出力ステージ(PWM)とチョークコイル を参考に⊿I=Vcc/(2*f*L)という近似式を使うと、電流変動を0.1A程度に抑えるには⊿I=0.1A、Vcc=4.2、L=3.3uHのとき f=6.4MHz。これは現実的ではありません。
というのも、ESP32 WROVER[datasheet]のクロックは80MHz~240MHzであり、80MHzのときPWMを8bit分解能で使うには、周波数は80M/256の312.5kHzが最大です。6.4MHzは信号生成の時点で不可能です。また、電子回路の方もそのオーダーまでスイッチングを速くしなければなりません。
より低いPWM周波数で電流連続モードにするためには、インダクタをモーターと直列に入れる方法があります。しかしその場合でも100uHぐらいのインダクタンスが必要で、しかも最大電流が5Aぐらいのためかなり大きなものが必要になり、実装上難しそうです。100uH2.1Aのものの例としてCDRH127/LDNP-101MCがあり、これで10mm角より大きいです。今考えているロボットに載せるには若干配置に工夫が要りそうです。
そして最初に戻って、今使っているモーターが電流連続モードにすると同じ出力で発熱が減るかどうかについては、未だ実験的に検証できていません。部品が揃い次第試してみます。その結果を元にロボットの制御基板を新しく設計・製作する予定です。
0 件のコメント:
コメントを投稿