DIYドローン:レッスン4。フライトコントローラー..

(1)内容(2)(3)(4)(5)DIYドローン:レッスン1.用語。(6)(7)日曜大工のドローン:レッスン2。フレーム。(8)(9)日曜大工のドローン:レッスン3.発電所。(10)日曜大工のドローン:レッスン4。フライトコントローラー。 (11)(12)日曜大工のドローン:レッスン5.組み立て。(13)(14)日曜大工のドローン:レッスン6.パフォーマンスチェック。(15)(16)日曜大工のドローン:レッスン7。FPVと距離。(17)(18)自分の手でドローン:レッスン8.飛行機。(19)はじめに(20)UAVフレーム、モーター、ローター、ESC、バッテリーを選択または設計したので、フライトコントローラーの選択を開始できます。マルチローター無人航空機のフライトコントローラーは集積回路であり、通常はマイクロプロセッサー、センサー、入力/出力ピンで構成されています。開梱後、フライトコントローラーは使用しているUAVの特定のタイプまたは構成を認識しないため、最初にソフトウェアで特定のパラメーターを設定する必要があります。その後、特定の構成がボードにロードされます。ここで採用したアプローチは、現在利用可能なフライトコントローラーを単に比較するのではなく、PCのどの要素がどの機能を担当しているか、および注意すべき側面を示しています。

