Tag Archives: フライトコントローラー自作

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

細々と続けているフライトコントローラー自作の続きです。
部品が一通り揃ったのでリフローの準備を始めます。

フライトコントローラーはすべて表面実装部品を使うので手ハンダでは難しく、リフローで実装したいのです。
また35mm角の基板に部品を載せていくと両面実装になるので、ホットプレートを使ったリフローでは裏側実装のとき密着できない懸念があり、ここはやはりリフロー炉を使う必要がありそうです。

という事でオーブントースターを改造してリフロー炉を作る事にします。
内容的にはスイッチサイエンスさんのこのキットを真似して作ります。
(キットはずっと品切れなのでバラで部品を集めます)

まずオーブントースターを入手。リサイクルショップで適当なものを¥1800で買ってきました。TIGERのKAM-A130という機種で1300Wの品です。どれだけのパワーがいるか不明なので、足りないとどうしようもないので強めの機種を選びました。

ヒーターは3本備えていますが、この内2本は並列につながっています。常温で抵抗値を測ったところ並列状態の2本と単独の1本が同程度の値になっていて、2系統の配線が半分ずつのパワーを受け持つ様に制御しています。

前面にはタイマーと温度設定つまみがあります。タイマーはゼンマイ式で0まで戻ると「チン」となるアレです。温度設定つまみはバイメタル式サーモスタットらしき機構につながっています。
タイマーの方はそのまま安全タイマー(なにかトラブルがあって通電を続けても時間が来たら止まる)として使いたかったのですが、カバーが金属のツメを折り曲げて止めてあり、一度外すと元に戻せなくなりそうなので諦めました。
結局ヒーターに接続する電線だけを引き出して利用することにします。

回路はこれ。
オリジナルのスイッチサイエンスのキットはATMega328Pを3.3Vで動作させていて、これはたぶん温度センサーのMAX31855が3.3V動作の為だと思います。でも今回はAdafluitのMAX31855モジュール基板(秋月電子で入手)を使うので内部に5V→3.3Vレギュレータを持っているし、更にSSRは入力が4V以上となっているので5V系のArduino UNOの方が都合が良いのです。

温度を測定する熱電対は秋月電子で買ったステンレス管に入ったタイプでやってみます。
オーブンの内部に突っ込むので電線がピラピラしているよりもしっかりした棒状のセンサーを突っ込む方が保持しやすいと思ったのです(が、これは失敗だった事に後で気づきます)。

では改造です。
オーブントースターの筐体に穴をあけて電線を引き出します。穴の縁が鉄板そのままだと電線を傷つけそうなのでハトメを打ちました。 でもハトメの穴も案外ギザギザしているんですね。これだと効果が薄いので結局ハトメは外して他の方法を探します。

そして見つけたのがこれ「ダイソーのシリコーンマット」。230度までOKとなっています。これを適当に切り電線の周りに巻いて穴にツッコミました。


これで電線を傷つける心配はないと思います。

制御回路はまだバラックです。

ファームをGithabから取ってきてリフロー条件もそのままでArduinoに書き込みました。
そしてとりあえず何か焼いてみます。以前基板を発注したら間違って届いたものを使い、適当なランドにクリームはんだを塗って適当なチップ抵抗を載せます。


まずはソースコードに最初から書かれていた温度プロファイルそのままでやってみます。これは130℃まで上がるとで15秒待ち、その後230℃まで上がると目標を225℃に下げ、更に100秒経過するとすべてのヒーターを止めるという動作です。

ではスタートスイッチをポチッと。
最初の段階は1系統のみヒーターONで130℃を目指して温まっていきます。 そして130℃で一旦ヒーターが切れますがそれでも暫く温度が上昇し140℃まで上がりました。そして15秒のタイムアップ後2系統共ヒーターONとなり230℃を目指して上昇していきます。230℃に達するとヒーターOFFになり目標温度が225℃に下がるのですがまだまだ温度が上昇し240℃を超えてしまいました。基板からは時々プチッという音が聞こえてきます。その後225℃まで下がるか下がらないかの間に100秒の待ち時間が過ぎて一通りの処理が終了しました。

扉を開けると・・・

何か色が濃い・・・

結果・・・基板が黒くなっていて過熱しすぎっぽいですね。

左はリフロー前, 右がリフロー後。
過熱により黒くなりました。

ならば温度センサーがちゃんと温度を取れているのか、熱電対温度計と並べてヒートガンで過熱してみます。

