質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

4回答

17895閲覧

電子回路 マイクの信号を10倍ほどに増幅するには? 低い増幅率(利得)を実現したい!  オペアンプ? トランジスター?

kt.tk.co

総合スコア27

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

4グッド

3クリップ

投稿2016/11/18 00:57

編集2016/11/20 14:00

■目的・課題

●目的
コンデンサマイクで息を検知したいと考えています。

●問題・質問内容
息を吹きかけることで「マイクの波形(振幅)が大きく変化すること」を読み取って検知しようとしています。
(息の音声信号解析をするのではないため、音による波形の小さな変化は検知できなくても問題ありません。)

息の場合は音と比較して波形が非常に大きくなるため、市販のオーディオ向けのアンプでは増幅率が高すぎてしまいます。
そのため、増幅率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倍でも大きすぎる状態でした。

オーディオアンプIC LM386N-1
イメージ説明

オペアンプ 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様、回路図を提示いただき本当にありがとうございます。)

■息を全力で吹きかけた状態の波形
(実装時では全力で吹きかけることはありませんが、増幅度の動作チェックと目安として計測しました。)

増幅回路がない場合 1倍
イメージ説明

増幅率 2倍
イメージ説明

増幅率 約3倍
イメージ説明

増幅率 6倍 (全力の息だと飽和してしまいましたが、実際の環境では10倍ほどで使用する予定です。)
イメージ説明

上記のように、当初に目的としていた 任意の増幅率 を実現することができました!!!!!
同時に、信号の基準点を2.5Vに取る ことも実装できました!!!

■今後の方針
Arduinoによって息を検知する処理を実装していきたいと思います。
増幅率は実装の環境に配置して、「人間がどの程度の息が吹きかけるか」という条件から決定していきたいと思います。

■以前のプロトタイプとの比較
以前はオーディオ用パワーアンプのまま息検知を実装していました。息がある場合は問題なく取得できていたのですが、誤検出(息が無い時に”息がある”とシステムが反応する)が酷いことに問題がありました。そのため、マイクの増幅率を変更して、音ではなく息に適した波形を取得しようと思った次第です。

使用していた高感度マイクアンプキット
参考サイト

参考までに以前のプロトタイプでの息検出時を添付いたします。
イメージ説明

息があるのは中央の部分です。
見て分かるように、息が当たると飽和してしまい、息のない部分との差があまり大きくありません。この状態で閾値を設定していたため、音やその他のノイズを息として反応してしまいました。

■謝辞
皆様のお陰で問題・課題を克服し目的を達成することができました。
今後、息の検出を実装し、処理を行うシステムを実現していきます。
全てが完成しましたらお見せすることができると嬉しく思います。
お時間・お手数をお掛けしてまでお力添えいただきありがとうございました。
非常にお世話になりました。

■この質問について
メインの質問については”解決”とさせていただきますが、まだ理解しきれていない部分もあるためお教えいただけますと幸いです。

TAKAYASU, tsunex, imutakaoru, ikuwow👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasahikoHirata

2016/11/18 03:10

過去からの質問を整理すると、音声の強弱を取得したいのでは?現在は波形を取得で悩んでいると解釈して回答を控えているのですが。主目的はなんでしょう?
kt.tk.co

2016/11/18 03:45

ご指摘いただきありがとうございます。また前回に引き続きお答えいただきありがたい限りです。主目的は「息の有無(可能であれば息の強さ、息の長さ)」をArduinoで検出して動作をさせることです。息を検知できるのであればそもそもマイクでなくても問題ないのですが、一番確実に検知できそうなのがマイクという結論に至りました。(任天堂DSなども息をマイクで検知していますね。)  息の検知の際に、誤検知しないシステムを作りたいと考えており、“音による振動”と“息によるマイクの振動”を同一に扱いたくありません。いままで試したところ、息の波長の振幅は音による波長の振幅よりも非常に大きく増減します。そのため、息の波長の増減をきれいに0~5Vに分布させることで、ニュートラル時との振幅の差分をArduinoで取得し、その時間あたりの差分が一定以上の場合に“息あり”と判定したいと考えております。そのため、「波長をきれいに増幅させる」といった波長の取得で悩んでおります。 私自身が理解していない箇所も多々あるため、論理的に矛盾するようなことを書いておりましたら指摘して頂けますととてもありがたいです。
kt.tk.co

