2020年5月3日日曜日

超音波距離計

 いいかげんブレッドボードも嫌になってきたので、ユニ基板に移そうと思って回路図作成中。ブレッドボードで少しずつ作ってると、回路図とか作らないので良くない。ブレッドボードまじ害悪。でも使っちゃう! 悔しいッ!!

***



 基板CADで回路図作っちゃう手抜き野郎がこちらです。回路図っていうか、ブレッドボード上の回路を配線実体図にするのが目的なので、基板CADのほうが扱いやすい。このCADならシンボルとかも好きなときに簡単に作れるし。

 DACから正弦波を出して、OPA3で反転増幅、平衡信号として使う。
 受信時はOPA3を停止した上でDACでオフセット電圧を作成。OPA2で100倍の反転増幅と、OPA4でN倍のPGA(N:2, 4, 8, 16)。OPA4の出力をADCにつないでサンプリング。
 全体で最大1600倍だけど、ちょっと足りない気がする。PGAの利得を増やす裏技は、NucleoのOPA4では使えないので、OPA3で頑張るしかない。とはいえ、これ以上利得を増やすのも…… という感じ。
 STM32F3のオペアンプ、ON/OFFの切り替えができるので、LowZとHiZを切り替えたいときに便利。
 何も考えずに定数選んでるので、改善の余地は多そう。送信の残響とか短くすれば短距離側のレンジ広がるし、利得も改善するかも。とはいえ、ユニ基板で作るときにチップ抵抗を使えると便利なので、あまりバリエーションの多くない手持ちのチップ抵抗に合わせて選びたいところ。


 STM32F3のPGAの利得はもう少し高くてもいい気がするんだけどなぁ。3.3Vで12bitの下位8bitだけ読んだとして、フルスケール0.2V、その16分の1で12.5mV。シャント抵抗10mΩとしてフルスケール1.25A、とすると、まぁ、小型モータの制御には丁度いいレンジか。ゲイン下げたりADCの使用ビット数増やせば大電流も測れるし。真面目に制御するようなモータならもっと電流食うだろうし、コンパレータとかに入れるならちょうど良さそうな感じか。
 F3のPGAで自分の消費電流測れれば面白そうだけど、負電圧側になるから無理そう。自分の消費電流の上限をDACで設定してPGAとコンパレータで監視して、消費電力増え過ぎたら電源ICにリセット用のパルスを出す、みたいな機能を作れば、シングルイベントラッチアップ対策に良いかな、とか思った次第。まぁ、SEL食らってる時点でDACやらPGAやらコンパレータの健全性に期待するのは間違ってるな。

***

 Nucleoで使ってるピン、ほとんど片側のコネクタに集中してるので、かなり小さな基板で作れそう。と思いつつ、3.3Vは反対側のコネクタにしか出てないから、電源の確保が面倒。多用してる側のコネクタ、AVDDは出てる。ふしぎ。外部にAVDD引き出して使いたい状況って何だ?
 多用側にGNDは出てるので、3.3VとDAC outだけ引き出してくれば良さそう。が、そのやり方は僕の好みに反する。とはいえ、まぁ、ワイヤ2本引くだけでデカい基板使わなくて済むなら、そっちのほうがいいかな。

0 件のコメント:

コメントを投稿