結果、温度はまあ一致するのですが、ステンレス管に入った方は温度が伝わるのに時間がかかり、遅れて追いつく様な感じになります。
ステンレス管の熱電対を選んだのは失敗ですねー。さっき温度読みが240まで上がりましたがこれは遅れた表示なので実際はもっと上がっていたと想像できます。
まあちょっと予想はしていて、電線直接の熱電対が何本か手持ちが あるのでステンレス管がダメならこっちに変えようと考えていました。

電線直接の熱電対だと固定しずらいのでどうするかですが・・・3Dプリンタで使ったテフロンパイプがまだあった筈。これを適当に切ってその中に熱電対を通し庫内まで貫通させてみます。

次は制御回路と温度計、二つの熱電対を基板のほぼ同じ位置に貼り付けて動作させてみます。

こうすると制御回路と温度計の表示がほぼ同じで動作しているので測定自体は大丈夫みたいです。しかし通電を止めてから10℃くらい上がるのは変わりません。ヒーターからセンサーまで熱が伝わるのに時間がかかるのでしょう。

このファームは設定値に温度が達したら通電を切り、設定値よりも下がったら通電するというシンプル制御です。そこでPIDを追加してみたりと迷走したのですが結局止めました。最大温度に達する直前に過熱をゆるめるので温度の跳ね上がりはなくなりますが、最大温度付近にいる時間が長くなってしまうのが気に入らなくなったのです。

で、結局元通りのファームを使って温度プロファイルだけ調整する事に落ち着きました。

なお庫内でピロピロしない様、こんな感じでセンサーを固定しようと思います。この状態で基板に貼り付けた温度計と比べると、温度計の方が最大10℃くらい高い温度となるのでその分と跳ね上がり分を差し引いた上限値にします。

こんな感じで横からセンサーが出っ張ります。

更に何度か試してほぼ目途がたったので、次はいよいよフライトコントローラー基板に部品を実装しようと思います。


フライトコントローラー自作関連の投稿一覧

フライトコントローラーを自作してみる。
フライトコントローラーを自作してみる。~その2~
フライトコントローラーを自作してみる。~その3~
フライトコントローラーを自作してみる。~その4~
フライトコントローラーを自作してみる。~その5~
フライトコントローラーを自作してみる。~その6~
フライトコントローラーを自作してみる。~その7~ リフロー炉
フライトコントローラーを自作してみる。~その8~
フライトコントローラーを自作してみる。~その9~ 動作確認
フライトコントローラーを自作してみる。~その10~ FPVで飛ばす。
フライトコントローラーを自作してみる。~その11~ Rev2基板
フライトコントローラーを自作してみる。~その12~ Rev2基板組み立て
フライトコントローラーを自作してみる。~その13~ Rev2基板動作確認
フライトコントローラーを自作してみる。~その14~ マイコンパワーアップ検討
フライトコントローラーを自作してみる。~その15~ 基板データ公開
フライトコントローラーを自作してみる。~その16~ JDLで飛ばす。
フライトコントローラーを自作してみる。~その17~ F7マイコンを載せる。
フライトコントローラーを自作してみる。~その18~ またまたF7
フライトコントローラーを自作してみる。~その19~ F7マイコン購入



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

PCBGOGOに発注していた基板ができてきました。

こんな箱に入ってきました。

そして基板・・・

10枚550円。以前と比べると信じられない低価格です。
パターンを見ていると何だか無駄な場所が見えてきます。

今回表面実装なのでリフローをする予定です。
ハンダペーストを塗るためのマスクは画用紙をレーザーカットして作れるかとも思ったのですが、リフロー初挑戦なのでメタルマスクを購入しておきました。

メタルマスクは1100円。
基板よりこっちの方が高い・・・。

基板はできましたがまだ部品が揃っていません。
オーブントースターの改造もしなければならないので組立てができるのはしばらく先になりそうです。


フライトコントローラー自作関連の投稿一覧

フライトコントローラーを自作してみる。
フライトコントローラーを自作してみる。~その2~
フライトコントローラーを自作してみる。~その3~
フライトコントローラーを自作してみる。~その4~
フライトコントローラーを自作してみる。~その5~
フライトコントローラーを自作してみる。~その6~
フライトコントローラーを自作してみる。~その7~ リフロー炉
フライトコントローラーを自作してみる。~その8~
フライトコントローラーを自作してみる。~その9~ 動作確認
フライトコントローラーを自作してみる。~その10~ FPVで飛ばす。
フライトコントローラーを自作してみる。~その11~ Rev2基板
フライトコントローラーを自作してみる。~その12~ Rev2基板組み立て
フライトコントローラーを自作してみる。~その13~ Rev2基板動作確認
フライトコントローラーを自作してみる。~その14~ マイコンパワーアップ検討
フライトコントローラーを自作してみる。~その15~ 基板データ公開
フライトコントローラーを自作してみる。~その16~ JDLで飛ばす。
フライトコントローラーを自作してみる。~その17~ F7マイコンを載せる。
フライトコントローラーを自作してみる。~その18~ またまたF7
フライトコントローラーを自作してみる。~その19~ F7マイコン購入

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

