Dropbox

 DJI Mini2海外版の充電時間を短くする実験

前回のDJI Mini2の充電実験で気づきました。海外版のスペックを見るとバッテリーの最大充電電力は29Wなのに充電に使うACアダプターは18Wしか供給出来ません。日本版では共に18Wなので改善の余地はありませんが、海外版では十分なパワーを供給すれば充電時間を短く出来る可能性があるということです。

さっそくテストです。バッテリーは例によってLow Batteryが出たところから充電開始です。使用したのはDJIのACアダプターと前回一番大きなパワーを供給出来た小米のモバイルバッテリーです。

結果は予想通りです。30Wを供給出来る小米のモバイルバッテリーは1本のDJI Mini2バッテリーを52分ほどで充電完了しました。DJIのアダプターだと72分ほどです。3本充電する場合だと実に1時間ほど節約出来ることになります。

急速充電の仕組みとして充電当初は沢山のパワーを供給し、終了近くでは徐々に電力を小さくします。タイムラプスで撮影したので、その様子が分かるのも興味のある人には面白いと思います。

DJI Digital FPV System V2?

おそらくは積極的なリークにより、DJIのFPVドローンの写真が少し前から出回っていましたが、ついにFCC IDのサイトで資料が公開されました。製品としての詳細が分かるわけではありませんが興味深いことが沢山あるので、すこしまとめておきます。

FCCID.IOのサイトによると認証申請されたのは3製品です。

DJI FPV Drone
FCC ID: SS3-FD1W4K2006
技適番号: 211-200733

DJI FPV Googles V2
FCC ID: SS3-FGDB282006
技適番号: 211-200732

DJI FPV Remote Controller 2
FCC ID: SS3-FC7BGC2006
技適番号: 211-200734

それぞれ技適番号がありますが、添付されていたラベルに書かれていたもので、現在(2020/12/09)のところ総務省のサイトでは見つけることは出来ません。

興味深いのは技適番号があることに加えて2.4GHzと5.8GHzのデュアルバンドであることです。まるでDJI Mavicのようです。技適の詳細は分かりませんが、電波法的にはMavicなどと同様に無線の免許無しに扱える可能性が見えてきました。

すでにリーク写真もありますが、一部のドキュメントに製品の形状が垣間見えます。
ゴーグルはリンク先の31ページからです。現行のゴーグルにとても似ています。
送信機はリンク先の29ページです。なんだかTBS Tango2のような感じです。小型で好感がもてます。

さて最大の懸念事項はAirUnitが無いことです。現在のDJI Digital FPV SystemではAirUnitという装置を任意のドローンに搭載してVTX(+受信機)として使用するのですが、それがありません。代わりにドローン自体が登録されています。これは現在のFPVドローンとは別物と言えるでしょう。

おそらくDJIの狙いはFPVでの撮影需要を狙った機体まで含めた完成されたシステムということなのでしょう。それも十分に興味深いです。

ゴーグルの名称はDJI FPV Googles V2となっているので現行DJI Digital FPV Systemへの後方互換性はあるのかもしれません。願わくば対応する2.4GHzでも使えるAirUnitを出して欲しいです。

DJI Mini2の充電の実験

DJI Mini2の充電アダプターはUSB-Cで出力され定格出力は18Wで電圧と電流の組み合わせをみると12V/1.5A, 9V/2A, 5V/3Aになっています。携帯電話で言うところの急速充電を行っています。急速充電の規格は分かりませんが手持ちの充電器でどんな具合で充電されるかを計器を用いて調べてみます。

[ DJI Mini2 純正充電アダプター ]

12.1V 1.51A, 18W、ということで充電アダプターの定格通りの電力で充電されています。

[ ZMI USB 65W ]
MacBook Proにも使えるUSB-PD 65Wなアダプターです。

最初、12V 2Aくらいまで上がるのですが、

最終的には、12.1V 1.55Aに落ち着きます。純正とほぼ同じです。

[ ANKER PowerPort Speed 5 ]
これはPowerIQが3ポートとQC3.0が2ポート付いています。テストはQC3.0ポートを使用しました。