(21)メインプロセッサ(22)(23)(24)(25)(26)8051 vs AVR vs PIC vs ARM:ほとんどの基盤を形成するマイクロコントローラのファミリ最新のフライトコントローラー。 ArduinoはAVR(ATmel)に基づいており、コミュニティは優先コードとしてMultiWiiに焦点を合わせているようです。マイクロチップはPICチップの主要メーカーです。一方が他方より優れていると主張するのは難しいです、それはすべてソフトウェアが何ができるかにかかっています。 ARM(STM32など)は16/32ビットアーキテクチャを使用し、数十は8/16ビットAVRとPICを使用します。シングルボードコンピューターの価格が下がるにつれ、LinuxやAndroidなどの本格的なオペレーティングシステムを実行できる次世代のフライトコントローラーが期待されています。(27)(28)(29)CPU:通常、それらのビット幅は8の倍数(8ビット、16ビット、32ビット、64ビット)であり、 turnは、CPUのプライマリレジスタのサイズを示します。マイクロプロセッサは、一度に(クロック)メモリ内の設定された(最大)ビット数のみを処理できます。マイクロプロセッサが処理できるビットが多いほど、処理はより正確に(そしてより速く)なります。たとえば、8ビットプロセッサで16ビット変数を処理すると、32ビットプロセッサよりもはるかに低速になります。コードも正しいビット数で実行する必要があることに注意してください。この記事の執筆時点では、32ビット用に最適化されたコードを使用しているプログラムはごくわずかです。(30)(31)(32)動作周波数:メインプロセッサが動作する周波数。デフォルトでは「クロックレート」とも呼ばれます。周波数はヘルツ(1秒あたりのサイクル数)で測定されます。動作周波数が高いほど、プロセッサはデータをより高速に処理できます。 (33)(34)(35)プログラム/フラッシュ:フラッシュはメインコードが保存される場所です。プログラムが複雑な場合、多くのスペースを占める可能性があります。明らかに、メモリが大きいほど、より多くの情報を保存できます。このメモリは、GPS座標、飛行計画、自動カメラ移動などの飛行中のデータの保存にも関連しています。フラッシュメモリにロードされたコードは、電源を切ってもチップ上に残ります。(36)(37)(38)SRAM: SRAMはスタティックランダムアクセスメモリの略で、計算を実行するときに使用されるチップ上のスペースです。 RAMに保存されているデータは、電源を切ると失われます。 RAMの容量が多いほど、いつでも計算に「すぐに利用できる」情報が増えます。(39)(40)(41)EEPROM:電気的に消去可能でプログラム可能な読み取り専用メモリ(EEPROM)は通常、データではなく設定など、飛行中に変化しない情報を格納するために使用されます。 SRAMに保存され、センサーの読み取り値などが含まれる場合があります。(42)(43)(44)追加のI / Oポート:ほとんどのマイクロコントローラーには、多数のデジタルおよびアナログ入力および出力ポートがあります。フライトコントローラーには、センサーに使用されるものと、センサーに使用されるものがあります。通信用、または一般的な入出力用。これらの追加ポートは、RCサーボ、ジンバル、ブザーなどに接続できます。(45)(46)(47)A / Dコンバーター:センサーがオンボードアナログ電圧(通常は0-3.3Vまたは0-5V)を使用する場合、アナログAデジタルコンバーターは変換する必要がありますこれらの読み取り値をデジタルデータに変換します。プロセッサと同様に、ADCが処理できるビット数によって最大精度が決まります。これに関連するのは、マイクロプロセッサがデータを読み取って(1秒あたりの回数)、情報が失われないようにするためのクロックレートです。ただし、この変換中に一部のデータを失わないようにすることは難しいため、ADCのビット深度が高いほど、読み取りはより正確になりますが、プロセッサがデータの速度を処理できることが重要です。送信されています。(48)電源(49)(50)(51)多くの場合、フライトコントローラーの仕様には2つの電圧範囲が記載されており、最初の電圧範囲はフライトコントローラー自体の入力電圧範囲です(ほとんどは定格電圧5Vで動作し、2番目はメインマイクロプロセッサの入力電圧範囲(3.3Vまたは5V)です。フライトコントローラーは組み込みデバイスであるため、コントローラーの入力電圧範囲に注意するだけで済みます。ほとんどのマルチローターUAVフライトコントローラーは5Vで動作します。これは、この電圧がBECによって生成されるためです(詳細については、「(52)パワープラント」のセクションを参照してください)。 (53)繰り返しましょう。理想的には、メインバッテリーとは別にフライトコントローラーに電力を供給する必要はありません。唯一の例外は、メインバッテリーが大量の電力を放出し、BECが十分な電流/電圧を生成できず、電源が切れたりリセットされたりする場合に備えて、バックアップバッテリーが必要な場合です。ただし、この場合、予備電源の代わりにコンデンサが使用されることがよくあります。 (54)センサー(55)ハードウェアの観点からは、フライトコントローラーは基本的に通常のプログラム可能なマイクロコントローラーであり、特別なセンサーのみが搭載されています。少なくとも、フライトコントローラーには3軸ジャイロスコープが含まれますが、自動レベリングは含まれません。すべてのフライトコントローラーに次のセンサーが装備されているわけではありませんが、それらの組み合わせを含めることもできます。(56)(57)(58)(59)加速度計:名前が示すように、加速度計は線形加速度を測定します3つの軸で(それらをX、Y、Zと呼びましょう)。通常、「G(ロシア語。同じ)」で測定されます。標準(正規)値はg = 9.80665 m /s²です。位置を決定するために、加速度計の出力を2回積分することができますが、出力での損失のために、オブジェクトがドリフトする可能性があります。三軸加速度計の最も重要な特徴は、重力を記録することです。そのため、「下降」する方向を知ることができます。これは、マルチローターUAVの安定性を確保する上で主要な役割を果たします。加速度計は、直線軸がドローンの主軸と一致するようにフライトコントローラーに取り付ける必要があります。(60)(61) (62)(63)(64)(65)ジャイロスコープ:ジャイロスコープは、3つの角軸に沿った角度の変化率を測定します(それらを呼んでください:アルファ、ベータ、ガンマ)。通常、1秒あたりの度数で測定されます。ジャイロスコープは絶対角度を直接測定しないことに注意してください。ただし、加速度計のようにドリフトを促進する角度を取得するために反復することができます。実際のジャイロスコープの出力はアナログまたはI2Cになる傾向がありますが、すべての受信データはフライトコントローラーコードによって処理されるため、ほとんどの場合、これについて心配する必要はありません。ジャイロスコープは、その回転軸がUAVの軸と一致するように設置する必要があります。(66)(67) (68)(69)(70)(71)慣性計測ユニット(IMU): IMUは、基本的に両方を含む小さなボードです。加速度計とジャイロスコープ(通常は多軸)。これらのほとんどには、3軸加速度計と3軸ジャイロスコープが含まれますが、3軸磁力計など、合計9つの測定軸を提供する追加のセンサーが含まれる場合もあります。(72)(73) (74)(75)(76)(77)コンパス/磁力計:地球の磁場を検出して使用できる電子磁気コンパスこのデータは、ドローンのコンパスの方向を決定するためのものです(磁北極に対して)。このセンサーは、システムにGPS入力があり、1〜3軸で使用できる場合、ほとんどの場合存在します。(78)(79) (80)(81)(82)(83)気圧/気圧計:気圧は海面からの距離に応じて変化するため、 UAVのかなり正確な高度測定値を取得するための圧力センサー。最も正確な高度を計算するために、ほとんどのフライトコントローラーは圧力センサーと衛星ナビゲーションシステム(GPS)から同時にデータを受信します。組み立てるときは、チップへの風の悪影響を減らすために、気圧計ケースの穴を発泡ゴムで覆うことが望ましいことに注意してください。(84)(85) (86)(87)(88)(89)GPS:(90)全地球測位システム(GPS)特定の地理的位置は、地球を周回するいくつかの衛星によって送信された信号を使用します。フライトコントローラーには、GPSモジュールとケーブル接続モジュールの両方を組み込むことができます。 GPSアンテナをGPSモジュール自体と混同しないでください。GPSモジュール自体は、小さなブラックボックスまたは通常の「ダック」アンテナのように見える場合があります。正確な位置データを取得するために、GPSモジュールは複数の衛星からデータを受信する必要があります。(91)(92) (93)(94)(95)(96)距離: GPS座標と圧力センサーが判断できないため、距離センサーはドローンでますます使用されています地面(丘、山、建物)からどれだけ離れているか、またはオブジェクトと衝突するかどうか。下向きの距離センサーは、超音波、レーザー、またはLIDARテクノロジーに基づくことができます(IRセンサーは日光の下で問題が発生する可能性があります)。フライトコントローラーに距離センサーが標準装備されていることはめったにありません。(97)(98) (99)飛行モード(100)以下は最も人気のある飛行モードのリストですが、すべてが利用できるわけではありません。フライトコントローラー..。 「フライトモード」は、フライトコントローラーがセンサーと着信無線コマンドを使用してUAVを安定させて飛行させる方法です。使用する制御装置に5つ以上のチャネルがある場合、ユーザーはソフトウェアを構成できます。これにより、飛行中に5番目のチャネル(補助スイッチ)を介してモードを直接変更できます。 (101)(102)(103)(104)ACRO -通常、使用可能なすべてのセンサーのデフォルトモードで、フライトコントローラーはジャイロスコープのみを使用します(ドローンは自動的に水平になることはできません)。スポーツ(アクロバティック)飛行に関連します。 (105)(106)(107)(108)角度-安定モード。利用可能なすべてのセンサーのうち、フライトコントローラーはジャイロスコープと加速度計を使用します。角度は限られています。ドローンを水平位置に保ちます(ただし、その位置を保持しません)。 (109)(110)(111)(112)HORIZON -スティックが中央近くにありゆっくり動くときの「ANGLE」モードの安定性と、アクロバットを組み合わせたものスティックが極端な位置にあり、すばやく動くときの「ACRO」モードの。フライトコントローラーはジャイロスコープのみを使用します。 (113)(114)(115)(116)BARO(高度保持)-安定モード。利用可能なすべてのセンサーのうち、フライトコントローラーはジャイロスコープ、加速度計、気圧計を使用します。角度は限られています。気圧計は、制御機器からコマンドが与えられていないときに、特定の(固定された)高度を維持するために使用されます。 (117)(118)(119)(120)MAG(機首方位ホールド)-機首方位ロックモード(コンパス方向)、ドローンはヨー方向を維持します。利用可能なすべてのセンサーのうち、フライトコントローラーはジャイロスコープ、加速度計、コンパスを使用します。 (121)(122)(123)(124)HEADFREE(CareFree、Headless)-ドローンの方向追跡(ヨー)を排除し、2D方向に移動できるようにします動きに応じてROLL / PITCHコントロールスティック。利用可能なすべてのセンサーのうち、フライトコントローラーはジャイロスコープ、加速度計、コンパスを使用します。 (125)(126)(127)(128)GPS /帰宅-コンパスとGPSを自動的に使用して離陸位置に戻ります。利用可能なすべてのセンサーの中で、フライトコントローラーはジャイロスコープ、加速度計、コンパス、およびGPSモジュールを使用します。 (129)(130)(131)(132)GPS /ウェイポイント-ドローンが事前設定されたGPSポイントを自律的に追跡できるようにします。利用可能なすべてのセンサーのうち、フライトコントローラーはジャイロスコープ、加速度計、コンパス、およびGPSモジュールを使用します。 (133)(134)(135)(136)GPS /位置保持 -GPSと気圧計(利用可能な場合)を使用して現在の位置を保持します。利用可能なすべてのセンサーの中で、フライトコントローラーはジャイロスコープ、加速度計、コンパス、およびGPSモジュールを使用します。 (137)(138)(139)(140)フェイルセーフ-他の飛行モードが指定されていない場合、ドローンはアクロモードに切り替わります。利用可能なすべてのセンサーのうち、ジャイロスコープのみがフライトコントローラーによって使用されます。ドローンのソフトウェアに障害が発生した場合に関連して、以前に事前設定されたコマンドを使用してUAVの制御を復元できます。 (141)ソフトウェア(142)(143)(144)PIDコントローラー(割り当てと設定) (145)(146)比例積分導関数(PID)またはProportional-Integral-Derivative(PID)は、センサーからデータを読み取り、UAVの目的の速度を維持するためにモーターが回転する必要がある速度を計算するフライトコントローラーソフトウェアです。 (147)すぐに飛行できるUAVの開発者は、PIDコントローラーのパラメーターを最適に調整する傾向があります。そのため、ほとんどのRTFドローンは箱から出してすぐに完全に操縦されます。エンドユーザーの必要な飛行特性を満たすまでPID値を調整する機能を備えた、マルチローターアセンブリに適したユニバーサルフライトコントローラーを使用することが重要なカスタムUAVアセンブリについては言えません。 (148)(149) (150)(151)(152)GUI(153)(154)グラフィカルユーザーインターフェイス(GUI)またはグラフィカルユーザーインターフェイスフライトコントローラーにロードされるコードを(コンピューターを使用して)視覚的に編集するために使用されるものです。フライトコントローラーに付属のソフトウェアはどんどん良くなっています。最初のフライトコントローラーは主にテキストベースのインターフェイスを使用していたため、ユーザーはほとんどすべてのコードを理解し、設計に合わせて特定のセクションを変更する必要がありました。最近、GUIは、ユーザーが必要なパラメーターを簡単に構成できるようにするために、対話型のグラフィカルインターフェイスを使用しています。 (155)(156) (157)(158)(159)追加機能 (160)一部のフライトコントローラーで使用されるソフトウェアには、その他。特定のフライトコントローラーの選択は、最終的には開発者が提供する追加の機能に依存する場合があります。これらの機能には次のものが含まれます。(161)(162)(163)自律ウェイポイントナビゲーション-ユーザーがドローンが自律的に追跡するGPSウェイポイントを設定できるようにします。 (164)(165)オリビテーション-特定のGPS座標を中心としたドローンの動き。ドローンの正面は常に特定の座標に向けられます(射撃に関連)。 (166)(167)フォローミー-多くのUAVには、衛星測位に基づくことができる「フォローミー」機能があります(たとえば、スマートフォンのGPS座標の追跡、または制御機器GPS)。 (168)(169)3D画像-ほとんどの3D画像は、飛行中に取得された画像とGPSデータを使用して飛行後に撮影されます。 (170)(171)オープンソース-一部のフライトコントローラーのソフトウェアは変更/構成できません。オープンソース製品では通常、パワーユーザーが特定のニーズに合わせてコードを変更できます。 (172)通信(173)(174)(175)ラジコン(RC) (176)ラジコンには通常(177)RC送信機/ RCが含まれます送信機(無人趣味-ラジコン/リモコン)とRC受信機(RC受信機)。 UAVと対話するには、ユーザーは少なくとも4つ(またはそれ以上)のチャネルRC送信機が必要です。デフォルトでは、最初の4つのチャネルは次のものに関連付けられています。(178)(179)(180)スロットル/仰角(離陸および降下)(181)(182)ヨー(回転その軸を左右に)(183)(184)ピッチ(前後に移動)​​(185)(186)ロール(左右に移動) (187)(188)(189)他のすべての利用可能なチャネルは、次のようなアクションに使用できます。(190)(191)武装(武装または武装)/武装解除(武装解除または武装解除) -モーターの武装/武装解除..。(192)ジンバルコントロール(パンアップ/ダウン、時計回り/反時計回りに回転、ズーム)(193)飛行モードの変更(ACRO / ANGLEなど)(194)ペイロードのアクティブ化/アクティブ化(パラシュート) 、ブザーまたは他のデバイス)(195)その他のアプリケーション (196)(197)(198)ほとんどのユーザー(UAVパイロット)は手動制御を好みます。制御機器は依然として一番の選択肢です。 RCレシーバー自体は、RCトランスミッターからの値を送信するだけです。つまり、ドローンを制御することはできません。 RCレシーバーはフライトコントローラーに接続する必要があり、フライトコントローラーはRC信号を受信するようにプログラムする必要があります。レシーバーからの着信無線コマンドを直接受け入れるフライトコントローラーは市場にほとんどなく、ほとんどのPCはピンの1つからレシーバーに電力を供給します。リモコンを選択する際の追加の考慮事項は次のとおりです。(199)(200)すべてのRC送信機が500msから2500msまでのRC信号の全範囲を提供できるわけではありません。使用されているほとんどのRCはラジコンカー、飛行機、ヘリコプター用であるため、この範囲を人為的に制限するものもあります。 (201)範囲/最大空気範囲(フィートまたはメートルで測定)RCシステム(202)-は、ノイズ、温度、湿度、バッテリー電力などの多くの要因の影響を受けるため、メーカーから提供されることはほとんどありません。 (203)一部のRCシステムには、センサーからデータ(GPS座標など)を送信するための送信機が組み込まれている受信機があり、RC送信機のLCDに表示されます。 (204)(205)(206)Bluetooth(207)Bluetooth以降のBLE(Bluetooth Low Energy)製品は、元々、ペアリングや周波数なしでデバイス間でデータを転送することを目的としていました。マッチング。いくつかの市販のフライトコントローラーは、Bluetooth接続を介してワイヤレスでデータを送受信できるため、現場でのトラブルシューティングが容易になります。 (208)(209) (210)(211)(212)Wi-Fi(213)Wi-Fi制御は通常、Wi-Fiルーターを介して行われます。コンピューター(ラップトップ、デスクトップ、タブレットを含む)またはスマートフォン。 Wi-Fiは、データ送信とビデオストリーミングの両方に対応できますが、同時に、このテクノロジーの構成/実装はより困難です。すべてのWi-Fiデバイスと同様に、距離はWi-Fi送信機によって制限されます。 (214)(215) (216)(217)(218)無線周波数(RFまたはRF) (219)この文脈での無線周波数(RF)制御とはRF送信機/受信機(またはデュアルバンドトランシーバー)を使用して、コンピューターまたはマイクロコンピューターから航空機にデータをワイヤレスで転送します。コンピュータに接続された従来のRFユニットを使用すると、高データ密度(通常はシリアル形式)で長距離の双方向通信が可能になります。 (220)(221) (222)(223)(224)スマートフォン (225)これは一種のコミュニケーションではありませんが、問題自体はどのように制御するかです。スマートフォンを使用したドローン。別のセクションを作成するのに十分です。現代のスマートフォンは本質的に強力なコンピューターであり、偶然にも電話をかけることができます。ほとんどすべてのスマートフォンには、BluetoothモジュールとWiFiモジュールが組み込まれており、それぞれがドローンの制御やデータやビデオの受信に使用されます。 (226)(227) (228)(229)(230)赤外線(IR) (231)TVリモコン)は、ドローンの制御に使用されることはめったにありません。通常の部屋(オープンスペースは言うまでもなく)では、赤外線干渉が非常に多いため、信頼性が低くなります。この技術を使用してUAVを制御できるという事実にもかかわらず、メインオプションとして提供することはできません。 (232)(233) (234)追加の考慮事項(235)(236)(237)機能:フライトコントローラーのメーカーは通常、できるだけ多くの機能を提供しようとします-デフォルトで含まれているか、オプション/アドオンとして個別に購入されています。以下は、フライトコントローラーを比較するときに確認したい多くの追加機能のほんの一部です。(238)(239)(240)ダンピング:通常、不均衡なローターやモーターによって引き起こされるフレームの小さな振動でさえ、内蔵の加速度計によって検出できます。適切な信号をメインプロセッサに送信し、メインプロセッサが修正措置を取ります。これらのマイナーな修正は、安定した飛行には不要または望ましくないため、フライトコントローラーの振動をできるだけ少なくすることをお勧めします。このため、フライトコントローラーとフレームの間に振動ダンパー/ダンパーがよく使用されます。(241)(242)(243)エンクロージャー:フライトコントローラーの周りの保護エンクロージャーは、さまざまな状況で役立ちます。エンクロージャーは、裸のPCBよりも見た目に美しいだけでなく、ある程度の電気的保護を提供することがよくあります。要素、およびクラッシュの場合の追加の保護。(244)(245)(246)取り付け:フライトコントローラーをフレームに取り付けるにはさまざまな方法がありますが、すべてのフライトコントローラーに同じ取り付けオプションがあるわけではありません:(247) (248)互いに30.5mmまたは45mmの距離にある4つの穴の2乗。 (249)ステッカーと一緒に使用するための平底。 (250)長方形の4つの穴(標準はインストールされていません)。 (251)(252)(253)コミュニティ:カスタムドローンを構築しているので、特に問題が発生したりアドバイスが必要な場合は、オンラインコミュニティに参加することで大いに役立ちます。 。コミュニティからアドバイスを得たり、さまざまなフライトコントローラーの品質と使いやすさに関するユーザーフィードバックを表示したりすることも役立ちます。(254)(255)(256)付属品:製品を完全に使用するには、フライトコントローラー自体に加えて、追加のアイテム(付属品またはオプション)が必要になる場合があります。このようなアクセサリには、次のものが含まれますが、これらに限定されません。GPSモジュールおよび/またはGPSアンテナ。ケーブル;取り付けアクセサリ;画面(LCD / OLED);(257)例(258)では、これらすべての異なる比較で、フライトコントローラーについてどのような情報を取得でき、フライトコントローラーには何が含まれる可能性がありますか?例として、(259)Quadrino Nano Flight Controller を選択しました。 (260)(261)メインプロセッサ(262)オンボードで使用されるATMel ATMega2560は、最も強力なArduino互換のATMelチップの1つです。 16個のアナログデジタルチャネルと5個のSPIポートを含む合計100個のピンがありますが、サイズが小さく、フライトコントローラーとしての使用を目的としているため、ボード上に存在するピンはごくわずかです。 (263)(264)AVR vs PIC:AVR (265)プロセッサ:8ビット(266)動作周波数:16MHz (267)プログラムメモリ/フラッシュ:256KB(268)SRAM:8KB (269)EEPROM:4KB (270)追加のI / Oピン:3×I2C; 1×UART; 2×10ピンGPIO; 5倍出力のサーボ。 OLEDポート(271)A / Dコンバーター:10ビット (272)(273) (274)(275)センサー(276)QuadrinoNanoに含まれるものMPU9150 IMUチップには、3軸ジャイロスコープ、3軸加速度計、3軸磁力計が含まれています。これにより、センサーの品質を犠牲にすることなく、ボードを十分に小さく保つことができます。 MS5611気圧計は圧力データを提供し、フォームで覆われています。外部GPSアンテナ(付属)を備えた統合金星838FLPxGPS。 (277)(278) (279)(280)ソフトウェア(281)Quadrino Nanoは、最新のMultiWiiソフトウェア(Arduinoベース)を使用するために特別に構築されました。 Arduinoコードを直接変更する代わりに、別のよりグラフィカルなソフトウェアが作成されました。 (282)(283) (284)(285)通信(286)(287)標準RC受信機からの直接入力。 (288)専用Spektrum衛星受信機ポート(289)シリアル(SBusおよび/またはBluetoothまたは3DR無線) (290)(291) (292)(292)( 293)その他の要素(294)(295)(296)エンクロージャー:標準で含まれている保護用の半透明エンクロージャー(297)(298)取り付け: Quadrinoの取り付けには主に2つの方法があります。ナノからドローン:ネジとナットまたは発泡ゴムのステッカー。 (299)(300)コンパクトなデザイン:コントローラー自体(GPSアンテナを除く)のサイズは53x53mmです。(301)(302) 。