2016/11/18 03:53 編集

今回の指摘を受けて、MasahikoHirata様に以前( 2016/11/14 22:23)ご指摘いただいた内容を勘違いして理解しているかと感じました。以前の内容は私の理解では、「0Vをニュートラル時の基準点として波形を取得し、マイクへの入力をプラス方向のものだけ使用して検知する」と考えておりましたが間違えておりますでしょうか。この場合ですと、息を検知するまでの時間や、波形を半分切り捨てていることにより息の強さ・息の長さの判定が難しくなると思い、2.5Vを中心とした取得に拘っていた次第です。あまり目的を事細かに書いてしまうと質問内容を読んでもらえないと思って細かな条件まで記載しておりませんでしたが、そういった条件を推測させてしまったようで申し訳なく思います。上記の内容で誤った解釈をしておりましたらご指摘頂けますと幸いです。
kt.tk.co

2016/11/18 05:47

少々解釈が進んだような気がしたので追記いたします。私が参考にしていたサイト「http://arms22.blog91.fc2.com/blog-entry-284.html」では波形の下の信号も奇麗に増幅されているものだと思いこんでいました。しかしこのサイトでは下の波形は破棄しており、上の信号だけを使って増幅しているようですね? 私はオペアンプを使えば下の波形も増幅されるものと勘違いしておりましたが、それが間違えのようでした。そのため、MasahikoHirata様のご指摘の意味がわかりました。 増幅後に基準点を2.5Vにあげても、2.5V以下の信号は無意味なものなのですね。 もう少し、下の信号も活用できないか模索してみますが、難しいようならば上の信号だけ使用したいと考えております。 ご指摘頂きましてありがとうございました。
MasahikoHirata

2016/11/18 05:59

今、回路図と仕組みの図などを作成しております。問題の点は’単純’に波形を増幅しても音の強弱はADCでは測りにくい。変化量の積算値が音声のレベルになります。
kt.tk.co

2016/11/18 06:46

お手数をお掛けして申し訳ありません。本当にありがたい限りです。今のところ精一杯考えても、質問の最後に追記した回路図しか思いついておりません。両電源アンプというものがあると聞いたのでそれを使えば下側の信号も増幅できるかなと試算しております。
kt.tk.co

2016/11/18 06:51

「音の強弱はADCでは測りにくい」ということに関しては一切気づいておりませんでした。ADCだと音の強弱が測りにくいのは、「計測できる時間感覚を短くするのに限度があり、アナログのきれいな波を、デジタルのぶつ切りな波としてしか測定できないから」ということでしょうか。変化量の積算値を取得することも想定していなかったために、恐縮ですが回路図・仕組みの図をお教えいただけますととても助かります。度重ねて本当にありがたい限りです。
guest

回答4

0

一般に、安定した増幅を行いたい場合、裸で使うのではなく、負帰還をかけるのが一般的です。

負帰還をかけると、増幅率が帰還率に沿って安定するようになります。

投稿2016/11/18 01:27

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kt.tk.co

2016/11/18 01:40

お忙しい中、ご回答頂きありがとうございます。 負帰還(負帰還増幅回路)というものがあるのですね! オペアンプを調べていた際に何度か「Negative FeedBack」という文字を見ていたので、もう少し詳しく調べてみることに致します。 負帰還増幅回路であれば、最小の増幅率20倍のオペアンプLM386N-1にて、10倍ほどの増幅率を得られるという認識で間違いないでしょうか。 後ほど調べてわからない部分がありましたら再度質問させていただきます。 お手数ではありますが再度ご教授いただけますと幸いです。 取り急ぎ確認・お礼のご連絡とさせていただきます。 ありがとうございました。
guest