11.8V 2.07Aということで24Wで充電されました。謎なのはANKERの側面には12V 1.5Aと書かれていますが実際には2A流れています。純正アダプターより大きな電力ですが、充電電圧と電流は機器同士がネゴシエーションした結果のはずですしバッテリー(海外版)のスペック表には最大充電電力29Wと書かれていますので、おそらくは問題ないのでしょう。初期の充電電力が大きいので充電時間が速くなるという期待はありますが、未検証です。

今回のテストには使用していませんが、携帯電話の充電器でも12V 2AでDJI Mini2を充電出来るものがありました。

[ 小米移動電源3 20000mAh 高配版 ]
私の場合、ほとんどの場合3本のバッテリーを使い切ることはありませんが、もしモバイルバッテリーで充電できるとしたら便利と思い検証してみました。

なんと11.8V 2.50Aということで29.5Wとテストした中で最大の電力を示しました。これは海外版DJI Mini2バッテリーの最大充電電力です。

引き続きモバイルバッテリーの容量が足りるのかどうかについても検証しました。私のDJI Mini2は海外版ですので、これから書くことはそのまま日本で販売されているDJI Mini2には当てはまりません。

まずは計算です。この20000mAhという容量はスペック表によると3.7Vで計算したものです。また実効容量は12600mAh(5V 5.4A)とも書かれています。それぞれ電力値に直すと74Whと63Whになります。一方、DJI Mini2のバッテリーのスペック表には2250mAh,標準電圧7.7V,LiPo 2S,電力量17.32Whと書かれています。電力でちゃんと書かれていますので、すなおにそれをモバイルバッテリーのものと比べれてみると三本のバッテリーで合計17.32×3=51.96Whになります。効率がいくら悪いとしても63Whあれば足りそうな気がします。

実際に充電できるかどうか試してみました。バッテリーは実際にDJI Mini2をホバリング状態にして残り飛行時間5分になりLow Batteryのアラームが出るところまで消費させた三本のバッテリー(海外仕様)を使用しました。Fly More Comboのバッテリー充電器を小米の20000mAhモバイルバッテリーに接続して三本のバッテリーが完全に充電されることを確認しました。小米のモバイルバッテリーにはバッテリー残量を示すLEDが4個付いています。そのLEDは2個点灯していました。これが本当に半分の容量を残しているわけでは無い気がします。おそらくは1/4から1/2の間ではないかと推測します。試してはいませんが更にもう一本のDJI Mini2バッテリーくらいは充電出来そうな気がします。
試したところ、あと一本のバッテリーを充電するには残量が足りませんでした。

日本版のDJI Mini2のバッテリーは8.09Whとの事ですので10000mAhのモバイルバッテリーでも大丈夫な気がします。

DJI Flyスフィア写真を携帯電話でVR画像として楽しむ

難しい話ではありません。DJI Mini2などではパノラマ写真を撮影すると自動的に何枚もの写真を撮影します。それをDJI Flyは上手に合成してくれます。パノラマ写真にいくつか種類がありますが、その中のスフィアというのもので撮影すると360度全周(ジンバルが向けられない天頂を除き)くまなく撮影されます。

その360度写真をDJI Flyは撮影されていない天頂部分を空の色で上手に補完した4096×2048ピクセルの画像にしてくれます。(縦横比が2:1になっていることが重要です。理由を考えてみるのも面白いですよ。)

携帯電話の写真として眺めるとただの一枚の写真でしかありません。これをRicho THETAのためのアプリケーションに読み込むとVR画像として楽しむことができます。簡単に言うとパノラマ撮影を行ったドローンの位置に自分が居て、そこで携帯電話を向けた方向の画像が動的に見えるようになります。携帯電話だけでも、そこそこ楽しむ事が出来ますが、安価な携帯電話をはめ込む形のVRゴーグルを使用すると驚くほどの没入感が得られます。もしVR未体験でしたら、ぜひともGoggleカードボード(一番下にアマゾンリンクを貼っています)の様な格安品で良いので、この際にお試しいただきたいと思います。静止画ですが、なるほどVRとはこういうことかと納得できます。


