Minim OSDは現在最も人気のあるOSD(On Screen Display)の一つでArduinoをベースとしたハードウェアモジュールです。OSD用のソフトウェアをインストールしてOSDとして利用します。ここでは機能が豊富で柔軟な設定が可能なことで評判のMultiWii OSD(MW OSD)をインストールします。
【MinimOSDについて】
Minim OSDとして販売されている製品にはいろいろな種類がありますが4cmx2cm程度の標準サイズのものと2cmx2cm程度のマイクロサイズのものがあります。元々のMinim OSDにはRSSI等の外部センサーの入力が用意されていなかったためにこれらの信号をICチップの足に直接半田付けする必要があったのですがWiteSpyのMinim OSD with KV Team modという製品にはこれら外部データ入力用のパッドが付いていますので現在の主流はこちらのモデルになっています。2015年12月の時点ではMinim OSDといえばこのMinim OSD with KV Team modを指していると言っても良いでしょう。標準サイズとマイクロサイズが選択できますが性能上の違いはほとんどありませんのでフットププリントの小さいマイクロサイズが人気があるように思われます。
【MinimOSDの導入と設定】
Minim OSDへのファームウェアのインストールや設定にはFTDIと呼ばれるアダプターが必要となります。これはFTDI Breakoutと呼ばれるものでFTDI社のFT232RLと呼ばれるICを用いてUSBからの出力を6ピンのシリアルインタフェースの信号に変換するものです。FTDIには5Vに対応したものと3.3Vに対応したものジャンパピンで電圧を変更できるものなどがあります。同じFTDIでも製品によってピンの配置が異なる場合がありますので各信号がどのピンに対応しているかを確認します。
私が使用しているFTIDのピン配列は下図のようになっています。
Minim OSDのインストールと
設定はパソコンを使用して行います。WindowsとMacのそれぞれに対応したソフトウェアが存在しますがWindowsの方が実績が多いようですのでここではWindowsを使用することとします。
設定はパソコンを使用して行います。WindowsとMacのそれぞれに対応したソフトウェアが存在しますがWindowsの方が実績が多いようですのでここではWindowsを使用することとします。
まずはじめに必要なドライバー及びソフトウェアをパソコンにインストールします。
下記のサイトからFTDIのドライバー(Virtual COM port Driver:FT232R USB UART)をダウンロードしインストールします。ダウンロードした実行形式のファイルを管理者権限で実行します。
Virtual COM port Driver:FT232R USB UART
次にArduinoを利用するための開発環境をパソコンにインストールします。MW OSDはArduinoで動作するプログラムとして実装されています。最新のArduinoではMW OSDがうまく動作しないとの報告があるためここではあえて古いバージョンであるArduino 1.0.5をインストールします。
Arduino Previous IDE Releases (Arduino 1.0.5)
次にMW OSDをダウンロードします。下記のサイトの右肩にあるzipファイルのアイコンから圧縮されたファイルをダウンロードすることが可能です。
MW OSD
ダウンロードしたファイルを解凍すると「MW_OSD」と「MW_OSD_GUI」の二つのフォルダが現れます。「MW_OSD」にはArduinoで動作するプログラムが入っています。「MW_OSD_GUI」にはMW OSDを設定するためにパソコン上で動作するプログラムが含まれています。
パソコンからMW OSDを設定するための「MW_OSD_GUI」はJavaで実装されているためパソコンにJava環境が必要となります。MW_OSD_GUIにはWindows, Mac, Linuxなど各プラットフォーム毎のソフトウェアが含まれています。MW_OSD_GUIを動作させるにはJavaの実行環境が必要となりますのでJavaを以下のサイトからダウンロードしパス等を設定します。
Java
以上でMW OSDの導入に必要なソフトウェアの環境が整いました。では実際にインストールの作業を開始します。
【WiteSpyのMinim OSD with KV Team mod の場合】
標準サイズのMinim OSDのピン穴は左の図のような配置となっています。これは裏返してみると下からBLK, GND, +5V, RX, TX, GRNとなります。BLKはGNDと繋がっているようでこちらにFTDIのGNDを接続しても大丈夫のようです。FTDI側のTX(送信)とMinimOSD側のRX(受信)を接続します。逆のTX/RXも同様です。+5VはVCCに接続します。OSD側のGRNはFTDI側のDRTに対応します。
この関係はちょうどMinimOSDを裏返しにしてFTDIのピンを当てた場合にちょうど各ピンが対応する関係になります。(製品によって異なる可能性がありますので、それぞれ使用される製品のピン配列をご確認ください。)写真のように組み合わせるとちょうどピンが接触するのですがこれだけですと接触が不安定なため工具などを引っ掛けるなどして固定します。FTDIの出力電圧が調整可能な場合はジャンパピンが5Vの状態になっていることを確認してUSBケーブルでFTDIとパソコンを接続します。
【Micro Minim OSD with KV Team mod の場合】
Micro Minim OSDの場合もサイズが小さくなるだけで作業内容は変わりません。マイクロMinimOSDのピン配列は下図のようになっています。マイクロMinimOSDの場合は裏がえさずにそのまま私の使用するFTDIに対応するピン配列となっていますのでそのままFTDIのピンをピン穴に差し込めば設定のための通信を行うことが可能です。
Micro Minim OSDのピン穴とパッドの配列はこのようになっています。
FTDIと直接接続する場合はこのような接続方向になります。
MicroMinimOSDにFTDIを直接接続して設定を行いそのままMicroMinimOSDを使用しても良いのですが使用開始後にOSDの設定変更等を行う際、一度半田付けを行ったOSDにFTDIを同様に接続するのが困難になることが多いです。
そのためあらかじめMicroMinimOSDに左の写真のようにピンを半田付けしておくと機体装着後の設定変更が容易になるのでおすすめです。
MinimOSDにピンをつけた場合はワイヤを使用してFTDIと接続します。
マイクロMinimOSDの場合ハンダ付けを行うパッドの接着がかなり弱く、熱を与えすぎたりハンダ付けをした後でワイヤを引っ張ったりするとパッドが剥がれてしまうことがありますので作業中は注意が必要です。(私はこれでMinimOSDを2つ破壊しました。)
【MW OSDのインストール】
Minim OSDとFTDIが適切に接続されている場合はMinim OSDのLEDが点灯しますのでLEDが点灯しない場合は接続の状態などを確認する必要があります。LEDが点灯していても複数のピンの全てがうまく接触していていないこともあるようですので通信に失敗するような場合は接触を確認してください。
Minim OSDのLEDが点灯しFTDIとの接続が確認されたらパソコンでArduinoの開発環境を起動します。Arduinoの上部のメニューからツール→ポートを選択してCOM1以外のUSBのシリアル接続に対応したCOMが設定されチェックが入っていることを確認します。チェックが入っていない場合はチェックを入れます。また同じメニューにあるマイコンボードについて「Arduino Pro or Pro Mini(5V, 16Mhz w/ATmega328)」がチェックされていることを確認します。チェックされていない場合はチェックします。
これでArduinoの開発環境からMinim OSDへのアクセスが可能であることが確認されました。次にファイル→スケッチの例→EEPROM→eeprom_clearを選択しサンプルプログラムを読み込みます。プログラムが表示されたら画面左上にある右向きの矢印をクリックしてこのプログラムをコンパイルしてMinim OSDに送ります。問題なく書き込みが完了すればその旨表示されます。書き込みがうまくできない場合はケーブルの接続に間違いがないか、ピンの接触が外れていないかなどを確認します。
次にMW OSDソフトウェア本体をMinim OSDにインストールします。まずArduinoの開発環境のファイルメニューから先ほどダウンロードし解凍した「MW_OSD」内の「MW_OSD.ino」を読み込みます。関連するファイルが自動的に読み込まれますのでタブからConfig.hを選択し設定の一部を書き直します。
「#define MINIMOSD」の行頭に「//」を挿入し(コメントアウト)「#define WITESPYV1」の行頭の「//」(コメントアウト)を削除します。Micro Minim OSD with KV Team modの場合は#define WITESPYMICROのコメントアウトを外します。
//Choose ONLY ONE option:
//#define MINIMOSD
#define WITESPYV1
(または #define WITESPYMICRO )
同様に「CONTROLLER SOFTWARE」の下にあるフライトコントローラーから自分が利用するもの選択コメントアウトを外します。(それ以外のフライトコントローラーはコメントアウトします。)CleanFlightを使用する場合は以下のようになります。
//#define MULTIWII
//#define BASEFLIGHT
#define CLEANFLIGHT
フライトコントローラーの指定が終わったら左上の右向き矢印をクリックしてMW OSDのソフトウェアをMinim OSDに書き込みます。
Minim OSDへのソフトウェアの書き込みが終わったら MW OSD GUIを利用してパソコンからOSDに表示する内容の設定を行います。Arduinoの開発環境を一旦終了し、MW_OSD設定用のプログラムであるMW_OSD_GUIを起動します。先に解凍済みのMW_OSD_GUIフォルダ内 application.windows32 にある MW_OSD_GUI.exe を実行します。(64bit版は不具合が報告されているので32bit版を使用します。64bit環境のパソコンでも大丈夫ですが32bit版のJavaがインストールされている必要があります。)
画面が表示されたら FTDI に対応した COMポート番号をクリックして MinimOSD に接続します。Waiting OSDと表示されたまま画面が変わらない場合は何らかの理由で接続がうまくできてない可能性が高いので、FTDIとMinimOSDの接続等を確認します。
まず最初に使用するフォントを指定します。画面左にある FONT TOOLS の SELECTをクリックしフォントを選択します。通常はdefaultを選択すると良いでしょう。次にその下にあるUP LOADをクリックします。これでフォントがMinimOSDに書き込まれます。
デフォルトの表示内容ではバッテリーが4Sを使用する形となっていますので3Sを使用する場合はBattery Cells を3に変更します。設定を変更するには変更したい値にマウスポインタを当ててクリックしたまま上下に動かすと数値の増減が可能です。バッテリーを3Sに変更した場合はその下のVoltage Alarmの値も変更しておきます。一般には10.5v程度で良いかと思います。
その他の設定はご自身の好みに合わせて表示の有無、画面上の表示位置などを設定します。
私はシンプルな方が良いのでこのような設定にしています。
電圧表示は直接バッテリーからOSDに接続して値を取得する方法とFlight Controlerから出力電圧を取得する必要があります。FCから値を取得する場合はFCの電圧検知用パッドとバッテリーを接続し「Use FC main voltage」をONにします。OSDから値を取得する場合はデフォルトのままで正しい値を表示しないのでVoltage Adjustを使用して正しい電力値が表示されるよう調整が必要です。
適切な配線を行った後に送信画面にMinimOSDの文字などが表示されずカメラからのビデオ信号だけが表示される場合はNTSCとPALの選択がカメラの出力と異なっている場合がありますので設定を確認します。
【関連情報(日本語)】
NAZE32(Cleanflight)設定編8(MicroMinimOSD)
http://hobbysite.blog.fc2.com/blog-entry-760.html
【関連情報】
Tutorial: How To Flash a Micro MinimOSD with MWOSD
Micro MinimOSD for Naze32 – OSD Firmware flash – MWOSD 1.5
MinimOSD Micro Setup Tutorial – Naze32 PID Tuning via OSD Menu, Display RSSI Voltage
http://blog.oscarliang.net/minimosd-micro-setup-naze32-pid-rssi/
http://blog.oscarliang.net/minimosd-micro-setup-naze32-pid-rssi/
MW OSD
初めまして、とても参考にさせて頂きました。
ありがとうございます。
64bitのMW_OSD_GUIは、 Java SE Runtime Environment 7u79 の Windows x64をインストールしたら動作しました。
おおわださま
コメントをいただきありがとうございました。
64bit版でも問題なく動作するのですね。記事の方にも反映させていただきます。
また何かお気付きのことがありましたらぜひコメントをお願いします。
いつも参考にさせてもらってます。
質問です。
MinimOSDで、
ソフトや接続、カメラの映像までは順調に映るんですが、OSDの表示が映りません。
何故でしょうか?
よろしくお願いします。
TOKUさん
こんにちは。サイトをご覧いただきありがとうございます。
MinimOSDのOSDの文字等が表示されない場合の対策としてカメラとGNDを同じ場所に接続するということがあります。今回のケースが当てはまるかは不明ですが、一度GND側の配線をどこか共通のGNDに接続してみてはいかがでしょうか。
ありがとうございます。
見直してみます!
教えてください。GUIconfig.ツールで表示内容をwriteしようとするのですが、waiting OSD・・・の点滅が続きどうしても書き込みができませんが、何かハード的な問題があるのでしょうか。aruduinoではMW OSD.inoは正常にコンパイルできました。
和幸さま、こんにちは。
waiting OSD・・・が表示されたままになるのは物理的な接続がうまく行っていない場合であることが多いように思います。
接続の配線が間違っていないかどうか端子の接続が甘くないか、ドライバーがきちんとインストールされているかなど確認してみてはどうでしょうか。
接続の確認等々やってみましたが、どうしてもコネクト状態にならないため、2週間余り費やしてしまいました。
念のため新しいボードを購入して、チャレンジしたところ、簡単にコネクトしてしまいました。結局、ボードの不具合ということで勝手に納得しています。お手数をおかけしました。