またもや見えるラジオ…DeepSDR 101

【この記事の所要時間: 926秒】

最近は大きめ(4インチ前後)の液晶ディスプレイを搭載し、様々な情報をリアルタイム表示してくれる受信機/無線機が主流のようで、自分自身もIC-7300とIC-705の二台を使用している。
コンパクトサイズにもMalachite/Malahite/Malahit(以下、Malachite系と略)のようなDSP SDRレシーバーが有り、今は既に手放してしまったが、かつて「Malachite DSP SDR Receiver HQ」という製品を使用していたことがある。
⇒【今風の見えるラジオ…MALACHITE DSP SDR RECEIVER HQ

手放して暫く経ち、ふと海外の通販サイト(Aliexpress)で見掛けたDSP SDR レシーバーの鮮やかなボディカラーに興味を持ち、前述のMalachite系とは異なるアーキテクチャであることと、何よりも格安な(完全金属製ボディで液晶ディスプレイも大きいのにMalachite系より安い)点に惹かれて購入してみた。

DeepSDR 101(アンテナはSV2CZFのアクティブホイップMWA30)

DeepelecのDeepSDR 101

ディスプレイ4.3インチ(800×480)IPS液晶 輝度調整可
制御方法抵抗膜式タッチ スクリーン + ロータリー エンコーダー
周波数範囲100k~149MHz
復調モードCW、AM、SSB(LSB/USB)、WFM、FMステレオ(ステレオヘッドホン使用時)
周波数ステップ1Hz/10Hz/100Hz/1kHz/10kHz/100kHz/1MHz/10MHz
スペクトラム表示帯域192kHz、128kHz、 64kHz FFT リアルタイムスペクトル表示
アンテナ端子BNC-J、インピーダンス 50Ω、最大入力電力 -20dBm
リファレンス発振器TCXO 26MHz ±0.5ppm
サンプリングレート16bit
イヤホン端子φ3.5mmステレオ
内蔵スピーカー最大 3W、4Ω マルチメディア スピーカー
充電端子USB Type-C、5.0V/2A
消費電流約 250mA @ 5V
内蔵バッテリー容量5000mAh/3.7V、18.5Wh
使用可能時間約10~12時間(出力音量とディスプレイの明るさによって変動)
メモリ機能99 チャンネルをプリセット、局名等のテキスト(2行)/周波数/復調モードを記憶
※CSVフォーマットのため、Excel(互換アプリ含む)やテキストエディタで編集可
サイズ横136×縦74×奥行22mm(突起物含まず)
重量約310g
主な仕様

構成品

付属のセミハードケース
収納状態
構成品一式

本体と付属品が収納出来るPVC製のセミハードケースが付属している。
この手のケースは黒色が一般的だけど、付属品は濃紺色が実に色鮮やかで新鮮。

他の付属品は、一枚紙の説明書(英文/中文)、折り畳みスタンド、スタイラスペン、液晶保護フィルム、ロッドアンテナ(7段・最長70cm)、USBケーブル。
液晶保護フィルムはディスプレイにジャストサイズなので、本体を開けて作業すると綺麗に貼れる。

外観

前面

鮮やかなメタリックブルー(水色っぽい)のボディ、ツマミ(ロータリーエンコーダー)が一つだけ、アンテナ端子がBNCといったところが、外観上でMalachite系と大きく異る部分。
また、表示は一見Malachite系と似ているが、復調モードなどの各種設定がスペクトラム表示の上に有り、また受信レベルメーターが無く数値(dBm)表示のみといった点が直ぐに判る違いだろうか。

右側面

前述の通り、ツマミ(ロータリーエンコーダー)は一つ。
下方に向かって、通電/充電インジケーターLED、USB-A端子(5V出力…大容量内蔵バッテリーを活かしてモバイルバッテリーとしても使える)、電源スイッチ、USB-C端子(充電/通信用)。
Malachite系の電源スイッチは押しボタンの長押しで反応が悪いとなかなか電源OFFに出来ない場合も有ったが、これは単純なスライドスイッチなのでON/OFFともに簡単。

左側面

アンテナ端子はBNC…SMAに比べて着脱が容易で頑丈なので、これは嬉しい。
下がφ3.5mmのミニプラグ端子で、ステレオイヤホン/ヘッドホンを使えばFM放送をステレオで聴くことが出来る。

背面

ブロックダイアグラムがプリントされている。
Webサイトに記載されているものはアンテナ端子とLNAの間に受信帯域毎のフィルター群が記載されているが、こちらでは省略。
プリントだけの省略なのか、回路そのものも省略されたのかは不明。(前者であって欲しい)

操作系