携帯電話を傾けても見えている写真は水平を保っていることを表現したかったのですが、ちょっと分かりにくいですね。やはり実際に試してもらう方が良いです。


中国で売っている格安ゴーグルにiPhoneを取り付けた様子。これを利用すると格別な没入感が得られます。

THETAアプリケーションの使用方法はiPhoneでもAndroidでも特別難しくはありません。とりあえずTHETAアプリケーションを導入して適当に触っていくだけでも大丈夫ではあります。

いちおう、Androidでのスクリーンショットをいくつか貼って説明しておきます。写真の選び方などは機種によって違うと思います。

THETAとTHETA+というアプリケーションがありますが、ここで使用するのはTHETAの方です。

右上の三点ドットをタップします。

メニューからアルバムを選びます。

写真を選択をタップします。

わたしの場合Galleryを選びます。

アルバム「PanoPhoto」をタップします。

パノラマ写真をひとつ選びます。

写真が表示されますが、このままではVRモードになっていません。右上の”|□|”アイコンをタップします。

二眼式ゴーグルを使用する場合はVRビュー(二眼)、携帯電話単体で楽しむにVRビュー(一眼)を選択します。

DJI Mini2の360度パノラマ写真をFacebookに360度写真として認識させる

Mavic Miniに搭載されていなくて、とても残念な思いをしていたパノラマ写真の撮影がDJI Mini2で可能になりました。さっそく一番試してみたかったスフィア、360度写真を撮って来ました。

比較対象がSparkなのは容赦いただきたいですが、その差は大きかったです。Sparkでは46枚の写真を100秒ほどかけて撮影します。mimi2は26枚の写真を47秒ほどで撮影します。撮影時間が短いのはありがたいです。

Sparkで試していた頃のDJI GO4はパノラマ写真を自動的に合成してはくれますが出来が今ひとつでした。そのためPCにすべての写真を転送しMicrosoft ICEで合成するしかありませんでした。現在のDJI Flyはかなり上手くパノラマ写真を合成してくれます。ただし解像度は4096×2048なので元の26枚の写真を上手に合成した場合に比べるとだいぶ劣ります。しかしながら360度写真としてFacebookにアップロードする分には十分であると思います。

より高解像度のパノラマ写真が必要な場合はSparkの時に書いた手順が使えますので以下のリンクをご覧ください。

DJI Spark スフィア撮影(360度パノラマ)したものをVR化する

さて、ここからが本題です。DJI Flyが作り出した360度パノラマ写真は、そのままRicho Thetaのアプリなどに取り込んで携帯電話上でVR的に楽しんだり編集することが可能です。ところがFacebookにアップロードするとただの四角い写真にしかなりません。FacebookにVR写真として認識させるためには写真ファイルの属性情報であるexifの中でRicho Thetaで撮影した写真であると偽ることが必要になります。これを携帯電話上で行うというのが、この記事の主旨です。

追加情報: iPhoneのFacebookアプリで投稿のプレビューでは360度写真として表示されているのに、実際に投稿すると普通の四角い写真になってしまうことがあるようです。その場合safariを使用してFacebookに投稿すれば良いという情報をいただきました。iPhoneに限らずこういうことが発生する可能性があります。その時はブラウザーを使用してみてください。

必要なのはexif情報としてMakeに”Ricoh”、Modelに”Ricoh Theta S”と書き込むことです。それを可能にする携帯電話アプリケーションを探せば携帯電話だけで作業を完了することが出来ます。他にもっと良いものがあるかもしれませんが、私が見つけた無料アプリを紹介しておきます。

[ iPhoneアプリケーション ]
iOSではなかなか適当なアプリケーションが見つかりません。唯一見つかったのがEXIFマスターというアプリケーションです。下のようなテンプレートを設定しておくとワンタッチで必要な情報をセット出来ます。ただし時々広告ビデオを見なければなりません。課金すると広告を出ないように出来るようですが試してはいません。