前回の投稿から3か月も過ぎてしまいましたが、細々とフライトコントローラーの自作は続けています。
前回までで回路は決まったので基板の設計に取り掛かったのですが、私のレベルでは35mm角に収めるのが結構大変で、最初はアナログとデジタルのGNDを分けてやろうとか色々と考えていたんですが、とにかく詰め組むのがやっとな状態です。
4層にすれば楽なんでしょうけど基板代が大幅にアップするので何とか2層に収めたいし・・・ところで市販のFCは何層なんだろう?

基板パターンって一旦配線が完了しても細かい所を色々いじっていると、どんどん時間が過ぎてしまいますよね。あまりいつまでもパターンをいじっていてもキリがないし疲れてきたのでここらで一旦発注してみる事にします。何かミスがあるとは思いますが・・・。

今回発注した基板パターン
どこかミスっている気がする。

基板の発注先ですが、過去何回かFusionPCBに発注しているので今回もそのつもりでしたが、500円ちょっとで10枚作れる仕様だとソルダーレジストの最小幅が0.4mmという制約がネックになりました。マイコンやジャイロセンサのパッドとパッドの間にソルダーレジストを塗りたいのですが、そうすると0.4mmよりも少し細くなってしまうんです。0.1mmというオプションもありますが、これを選ぶと3000円を超えて一気に値段が上がります。
そこで他社を調べたところPCBgogoというメーカーだと0.25mmまでなら500円ちょっとで作れるみたいなのでここに発注してみました。

まだ部品が全部揃ってないし、リフロー用にオーブントースターの改造もいるので、基板ができても組立てがいつになるかわわかりませんが、少しづつ進めていきます。


フライトコントローラー自作関連の投稿一覧

フライトコントローラーを自作してみる。
フライトコントローラーを自作してみる。~その2~
フライトコントローラーを自作してみる。~その3~
フライトコントローラーを自作してみる。~その4~
フライトコントローラーを自作してみる。~その5~
フライトコントローラーを自作してみる。~その6~
フライトコントローラーを自作してみる。~その7~ リフロー炉
フライトコントローラーを自作してみる。~その8~
フライトコントローラーを自作してみる。~その9~ 動作確認
フライトコントローラーを自作してみる。~その10~ FPVで飛ばす。
フライトコントローラーを自作してみる。~その11~ Rev2基板
フライトコントローラーを自作してみる。~その12~ Rev2基板組み立て
フライトコントローラーを自作してみる。~その13~ Rev2基板動作確認
フライトコントローラーを自作してみる。~その14~ マイコンパワーアップ検討
フライトコントローラーを自作してみる。~その15~ 基板データ公開
フライトコントローラーを自作してみる。~その16~ JDLで飛ばす。
フライトコントローラーを自作してみる。~その17~ F7マイコンを載せる。
フライトコントローラーを自作してみる。~その18~ またまたF7
フライトコントローラーを自作してみる。~その19~ F7マイコン購入

フライトコントローラーを自作してみる。~その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は机に置いたままなのでジャイロや加速度センサーの値は全く動いていませんけど・・)。

https://youtu.be/o2r4poERs4c

動作は大丈夫そうです。

ということで・・・

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


フライトコントローラー自作関連の投稿一覧

フライトコントローラーを自作してみる。
フライトコントローラーを自作してみる。~その2~
フライトコントローラーを自作してみる。~その3~
フライトコントローラーを自作してみる。~その4~
フライトコントローラーを自作してみる。~その5~
フライトコントローラーを自作してみる。~その6~
フライトコントローラーを自作してみる。~その7~ リフロー炉
フライトコントローラーを自作してみる。~その8~
フライトコントローラーを自作してみる。~その9~ 動作確認
フライトコントローラーを自作してみる。~その10~ FPVで飛ばす。
フライトコントローラーを自作してみる。~その11~ Rev2基板
フライトコントローラーを自作してみる。~その12~ Rev2基板組み立て
フライトコントローラーを自作してみる。~その13~ Rev2基板動作確認
フライトコントローラーを自作してみる。~その14~ マイコンパワーアップ検討
フライトコントローラーを自作してみる。~その15~ 基板データ公開
フライトコントローラーを自作してみる。~その16~ JDLで飛ばす。
フライトコントローラーを自作してみる。~その17~ F7マイコンを載せる。
フライトコントローラーを自作してみる。~その18~ またまたF7
フライトコントローラーを自作してみる。~その19~ F7マイコン購入

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