チャンネル(メモリ)選択1〜99
周波数設定100k~149MHz、最小ステップ1Hz
※タップすることでテンキーで直接入力も可能
スピーカー音量(SPK)0~35dB、1dBステップ
イヤホン音量(EAR)0~35dB、1dBステップ
復調モードCW、LSB、USB、AM、WFM、STE(FMステレオ)、I/Q
AGC設定OFF、SLOW、MID、FAST
基準レベル(REF)-99~99dB, 1dB step
バックライト輝度(LCD)1%~99%
IFゲイン-12~67dB, 1dB step
スペクトラム表示スタイル設定緑色塗り潰し、緑色線のみ、青色塗り潰し、白色塗り潰し
スペクトラム帯域幅設定RF スペクトル (192kHz、128kHz、64kHz) およびオーディオスペクトル (64kHz)
ウォーターフォールエリア設定ウォーターフォールまたは音声レベルグラフ(x1 / x8 / x64 振幅)
ロータリーエンコーダーで設定出来る項目

搭載されているロータリーエンコーダーは一つ。
押すことで項目を選択し、回して設定を変更する。
尚、エンコーダー短押しで選択出来る項目は、上の表で「チャンネル(メモリ)選択」から「復調モード」までの5項目。
その他はエンコーダーを押しながら回して選ぶ必要があり、結構手間が掛かる。
尚、単に長押ししていると、その時点のチャンネルの現在の周波数と復調モードを上書き保存するため、うっかり書き換えてしまう恐れが有る。

せっかくのタッチパネルなのにタッチ操作で設定出来るのは周波数のみ。
他の機能もタッチで選択⇒ロータリーエンコーダーで設定が出来れば遥かに使い易くなるのに…何故こんな仕様にしたのか理解不能。
ロータリーエンコーダーの押し込み操作を多用するのでヘタリが心配。

周波数入力画面

周波数入力画面はNanoVNA等でもお馴染みのタイプ。
キャンセルは無いが、何も入力せずにバックスペース「⇐」をタップすれば設定を更新することなく戻る。

試用

操作系はかなり癖があり、各種機能をタッチパネルでダイレクトに選択・設定出来るMalachite系に比べて、使い勝手はお世辞にも良いとは言えないが、良く聴く局を予め登録しておいて選んで聴く・同じ局を良く聴くのであればさほど気にならないか。

肝心の受信性能は同じアンテナ・同じ時間帯で比べた感じではMalachiteよりやや良好で、音質的にも聴きやすいと感じた。
ただ、中波帯で強力な局(自宅ではJORF 1422kHz)の近くではスペクトラム表示上にゴーストが出易い。

バッテリーの持ちはMalachite系と比べて明らかに上。
以前使っていたMalachite DSP SDR Receiver HQではこのDeepSDR 101と同じく5000mAhのバッテリーに換装していたが、使用時の消費が大きいことに加えて未使用時の消費も結構大きく、気づいたら空…なんてことがあった。

時刻の精度もMalachite系と比べて優秀で、設定してから結構経つが数秒程度のズレに収まっている。

メモリ機能は便利

メモリ内容表示(右端)

このラジオは局を探して聴くというよりも、予めメモリ登録した局を選んで聴くスタイルを想定しているようだ。
メモリ(チャンネル)は99有り、局名(メモテキスト…上の写真では右上の緑文字)/周波数/復調モードを保存出来る。
メモテキストは上下二行で、それぞれ最大で中国語6文字または英語12文字表示出来る。
(中国語が可能であれば日本語の漢字も或る程度は表示出来そうな気もするので、今度試してみよう。)
局名の他にも放送曜日や時間帯を入れるのも便利。
このメモリ情報はCSV形式のため、Excelや互換アプリ、テキストエディタで作成・編集出来る。
DeepSDR 101をパソコンにUSB接続しロータリーエンコーダーを押しながら電源をONにすると、外部ストレージとして認識されるためファイルを直接編集することも可能。
また、チャンネル切替でメモリを呼び出す他に、チューニングしていて登録されている周波数と合致するとメモリ内容が表示されるという、いわば双方向の動作になっている。

メモリファイル(channel.csv)

スピーカー音量が大きい

スピーカー音量(SPK)/イヤホン音量(EAR)

上の写真ではスピーカー音量は最小(消音ではない)・イヤホン音量はオフ(消音)にしているが、この状態でもスピーカーからの音がかなり大きい。
受信強度や、基準レベル/IFゲインの設定によってもかなり変動するが、基本的に大きすぎる。
また、AGCの挙動が今ひとつ怪しくアテにならず。(海外のユーザーレビューでもAGCが使い物にならないと酷評されている。)

イヤホンの音量調整は多少まともだけど、スピーカーの音量がどうにも大きすぎるので対策を思案中。

内蔵スピーカー

内蔵スピーカーとフロントパネルの間に5mmほどの隙間があるので、ウレタンスポンジを詰めて減音を試みたものの、吸音素材であっても5mm程度の薄さでは殆ど効果が無く、僅かに籠もった程度。

