2020年4月26日日曜日

超音波距離計

 せっかくアナログ盛々のNucleo F303REを買ったので、超音波距離計を作ってる。といっても、まだCWパルス打ってるだけで、受信周りは手を付けてないが。



 Nucleo F303REで使えるリソースは、DACが1ch、オペアンプはスタンドアロンが2ch、PGAが1ch、くらい。まずDACで送信波形を作り、スタンドアロンで1倍の反転増幅を行って平衡にし、それを超音波素子で送信、送信が終わったあたりでオペアンプを停止してHiZにし、同じ素子で受信。別のオペアンプで100倍の増幅を行った後、さらにPGAで16倍、という感じ。PGAは0Vを基準に増幅するので、入力オフセットもそれに合わせてやる必要がある。ということでDACから適当なオフセット電圧を出して対応してる。結構複雑なことやってる。

 1.5mほど先の天井からのエコーっぽいのがそれなりに大きな振幅で見えてる。1.5m / 340m/s * 2 = 8.8msなので、タイミングとしては悪くない気がする。

 2段目のPGAは2,4,8,16倍を選択できるので、最大で16倍の増幅率が得られる。1段目のスタンドアロンはある程度自由に設定できるが、それでもオペアンプの増幅率だと100倍を超えたあたりが上限かな、という気がする。これで1600倍稼げるが、感度の悪さも考えるともうちょっと増幅率はほしい気がする。全体的な利得の悪さはパルス幅とパルス圧縮で対応するしかないかな。
 ADCは1Mspsで受けたとすると、メモリ50KiB使えたとしても50msくらいしか取れない。ゲート幅8.5mは微妙だなぁ。このあたりの信号処理の流れ、あまり覚えてない。リアルタイムでパルス圧縮してサンプリングレート落として長時間取り込む、とかできるんだっけか?
 F3はアナログ多いけど、クロック低めでメモリ少なめなので、信号処理には向かない気がする。メーカーも、パワエレ系のさほど大量にデータ溜め込まなくても済む、しかしアナログ系はガッツリ欲しい、というような用途を想定してるっぽい。

 とりあえず、送信と受信のアナログ周りはなんとかなりそうな目処はついてきた。
 今はブレッドボードでやってるけど、とりあえずアナログ回路はこれ以上大きくいじることはないだろうし、ユニ基板に移そうかな。オペアンプ3本とか使ってる割に、回路はかなりシンプル。CR合わせて10個も使ってない。「超音波距離計の創り方 ~CR10個のお手軽アナログ回路超入門~」とかどうだろうか。能動素子1個も使わないで何がアナログ回路だ、って感じだが。。。

 しかし、能動アナログ素子カスケードに使ってると、2chオシロじゃ足りない。デジタル回路見てるときも思ったけど、アナログ回路でも同じか。Tekの6chとか、必要があるからそういう機械が作られてるんだろうなぁ。

0 件のコメント:

コメントを投稿