CDM324ドップラーセンサーをFFTで使ってみた。

アマゾンなどで安く売られていたので思わずポチッちゃったけど出力信号が微弱なためオペアンプで増幅する必要があったりノイズが比較的多かったりして想定外に扱いが難しい。

公開されていたオペアンプ回路(数万倍)を試してみたらコンパレータによりデジタル信号に変換しようとしても出力が安定しなくて感度を高くするために際どいレベルで閾値を設定するほど誤動作が激しくなり使い物にならなくなってしまう。

もっと簡単な回路でと思いついたのはゲイン・アンプ内蔵のADCを使うという方法。以前に調べていて入手も容易なADS1115でリファレンス電圧+-256mVを選択すれば約8uV単位で計測できるので試してみる価値ありとやってみたら検出はできるもののノイズ等の影響により不安定っぽくてやはりうまくいかない...

ふとFFTという言葉を思い出した。まだ使ってみたこともないのだが公開されているライブラリもあるしドップラーセンサーは周波数出力だしFFTは周波数検出だから相性ばっちりなのかなと試してみたら検出はできるもののやはりセンサー出力のドリフトやノイズ等の影響を受けてしまい感度を上げようとするといまいち判定が難しい。そこでFFTの結果をローパスフィルターにかけて平均化した値とFFTの結果との差分によるレベル判定を試してみたところなんとなくいい感じになった。ローパスフィルターのおかげでセンサー出力のドリフトは自動調整されるのであとはノイズの問題のみだが、なぜかサンプリング数が128のときが感度とノイズが両立できて一番良いようだ。

実験では10m程度離れても真正面のゆっくり移動する人間なら辛うじて検出できたけど遠くになるに従って検出可能な移動速度が遅くなるような気がするのはなぜだろう...

ちなみに【だるまさんがころんだ】で検出されないよう移動するのは至難の業かも。(笑)

【外観】

【回路図】
シンプル is ベスト!!

【修正】
2024-01-29
複数のローパスフィルターを使いノイズの影響が少なくなるように改良。かなり安定するようになったが感度は落ちたかも...このへんは要調整かな。

【サンプル・スケッチ (XAIO ESP32C3)】