前回まででとりあえず’飛ぶ’という事については何とかなったので引き続きOSD機能を試してみます。
OSDはOnScreenDisplayの略で、テレビの映像に文字等をスーパーインポーズする機能です。よくアナログ時代末期のテレビではチャンネル番号や音量が画面上に表示されていたアレです(今もあるか)。
フライトコントローラーではFPV画像に重ねてバッテリー電圧とか諸々の情報を表示する為に使用します。

大抵のフライトコントローラはマキシムのMAX7456及びその互換ICを使っている様で、これを使えば問題なくBetaflightのファームウェアがコントロールしてくれるはず。

という事でAliexpressからMAX7456Eを3個買っておきました。
SOPパッケージなのでピッチ変換基板に実装します。

そしてほぼデーターシート通りの次の回路図でやってみます。

ブレッドボード上に回路を組んで・・・

ちょっとゴチャゴチャしています。
画像の上の方に適当なカメラを仮止めしています。

実行してみるとあっけなく表示されました。
まあソフトもハードも既存の物なので当然といえば当然ですが。

https://youtu.be/TKteBopJ8bk

次はそろそろ基板化を考えたいところですが、その前にもう一つ、最近のフライトコントローラーには動作中のログをSDカードやSPIフラッシュに残す機能があります。
調子よく動作しているときは良いのですが不調の場合には必要となる可能性があり、できれば搭載しておきたいと思います。メモリーにはマイクロSDカードが安くて容量も大きいのですが、SDソケットを載せると基板の面積を喰って設計が難しくなるので今回はSPIフラッシュで試そうと思います。
そこでRSコンポーネンツにSPIフラッシュを発注し、入着を待ちながら基板の検討を進ていめます。


フライトコントローラー自作関連の投稿一覧

フライトコントローラーを自作してみる。
フライトコントローラーを自作してみる。~その2~
フライトコントローラーを自作してみる。~その3~
フライトコントローラーを自作してみる。~その4~
フライトコントローラーを自作してみる。~その5~
フライトコントローラーを自作してみる。~その6~
フライトコントローラーを自作してみる。~その7~ リフロー炉
フライトコントローラーを自作してみる。~その8~
フライトコントローラーを自作してみる。~その9~ 動作確認
フライトコントローラーを自作してみる。~その10~ FPVで飛ばす。
フライトコントローラーを自作してみる。~その11~ Rev2基板
フライトコントローラーを自作してみる。~その12~ Rev2基板組み立て
フライトコントローラーを自作してみる。~その13~ Rev2基板動作確認
フライトコントローラーを自作してみる。~その14~ マイコンパワーアップ検討
フライトコントローラーを自作してみる。~その15~ 基板データ公開
フライトコントローラーを自作してみる。~その16~ JDLで飛ばす。
フライトコントローラーを自作してみる。~その17~ F7マイコンを載せる。
フライトコントローラーを自作してみる。~その18~ またまたF7
フライトコントローラーを自作してみる。~その19~ F7マイコン購入

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

前回STM32F411Nucleo64ボードでフライトコントローラーを作ってホバーリングさせてみたら斜めに振動したところまで書きました。その続き。

「斜めに振動」といっているのはこういう風に、黄色線を軸にして赤矢印の方向に2~3Hz程度で揺れ、PIDをいじっても改善しないのです。

最初はプロペラとジャイロセンサーの高さが違うのが原因かと考えました。高さが違うと上図の様に揺れた振動をジャイロだけでなく加速度センサーまで拾ってしまいおかしくなるのかと・・・

一番上の基板にセンサーが載っているのでプロペラから2cmくらい高いのです。

そこでモーターの高さを上げてみましたが効果ありません。

この時はまだ レーザー管も元気だったので簡単に作れました。
前回書いた様に、この後レーザー管が弱ってしまったのです。

次にFCを90度回して取り付けてみました。こうするとジャイロ/加速度センサーも90度回るので揺れる方向も90度回るかと思ったのですが、変わらず同じ方向に揺れました。という事はセンサーがらみではないんじゃないかな?

