質問編集履歴

15

質問の終了

2016/11/17 23:58

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -571,3 +571,19 @@
571
571
  このままトランジスターで増幅を行ってみようと思います。
572
572
 
573
573
  参考にしたサイトではトランジスターを二重に配置していましたが、一重でどの程度増幅されるか試してみることにします。
574
+
575
+
576
+
577
+ お教えいただいた流れとして
578
+
579
+ ①増幅率を目的の値(0~5V の0~1024を取るよう)にする
580
+
581
+ ②基準点を目的の値(2.5vの512)にする
582
+
583
+ ことで今回の目的を達成できそうです。
584
+
585
+
586
+
587
+ 今回欲している増幅器があるかについては質問内容を増幅器だけにまとめて質問し直そうと思います。
588
+
589
+ ご回答いただきありがとうございました。

14

更新

2016/11/17 23:58

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -336,7 +336,7 @@
336
336
 
337
337
  ---
338
338
 
339
- 変更点 2016.11.17
339
+ **変更点 2016.11.17**
340
340
 
341
341
  ---
342
342
 
@@ -535,3 +535,39 @@
535
535
  ・倍率が1~20倍ほどを変更できる。
536
536
 
537
537
  といった回路のアイディアをお教えいただけますと幸いです。
538
+
539
+
540
+
541
+ ---
542
+
543
+ **変更点 2016.11.18**
544
+
545
+ ---
546
+
547
+
548
+
549
+ トランジスター(2SC1815)で増幅を行っているサイトを新たに参考にしました。
550
+
551
+ [【きむ茶工房ガレージハウス】音センサー(マイク)でLEDを点灯させます](http://www.geocities.jp/zattouka/GarageHouse/micon/Arduino/ECM/ECM.htm)
552
+
553
+
554
+
555
+ その結果、電圧の分圧をやっと理解しまして、次のようにすることで2.5V(512)の基準点を安定して取ることができました。
556
+
557
+
558
+
559
+ ![イメージ説明](35ea23754c46e6bf7b720085401e8333.jpeg)
560
+
561
+
562
+
563
+ ![イメージ説明](9446d96b40af999b56da1d8766428cc6.jpeg)
564
+
565
+
566
+
567
+
568
+
569
+ 基準点を取れてから試して見たところ、やはり増幅せずに使うには信号が小さすぎるようです。
570
+
571
+ このままトランジスターで増幅を行ってみようと思います。
572
+
573
+ 参考にしたサイトではトランジスターを二重に配置していましたが、一重でどの程度増幅されるか試してみることにします。

13

更新

2016/11/17 16:22

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -398,7 +398,7 @@
398
398
 
399
399
  ■現状
400
400
 
401
- どうしても理解が進まず、どのような手順で進めていくかがわかっていない状態です。
401
+ どうも理解が進まず、どのような手順で進めていくかがわかっていない状態です。
402
402
 
403
403
 
404
404
 
@@ -408,11 +408,15 @@
408
408
 
409
409
  >>±約2Vの範囲で値が変化 (読み取った値は100~900の間で変化)
410
410
 
411
- ということは検証でき、この回路であれば
411
+ ということは検証できました。
412
+
413
+
414
+
415
+ また、この回路であれば
412
416
 
413
417
  >>- 3.強い振動の後に、コンデンサマイクの値がすぐに戻らない
414
418
 
415
- という問題もきませんでした。(抵抗R1を2.2kΩにしただけでは解決しませんでした。)
419
+ という問題もきませんでした。(抵抗R1を2.2kΩにしただけでは解決しませんでした。)
416
420
 
417
421
 
418
422
 
@@ -434,9 +438,11 @@
434
438
 
435
439
 
436
440
 
441
+
442
+
437
443
  ■これからの予定
438
444
 
439
- LM386のオペアンプを使うと簡単にできましたが、やはり増幅率(利得)が大きすぎて用途に合わないようです。
445
+ LM386のオペアンプを使うと簡単に参考サイトの処理は実装できましたが、やはり増幅率(利得)が大きすぎて用途に合わないようです。
440
446
 
441
447
  10倍ほどあれば十分だと思うのですが、1-10倍のレールtoレールのオペアンプなどは市販されていないのですかね。
442
448
 
@@ -468,6 +474,12 @@
468
474
 
469
475
 
470
476
 
477
+ ためしに③まで試してみた(2.5Vを取れなかったので実際には3.3Vを接続の状態で実装)ところ、たしかにArduinoのA0で得られる値の基準点が上がりました。
478
+
479
+ しかし、接続した後に2.5Vを排除したところ、基準点は上がったままの状態でした。推測ではあるのですが、MIC1もC2もどちらもコンデンサだと思うので、GNDとしての0点を正しく設定できておらず基準点が定まっていないように思われます。参考サイト通りにアンプを接続した状態でC2(-)の値を測ると0を基準点としていましたが、そうでない状態でC2(-)の値を測ると基準点がずれてしまいました。
480
+
481
+
482
+
471
483
  ●増幅する場合
472
484
 
473
485
  →おそらく3倍ほどに増幅できれば十分だと考えています。そもそもそのようなオペアンプなどはあるのでしょうか。

12

更新した

2016/11/17 15:53

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -426,6 +426,8 @@
426
426
 
427
427
  ではなく、0~1024の間で変化させたいのですが、参考サイトの回路のどの部分でそういった処理を行っているのかが不明です。
428
428
 
429
+ また、なぜ参考サイトでは100~900と範囲を狭めているのでしょうか。なるべく広く取得したほうが、レベル分けを細かくできるかと思いますが・・・
430
+
429
431
 
430
432
 
431
433
  ●疑問点3 : 増幅率を200から20倍に変えることで、基準点が500だったものから500と少しまであがってしまうのですね。どこでそのような処理になっているかわかっておりません。
@@ -503,3 +505,21 @@
503
505
  >>(中間値は関係なく)無音状態を’ニュートラル’として考えた場合、これを最低値として考え、最大(最大の音)の値の間でデータが変動すれば目的が達せられるのでは?
504
506
 
505
507
  →基準点を512に上げるのではなく、基準点を0のままでコンデンサ側の電圧上昇のみを取得したほうがよい という認識で間違いないでしょうか?
508
+
509
+
510
+
511
+ ---
512
+
513
+
514
+
515
+ 大変恐縮ですが、
516
+
517
+ コンデンサマイクの値を取得する回路で、
518
+
519
+ ・基準点(ニュートラル時)が2.5V(512)になる。
520
+
521
+ ・0~5V (0~1024)を取る。
522
+
523
+ ・倍率が1~20倍ほどを変更できる。
524
+
525
+ といった回路のアイディアをお教えいただけますと幸いです。

11

変更

2016/11/17 07:56

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -356,6 +356,8 @@
356
356
 
357
357
  (-の値が出てないだけで、実際は0が中心になっている!?)
358
358
 
359
+ (ただし、時間が経つと基準点が上がってしまい、20分ほどで120が基準点となっていました・・・)
360
+
359
361
  ![コンデンサ→増幅なし](b0a8e305d3927bdcc8cca3b89d4d6350.jpeg)
360
362
 
361
363
 

10

更新

2016/11/17 07:51

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -461,3 +461,43 @@
461
461
  ④???
462
462
 
463
463
  ![イメージ説明](4d6e33b07eea65a4adedd14a56bfc5ac.jpeg)
464
+
465
+
466
+
467
+ ●増幅する場合
468
+
469
+ →おそらく3倍ほどに増幅できれば十分だと考えています。そもそもそのようなオペアンプなどはあるのでしょうか。
470
+
471
+
472
+
473
+ ---
474
+
475
+
476
+
477
+ また、理解不足でわからない点についてまとめます。
478
+
479
+
480
+
481
+ >>ADCの電源範囲内に信号が収まるように回路を用意
482
+
483
+ →増幅率が私の目的にあったオペンプを用意する という意味でしょうか
484
+
485
+
486
+
487
+
488
+
489
+ >>貴殿のような形ではなく(波形を求める)恐らく、低速の処理で’音声’が入力された時の電圧の累積(コンデンサーマイク側)の電圧の低下(音が入ると電圧が低下して、接続コンデンサの反対側の電圧が上がる)これをADCで量子化(デジタル化)した値でLEDを点灯してますね。
490
+
491
+ →ArduinoのアナログピンではADCでデジタル化された値のみしか取得できないはずなので、私も最終的にはデジタル化された値をつかって処理をする予定です。これは低速の処理なのですかね?
492
+
493
+
494
+
495
+ >>従って、抵抗値はカタログデータ通りのRL2.2Kで、そして波形でなければADCの値を基にレベルを示せば希望している結果になるかと
496
+
497
+ →音声信号解析などを行う予定ではないので、基準点からの電圧の増減を取れれば目的が実現できると考えています。
498
+
499
+
500
+
501
+ >>(中間値は関係なく)無音状態を’ニュートラル’として考えた場合、これを最低値として考え、最大(最大の音)の値の間でデータが変動すれば目的が達せられるのでは?
502
+
503
+ →基準点を512に上げるのではなく、基準点を0のままでコンデンサ側の電圧上昇のみを取得したほうがよい という認識で間違いないでしょうか?

9

更新

2016/11/17 07:49

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -440,6 +440,24 @@
440
440
 
441
441
 
442
442
 
443
-
443
+ ---
444
-
444
+
445
- 本当に申し訳ないのですが、MasahikoHirata様にお教えいただいた手順理解しきれませんでした。
445
+ 本当に申し訳ないのですが、MasahikoHirata様にお教えいた手順理解しきれませんでした。
446
+
447
+
448
+
449
+ 整理してみましたので、補足頂けますと幸いです。
450
+
451
+
452
+
453
+ ●増幅しない場合
454
+
455
+ ①R1はマイクのデータシートにも書いてある通りRL2.2kΩで固定
456
+
457
+ ②電源は5Vを仕様
458
+
459
+ ③C2(-)に2.5ボルト電源から10KΩで接続
460
+
461
+ ④???
462
+
463
+ ![イメージ説明](4d6e33b07eea65a4adedd14a56bfc5ac.jpeg)

8

更新

2016/11/17 07:37

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -414,11 +414,11 @@
414
414
 
415
415
 
416
416
 
417
- また、この参考サイトの回路では、コンデンサC2の後に電源・抵抗を繋げていないようですが、オペアンプによって基準点(ニュートラル時の電圧)を引き上げているのでしょうか。
417
+ ●疑問点1 : この参考サイトの回路では、コンデンサC2の後に電源・抵抗を繋げていないようですが、オペアンプによって基準点(ニュートラル時の電圧)を引き上げているのでしょうか。
418
-
419
-
420
-
418
+
419
+
420
+
421
- また、私の用途としては
421
+ ●疑問点2 : 私の用途としては
422
422
 
423
423
  >>読み取った値は100~900の間で変化
424
424
 
@@ -426,6 +426,10 @@
426
426
 
427
427
 
428
428
 
429
+ ●疑問点3 : 増幅率を200から20倍に変えることで、基準点が500だったものから500と少しまであがってしまうのですね。どこでそのような処理になっているかわかっておりません。
430
+
431
+
432
+
429
433
  ■これからの予定
430
434
 
431
435
  LM386のオペアンプを使うと簡単にできましたが、やはり増幅率(利得)が大きすぎて用途に合わないようです。
@@ -433,3 +437,9 @@
433
437
  10倍ほどあれば十分だと思うのですが、1-10倍のレールtoレールのオペアンプなどは市販されていないのですかね。
434
438
 
435
439
  (秋月電子のwebサイトを見ましたが、それらしいものが見当たりませんでした。また、あまりに種類が多すぎて適切なものを選択できる自身もありませんでした。)
440
+
441
+
442
+
443
+
444
+
445
+ 本当に申し訳ないのですが、MasahikoHirata様にお教えいただいた手順が理解しきれませんでした。

7

更新

2016/11/17 07:22

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -336,9 +336,23 @@
336
336
 
337
337
  ---
338
338
 
339
-
339
+ 変更点 2016.11.17
340
+
340
-
341
+ ---
342
+
343
+
344
+
345
+ 参考サイトの回路を試してみました。
346
+
347
+
348
+
349
+ ![イメージ説明](4ccdd71a14236c45cd680fd9ac7b4172.png)
350
+
351
+
352
+
353
+
354
+
341
- 増幅なし
355
+ 増幅なし
342
356
 
343
357
  (-の値が出てないだけで、実際は0が中心になっている!?)
344
358
 
@@ -350,7 +364,7 @@
350
364
 
351
365
 
352
366
 
353
- オペアンプ LM386-N1 による200倍 (参考サイト通り)
367
+ オペアンプ LM386-N1 による200倍 (参考サイト通り)
354
368
 
355
369
 
356
370
 
@@ -366,10 +380,56 @@
366
380
 
367
381
 
368
382
 
369
- オペアンプ LM386-N1 による20倍
383
+ オペアンプ LM386-N1 による20倍
370
384
 
371
385
  コンデンサを外して倍率を200→20倍に変更
372
386
 
373
387
 
374
388
 
375
389
  ![イメージ説明](c640cbddb0c2789cd3795780dffd8d92.jpeg)
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+ ■現状
398
+
399
+ どうしても理解が進まず、どのような手順で進めていくかがわかっていない状態です。
400
+
401
+
402
+
403
+ 参考サイト通りに回路を組むことで、
404
+
405
+ >>約2.5V(図の縦軸512)を中心とした
406
+
407
+ >>±約2Vの範囲で値が変化 (読み取った値は100~900の間で変化)
408
+
409
+ ということは検証でき、この回路であれば
410
+
411
+ >>- 3.強い振動の後に、コンデンサマイクの値がすぐに戻らない
412
+
413
+ という問題も置きませんでした。(抵抗R1を2.2kΩにしただけでは解決しませんでした。)
414
+
415
+
416
+
417
+ また、この参考サイトの回路では、コンデンサC2の後に電源・抵抗を繋げていないようですが、オペアンプによって基準点(ニュートラル時の電圧)を引き上げているのでしょうか。
418
+
419
+
420
+
421
+ また、私の用途としては
422
+
423
+ >>読み取った値は100~900の間で変化
424
+
425
+ ではなく、0~1024の間で変化させたいのですが、参考サイトの回路のどの部分でそういった処理を行っているのかが不明です。
426
+
427
+
428
+
429
+ ■これからの予定
430
+
431
+ LM386のオペアンプを使うと簡単にできましたが、やはり増幅率(利得)が大きすぎて用途に合わないようです。
432
+
433
+ 10倍ほどあれば十分だと思うのですが、1-10倍のレールtoレールのオペアンプなどは市販されていないのですかね。
434
+
435
+ (秋月電子のwebサイトを見ましたが、それらしいものが見当たりませんでした。また、あまりに種類が多すぎて適切なものを選択できる自身もありませんでした。)

6

図の追加

2016/11/17 07:18

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -319,3 +319,57 @@
319
319
  }