内部(スピーカー周辺)

それならスピーカーと直列に抵抗を入れてみる?…可変抵抗なら音量調整も容易になるし…と考えてみたものの、果たして単純に抵抗を直列接続しても良いものか。
それに、現状では可変抵抗を実装するスペースが無い。(理想はイヤホン端子の横辺りにツマミを設けたい。)
スピーカーを横にずらせば小型ポテンショメータ(9mm角)なら実装出来そうだけども。
というわけで、ひとまず検討継続。

さて、今後はどうなる?

本製品の登場は2022年8月。
その後ファームウェアアップデートの予定が告知されたが、現時点(2023年2月)で未だ出ていない。
メーカーのサイトを見ても昨年秋以降の新たな動きが無く、本製品に関する情報も出ていないため、もはやこのまま終息してしまうのではないかと内心思っている。
ユーザーフォーラム的な場でも以前は操作性の改善要望や機能的な問題(AGCや音量)の報告が挙がっていたが、今では何ら動きが無いことに対する批判がチラホラ有る程度で閑散としている。
Malachite系とは異なるアーキテクチャだし、ファームウェアの更新で機能の改善や拡張など大いに期待できるだけに、このまま終わってしまうとしたら非常に惜しい。


[M5StickC] RoverC ProとJoyCでメカナムホイールラジコン事始め

【この記事の所要時間: 750秒】

今更かもだけど、ふと面白いホイールを知った。
通常のホイールの接地面に当たる部分に、小さな樽型の回転コマがやや斜めになって円周に沿って多数並んだ「メカナムホイール」という物。
通常のホイールが車軸の垂直方向(前後)へ動くだけなのに対して、真横や斜め方向にも動くことが出来る。
四輪配置された各車輪の回転方向や回転速度を変えることで自由自在に動かせて、その挙動はまるで陸上版ドローンといった趣き。
Amazonなどでも、このメカナムホイールを使ったラジコンが幾つも見掛け、マニピュレーター(グリッパー/ハンド、クレーン、フォークリフト)やカメラを搭載した物、中には柔らかいウォータージェルを発射する物まで多種多様。
また、Raspberry PiやArduinoなどのプロセッサーモジュールを搭載して制御出来る物も有る。

公開されている様々な動画を観ているうちに、この摩訶不思議な挙動に惹かれて、自分でも動かして(走らせて)みたくなった。
手軽なのは最初から完成しているラジコン…比較的安価で直ぐに遊べるけれどちょっと物足りない。
Raspberry PiやArduinoを使うタイプはやや高価な上に本体以外にも結構費用が掛かり(特にRaspberry Piは現在暴騰しているし…)、セットアップの敷居も高い。

その中で見つけたのが、M5StackRoverC Pro
M5StickC(現行はM5StickC Plus)という比較的安価で、大人の親指程度という非常にコンパクトながら多機能なプロセッサーモジュールを使用するメカナムホイールカー(ロボット)。
動作にはM5StickCを使ってプログラムを作成・実行する必要があるが、JoyCというコントローラーと組み合わせてラジコン操作が出来るサンプルプログラムが公開されているので、開発環境を整えれば先ずはラジコンとして遊ぶことが出来る。
尚、国内でも数社で取り扱いがあるものの、タイミングが悪く現時点では全て品切れで入荷未定。
幸いにM5Stackの公式オンラインショップに在庫があり、送料を含めても国内価格と大差無かったため注文し、つい先日届いた。
他に、コントローラー JoyC、RoverC ProとJoyCに使用するM5StickC Plus、いずれ画像認識もしたいというわけでAIカメラモジュール UnitVを、これらは在庫が有る国内ショップで購入した。

RoverC Pro w/M5StickC Plus & JoyC w/M5StickC Plus

購入品

RoverC Pro、JoyC、UnitV、M5StickC Plus(二個)
M5StickC Plus用液晶保護シート(二枚入り)とRoverC Pro購入時に付属していたカード

M5StickC Plus

RoverC ProとJoyCには付属していないため、それぞれ用に購入する必要がある。
付属品は一切無く、本体にジャストフィットな箱に収められている。
M5StickC Plusの多彩な機能については、未だ使い始めたばかりでとても紹介しきれないので割愛。

RoverC Pro (w/o M5StickC)

RoverC Pro 本体と付属品一式

RoverC Proはほぼ組み立て済みで、必要に応じてグリッパー(手前にある角状の物)を取り付ける。
グリッパーはサーボ制御により開閉し小物を挟むことが出来る。
尚、各部に開いている丸い穴はレゴブロックのコネクタピンと互換があり、様々なブロックの装着が可能。

グリッパーユニットとM5StickC Plusを装着

M5StickC PlusはRoverC Proのピンヘッダに差し込むのみで特に固定する機構は無いが、容易に外れる恐れは無し。