[ Androidアプリケーション ]
アンドロイドにはexif編集アプリケーションが沢山見つかります。とりあえず、調子が良さそうなのはPhoto EXIF Editor
Power Exif-Photo Exif Viewerです。使い方はとても簡単なので、あらためてここで紹介する必要もないでしょう。スクリーンショットだけ下に貼り付けておきます。

[ サンブル投稿 ]
MSICEで作成した10000×5000ピクセルのパノラマ写真
iPhoneのDJI Flyが作成した4096×2048ピクセルのパノラマ写真

Betaflight Dump/Diffの読み方Serial編

機体の設定をDump/Diffのテキストファイルから読み解きたいことがまれにあります。大部分は意味のある文字列が書いてありますし、受信機の種類などは記憶していたりするので良いのですがConfiguratorのPortページのデータが曲者です。どのUARTが受信機だったとか、VTXのプロトコルがIRC TrampだったかSmartAudioだったとか重要な項目ですが、記憶するのは難しいですしDump/Diffデータも意味不明の数字でしかありません。ということで、これについて調べたことを書いておきます。タイトルはSerial編として続きがあるように見えますが、次に何かDump/Diffで困ったことが見つからない限り書く予定はありません。

上はとある機体のPortsタブです。これに対応するDumpデータは以下のようになっています。
# serial
serial 20 1 115200 57600 0 115200
serial 0 8192 115200 57600 0 115200
serial 1 64 115200 57600 0 115200

最初のserial 20で始まる行はdiffの出力には現れません。これはUSB VCPに相当すると容易に想像が付きます。またserial 0がUART1でserial 1であるというのもほぼ確信を持って言えるでしょう。それに続く数値もPortsタブの設定を変化させて探っていけば自分が必要な項目は拾い出せるとは思いますが、今ひとつスマートではありませんし確信を持って語ることは出来ません。

正しい情報を得るべくソースコードを読んで探していたのですが、結局ドキュメントにまとめて書かれていることが分かりました。ということでbetaflight/docs/Serial.mdを読んでいただければ全ては解明します。

それだけではつれないので簡単に説明を加えておきます。serialに続く最初の数字がポートでUART番号から1を引いたものです。またUSBは20、softserialは30から始まります。
その次の数字がFunctionで、これが今回知りたかったものです。その後にボーレート(シリアルインターフェースの速度)がいくつか続きます。Ports画面には速度はひとつしか表示されていないのが謎ですが、とりあえずあまり変更するものではないので置いておきます。

Functionについては次のように定義されています。

2. Serial Port Function

Function Value
FUNCTION_NONE 0
FUNCTION_MSP 1
FUNCTION_GPS 2
FUNCTION_TELEMETRY_FRSKY_HUB 4
FUNCTION_TELEMETRY_HOTT 8
FUNCTION_TELEMETRY_LTM 16
FUNCTION_TELEMETRY_SMARTPORT 32
FUNCTION_RX_SERIAL 64
FUNCTION_BLACKBOX 128
FUNCTION_TELEMETRY_MAVLINK 512
FUNCTION_ESC_SENSOR 1024
FUNCTION_VTX_SMARTAUDIO 2048
FUNCTION_TELEMETRY_IBUS 4096
FUNCTION_VTX_TRAMP 8192
FUNCTION_RCDEVICE 16384
FUNCTION_LIDAR_TF 32768
FUNCTION_FRSKY_OSD

IT屋さんにはおなじみの数字が書かれています。これは10進数ですが、バイナリーにするとひとつのビットになります。これはひとつのポートに複数のFunctionをもたせることが出来るようにしているからです。現実性は無視して例を上げるとUART1にGPSとFRSKY Telemetryの機能を持たせた場合は2+4で6にセットされます。

最初にあげた例に戻ってみます。

serial 0 8192

はUART1がFUNCTION_VTX_TRAMP、また

serial 1 64

はUART2がFUNCTION_RX_SERIALであることが分かります。ということでPorts画面と一致していることがわかります。

DJI中国の下取りサービス

