SSブログ

ポータブルミリ波レーダーの製作(2)

「ポータブルミリ波レーダーの製作(1)」では受信機(親機)にRaspberry pi 3B と3.5"LCDを使ったユニットを使いましたが、今回は「ESP32 & 3.5" G_LCD一体型ユニットの製作」で作ったユニットを使った受信機を作りました。
Raspberry piを使ったユニットは構造の問題もありCPUの温度が高いのですが、ESP32を使った今回のユニットでは温度は問題ありません。また消費電流もRaspberry piに比べると小さいのでバッテリー寿命を長くできたり部品コストも安いうメリットがあります。

写真1 3.5"LCDユニット外観とレーダー前方を横断する乗用車の軌跡
ESP32_Radar受信機.jpg

(ハードウェア)
 レーダー子機、ESP32を使った親機はそれぞれ「ポータブルミリ波レーダーの製作」、「ESP32 & 3.5" G_LCD一体型ユニットの製作」で製作したものを使っていますのでそちらを参照してください。ただし、後者のユニットのMONO TWELITEは当システムでは不要です。

(ソフトウェア)
 レーダーホストのRaspberry pi 並びに受信機のESP32用ソフトと設定・使用方法を下記からダウンロードできます。
・ソフトウェア => ダウンロード
・設定・使用方法 => ダウンロード

 ESP32のソフトに関してはライブラリの変更などが必要になりますが、それに関しては「ESP32 & 3.5" G_LCD一体型ユニットの製作」の記事を参照してください。

 受信機の3.5"LCDに表示するメニューボタンは小さいものがありタッチスクリーンの精度がある程度良くないとボタン部分をタップしても反応しません。
ソフトウェアパッケージ内にある「タッチスクリーン校正方法」に基づいて校正したデータをスケッチに書き込んでプログラムしてください。

 レーダー画面は0.1秒ごとに書き替えているのでちらつきが見えることがあり、特にゾーン検出用の線(黄色)と格子の線(灰色)が重なっているとちらつきが大きいです。
この場合はゾーン検出用の線を1ピクセル分ずらして設定すると良いです。
因みに ゾーンの内外判定をする時に設定した多角形の角の点を内側、外側のどちらに判定するかというのは点の位置関係によって異なるようなので、元々1ピクセルの判定誤差を持っているとお考え下さい。

 レーダー画面の書き替え描画速度が間に合うかどうかが一番の懸念でしたが何とか出来ました。 ただ、2つのCPUコアを2つのタスクのどちらに使うかによっては処理が間に合わなくなることがあります。(現設定ではTask1 を Core1、Task2 を Core0 で処理しています。)
基本的にはTask1 でできるだけ計算処理を行い Task2は描画処理に専念するような構成にしてあるのですが、最大ループ時間は Task1 で数mS、Task2 で60mS程度(描画自体は40mS弱)でした。
バランスが良くないのですが、描画処理は分けられないので仕方ありません。

 UDP通信はレーダーと受信機の電源が立ち上がってもすぐには接続しません。数分は待ってみてください。

 まだ必要な機能があるかもしれませんが、しばらくはこれを使って様子を見てから考えたいと思います。


(電池駆動)
 電池駆動でどの程度の時間動作するか調べてみました。

単三アルカリ乾電池3本 (Fujitsu Premium S)   約4.5時間
単三ニッケル水素電池3本 (eneloop 1,900mAh) 約5.5時間
 
電池電圧は回路接続状態で3.3Vで、レギュレータICの出力電圧は3.15V程度でした。電池電源であれば安定化はしていなくても3V程度までESP32は動作しますが、LCDのフリッカーが目立つようになったのでそのタイミングまでを寿命としました。
ESP32はAPモードで動作しているので通常のWiFiクライアントモードより消費電流が大きく(200~300mAだと思います)、寿命はこんなものだと思います。


>> ブログ記事一覧へ
nice!(0) 
共通テーマ:趣味・カルチャー

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。