ドローンのFC電気回路作成用メモ

Electronics

今まで3回の記事に分けて,ドローンの電気回路作成時に気をつけるべきことを書いてきました.

見直してみると一記事一記事が長いなと思ったので,今回は FC の電気回路を作る際に気をつけるポイントを箇条書き程度に簡潔にまとめておきたいと思います.

参考までに,今まで書いた記事を以下に載せておきます.

例のごとく,基本的には以下のサイトを参考にします.

Arduino Nano Quadcopter
Arduino Nano Quadcopter : (At the moment the project is being edited as the previous model had a couple of flaws) This is Arduino based and 3D printed nano quad...

目次を上記サイトのものと合わせているため,基本的に本記事の目次も英語になっています.本記事は概要をさらっているだけなので,詳細を知りたい方は上記サイトの同じ目次の箇所をしっかり読むことをオススメします.

IMU

機体の姿勢を計測するために設置するセンサです.

  • 加速度計のノイズを軽減するために,ポリスチレンなどのダンパを挟むと良い.(ハサミの技術備忘録さんも同様のことをしています.)
  • 機体の中心に IMU を設置すべき.(機体の中心に設置しないと,向心加速度によって加速度の測定値が本来の値とずれてしまうため.)

Batteries

  • どれくらいの電流を流せるかは,電気容量(capacity) x 放電率(discharge rate)で計算できる.電気容量 x 放電率 x 0.8が安全に電流を流せる範囲である.
  • 一つのモータにつき最大 3A 程度,つまり 4つのモータで 12A 程度最大で電流を流せればいい.安全率も考慮して 15A 以上の電流が流せるようなバッテリを選定する.

Connectors

  • バッテリ用のコネクタは,12A 程度の電流が最大で流せるかチェックする

N-MOSFETs

モータを回転させるために設置するのが,N型の MOSFET です.

  • ドレイン電流 Id は最大で 3A 程度流せる必要がある.
  • ゲート・ソース間電圧 Vgs のしきい値は 1V 以下である必要がある.
  • どれくらいの電流が流れるかを確認するため,Vgs と Id の関係は要チェック.
  • ドレイン・ソース間オン抵抗 Rds(on) は 0.032Ω 以下であるべき.
    (小さければ小さい方が望ましい.)
  • SQ2310ES を使う予定.
    • Id 最大値:3.5 〜 6A
    • Vgs しきい値:0.4 〜 1V
    • Rds(on):32mΩ

P-MOSFETs

バッテリを逆接続してしまったときに電気回路を保護するために,P-MOSFET を使うことが推奨されています.ダイオードによる逆接防止だとダイオードによる電圧降下が大きくなってしまうことから P-MOSFET が推奨されているみたいです.12A 程度の大電流を流せる MOSFET はなかなかないため,マイコンのみを保護するような P-MOSFET の配置が推奨されています.

(昇圧コンバータに逆接防止機能があるため,私はこの P-MOSFET は回路に組み込まない予定です.)

Resistors

ゲート・ソース間抵抗

  • 10kΩ 程度のプルダウン抵抗
  • GND への電荷の逃げ道を作ることで,MOSFETオフ時にすぐに電荷を逃せる.
  • マイコン起動時にモータを回さないようにする.ゲート・ソース間抵抗がないと起動時の Vgs 電圧が不定となり,マイコン起動時にモータが勝手に回ってしまう可能性がある.

ゲート抵抗

  • 100Ω 程度の抵抗
  • インラッシュ電流の流入防止.ゲート抵抗がないとインラッシュ電流により急激な電圧降下が起こり,マイコンが勝手にリセットしてしまう可能性がある.

Capacitors

モータのノイズにより,数百mV という単位で電圧の変動が生じます.これにより,IMUの読み取り値や送受信シグナルの値がおかしくなったり,マイコンが意図せずリセットしたりする可能性があります.これを防ぐためにコンデンサを導入します.

  • モータによって生じる,マイコンやセンサ等へのノイズを除去.
  • 高周波帯域での抵抗値を下げるため,低い ESR のもの(セラミックコンデンサ)を選ぶ.
  • セラミックコンデンサは ESR が小さく極性もないため,基本的にはセラミックコンデンサを使うべき.(参考動画
  • セラミックコンデンサではキャパシタンスが足りない場合は,タンタルコンデンサを使う.電解コンデンサは最後の選択肢.
  • 可能な限り,ノイズを抑制したい対象の近くにコンデンサを配置する.

設置例は以下のとおりです.

  • IMU の Vcc ピンと GND 間に 100nF のセラミックコンデンサ
  • Arduino の 5V ピンと GND 間に 22uF, 100nF のセラミックコンデンサ(並列)
  • バッテリピン間に 100uF のタンタルコンデンサ
  • モータの正極と GND 間に 22uF のセラミックコンデンサ(各モータごとなので 4 つ)
  • モータの端子間 10nF のセラミックコンデンサ(各モータごとなので 4 つ)

Diodes

モータ電源オフ時の電流の通り道を確保するためにダイオードを導入します.

  • ショットキーダイオードを使う.理由は,普通のダイオードよりも高周波帯域で動作し,パワー損失が少ないから.
  • モータに流れる電流(最大 3A 程度)と同程度の電流を流せる必要がある.
  • SS34 が良さそう.最大連続順方向電流 3A,ピーク逆繰返し電圧が 40V.

Weight and Price Calculations

ドローンの機体の重さは,最大推力の半分くらいであるべきである.

Motors controlling PWM

  • Arduino では,ピンごとに設定できる PWM の最大周波数が異なる.さらに,異なる PWM 周波数ではモータの最大出力推力やパフォーマンスが若干異なる.
  • esp32 はクロック周波数が 80MHz であり,最大周波数までのいずれかの周波数を指定できる.(参考記事
  • PWM の周波数は高ければ高いほど,なめらかでノイズレスな出力ができるが,最大推力が小さくなる.(参考動画

Powering Arduino

  • Arduinoでは,brownout voltage(マイコンが動く最低電圧)は元々 2.7V に設定されているが,モータを回すと瞬間的に電源電圧が低下することがあるので 1.8V に設定する.
  • esp32では,brownout voltage を検知するシステム(brownout detector)を無効化するという荒業がある.(参考フォーラム

Track Design

モータは大きな電流を流すので,PCB 設計の際は以下の注意が必要です.

  • 電源線にビアは使わない.(ビアを使うと抵抗が大きくなってしまう.)
  • 配線の太さは 1.4mm くらいにする.どのくらいの太さにすべきかのシミュレーションはこのサイトでできる.

Ground Separation

これも PCB 設計の際のテクニックで,GND を分けるというものです.

  • モータのノイズがセンサの読み取り値に影響を与えないように,センサ用の GND とモータ用の GND は分けた方がよい.
  • esp32 などのマイコンには2つ GND ピンがあるので,片方をセンサ用,もう片方を他のコンポーネント(モータや電源等)用とするとよい.(参考記事

GND の分離とは少し主題がそれますが,以下のようなこともココで言及されていました.

  • モータの電線をツイストすることで,磁場の発生と磁場による電圧変動を抑止する.
  • 2つのバッテリを使うという案もある.一方はモータ駆動用,他方はマイコンやセンサ等用.(※私はこの案は非採用予定.)
  • モータ,電源ピンの逆接に注意!!

回路図

まとめ

今回は以前よりもかなり簡潔に各コンポーネントの選定方法や PCB の設計方法をまとめたので少し見やすいかと思います.これをベースに FC の PCB を設計していきます!何か間違い等ありましたらご指摘よろしくお願いいたします.

コメント