DJI中国には中国語で「以旧换新」と呼ばれる下取りサービスがあります。中国だけのサービスですし紹介してもしょうがない気もしますが、そのスピードにちょっと感心したので時系列を中心に書いておきたいと思います。

下取りに出したのはMavic mini fly more comboです。申込みは中国のDJI Storeで行いますが、実際のオペレーションは爱回收という携帯電話の下取りで有名な会社が行います。経過等はDJI Storeで細かく確認出来ます。

買取額は現金ではなくDJI Storeで使用できるDJI貨幣として支払われます。もともと下取りサービスですので、次にDJIの商品を購入することが前提のサービスになっています。

– 月曜日のお昼過ぎにDJI Storeで申し込み。機体のコンディションや付属品の有無などを自己申告すると引き取り予定額が提示されます。宅配便の引取希望時間を入力して申し込みが完了。引き取り時間は一時間単位で、申込み時間の直後から指定可能。宅配業者は中国で一番信頼されている顺丰(SF)です。
– 申込みから約一時間後に引き取り完了。
– 火曜日の午前に爱回收に到着してインスペクション開始。
– 火曜日午後7時にインスペクション完了の連絡。問題なしで最初の提示金額がDJI貨幣として自分のDJIアカウントに振り込まれた。そのままDJI mini2 fly more comboを発注。
– 水曜日の朝9時過ぎに発送の通知が来た。深センより発送されるので、やや時間はかかる。
– 金曜日の午後2時頃にmini2の配達完了。

下取り価格は、おそらくネットオークションサイトよりは少ないと思いますが、とにかく簡単で煩わしいこと一切なしであることと、スピードの速さから良いサービスと思います。

BLHeli_SのRPMフィルター対応無料ファームウェア」の更新版です。

BLHeli_M 16.9 + Betaflight 4.2を用いたRPMフィルターの設定手順を書いてみました。

BLHeli_MはBLHeli_Sハードウェア向けの無料ファームウェアです。

注意)
– BLHeli_MはJazzMavericそのもので、このバージョン16.9でRPMフィルターを設定してまったく問題がないのかどうかは今ひとつ不明です。詳しくは別の記事をご覧ください。
– 2020/11/26くらいに書いています。Betaflightも頻繁に更新されますので、ここで書かれていることが何時までも正しいとは限りません。

[ BLHeli_Mの導入 ]
Configuratorを導入し、そこからフラッシュを行います。
一般的なESCファームウェアのフラッシュと同じです。YouTubeの”How to Flash BLHeli_M“という動画が参考になります。わたしは16.9 [Blheli_M Official]というのを導入しました。RPMフィルターはBLHeli_Mであれば使えます。PWM周波数の変更がonfiguratorにありますが、これはBLHeli_M 16.9以上が必要なようです。

[ Betaflightの設定 ]
公式ガイドに従います。
ここでは主なポイントを書いておきます。

使用したのはBetaflightのバージョンは4.2.0です。

< Configuration >

– ESC/Motor ProtocolはDSHOT300を選択しています。これはGyro/PID Loopを8K/4Kにしているためです。もしPID Loopを8KにするならばDSHOT600にしなければなりません。
– Bidiretional DShotをオンにします。これをオンにすることによりRPMフィルターが使用できるようになります。
– Motor Polesは実際のモーターの磁石の数に合わせなければなりません。一般的には5インチなどで使用するモーターは14、3インチ以下の小型モーターでは12になっているようです。ちゃんと自分でベルに付いている磁石の数を数えてください。

< PID Tuning/Filter Settings >

RPMフィルターは自動的にオンになっているはずです。Dynamic Notchフィルターのみ以下のように調整が必要です。
– Dynamic Notch Width Percent: 0
– Dynamic Notch Q: 250
この設定はBF 4.3対応のConfiguratorでは自動で行われるようです。フィルターについては機体の状態によってはさらなるチューニングが必要かもしれませんが、基本的にはここまでで飛ばせます。

[ テスト ]
Betaflight ConfiguratorのMotorタブで実際にモーターを回して回転数が表示されるかどうかを調べます。

