■目的・課題
●目的
コンデンサマイクで息を検知したいと考えています。
●問題・質問内容
息を吹きかけることで「マイクの波形(振幅)が大きく変化すること」を読み取って検知しようとしています。
(息の音声信号解析をするのではないため、音による波形の小さな変化は検知できなくても問題ありません。)
息の場合は音と比較して波形が非常に大きくなるため、市販のオーディオ向けのアンプでは増幅率が高すぎてしまいます。
そのため、増幅率10倍ほどにマイクの波形を増幅させたいのですが、目的のオペアンプやトランジスターを探してもうまく見つけられませんでした。
どのようにすれば増幅率10倍を実現できるのでしょうか。
お教えいただけますと幸いです。
■考え
(回路に詳しくないため、間違った内容もあると思います。)
増幅率10倍の増幅回路は見つかりませんでした。
トランジスターは 2SC1815を試そうとしましたが、増幅率(hFE)は70倍が最小のようです。
オペアンプは LM386N-1を試してみましたが、データーシートを見たところ増幅率20倍が最小のようです。
現在考えているのは、オペアンプの非反転増幅回路で増幅率を変更できるかもしれないと考えています。
参考サイト : Renesas Electronics 電子回路入門 ③オペアンプ、コンパレータ オペアンプの基本(2) — 非反転増幅回路
(非反転増幅回路を見つけたばかりで、現在理解をしようとしている段階です。)
非反転増幅回路の形にすることで、増幅率を自由に決められるという認識で間違いないでしょうか? (参考サイト通りに回路を組むことでLM386N-1のデータシートで書かれた最小よりも低い増幅を得られるような気がしましたが、間違えですかね?)
また、もし簡単に10倍ほどの増幅を得られるような電子部品がありましたらお教え頂けますと幸いです。
よろしくお願い致します。
■現状 (増幅する前のマイクの波形)
Arduinoのアナログピンに接続することで、0V~5Vを0~1024で取得することができます。
音・息がない状態で2.5Vの512がニュートラルになるようにしています。
音の波形 息のない状態 (Arduinoのアナログピン0より)
音の波形 息のある状態 (Arduinoのアナログピン0より)
息がある状態 で ±50ほどでした。
そのため、10倍ほどに増幅して、Arduinoの0~1024の範囲を広く使いたいと考えています。
(息の吹きかけ方によっては±100ほどなので、5倍が最適かもしれません。1~20倍ほどの増幅率を自由に変更できたらとても助かります。)
■今まで試した内容
下のサイトを参考に、オーディオアンプIC LM386N-1を使用した増幅回路も試してみました。
参考サイト : Arduinoで遊ぼう - エレクトレット・コンデンサ・マイクでオーディオレベルメータを作る
オーディオアンプIC LM386N-1は増幅率20~200倍ですが、20倍でも大きすぎる状態でした。
オペアンプ LM386-N1 による200倍 (参考サイト通り)
2016.11.18追記
現在次のオペアンプを検討しています。
上側の信号と下側の信号を取りたいと考えていますが、次のオペアンプを使用したいと考えております。
2回路入入出力フルスイングオペアンプ NJU7043D
2016.11.18 19:37 追記
2016.11.20 20:44 追記
秋月電子にてオペアンプを購入してきました。
オペアンプ(NJU7043D) 2回路入入出力フルスイングオペアンプ
////////購入時のメモ///(自分用のメモです)/////////////
秋月電子の店員さんに答えてもらった事項 (聞き違いや誤った理解の可能性あり。)
・オペアンプはそもそも増幅率が無限大のようなものだから~~。
・殆どのオペアンプは低い電圧でも問題なく使えるよ。特殊なやつはできないものもあるけど。
・mic_outとamp_inの間のコンデンサは何F? 高い周波数をとりたいか、低い周波数を取りたいかによってマイクの後のコンデンサは変わるよ。 極性のない10μFほどを使えば問題ないだろうが、反応時間が遅くなるよ。
////////////////////////////////////////////////////////
■回路の実装について。
-
自身で考えていた 「2016.11.18 19:37 追記」 時点での回路を実装してみましたが目的の動作はしませんでした。
-
ozwk様にご提示頂いた回路を実装したところ目的通りの波形を取得することができました。
(倍率は用途に合うように後ほど調整する予定です。)
以下にozwk様の回路図によって得られた波形を添付します。(ozwk様、回路図を提示いただき本当にありがとうございます。)
■息を全力で吹きかけた状態の波形
(実装時では全力で吹きかけることはありませんが、増幅度の動作チェックと目安として計測しました。)
増幅率 6倍 (全力の息だと飽和してしまいましたが、実際の環境では10倍ほどで使用する予定です。)
上記のように、当初に目的としていた 任意の増幅率 を実現することができました!!!!!
同時に、信号の基準点を2.5Vに取る ことも実装できました!!!
■今後の方針
Arduinoによって息を検知する処理を実装していきたいと思います。
増幅率は実装の環境に配置して、「人間がどの程度の息が吹きかけるか」という条件から決定していきたいと思います。
■以前のプロトタイプとの比較
以前はオーディオ用パワーアンプのまま息検知を実装していました。息がある場合は問題なく取得できていたのですが、誤検出(息が無い時に”息がある”とシステムが反応する)が酷いことに問題がありました。そのため、マイクの増幅率を変更して、音ではなく息に適した波形を取得しようと思った次第です。
使用していた高感度マイクアンプキット
参考サイト
息があるのは中央の部分です。
見て分かるように、息が当たると飽和してしまい、息のない部分との差があまり大きくありません。この状態で閾値を設定していたため、音やその他のノイズを息として反応してしまいました。
■謝辞
皆様のお陰で問題・課題を克服し目的を達成することができました。
今後、息の検出を実装し、処理を行うシステムを実現していきます。
全てが完成しましたらお見せすることができると嬉しく思います。
お時間・お手数をお掛けしてまでお力添えいただきありがとうございました。
非常にお世話になりました。
■この質問について
メインの質問については”解決”とさせていただきますが、まだ理解しきれていない部分もあるためお教えいただけますと幸いです。
回答4件
あなたの回答
tips
プレビュー