フライトコントローラーを自作してみる。~その4~

BlackBoxについて

前回書いた通り、基板化する前にBlackBoxを動作させてみます。
BlackBoxとはフライトコントローラー(以下FC)が諸々の情報をログとして記録する機能です。
ログの保存先としてBetaflightがサポートするメディアには、OpenLog基板、SDカード、SPIフラッシュIC 等があります。

OpenLogはSparkFun(SwitchScienceでも取扱いがある様です) のロギングデバイスで、FCには外付けする事になり機体内のスペースを取るため今回はパス。またSDカードは安くて大容量なのが魅力ですがカードコネクタがFC基板の面積を喰い設計が難しくなりそうなので、もうちょっと腕が上がってからにします。
という事で今回はSPIフラッシュを使ってみようと思います。

記録メディア

BetaflightがサポートするSPIフラッシュICはこちらのページに記載されている下記のデバイスで、この中から16MBのW25Q128を購入しました。

  • Micron/ST M25P16 -2 MByte
  • Micron/ST N25Q064 -8 MByte
  • Winbond W25Q64 -8 MByte
  • Macronix MX25L64 -8 MByte
  • Micron/ST N25Q128 -16 MByte
  • Winbond W25Q128 -16 MByte
ちょっと思っていたよりサイズが大きい。

配線

接続は電源とSPI信号をつなぐだけ・・・。

ファームウェア定義ファイル

Betaflightのターゲット定義ファイルtarget.hに以下を追記しました。
SPI3に接続しています。

#define USE_SPI_DEVICE_3 
#define SPI3_SCK_PIN PC10
#define SPI3_MISO_PIN PC11
#define SPI3_MOSI_PIN PC12
#define USE_FLASHFS
#define USE_FLASH_M25P16
#define FLASH_SPI_INSTANCE SPI3
#define FLASH_CS_PIN PA15
#define ENABLE_BLACKBOX_LOGGING_ON_SPIFLASH_BY_DEFAULT

気になったのは’USE_FLASH_M25P16’の行。M25P16は2MBのメモリーですが今回接続するW25Q128は16MBです。このあたりの設定は不要なのでしょうか? 他のFCの設定を見ても特に容量を指定する箇所もなく、単にM25P16を指定しているの様なのでこのままやってみます。

動作確認

ファームをビルドしてFCに書き込み、BetaflightConfigratorから接続してみると・・・

ちゃんと16MBとして認識しています。

適当に動作させたログをPCに取り込み、Blackbox Explorerで結果を見てみました(FCは机に置いたままなのでジャイロや加速度センサーの値は全く動いていませんけど・・)。

動作は大丈夫そうです。

ということで・・・

いよいよ基板設計を開始しました。一般的な一辺35mmの正方形に収める予定ですが、手ハンダも考慮してSMDパーツのパッドを大きめにしたため、面積的に結構厳しいです。くじけたら35mm角は諦めて基板サイズを広げるかもしれません。

フライトコントローラーを自作してみる。~その4~” への1件のコメント

  1. ピンバック: フライトコントローラーを自作してみる。~その5~ | ほいほい堂blog

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*