0

基本的な事に関してお答えします。

LM386 というIC はパワーアンプ用の専用IC です。お望みの用途には適していません。
このようなコラムに参加されている方はこの辺の知識には疎いんではないでしょうか。

LM386 で利得を下げるには入力側にPAD (減衰回路)を入れるのが手っ取り早いです。IC の入力に抵抗を組み合わせて不要な利得を下げて下さい。
その上で、エレクトレットコンデンサーマイクに低電圧を与える回路が要ります。
マイクの種類によって48vであったり、無電圧で入力インピーダンスも気を付けなければ行けません。

どちらにしろアナログの要素とデジタルの要素といったハード的な様々な知識が必要ですので
どろなわで 旨くいっても 知識は深まらないかも。
LM386 というIC は先述の通りスピーカを駆動するパワーアンプIC なので自分自身が発生するノイズには考慮されていないはずです。
ローノイズのオペアンプを選択して帰還抵抗で利得を制御するのが本筋です。ただオペアンプのアナログ動作ははグラウンドを基準に+-に音声を駆動しますから、デジタルなポートにこれを直接接続するのはどうなんでしょう。

投稿2016/11/19 08:25

hgforteratail

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasahikoHirata

2016/11/19 08:49

ご指摘ありがとうございます。 確かにLM386はパワーアンプです。(LM型番でOPAMPと勘違い) また検証には普通の一般的なOPAMPを使用いたしました。 それとこのコンデンサーマイクは秋月電子で通常に売られているタイプで本格的なオーディオの48V給電タイプとは異なり、2V~10V 程度のものですので。 teratailが元々’Web'系のQ&Aとご理解頂ければ幸いです。
hgforteratail

2016/11/19 12:22

すいません。すでに書かれていた事なのによく読まず回答してしまいました。 削除依頼をしたのですが遅かったようです。
kt.tk.co

2016/11/20 11:34

hgforteratail様 ご回答いただきありがとうございます。 ご指摘頂いたとおり、LM386はパワーアンプのICでオペアンプとは異なるものなのですね。 興味や実装のために回路を初めたばかりで基礎が身についておらず、ブログなどで見つけた内容からオペアンプであると思いこんでおりました。 お恥ずかしい話ではありますが、皆様のご指摘のおかげで勉強させて頂いております。 増幅率の高い増幅器 + 減衰回路 という選択肢もあるのですね! 現在は目的の増幅率を手に入れられるように1から増幅器を選定していますが、そのアイディアには納得しました。 入力インピーダンスなどについては深く留意したことがないため、ご指摘頂きありがたい限りです。 オペアンプの選定時にローノイズかどうかまではわからず購入してしまいましたが、現在、帰還抵抗で利得を制御するという方法で実装を目指している次第です。 terateilが元々web系のQ&Aとは知らずに質問していたため、カテゴリ違いであったかもしれません。回路向けのサイトなどがあるかも調べてみることに致します。ただ、ご回答いただいた皆様から親切にお教えいたけており、私とは比べ物にならないほど回路の知識があるため勉強させて頂いております。現状では、目的の回答が得られず困るどころか、学ぶことが尽きないほどのありがい状態です。 回路は見るもののほとんどが新しい情報なので、非常に楽しく試行錯誤しています。
hgforteratail

