okalachev/flix

Making an ESP32-based quadcopter from scratch

それは何か

Flix(flight + X の略)は、ESP32 マイクロコントローラを中心に構築されたオープンソースのクアッドコプタードローンです。ハードウェアとソフトウェアの両方をゼロから設計されており、商業用ではなく教育と研究を目的としています。

現在のステータス

  • バージョン 1.1 が存在し、3D プリントフレームを備えています。以前のバージョン 0 も存在します。
  • プロジェクトは実際に飛行します。デモビデオは README にリンクされています。
  • 専用 PCB(Flix2 と呼ばれる)が開発中です。
  • 位置制御機能(位置の自動保持)も開発中で、頭上カメラを使用したデモがあります。

主な機能

  • 汎用の市販部品(ESP32 ボード、IMU センサー、ブラシモーター、MOSFET など)から構築されています。
  • Arduino で書かれたシンプルでクリーンなファームウェア。コードは 2000 行未満です。
  • Wi-Fi または ESP-NOW(短距離ワイヤレスプロトコル)経由で MAVLink プロトコルを使用して通信します。
  • USB ゲームパッド、リモコン、またはスマートフォンで制御できます。
  • 設定と分析のためのワイヤレスコマンドラインインターフェースが含まれています。
  • Gazebo で構築された正確なシミュレータがあり、実際のドローンと同じ Arduino コードを実行します。
  • スクリプト作成と自動飛行のための Python ライブラリを提供します。
  • 飛行制御の理論と実践に関する教科書が開発中です(quadcopter.dev にあります)。

ハードウェア

  • メインボード: ESP32 Mini(ESP32-S3 および ESP32-C3 ボードもサポート)。
  • センサー: GY-91(MPU-9265)または他の MPU-9250/MPU-6500 ボード、ICM20948V2、または GY-521(MPU-6050)。
  • モーター: 4× 8520 3.7V ブラシモーター。
  • プロペラ: 55 mm または 65 mm。
  • スイッチング: 4× MOSFET トランジスタ(UMW 100N03A または類似品。README は他のメーカーを警告しています)。
  • バッテリー: 3.7V Li-Po、推奨 25C、1000 mAh 以上。
  • フレーム: 3D プリント(STL および STEP ファイル提供)、推奨プリント設定(0.2 mm レイヤー、0.4 mm ライン、100% インフィル)。
  • コントローラーオプション: CC2500 ベースの送信機(例: BetaFPV LiteRadio)、Wi-Fi 経由のツースティックゲームパッド、または他のオプション。
  • オプション部品: SBUS インターフェース付き RC レシーバー、より安定した電力のための昇圧コンバータ、バッテリー電圧分圧器。

組み立てと配線

  • README には簡略化された接続図とモーター接続スキーム(MOSFET 配線)が提供されています。
  • IMU ボードを ESP32 に接続するためのピンごとのテーブル(VSPI 経由)と、4 つのモーターを特定の GPIO ピンに接続するためのテーブルが含まれています。
  • オプションの RC レシーバーは UART2 に接続します。オプションのバッテリー電圧分圧器は ADC1 ピンに接続します。
  • 必要なツール: 3D プリンター、はんだごて、はんだ線、ドライバー、マルチメーター。

ソフトウェアとシミュレーション

  • シミュレータは Gazebo 内で元の Arduino コードを実行するため、シミュレーションの動作は実際のドローンと一致します。
  • Python ライブラリ(tools/pyflix 内)により、スクリプト作成と自動飛行が可能になります。
  • README はドキュメント記事にリンクしています: 組み立て手順、使用方法(ビルド/セットアップ/飛行)、シミュレーションガイド、Python ライブラリドキュメント、ファームウェアアーキテクチャの概要、トラブルシューティング、ログ分析。

コミュニティとリソース

  • 開発を追跡する公式 Telegram チャンネル(ロシア語): t.me/opensourcequadcopter。
  • 公式 Telegram チャット(英語/ロシア語): t.me/opensourcequadcopterchat。
  • ドローンの開発に関する詳細な Habr 記事(ロシア語)。
  • ドキュメントにはユーザービルドギャラリーが維持されています。

重要な注意事項

  • これは DIY プロジェクトです。README には組み立てとセットアップが簡単ではないと明記されています。
  • 保証なしで「現状のまま」提供されます。著者は損害、傷害、または損失について責任を負いません。
  • 一部のコンポーネントには厳しい要件があります(例: 正確な 3.7V モーター、特定の MOSFET メーカー、一致するプロペラ穴径)。
  • IMU ボードの気圧計は現在使用されていません。
  • フレームは GY-91 ボードに最適化されています。他の IMU ボードでは、マウント穴の位置を変更する必要がある場合があります。

始め方

  1. README にリンクされている組み立て手順と使用方法のドキュメントを読んでください。
  2. リストされているコンポーネントを集めてください(または最初にシミュレータを使用してください)。
  3. フレーム部品を 3D プリントしてください。
  4. 回路図に従ってはんだ付けと配線を行ってください。
  5. Arduino ファームウェアをフラッシュし、セットアップガイドに従ってください。
  6. オプションで Python ライブラリを使用して飛行をスクリプト化できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト