先日、友達にArduinoにコンデンサマイクをつないで使いたいと相談されました。マイクのような微小信号の増幅には一般的にオペアンプが使われます。
実は私オペアンプ恐怖症でオペアンプを見るだけで拒絶反応が出ます。というのも高校の頃公式をめちゃくちゃ覚えさせられて嫌いになっただけなんですけどね。オペアンプ自体が便利っていうのはよくわかりますし、授業の実習でつかったこともあります。しかしながら、自主的に使ったことがありませんでした。
マイク信号の増幅にはトランジスタでも行けそうですが、ここは一つオペアンプを使ってやろうと立ち上がったのが本件のきっかけです。
要件
どうやら秋月のコンデンサマイクをArduinoに接続し、パソコンに取り入れたいらしいです。
マイクの微小信号を増幅するために今回はオペアンプを使います。
回路
増幅の前にマイク単体で動くかを確認しましょう。マイクをオシロスコープにつなぎます。(1Kの負荷抵抗が必要です。)
写真を取り忘れましたが動きを確認できました。手をたたくと波形が触れます。しかし、5mV=0.005Vほどしかありません。しかしながらArduinoは5Vで動作します。ADCの精度は10Bitなので5V/1024でだいたい5mVの分解能を持ちます。このままでは生のマイク信号を扱うことができそうにありません。増幅して5mVを5Vにしましょう!(この増幅度を設計するのがけっこう大変なんですけどね)
とはいってもアペアンプの使い方がわかりません。公式?覚えてないです...
巨人の肩に立つ、ということで先人の研究をみます。
こんな回路なんですね。
実験に使ったもの
パーツ名 | 型番 | 参考URL |
---|---|---|
汎用オペアンプ | 2904D | http://akizukidenshi.com/catalog/g/gP-01810/ |
コンデンサマイク | C9767 | http://akizukidenshi.com/catalog/g/gP-01810/ |
抵抗 | 10K | 適宜 |
抵抗 | 100K | 適宜 |
抵抗 | 3.3K | 適宜 |
抵抗 | 1K | 適宜 |
積層セラミックコンデンサ | 0.1uF | 適宜 |
積層セラミックコンデンサ | 4.7uF | 適宜 |
組んでみる
動きません。
何回組んでも何回やっても動きません。配線ミス?断線?パーツが壊れた?電源がおかしい?いろんな可能性を探りましたがダメそうです。ひとまずこの方の回路はおいておいて他の回路を見てみます。
ここにコンデンサマイクを使ったオペアンプの使用例がありました。手元にはLMC662がありませんでしたが、他のでも多分行けるはずなので手持ちの汎用オペアンプの2904Dを使用しました。また、先程の回路では利得が10倍、100倍となっていましたがそんなにいらないので抵抗値を調整した単段100倍としました。さらにマイクよりのカップリングコンデンサの追加などいくつかの微細な修正をしました。 取り急ぎ手書きの回路図です。汚くてすみません。
結果
動きました。良かったです。前の回路は見た感じ間違っていなかったので何がいけなかったのかよくわかりませんがひとまず動いてよかったです。
もっとアナログ回路勉強してデジタルに頼らないようにしたいですね...
この回路を使えばArduinoでADCしてパソコンへシリアル通信でデータを送信し、ProcessingとかUnityとかで現実世界の音を使った作品を作れそうですね。面白そうなので誰か作ってみてください。
今回は短いですがそんな感じです。