2016/11/20 12:13

 あっ ちょっと違います。  LM386の様な利得が簡単に変えられない専用IC を使用する場合は入力側に減衰器を入れればと云う話で、  利得が自由に設定できるオペアンプでは最初に書かれている通りにNFB 抵抗9kΩと1kΩで10倍の利得が得られます。  オペアンプの利得が大きいのはNFB によって理想の増幅器に近づけるためのもの(音楽的に音が良い事をさしません)で、高い利得をそのまま使用するためのものではありません。利得が1のアンプも容易に出来ます。また10程度の利得であれば殆どのオペアンプが使用できます。  手に入りやすい4558、4580、NE5532、OPA2134、OPA2604 とかを使用するのが一般的でしょう。ピンの配列も同じなのでソケットを利用すれば差し替えが出来ます。  下記の資料はアナログ電子回路やオペアンプの基礎が書かれてますのでダウンロードしてこの辺の事柄の基本を勉強されるのが良いと思われます。    http://www.tij.co.jp/lsds/ti_ja/amplifiers/op-amps/op-amps-technical-documents.page  最近、スマホやPC 等のヘッドセットに使用されているマイクロホンはエレクトレットコンデンサーという種類で、カラオケ等に使用されているダイナミックマイクロホンとは全く違って、マイクに電源が必要です。  これはこれで別にネットなどを検索されて調べて見て下さい。  どちらにしろkt.tk.co さんの今回の質問は、このサイトの主旨からはかなりずれてると思いますが。
hgforteratail

2016/11/20 12:22 編集

あっ えらいことを忘れてました。 汎用のオペアンプでは+-2.5V(5V)の低圧では動作しないので、そこら辺も・・・・ LM386も・・・・そんな低圧で動きますか? えーっとLM386は動くかも。すいません。
kt.tk.co

2016/11/20 13:15

ご回答頂きありがとうございます。 また、オペアンプや基礎の参考資料をご提示頂きありがとうございます。 他の回答者様から今回の目的にはレールtoレールのオペアンプが適していると教えて頂き、本日NJU7043Dのオペアンプを購入して参りました。 その結果、ほぼ目的の動作を実現できることが確認できました。 質問時のタグにArduinoが登録してあったため回路に関する質問をしてしまいましたが、Arduinoのプログラミングという意味が強いようですね? もしご存知でしたら回路関係の質問サイトなどをお教えいただけますと幸いです。
hgforteratail

2016/11/20 14:14

 レールtoレールオペアンプで成功されたそうで、おめでとうございます。  電子回路のサイトでこのサイトの様な良質なところはないようです。  でも EDN JAPAN のアナログ電子回路コミュニティ などは初心者の質問も受け付けてくれる様で、 https://bbs.ednjapan.com/ADI/  一度覗かれては。  いわゆる ちXぶくろとか OKxx などというサイトは自分自身にそれなりの力量がないとやめておいた方が良いですよ。  あとはやっぱり本でしょう。  いくらかお金を出して本を買いましょう。  CQ出版から出てる 定本OPアンプ回路の設計 などは必読書ではないでしょうか。  私は根っからのアナログオーディオ屋なのでArduino に関してはチンプンカンプン。
guest

0

kt.tk.coさんの実現したいと思う所に共鳴している部分と中途半端な回答をすべきでないと思っている部分です。
おそらく、何かの音の大小での処理をお考えになっている。しかしながら波形を増幅する、そしてその波形を表示でではないはず。色々検討していますが、コンデンサーマイクの出力は原理からバイアスが掛かって、その波形の中心を22.5V(5Vの半分と考えて?)と理解しましたが、音が多く、大きい場合は波形の振幅が大きく(音量が大きい)の処理ではないと理解した次第です。最大音量を振幅の最大とした場合の最良の回路とは何か?同じ問題に取り組めるのがわくわくします。

投稿2016/11/18 11:21

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasahikoHirata

2016/11/18 14:42

実際に部品を組んでやってみた。ozwkさんの回路の出力に秋月電子のショットキーバリアダイオード(30V200mA)BAT43(10本入)を組み合わせ、コンデンサー、これも秋月電子のオーディオ用電解コンデンサー1μF50V85℃ ニチコンFGにチャージする形で構成。すると思った通りの動作。具体的には出力にダイオードをカソードをGNDにアノードを出力へ、また出力をもう一本のダイオードのカソードへそのアノードを先ほどのコンデンサーの+側へコンデンサーの―側はグランドに、そしてコンデンサーの+側をarduinoのADCへ。注意点はOPAMPの空いた回路はボルテージフォロアで、入力をGNDにして発振をしないように処理でOK。後、図を開示します。
kt.tk.co