試しに市販のFCに載せ変えてみたら、やはり同じ様に揺れます。という事は自作FCの問題ではなく、モーターやESCを含む機体側の問題っぽい・・・

ESCは得体のしれないセパレートタイプ(4in1ではない) を4つ載せています。4個が同じ設定ではないのかと疑いましたが、ファームがBLHeil等ではなく、特に資料もないので確かめ方がわかりません。そこで先日激安で購入したESCに載せ変えてみましたが・・・これでも変化ありません。

激安ESC

残るはモーターかとも思いましたが交換できるモノがないのです。また4つとも見た感じでは元気に回っています。

ここで一旦行き詰ったのですが、以前コアレスモーターの機体にBetaflightの最新バージョンを載せたら不安定になった事があったので、ダメ元でBetaflightのバージョンを下げてみ見ました。

今までVer.4.2.0だったのをVer3.5.7に変更したところ揺れが収まったじゃないですか。最新版の何が問題なのかは判りませんが自作FC,市販FC共にVer3.5.7だと安定しています。

Ver4.2.0の何が問題かは気になるのでいずれ調べたいと思います。

・・・という事で最終的にこんなゴチャゴチャな機体になりましたがちゃんと飛ぶ様になりました。

https://youtu.be/Qhm_9KS1vuQ
動画です。
なんかもう、とにかく飛べば良しという機体

次はOSDの回路を載せてみたいと思います。


フライトコントローラー自作関連の投稿一覧

フライトコントローラーを自作してみる。
フライトコントローラーを自作してみる。~その2~
フライトコントローラーを自作してみる。~その3~
フライトコントローラーを自作してみる。~その4~
フライトコントローラーを自作してみる。~その5~
フライトコントローラーを自作してみる。~その6~
フライトコントローラーを自作してみる。~その7~ リフロー炉
フライトコントローラーを自作してみる。~その8~
フライトコントローラーを自作してみる。~その9~ 動作確認
フライトコントローラーを自作してみる。~その10~ FPVで飛ばす。
フライトコントローラーを自作してみる。~その11~ Rev2基板
フライトコントローラーを自作してみる。~その12~ Rev2基板組み立て
フライトコントローラーを自作してみる。~その13~ Rev2基板動作確認
フライトコントローラーを自作してみる。~その14~ マイコンパワーアップ検討
フライトコントローラーを自作してみる。~その15~ 基板データ公開
フライトコントローラーを自作してみる。~その16~ JDLで飛ばす。
フライトコントローラーを自作してみる。~その17~ F7マイコンを載せる。
フライトコントローラーを自作してみる。~その18~ またまたF7
フライトコントローラーを自作してみる。~その19~ F7マイコン購入

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

ドローンレースの練習をしていると色々なところを壊します。
ほいほい堂本舗は貧乏性なのでできる限り修理して再利用したり、また可能なところは自作してみたくなります。

という事でフライトコントローラーを作ってみたいと思います。フライトコントローラーとは一言でいうとマルチローター系の機体を制御するマイコンボードです。固定翼の飛行機は構造的に自立安定して飛行しますが、これと違ってマルチローターは特に制御しなければ安定して飛び続けられません。そこでジャイロや加速度センサーで機体の姿勢を検出しどのモーターをどの程度のパワーで回すかを決めるのがフライトコントローラー(以下FCと略す)です。

自作フライトコントローラーの構想

近年の(ホビー系の)FCは殆どがSTマイクロエレクトロニクス製のSTM32Fxx マイコンが使われています。これにジャイロ/加速度センサーを載せるのですがマイコンとの接続はSPIやI2Cですし、モーターを回すためのドライバ(ラジコン界ではESCという)へはPWM(およびその変形)で信号を送るので、ほぼマイコン工作で作れそうです。

またソフトについては優秀なオープンソースのファームウェアが多数出ているのでこれらを用いることができます。

といっても、いきなりプリント基板を作る勇気はないのでまずはマイコンボードを使って動作を確認してみます。マイコンボードにはSTM32F411 Nucleo-64を使う予定。

STM32F411 Nucleo-64

全体像はこのブロック図の様に考えています。このうち水色で囲んだ部分をここではフライトコントローラー(FC)と呼ぶ事にします。

実用的にレースで使うにはこの他にOSD(On Screen Display:FPVの映像に諸々の情報をスーパーインポーズして表示する機能)も必要になりますが、まずは飛べる事を確認出来た後でこれらも試したいと思います(実はOSD用ICも入手済)。

Betaflightをビルドする。

ファームウェアはいつも使っているBetaFlightを書き込む予定ですが、その前にファームウェアをビルドする環境を作っておこうと思います。
BetaFlightのビルドはUNIX環境上で行うのが基本となっている様で、Windows上のWSL(Windows Subsystem for Linux)でも実行できます。詳細はBetaflight Wikiのこのページに説明されており、この通りにやれば構築できました。
手順通りに構築するとWSL環境内の~/Git/Betaflightというディテクトリ以下にファイル一式ができています。更に下には~/Git/betaflight/src/main/targetというディレクトリがあり、ここには下図の様に各種FC毎の設定があります。

このディレクトリ下に今回作るFC用として’HOIHOIF411’というディレクトリを作るのですが、まずは似たFCである’MATEKF411’の内容を丸コピーし、そこから変更していくことにします。

HOIHOIF411ディレクトリの中にはtarget.mk、target.h、target.cの3本のファイルがあります。ここら辺の詳しい説明資料が見つからないのですが、この3本のファイルを変更するとそれぞれのFC固有のファームウェアが出来上がる様です。で、いろいろ試行錯誤した結果のファイルを添付しておきます。→HOIHOIF411.tar.gz

targetディレクトリの設定ファイルができたらカレントディレクトリを
~/Git/Betaflight に設定し、ここで’make HOIHOIF411’とコマンドを実行すると ~/Git/Betaflight/binの下にファームウェアが出来上がります。このファイルをBetaflightConfiguratorのファームフラッシャーを使って書き込んでやる訳です。

ジャイロ/加速度センサー

当初ジャイロ/加速度センサーにはモーション・フライトシミュレーターで使ったので手元にあった MPU6050ボードを使ってみました。市販のFCは大抵SPIで接続できるセンサーを使っていますがMPU6050はI2C接続専用です。一応これもBetaflightにサポートされているっぽいのですが、しかし何故かうまく接続できません。mbedで書いたプログラムだとセンサー値を取れるのですがBetaflightのファームからは取れないのです。

MPU6050ボード

そうこうしている内にポチッていたMPU6500ボードが届いたのでこれをSPIで接すると問題なく接続できました。 名前が似ていてややこしいですがMPU6500はSPIで接続するタイプで市販のFCでも結構使われています。
どのみち最終的にはMPU6500を使うつもりなのでこれで行きます。

MPU6500ボード

回路図

こんな感じで行こうと思います。
NucleoボードはArduino互換ソケットが付いているので、なるべくこれを利用する事で、Arduino用シールド基板を使って配線し易い様にします。
なおOSDは後で追加予定です。

機体

動作確認用に、息子が作って今は使っていないこの機体に乗せてみます。

製作

まずはブレッドボードで動作を確認して・・・

大体動作したのでArduino用シールド基板上に回路を載せて・・・

機体に乗せてみます。

飛ばしてみる

で、飛ばしてみると・・・一応浮き上がるのですが斜めに振動して止まりません。
原因調査中ですが、市販のFCに載せ変えても同じ様に振動するのでFCの問題ではないのかもしれません。
この続きは後日・・・


フライトコントローラー自作関連の投稿一覧

フライトコントローラーを自作してみる。
フライトコントローラーを自作してみる。~その2~
フライトコントローラーを自作してみる。~その3~
フライトコントローラーを自作してみる。~その4~
フライトコントローラーを自作してみる。~その5~
フライトコントローラーを自作してみる。~その6~
フライトコントローラーを自作してみる。~その7~ リフロー炉
フライトコントローラーを自作してみる。~その8~
フライトコントローラーを自作してみる。~その9~ 動作確認
フライトコントローラーを自作してみる。~その10~ FPVで飛ばす。
フライトコントローラーを自作してみる。~その11~ Rev2基板
フライトコントローラーを自作してみる。~その12~ Rev2基板組み立て
フライトコントローラーを自作してみる。~その13~ Rev2基板動作確認
フライトコントローラーを自作してみる。~その14~ マイコンパワーアップ検討
フライトコントローラーを自作してみる。~その15~ 基板データ公開
フライトコントローラーを自作してみる。~その16~ JDLで飛ばす。
フライトコントローラーを自作してみる。~その17~ F7マイコンを載せる。
フライトコントローラーを自作してみる。~その18~ またまたF7
フライトコントローラーを自作してみる。~その19~ F7マイコン購入