Saya telah mengajukan beberapa pertanyaan di sini untuk mendapatkan yang tepat, pertanyaan awal yang saya tanyakan terkait pada bagian akhir. Saya menggunakan Fritzing untuk membuat beberapa skema pemikiran awal saya, tetapi paling tidak saya perlu bantuan dengan nilai-nilai pada komponen, yang saya hanya samar-samar mengerti dan memilih apa yang tampaknya nilai-nilai yang wajar atau umum.
Pada dasarnya, saya memiliki Arduino yang memiliki 6 input analog. Menggunakan 10-bit ADC untuk membaca tegangan pada salah satu pin analog, jadi 0 = 0v, 511 = 2.5v, dan 1023 = 5v, dan semua nilai di antaranya. Itu membuat pembacaan LINEAR DC, jadi saya tidak mencari logika 1-0 di sini.
Saya mengaitkannya dengan lampu LED, dan saya ingin membuatnya merespons musik. Apa yang saya inginkan adalah resolusi maksimum dengan komponen minimum, dan saya pikir saya menggunakan komponen WAY terlalu banyak dan membuat WAY ini terlalu rumit. Mungkin mikrofon Electret bukan yang saya inginkan di sini, saya terbuka untuk hal lain. Saya lebih suka tidak menggunakan op-amp untuk menghemat ruang di PCB saya.
Yang saya inginkan adalah sensor tingkat kebisingan sederhana. Saya tidak ingin mereproduksi audio, atau memiliki kejelasan atau apa pun, tapi saya ingin, sedekat yang saya bisa:
- Perfect Silence = sedekat mungkin dengan 0v DC (stabil, bukan AC) mungkin
- Medium Noise = Sekitar 2.5v DC (stabil, bukan AC)
- Loud Noise = sedekat mungkin dengan 5v DC (stabil, bukan AC) mungkin
Saya mengerti dengan BJT bahwa yang terbaik yang bisa saya dapatkan adalah menjadi 0.6v ke 4.4v, tetapi ini cukup dapat diterima. Apa yang tidak, bagaimanapun, adalah setengah dari gelombang, 0.6v ke 2.5v. Ini sepertinya menghabiskan setengah dari resolusi saya yang tersedia tanpa alasan. Namun, jika ada pengaturan lain selain BJT yang dapat membuat saya lebih dekat ke 0v-5v, saya akan tertarik untuk mencobanya; selama itu sederhana.
Berikut ini adalah yang lebih sederhana, yang saya harap ini mungkin, tetapi membutuhkan sinyal electret untuk memiliki amplitudo yang cukup untuk menggerakkan rangkaian detektor amplop (dioda, resistor dan kapasitor) untuk mendapatkan hanya setengah positif. Saya tidak berpikir itu bisa karena penurunan maju dioda, tetapi mungkin ini dapat diatur ulang atau dilakukan sebelum tutup output? Seperti apa nilai dari amplop detector dan amplifier amplifier? Haruskah potensiometer sensitivitas ditempatkan pada sinyal, atau RE, atau RL, dan apa nilainya? Linier atau Logaritmik?
Namun, mungkin keluaran electret tidak dapat bertahan dari detektor amplop, shunt sensitivitas, dan masih menggerakkan transistor NPN. Jika tidak, ini versi yang lebih kompleks. Apakah saya harus menempuh rute ini? Apakah mendapatkan output yang saya inginkan dari rangkaian benar-benar membutuhkan semua komponen ini?
Berikut adalah beberapa pertanyaan di masa lalu yang saya tanyakan sebelum saya lebih memahami apa yang saya coba artikulasikan, untuk lebih jelasnya. Inilah yang seharusnya dilakukan oleh detektor amplop, dan saya tidak yakin bagaimana menyetelnya untuk output electret:
Jawaban:
Meskipun Anda bisa melakukan semua ini hanya dengan amplifier dan mikrokontroler (Arduino), sejauh yang saya bisa lihat, Anda menginginkan opsi analog. Saya telah mencoba membuat sirkuit yang menghasilkan level suara pada mikrofon. Kisarannya dari 0V hingga 4V. Namun, Anda dapat memutakhirkannya dengan mudah ke 0V ke 5V hanya dengan mengubah OP-AMP. Sekarang, mari kita masuk ke dalamnya;
Pertama-tama, saya telah mengganti amplifier transistor dengan OP-AMP. Inilah yang saya pikirkan;
Ini adalah penguat pembalik sederhana dengan gain 100. Berikut adalah rumus untuk menghitung gain;
Seperti yang Anda lihat, U1 mengambil sinyal input, membalikkannya dan kemudian mengalikannya dengan 100. Anda dapat mengubah R2 atau R3 dan Anda akan melihat bahwa gain dari U1 berubah. Pembalikan sinyal input tidak masalah di sini, karena Anda akan mengerti nanti. Mari kita lihat output dari amplifier ini, dan Anda akan melihat bahwa ada pertumbuhan besar pada sinyal input.
Pada grafik di atas, Anda akan melihat bahwa output memiliki tegangan offset DC 2,5 volt. Itu karena tanah virtual yang kami gunakan. Jika kita membuat ground virtual, itu artinya kita membawa ground ke level tegangan lain. Dalam hal ini kami telah memindahkannya ke 2.5 V. Dengan konfigurasi baru, kami telah membuat sesuatu yang terlihat seperti -2.5 V, 0 V, dan 2.5 V ke sirkuit. Untuk mencapai ini, saya harus membuat rel tegangan baru 2,5 volt. Karena rel tegangan itu tidak akan memasok banyak daya, (kurang dari 1 mA), mudah dibuat;
Setelah amplifikasi, kita harus meletakkan sinyal ke "detektor amplop" atau dengan kata lain, "pengikut amplop". Ini akan mendapatkan tingkat sinyal, seperti yang Anda inginkan dan seperti yang Anda tunjukkan dalam gambar di pertanyaan Anda. Berikut adalah apa yang terlihat seperti pengikut amplop dasar:
Ini terlihat hebat, bagaimanapun, perhatikan bahwa di sini, D3 adalah dioda dan turun sekitar 0,6 V dengan sendirinya. Jadi, Anda kehilangan tegangan. Untuk mengatasi ini, kita akan menggunakan apa yang disebut "super-diode". Itu super, karena drop tegangan hampir 0V! Untuk mencapai itu, kami menyertakan OP-AMP dengan dioda, dan itu saja! OP-AMP akan mengkompensasi penurunan tegangan dioda, dan Anda akan memiliki dioda yang hampir ideal;
Sekarang, ubah D3 pada sirkuit pengikut amplop di atas dengan super-dioda, dan Anda memiliki pengikut amplop yang lebih baik! Mari kita lihat hasil kita;
Kami semakin dekat. Seperti yang Anda lihat, output dari pengikut amplop, yang merupakan garis merah, dapat berubah dari 2,5 V menjadi 4 V. 2,5 V tidak bersuara, 4 V bersuara keras dan 3,25 V untuk bersuara sedang. Untuk menskalakan itu ke apa yang Anda inginkan, kami dapat mengurangi tegangan offset 2,5 V dan menskalakannya. Jadi, ketika Anda mengurangi 2,5 V, itu menjadi; 0 V untuk tanpa suara, 1,5 V adalah suara keras dan 0,75 V untuk suara sedang dan sebagainya. Setelah itu, jika Anda kalikan ini dengan sekitar 3, Anda akan mendapatkan apa yang sebenarnya Anda inginkan. 0 V tanpa suara, 2,5 V untuk suara sedang dan 5 V untuk suara keras. Singkatnya, yang kita inginkan adalah ini;
Untuk mencapai ini, kami akan menggunakan penguat diferensial atau dengan kata lain " subtractor ".
Ketika resistor, R1 = R2 dan R3 = R4 fungsi transfer untuk penguat diferensial dapat disederhanakan menjadi ekspresi berikut:
Jika Anda membuat V1 = 2.5V dan R3 / R1 rasio 3, maka Anda akan mendapatkan output yang Anda inginkan.
Berikut adalah skema lengkap yang akan melakukan apa yang Anda inginkan:
Saya telah menggunakan LM324 OP-AMP di sini untuk tujuan simulasi. Itu akan membatasi tegangan output maksimum hingga 4V. Untuk mendapatkan output rentang penuh, Anda harus menggunakan output rail-to-rail OP-AMP. Saya akan menyarankan MCP6004 . Ubah R1 dan R2 hingga Anda mendapatkan hasil yang diinginkan. Inilah yang saya dapatkan dengan simulasi:
Sekarang, ketika mengukur nilai-nilai ini dalam ADC, Anda tidak akan mendapatkan pengertian linear , sebaliknya suara lebih dipahami logaritmik, karena telinga kita mendengarnya. Jadi, Anda harus menggunakan desibel . Jika Anda tidak terbiasa dengan desibel, berikut ini adalah video tutorial yang bagus tentang itu.
Ruang yang sunyi, misalnya diukur sekitar 40 dB. Pesta di sebuah ruangan akan membuat level ruangan mencapai 100 dB, atau mungkin 110 dB. Di situs web ini , Anda dapat menemukan info hebat tentangnya, dari mana saya juga telah menyematkan gambar di bawah ini. Pikirkan tentang tingkat desibel dan bereksperimen dengan output tegangan dari rangkaian. Kemudian, hitung resolusi ADC yang Anda perlukan. Mungkin, Anda akan baik-baik saja dengan ADC 12-bit.
sumber
Anda sepertinya berada di jalur yang benar. Ini tidak mengambil banyak komponen diskrit untuk melakukan hal semacam ini. Anda mungkin tidak mempercayai saya, tetapi menggunakan op-amp dapat membuat semua ini lebih sederhana dan lebih kecil. Saya yakin Anda dapat menemukan IC yang lebih spesifik yang melakukan lebih banyak dari yang Anda butuhkan dalam paket yang lebih kecil. Aku yakin ada sebuah IC luar sana yang melakukan persis apa yang Anda butuhkan. Namun, Anda akan belajar lebih banyak jika Anda melanjutkan tanpa mereka, bahkan jika hanya untuk nilai akademik.
Anda juga dapat membuatnya lebih sederhana dengan memindahkan logika ke mikroprosesor. Deteksi amplop mudah dilakukan dalam perangkat lunak, dan tergantung pada seberapa akurat Anda perlu dan sensitivitas mikrofon Anda, Anda bahkan mungkin lolos dengan menghilangkan amplifier setelah mikrofon, dan menempatkan output langsung ke ADC. Ini tidak akan membuat Anda 0V-5V, tetapi apakah itu penting? Anda dapat mengalikannya dengan konstanta dalam perangkat lunak. Apa yang Anda kehilangan adalah keakuratan memiliki jangkauan penuh ADC, tetapi mungkin itu tidak sepenting kesederhanaan. Kamu putuskan.
sumber
Pertama, Anda tidak perlu Arduino kecuali jika Anda perlu melakukan lebih banyak pemrosesan - yang Anda inginkan hanyalah sebuah penguat (sebuah op-amp akan melakukannya, banyak sirkuit dasar di seluruh googles) untuk meningkatkan output mic dalam kisaran tersebut. 0-5v. Jika Anda tidak terlalu khawatir tentang keakuratan (seperti dalam hal ini hanya untuk kesenangan daripada pengukuran ilmiah), Anda dapat menggunakan sirkuit kliping yang cukup mendasar, menyalurkan output ke pemicu schmitt, atau menggunakan LM3914 untuk menghasilkan tampilan.
Sedikit lebih banyak kemahiran dapat diperoleh dengan membuat sirkuit AGC untuk secara otomatis meningkatkan gain naik & turun dengan tingkat rata-rata.
Apa pun, Anda mendapatkan karma positif utama dengan membuang arduino dan melakukannya analog seperti yang dimaksudkan oleh alam;)
Sunting: Kemungkinan ada banyak sirkuit "mic pre-amp" di web juga, mungkin sebuah chip SOT23 $ 0,10 untuk melakukannya untuk Anda hari ini ...
sumber