Motorタプを表示すると各モーターのところにRとEという項目が出てきます。Rは回転数、Eはエラー頻度を表しています。一般的にはリポを接続していない状態ではESCに電源が供給されていないのでEが100%になり赤字で表示されます。

プロペラを外した状態で、リポを接続します。そして画面右側の”I understnad the risks…”のスイッチをオンにします。これでモーターを回す準備が出来ました。各モーターのスライダーもしくはMasterスライダーを少し上げて各モーターの回転数が表示されればテスト完了です。

Whoopフレーム修理用接着剤

Mr Shutterbugが動画の中で紹介していたWhoopフレームの修理に使えるE6000と書かれた接着剤を試してみました。

確かにフレームの素材によく馴染んで強力に接着されます。普通に飛ばして問題ないレベルです。いずれフレーム交換するにせよ、面倒ですし接着して飛ばせるのは有り難いです。

ESCのハードウェアは大きく分けて2つの種類があります。BLHeli_32と BLHeli_Sです。以前は悩むことはありませんでしたが、昨年末からBetaflightのRPMフィルターが出現し、またWhoopではPWMを48KHzにすると飛行時間が伸びるなどと言われだしました。BLHeli_32では標準ファームウェアでどちらもサポートしているので問題ありませんが、BLHeli_S用の標準ファームウェアはRPMフィルターを動かすのに必要なBidirectional DSHOTのサポートがありません、またPWM周波数も24KHzに固定されています。

そこで登場したのが標準以外のBLHeli_S用ファームウェアです。いくつか登場していますので、わたしの理解の範囲でそれらについて書いてみます。

[ JESC ]
最初に登場したのがJESCです。PWM 48KHz/96KHzを使用するだけならば無料で使用できます。Bidirectional DSHOTを使用するためには有料ライセンス(4個なら$4.99,20個で$23.19等)を購入してライセンスの書き込みが必要になります。
安定しています。とくに問題を指摘されている様子もないので安心感があります。わたしも最近20個分のライセンスを購入してまだ未使用が多数あるので、悩まずにこれを使用しておけば良いのですが、どうしても色んなのを試してみたくて次に紹介するBLHeli_Mで実験中です。

[ JazzMaveric/BLHeli_M ]
次に待望の無料版として登場したのがJazzMavericです。これのPWM 48KHz版でRPMフィルターを使用して随分と飛ばしていて特に問題は感じていませんでしたが、Betaflight公式ページによるとバージョン16.73以降でのRPMフィルターの使用は推奨しないということです。16.73を使用すればよいのですが、このバージョンはPWM 24KHz版しかありません。

そして、最近になってJazzMavericがいつの間にかBLHeli_Mというものに進化しているのに気づきました。ファームウェアの書き込みは専用のConfiguratorから行います。2020年11月13日現在、このConfiguratorで書き込めるのはBLHeli_S 16.7 Official, BLHeli_M 16.71 Official beta, BLHeli_M 16.9 Officialの3つのバージョンです。

PWM周波数の変更は従来はファームウェアの書き換えで行っていましたがBLHeli_MではConfiguratorで行うようになっています。

飛行時間の変化で実験してみた結果、BLHeli_M 16.71では、このPWM周波数の変更は有効ではないようです。PWM 48KHz/96KHzを使用する場合はBLHeli_M 16.9を導入する必要があります。

BLHeli_Mは何かしら変更されているとは言えJazzMavericそのものです。そこで問題となるのはRPMフィルターを使用して良いかどうかということです。BLHeli_M 16.71はおそらく問題ないと思います。BLHeli_M 16.9がどうなのかは今ひとつ分かりません。

UAV Techの人が16.9で問題は見当たらないと言っているので大丈夫な気がします。わたしもしばし16.9でRPMフィルターを使用して飛ばしてみたいと思います。

[ bluejay ]
これはまだ始まったばかりのプロジェクトです。Change Logを見ると最初のバージョンが2020-10-18に出てその後積極的な更新が行われています。
PWM周波数の対応、RPMフィルターの対応は当然として、何かしら新規性があるようですが、まだ良く調べていません。そのうち試してみたいと思っています。