JoyC (w/o M5StickC)

JoyC 付属品は無し

左右にジョイスティックが有り周囲にLEDが並んでいる。
それぞれ全方位に傾けることが出来て、電源が入っている状態では傾けた方向のLEDにが点灯する。
押しボタンは無いが、両スティックとも押し込み操作に対応。

M5StickC Plusを装着

こちらもM5StickC PlusはJoyCのピンヘッダに差し込むだけど、こちらは容易に抜けることはないが多少ガタつく感じ。
粘着力が弱めの両面テープで固定しようかな。

UnitV

UnitV 本体と付属品

画像の色や輪郭、動きなどを認識出来るAIカメラ…もちろんプログラミングが必要だけど、RoverC Proと組み合わせれば、ライントレースや障害物回避、物体追尾など、応用範囲はかなり広そうだ。

充電

RoverC ProとJoyCのバッテリー

RoverC ProとJoyCには共に汎用(16340)のリチウムイオンバッテリーが使用されており、着脱可なので手持ちの充電器でも充電出来るが、M5StickC Plus本体と合わせて充電する。

RoverC Pro側(スライドスイッチはRoverC Pro本体の電源スイッチ)
JoyC側(スライドスイッチはJoyC本体の電源スイッチ)

RoverC ProとJoyCともに、搭載したM5StickC PlusのUSB-Cポートを介して給電⇒充電する。
この際に各M5StickC PlusとRoverC Pro/JoyCの電源はONにしておくとのこと。
但し、全てOFFでも問題無く充電されるとの報告もあるので、余り厳密に考えなくても良さそう。
尚、充電中(充電完了)表示は無いので、気になる場合はUSBチェッカーなどで電流量を監視するのも良いだろう。(電流量が著しく下がったら充電完了。)

試運転

MacBookPro/13に入れているmacOS12.3はM5StickC関連のツールと相性が悪く、接続しても認識しない・転送出来ない、といった報告を見かけたので、GPD P2 Maxに開発環境を構築した。

様々な関連ツールが用意されているが、先ずはラジコン操作としての試運転が出来る最小限の環境から構築していこう…というわけで、ラジコン操作のサンプルプログラム(スケッチ)が用意されている Arduino IDEをセットアップ。
インストールからセットアップ(必要ライブラリのインストール等)、M5StickC Plusへの書き込みなどの手順については、詳細且つ大変分かりやすく説明されているページが数多くあるので割愛。
私も大変お世話になりました。(多謝)

サンプルプログラム(スケッチ)
Arduino IDEの【ファイル】⇒【スケッチ例】で【M5StickCPlus】⇒【KIT】⇒【JoyC_&_RoverC】を開く。
【Master】…RoverC Pro側のM5StickC Plusへ書き込む。
【Remote】…JoyC側のM5StickC Plusへ書き込む。

それぞれのM5StickC PlusとRoverC Pro/JoyCの電源をONにして、RoverC Pro側とJoyC側の両方のM5STickC Plusに同じアクセスポイント名が表示されたら(上の写真)、JoyC側M5StickC Plusの【M5】ボタンを数秒長押しする。
JoyC側M5StickC Plusの表示が数値の羅列(コントローラーの操作値表示)に変わったら操作可能。

開発環境の構築やプログラム(スケッチ)のコンパイル/転送では先達の方々の情報・解説に大変助けられた。
引っ掛かることもあったものの、今まで触れなかった事に触れて知らなかった事を知るのは実に楽しい。
今はまだ出来合いのプログラムを動かしているのみだけど、部分的なカスタマイズから始めて理解を深め、いずれはUnitVを使った画像認識も組み込んでみたい。

それにしてもメカナムホイールの挙動は実に妙で面白いな。

後日談…UnitV搭載

ひとまずM5StickC Plusを二つ使って手動(ラジコン)操作が出来るようになったので、次は一緒に購入したAIカメラモジュール UnitV による画像認識を用いた自律走行にトライしてみたい。

RoverC ProへのUnitVの搭載について…RoverC Pro(本体とグリッパーユニット)とUnitVにはレゴ(テクニックシリーズ)のコネクタを差し込める穴が用意されているので、レゴブロックを組み合わせてコネクタで接続することで搭載出来そう。
幸いに、レゴの様々なブロックパーツを単品販売しているネットショップが有るので、早速構成を検討し必要なパーツを購入した。

RoverC ProにUnitVを搭載

グリッパー動作に干渉しないようにサーボの上にUnitVを搭載した。
M5StickC Plusとケーブルの固定も考慮した構成にしている。

後部にパネルを装着

グリッパーユニットとUnitVでややフロントヘビーになるため、車体の後部にカウンターウェイト代わりのパネルパーツを装着、見た目的な意味も有り。