2016/11/20 11:43

お世話になっております。 他の方の回答にも補足いただき非常に助かっております。 ご回答いただいた内容を拝見させていただきました。 私自身の理解が足りておらずもしかしたら勘違いさせてしまうお返事になってしまうと思い、先にメインの質問欄に現状と経過を追加させていただきます。 更新が終わりましたら時間を掛けて読み、お返事したいと考えておりますので、今しばらくお待ちいただけますと幸いです。
MasahikoHirata
kt.tk.co

2016/11/20 13:05

ありがとうございます。 2016.11.18 19:37 追記 の回路図については、誤った回路であると思いますので使用しない予定です。 ozwk様の回路を実際に組んで見たところ、とても奇麗に動作したのでozwk様の回路を参考にさせていただこうと考えております。 ご紹介いただいた「レールスプリッタIC」という物があるのですね! 両電源をどう取るかが分からず、別途に-5V用の電源が必要だと思っていたので試行錯誤した結果の考えが「修正の回路」でしたが、こんなにも便利なものがあるのですね! 現在はozwk様の回路に準拠させていただこうと考えているのですが、オペアンプの+入力側に分圧して2.5Vを入れている部分が理解できていません。 恐らくこのお陰で2.5V基準になっているのだと認識しておりますが・・・ (ozwk様の回答に対して質問させていただいております) ダイオードについて現在読ませていただいております。 失礼ですが図が見当たらないのですが、どのようにしたら図を見れるかおわかりになりますでしょうか。
MasahikoHirata

2016/11/20 13:13

明日でも図を添付しますよ。お待ちあれ。レールスプリッタは良く使います。(本来のOPAMPは+とーの電源がいるので使いにくかった。でもこれですごく助かってます)
kt.tk.co

2016/11/20 13:32

ありがとうございます。 お時間のあるときで構いませんので図を添付して頂けますと幸いです。 やはり+と-の電源は非常に大変そうですね。 一つの電源から+と-を取ることは無理だと思っていたのですが、それが可能になのですね。 電子回路を理解するだけでも頭をつかうので、そういった仕組みを考えつく人は本当にすごいですよね。
guest

0

ベストアンサー

まずLM386はオーディオ用パワーアンプで、オペアンプとは普通呼ばないです。

で、基本的にはオペアンプで増幅回路を組めば、自由な増幅率が得られますが、
オペアンプには、高いゲインでしか安定動作しないものがあるので、
どんなオペアンプでも増幅率5倍とかできるわけではないです。

安定する最小のゲインはデータシートとか見ると書いてあります。
(「ゲイン~倍で安定」とか「ユニティゲイン安定」とか)


下側云々で悩んでいるようなので
すっごく適当に回路作りました。
かいろ説明

_ECMとなっている部品はマイクのつもりですので気にしないでください。


解説

マイクで拾った音(マイクで拾う限り息だろうと声だろうと音とここでは表現します。)は、
振動として現れます。
大きければ+小さければ-ではなく
ある基準点を中心に、大きければ大きく振れ、小さければ小さく振れます。
音の大きさはこの振幅、高さは時間方向の細かさ(周波数)で現れます。

マイクから出てくる音声信号は、よくわからん大きさの電圧の上に、
それに比べるとかなり小さい振動で出てきます。(mVレベル)
0-5Vを10bitでAD変換するとすると、約5mV/bitですからこのままAD変換するとよく見えません。
見えないのでじゃあ増幅しようとなるわけです。

で、増幅のとき邪魔になるのが「よくわからん大きさの基準電圧」です。
そこでこいつを取り除いて、こちらで決めた基準電圧に差し替えると楽です。
新しい基準電圧は音声信号が正負にふれることを考えて、
ADCの変換範囲の中央2.5Vにしておきましょう。
よくわからん基準電圧を取り除くのは、基準電圧は直流とみなせるので、
ハイパスフィルタを通すことで実現できます。