320
320
 
321
321
  ```
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+ ---
338
+
339
+
340
+
341
+ 増幅なし
342
+
343
+ (-の値が出てないだけで、実際は0が中心になっている!?)
344
+
345
+ ![コンデンサ→増幅なし](b0a8e305d3927bdcc8cca3b89d4d6350.jpeg)
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+ オペアンプ LM386-N1 による200倍 (参考サイト通り)
354
+
355
+
356
+
357
+ 参考サイト
358
+
359
+ [Arduinoで遊ぼう - エレクトレット・コンデンサ・マイクでオーディオレベルメータを作る](http://arms22.blog91.fc2.com/blog-entry-284.html)
360
+
361
+ ![イメージ説明](815b58ee0669d7347be773c8855cc9ba.jpeg)
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+ オペアンプ LM386-N1 による20倍
370
+
371
+ コンデンサを外して倍率を200→20倍に変更
372
+
373
+
374
+
375
+ ![イメージ説明](c640cbddb0c2789cd3795780dffd8d92.jpeg)

5

目的の修正

2016/11/17 07:05

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -152,7 +152,7 @@
152
152
 
153
153
  試したところ、
154
154
 
155
- 手元にある小型のコンデンサマイクではこの症状になり、中型のコンデンサマイクでは問題なく値が元に戻りました。
155
+ 手元にある小型のコンデンサマイクではこの症状になり、中型のコンデンサマイクでは問題なく値が元に戻りました。(本当に使いたいのは小型のマイク"WM-61M相当品"です。)
156
156
 
157
157
 
158
158
 

4

追加

2016/11/14 05:39

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  そのため、アンプによる増幅をしてしまうと大きな振幅を判別できず、音と振動の区別が難しくなると考えています。
70
70
 
71
- 参考サイト通りにアンプ(オーディオアンプIC LM386N-1)を入れて20倍の増幅率で実装しましたが、息を吹きかけると0-5vの範囲の振幅では波形が収まらず、波形の上が5vまたは下が0vに達している箇所がありました。
71
+ 参考サイト通りにアンプ(オーディオアンプIC LM386N-1)を入れて20倍の増幅率で実装しましたが、息を吹きかけると0-5vの範囲の振幅では波形が収まらず、波形の上が5vまたは下が0vに達している箇所がありました。(「増幅率が大きすぎて”クリップする”」と呼ばれるようですね)
72
72
 
73
73
 
74
74
 

3

質問の修正

2016/11/14 01:18

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -68,12 +68,14 @@
68
68
 
69
69
  そのため、アンプによる増幅をしてしまうと大きな振幅を判別できず、音と振動の区別が難しくなると考えています。
70
70
 
71
- 参考サイト通りにアンプ(オーディオアンプIC LM386N-1)を入れて20倍の増幅率で実装しましたが、息を吹きかけると0-5vの範囲の振幅では波形が収まりませんでした。
71
+ 参考サイト通りにアンプ(オーディオアンプIC LM386N-1)を入れて20倍の増幅率で実装しましたが、息を吹きかけると0-5vの範囲の振幅では波形が収まらず、波形の上が5vまたは下が0vに達している箇所がありました。
72
72
 
73
73
 
74
74
 
75
75
  Arduinoでアナログ値を読み取れるようなので、その読み取った値をソフトウェアで増幅処理することもできるのかな?と考えています。
76
76
 
77
+ (増幅回路はアナログ値のまま増幅してくれることに意味があると思うので、読み取った後の値を増幅することは無駄かと思いますが。)
78
+
77
79
 
78
80
 
79
81
  これらを踏まえて、アンプを入れずにArduinoのアナログ回路で読み込むことを選択しましたが、アンプを入れないことによる弊害などがあるようでしたらご指摘頂けますと幸いです。

2

タイトルの変更

2016/11/14 01:09

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
@@ -1 +1 @@
1
- 電子回路 マイクから値を取得したい Arduino
1
+ 電子回路 コンデンサマイク値を取得したい Arduino アンプ実装の効果は?
test CHANGED
@@ -179,3 +179,141 @@
179
179
  強く吹きかけた場合(おおよそ2秒ほどで0に戻ります)
180
180
 
181
181
  ![強く吹きかけた場合](ef90921a59aaf691d7de5f618a458b45.jpeg)
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+ ---
196
+
197
+
198
+
199
+ Arduinoのプログラム
200
+
201
+
202
+
203
+ ```c
204
+
205
+
206
+
207
+ //SPI通信で必要な部分
208
+
209
+ #include <SPI.h>
210
+
211
+
212
+
213
+ //データを入れる配列を用意
214
+
215
+ int MicData;
216
+
217
+
218
+
219
+ int counter = 0;
220
+
221
+ int hosei = 0;
222
+
223
+ long sum = 0;
224
+
225
+
226
+
227
+ ////////////
228
+
229
+ //初期設定//
230
+
231
+ ////////////
232
+
233
+
234
+
235
+ void setup()
236
+
237
+ {
238
+
239
+ Serial.begin(9600);
240
+
241
+ Serial.println("\r\nStart");
242
+
243
+ delay(100);
244
+
245
+ }
246
+
247
+
248
+
249
+ void loop()
250
+
251
+ {
252
+
253
+ MicData = analogRead(0);
254
+
255
+
256
+
257
+ //マイクの基準点を補正するために、キャリブレーションを行う
258
+
259
+ if (counter < 200){
260
+
261
+ //はじめはなにもしない
262
+
263
+
264
+
265
+ //カウントアップする
266
+
267
+ counter ++;
268
+
269
+ }else if(counter < 300){
270
+
271
+ //合計を計算していく
272
+
273
+ sum = sum + MicData;
274
+
275
+
276
+
277
+ //カウントアップする
278
+
279
+ counter ++;
280
+
281
+
282
+
283
+ }else if(counter == 300){
284
+
285
+ //補正値を計算する
286
+
287
+ //合計値から平均を求める
288
+
289
+ hosei = 0 - sum / 100;
290
+
291
+
292
+
293
+ //カウントアップする
294
+
295
+ counter ++;
296
+
297
+
298
+
299
+ }
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+ //500が基準となるように補正する
308
+
309
+ MicData = MicData + hosei;
310
+
311
+
312
+
313
+
314
+
315
+ Serial.println( (MicData));
316
+
317
+ }
318
+
319
+ ```

1

質問内容のみやすさの向上

2016/11/14 01:04

投稿

kt.tk.co
kt.tk.co

スコア27

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- はじめに
1
+ はじめに
2
2
 
3
3
  電子回路をはじめたばかりで、目的を達成できず試行錯誤しております。
4
4
 
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- 目的
11
+ 目的
12
12
 
13
13
  - マイクから息を検出する
14
14
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- 現在、課題としてわからないのは次の3つです
21
+ 現在、課題としてわからないのは次の3つです
22
22
 
23
23
  - 1.アンプ(増幅器)は不要であるか?
24
24
 
@@ -38,9 +38,11 @@
38
38
 
39
39
 
40
40
 
41
- 今回実装した回路の回路図が以下になります
41
+ 今回実装した回路の回路図が以下になります
42
42
 
43
43
  ![実装回路図](3ec1753388e0292878ca8fe9805b7287.jpeg)
44
+
45
+
44
46
 
45
47
 
46
48