この、「よくわからん基準電圧を取り除いて、音声信号のみを増幅し、新しい基準電圧の上に乗せる」をまとめてやっているのが回路図のmic_out~amp_outです。
「1次アクティブハイパスフィルタ」とかググれば似たやつが出てきます。
反転増幅になっているので、音声信号の正負が反転しますが別に音の大きさが取れればいいので無視してます。

で、ここからどうやって息を検出するかですが、
調べたところ息を音声信号としてみると、低周波成分を多く含むらしいので、
ローパスで高周波カット
-> (2.5V基準に)二乗するか全波整流する。(好み)
-> 更にローパスで均す(好み)
-> 適当な閾値を決めてそれを超えたら検出
とすればいいんじゃないですかね。

全部アナログ回路でも実現できますし、
ADCでサンプリングして全部デジタル処理でも出来ると思います。

投稿2016/11/18 02:06

編集2016/11/18 12:43
ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kt.tk.co

2016/11/18 03:34

ご回答頂きありがとうございます。 「LM386はオーディオ用パワーアンプ」ということを理解しておりませんでした。 ご指摘を受けて調べてみたところ、そもそもオペアンプは「フィードバックありで自由な増幅率を得られるもの」なのですね。 (一番最初にLM386を知ったため、LM386のように「コンデンサの有無で増幅率を変更するもの」が”オペアンプ”だと勘違いしておりました。) maisumakunさまの指摘も整理したところ、負帰還を行う事によって非反転増幅回路を実装し、抵抗値の比率で増幅率を得られるということを理解しました。 これからどのように進めばよいかを理解できたため、実装まではできておりませんが本”質問”は解決とさせていただきたいと思います。 オペアンプにも種類があり、高い倍率でないと安定動作しないものもあるのですね! このことについては初耳でしたので、新たなオペアンプを購入する際に留意したいと思います。 現在「CMOSオペアンプ LMC6482AIN」 http://akizukidenshi.com/catalog/g/gI-02469/ のオペアンプを検討しているのですが、データシートに「ゲイン~倍で安定」や「ユニティゲイン安定」を見つけられませんでした。 お手数ですが以下のデーターシートのどの部分を参照すればよいかご教授頂けますと幸いです。 http://akizukidenshi.com/download/LMC6482.pdf また、前回に引き続きご回答いただき感謝しております。 ありがとうございます。
ozwk

2016/11/18 03:46

> ユニティゲインで発振することなく、100pFの負荷をVS=15Vで直接駆動できます。 と書いてありますし、 5V電源で1倍の回路がアプリケーションに乗っているので大丈夫でしょう。多分。
kt.tk.co

2016/11/18 04:01 編集

ご回答いただきありがとうございます。 正直に申しますと、 > ユニティゲインで発振することなく、100pFの負荷をVS=15Vで直接駆動できます。 の文言の意味が全く理解できていなかった(恥ずかしながら今も良くわかっていない)のでお教え頂きありがたい限りです。 もう少しその文言を読み込んでみますが、いまのところ理解できそうな気がしていません。 任せっきりで頼むのは失礼だと重々承知しておりますが、今のところ理解するよりも実装を優先して行いたいという気持ちもあります。 詳しい方に「大丈夫」といってもらえることは非常にありがたく感じております。 知識が乏しく明らかに間違っていることを行っていることもあるので、進めている方向が正しいらしいというだけで非常にやる気が湧いてきます。 度重ねて本当にありがとうございました。
ozwk

2016/11/18 05:44 編集

雰囲気翻訳すると、 ユニティゲインで(ゲイン1倍で) 発振することなく、(出力が暴走することがなく) 100pFの負荷を(一般的にコンデンサなど静電容量をもつ負荷を出力につなぐと発振しやすくなる) VS=15Vで直接駆動できます。(電源電圧15Vのときに特に部品を追加せず、直接100pFの負荷に繋いでまともな出力が得られる)
kt.tk.co

2016/11/18 07:24

翻訳ありがとうございます! お教えいただいてやっと雰囲気を理解できそうです! 外国語を翻訳してもらったような感覚です。 元の文章からそのような解釈ができるのですね! 回路を作成して頂きありがとうございます!拝見させていただきました。 17時~19時まで時間を取れそうですので、じっくり見させていただきたいと思います。 お忙しい中お力添えに感謝いたします。 後ほど、回路を検討して質問にまとめる予定です。 それでは一度失礼致します。
MasahikoHirata

2016/11/18 09:52

ozwkさん。乙です。回路図を質問者が理解するのに’_ECM'と付いているのはコンデンサーマイクの内部(等価)回路と追加の説明。私も似た回路(さらに後ろに時間軸での積算を考えています。だって音の強弱だから波形の変動の積分値でレベルメーターにしないと、単純にADCにいれると波形の計測時の波の高さになるよ)
ozwk

2016/11/18 10:45 編集

どうせマイコンにぶっこむから 定期的にサンプリングしてデジタル処理すればいいやって 部品数増えちゃいますし
kt.tk.co

2016/11/18 10:31

MasahikoHirata様 補足頂きありがとうございます。 _ECMの部分は内部回路だったのですね! 理解しておりませんでした。ご丁寧にありがとうございます。 ご提示頂いた回路についてですが、知識不足で恐縮ですが以下の二点が主にできておりません。 1. 何故オペアンプは反転増幅回路なのか? 2. 何故オペアンプの+入力側に2.5Vを入れているか? (オペアンプの出力の後だと思っていたため) >>(さらに後ろに時間軸での積算を考えています。だって音の強弱だから波形の変動の積分値でレベルメーターにしないと、単純にADCにいれると波形の計測時の波の高さになるよ) 最後のamp_outの後に時間軸での積分を行う回路を追加する形でしょうか。 前回ご指摘いただくまでArduinoのアナログピンで値を取得する場合は、波形の計測時の波の高さしか取得できないものだと思いこんでおりました。 波形の変動の積分というのは、オペアンプによる積分回路を配置するということになるのでしょうか。あまりイメージできていないのでお教え頂けますと助かります。 また、下の波形を取得できるようなアンプとして、NJU7043D(http://akizukidenshi.com/catalog/g/gI-06840/)で思案中の回路を質問に追加致します。 そちらのご指摘も頂けますと幸いです。
kt.tk.co

2016/11/18 10:40

追記です。 少々、マイクの波形の意味の理解が足りていないので、その点について学習しておきます。
kt.tk.co

2016/11/18 10:53

手段について一部補足です。  最終的にはArduinoのアナログピンでオペアンプの値を読み取ります。 レベルメーターとはWindowsの標準の音楽ソフトについているような、dBとHzのグラフのようなものですかね? 質問時にも添付していた波形は、次のように認識していましたが正しい理解でしょうか。 横軸 : 時間経過 縦軸 : 音量(音圧?) (時間あたりの)波の密度 : 周波数(?) よろしくお願い致します。
kt.tk.co

2016/11/20 11:11

ozwk様 ご解説頂きありがとうございます。 非常にわかりやすい文章で解説いただき、とても理解が進みました! 増幅を行う目的の部分から段を追って説明頂いたため、回路の意味を理解したいという欲求をガッチリと叶えて頂きました! また、本日、秋月電子にてオペアンプ(NJU7043D)を購入いたしまして、おかげさまでご提示頂いた回路図通りに組むことができました。(後ほどメインの質問欄に画像と主にまとめさせて頂きます。) お教えいただきました「1次アクティブハイパスフィルタ」を調べてみました。 “1次アクティブハイパスフィルタ“ のままでは見つかりませんでしたが、“1次のハイパスフィルタ”と“アクティブフィルタ”のそれぞれについて理解することができました。 ご指摘の通り反転増幅・非反転増幅のどちらでも問題ないのですが、神経質な性格ゆえ“反転している”ということにむず痒い感覚があるため最終的には非反転増幅で実装しようと考えております。 一点、回路で理解しきれいていない部分があるためお教え頂きたい事があります。 「新しい基準電圧(2.5V)の上に乗せる」という回路上での処理についてです。 ご提示頂いた回路図の抵抗R3(10kΩ),R4(10kΩ)により5Vの分圧を行い、2.5Vを取得していることは理解いたしました。 その2.5Vをオペアンプの+入力側に入れることで「基準電圧の上に乗せる」ということができていることが不思議で仕方ありません。 (いままで思案していた方法は次の2つでした。①「amp_out(増幅した後)に2.5Vを入力する」 、 ②「両電源オペアンプのマイナス側電源を工夫する」) 考えていた方法と全く違う(しかもより簡単な)回路で実現されていたため、どのような原理で行われているか非常に興味を持っています。 オペアンプの説明があるwebサイトなどを探してみましたが、反転増幅回路の場合は+入力側にGNDを接続しているものがほとんどでした。 下のサイトで「イマジナリショートにより-入力側と+入力側は同じ電圧として考えることができる」との文章を見つけましたが、その考えを適用すると音声信号に2.5Vをのせたあとに増幅してしまっているような気がしてなりません。 https://www.renesas.com/ja-jp/support/technical-resources/engineer-school/electronic-circuits-03-op-amps-comparator-circuit.html お時間があるときで構いませんので、お教えいただけますと幸いです。 息の検出までお考えいただきありがたい限りです。 いままで(オーディオ用パワーアンプのままプロトタイプで実装した際には)2.5V基準に上側信号と下側信号のどちらにも閾値を設定していたので条件分岐の設定にコードの行数をかけていました。 たしかに「二乗するか全波整流する」ことで閾値の設定が簡単になりますね。今回の実装ではなるべく小型に収めたいと考えているため、ソフトウェアで二乗する方法を参考にさせていただきたいと思います。 はじめの「ローパスで高周波カット」を回路に組み込むとしたら、amp_outとGNDをコンデンサで繋げることで、高周波成分をGNDに流すということですかね。 「更にローパスで均す」という使い方はわからなかったので調べてみたところ、平滑回路というものがあるそうですね。これも接続方法は同じくamp_outとGNDをコンデンサで繋げることのようですね。ご指摘どおり回路で平滑化することで、「ソフトウェアで移動平均を取るよりも即時に均された波形を」かつ「ADCのサンプリングのタイミングに影響されずに」値を取得できるかもと選択肢が増えました! ただ、息の「有る状態」と「無い状態」の識別を即時に行いたいという要件もありますので、移動平均を取らない方法での実装と比較して検討したいと思います。 ozwk様にはとてもわかりやすく説明して頂いただけでなく、手段や方法なども広げて頂き本当に助けていただいております。 おかげさまで実装したい回路・そしてシステムについてまでも実現に近づけることができております。 後ほど(日付を超えてしまうかもしれませんが)現状と経過をまとめる予定ですので、もう少しだけお付き合い頂けますと幸いです。
MasahikoHirata

2016/11/20 13:18

乙です。’定期的にサンプリングしてデジタル処理すればいいやって’そこで気が付いたのがレベルメーター用のICの動作だったわけで。質問者の希望に最小限で実現法が最短化と。
ozwk

2016/11/20 23:38

> その2.5Vをオペアンプの+入力側に入れることで「基準電圧の上に乗せる」ということができていることが不思議で仕方ありません。 GNDなんて人間が回路図上のここを0Vとすると勝手に決めてるだけです。 どこに対して何V高い低いが重要です。 例えば+-2.5V電源で動く+入力がGNDの反転増幅回路の出力は0Vを中心に増幅しますが、 これをすべて2.5Vずつオフセットすると +5V/0V電源で動く+入力が2.5Vで出力が2.5V中心に増幅する回路になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問