Arduino'm için ters çevirmeyen bir çıkış elde etmek için Elektret Mikrofonlu bir PNP Transistör kullanabilir miyim?


9

Sadece bir Electret Mikrofondan genel ses seviyesini okumak istiyorum. Tersine çevrilmiş bir çıkış sağlayacak NPN transistörleri ile bir dizi şema gördüm (sessiz olduğunda ~ 5V, yüksek olduğunda ~ 0V, aralarında doğrusal çalışma).

İşte bir örnek:

Basit Ses Preamp

Ancak, tersine çevrilmemiş çıkış istiyorum (doğrusal çalışma, süper sessiz giriş ~ 0V verir, süper yüksek giriş ~ 5V verir). Bunu yazılımda kolayca düzeltebileceğimin farkındayım, ancak bir şekilde bana geri döndü ve PNP transistörlü tersine çevrilmemiş bir çıkış örneği bulamıyorum.

Bunun nadir olmanın ötesinde bir nedeni var mı? Mümkünse, herkes sessizken ~ 0V ve yüksek olduğunda ~ 5V verecek bir elektret mikrofon ve PNP transistörünün şemasını sağlayabilir mi?

Ayrıca, bu kadar nadir veya istenmeyen olmasının bir nedeni var mı? NPN'ler PNP'lerden daha sık kullanılıyor gibi görünüyor, neden bu?

Düzenle

Sessizlik için 0V ve +/- Vin / 2 olan NPN preamp'tan çıkış olarak alacağım şeyde oldukça karışık görünüyordu.

Sessiz olduğunda 0V, orta ses seviyelerinde ~ 2.5V, maksimum ses seviyelerinde ~ 5V. Bu, ADC tarafından çok fazla çalışma yapmadan kolayca 'ses seviyesine' okunabilir. Ancak analog karşılaştırıcıya <0V veya> 5V gerilimleri besleyemiyorum. Yukarıdaki gibi bir zarf dedektörü ile istiyorum, ancak bu sadece 0V ila 2.5V beni alacaktı. Tam 0V ile 5V arasında değişebilir, 0V 'sessiz' ve 5V 'yüksek' olabilir, her şey doğrusal arasındadır?


Ne yazık ki, çıkış C2'nin sağ tarafından alınırsa, bu devre bir DC gerilimi üretmez. Bir AC voltajı üretecektir. Bunun nedeni kapasitörler. Kondansatörler DC voltajlarının içinden geçmesine izin vermez.
abdullah kahraman

Arduino'nun 0V-5V için 0-1023'ü okuyan 6 analog girişi vardır. AC orada aradığım şey, değil mi? Belki de Analog karşılaştırıcıya negatif voltaj geçirmemek için bir diyota ihtiyacım var?
Ehryk

Evet, ancak bir diyot kendi başına 0.6V düşecektir. Belki besleme voltajını 5V yapmaya çalışmalısınız. Besleme gerilimi "+3 ila 9 Volt" etiketli voltajdır. Sonra C2'yi çıkarın. Ardından, Q1 kollektöründeki analog değeri okuyun. Alkış, konuşma, bağır, sessiz ol, fısıltı gibi farklı ses seviyelerini deneyin ve analog okumanın değiştiğini görün. Bununla birlikte, DC değeri ile eklenen bir sinüs dalgası olacaktır.
abdullah kahraman

Sorunuzu ve yorumlarınızı okumak, arayışınızın ne istediğinizi açıkça belirtmediği anlaşılıyor. Giriş voltajı arttıkça büyüklükte azalan bir AC seviyesi istediğiniz görülüyor. Bu durumda, açıkça belirtmeniz gerekir. Eğer durum böyle değilse, lütfen bu bağlamda "0-1 mantığı aramıyorum, Arduino'nun analog girişlerinde sırasıyla 0V-5V için 0-1023 veren 10 bitlik bir ADC var" diyebilir misiniz? || ...
Russell McMahon

... DC seviyelerinden bahsediyorsanız, soru hala belirsizdir. Bir AC sinyali DC sapma noktasında ortalanır. Bu sinyal gücü ile nispeten sabittir. Çok net ve basit bir ifadeyle, giriş sinyali 0VAC'dan Max Vin AC'ye giderken çıkışın ne yapmasını istediğinizi TAMAMEN açıklayabilir misiniz?
Russell McMahon

Yanıtlar:


9

Anladığım kadarıyla, belirli bir ses seviyesine sahip bir ses olup olmadığını tespit etmenizi sağlayan bir tür ses seviyesi dedektörü yapmaya çalışıyorsunuz. Bunu, sahip olduğunuz şematikte küçük değişiklikler yaparak yapabilirsiniz. Ancak bundan önce devreyi anlamalısınız.

Bu devreyi bozalım. Her şeyden önce mikrofon ile.

resim açıklamasını buraya girin

R1, mikrofonun ihtiyaç duyduğu gücü sağlamak içindir ve buna mikrofona ağırlık verme denir. Bir mikrofon, bazen negatif ve bazen pozitif olan ve çoğu zaman değişen bir AC voltajı üretir. Bir sinüs dalgası düşünün . Ama unutmayın, bir DC gerilimi olan bazı önyargılarımız vardı. Bunu çıkarmalıyız ve amplifikatöre sadece AC voltajı vermeliyiz. Ve bunu basit, tek bir kapasitör ile yapmak kolaydır. Bir kapasitör, DC'nin geçmesine izin vermez, ancak AC'nin kolayca geçmesine izin verir. Elektret mikrofonundaki voltajın DC kısmını bloke ettik.

Şimdi amplifikatörün kendisine bakalım. Aşağıdaki şemadan başka bir şey olmadığını hayal edin:

resim açıklamasını buraya girin

Bu yapılandırmada, transistör doğrusal bölgede olmaya meyillidir. AÇIK veya KAPALI olmanın kenarında ama ikisi de değil. Tamamen AÇIK olsaydı, doymuş olurdu. Tamamen KAPALI olsaydı, hiç iletken olmazdı. Ancak ortada, doğrusal bölge denir.

Bu şekilde yapılandırıldığında, tabanına (kelimenin tam anlamıyla değil) dokunursanız, küçük bir değişiklik yaratırsanız, çıktı büyük ölçüde değişecektir. Buna amplifikasyon denir. Daha ayrıntılı bilgi için Google'a yalvarabilirsiniz.

Ya yukarıda belirtilen iki devreyi birleştirirsek. Kondansatörlü eğimli bir elektret mikrofon, sese göre küçük değişiklikler yapar. Transistör, bu küçük değişiklikleri kolayca izlenebilmeleri için yükseltir:

resim açıklamasını buraya girin

C1'i 1 uF olarak değiştirdiğime dikkat edin. 100 uF'a kadar değerleri kullanabilirsiniz. Muhtemelen elektrolitik kapasitörlere ihtiyacınız olacaktır. Ayrıca, artık bir çıkış kondansatörü olmadığına dikkat edin. Bu, ses seviyesine bağlı olarak 0 ila 5 V arasında bir çıkış voltajına sahip olacağınız anlamına gelir. Bir osiloskopunuz varsa, çıktıdaki dalga formunu görüntüleyin. Bunu yapmazsanız, analog okuma örneğin 750'den yüksekse bir LED'i yakmayı deneyin. 750'den farklı değerlerle denemeler yapın ve sonuçları bana bildirin.


Bunların çoğunu anlıyorum, teşekkürler. Şimdi bir NPN transistörü kullandığından, sessiz / giriş genliği düşük olduğunda çıkış yaklaşık ~ 5V ve yüksek / giriş genliği yüksek olduğunda ~ 0V olacaktır. Bu geri görünüyor. Doğrusal bölgede, tam olarak yukarıdaki gibi davranacak şekilde değiştirmenin bir yolu var mı, ~ 0V 'sessiz' anlamına gelir ve ~ 5V 'yüksek' anlamındadır?
Ehryk

@Ehryk Hayır, çıkış 0 ile 5V arasında bir yerde olacaktır. Bir araba sireni alıp elektret mikrofonunun yanına koyarsanız, yaklaşık 300Hz'lik bir frekansla zirveden zirveye 5Vpp büyüklüğünde bir sinüs dalgası olacaktır. 5Vpp, 5V'a gideceği ve sinüzoidal şekle sahip 0V'ye geri döneceği anlamına gelir. Göz at bu . Bir fısıltı olduğunda, zirveden zirveye genlik, konuşma nedeniyle değişen frekansta yaklaşık 1Vpp olacaktır. Bu, 1V'a gidip 0V'ye geri döneceği anlamına gelir.
abdullah kahraman

Ancak, yukarıdaki benim yorum DC ofset yok sayar.
abdullah kahraman

Sessiz için ~ 0V, yüksek ses için ~ 5V yapabileceğim bir yol var mı? Kondansatör bunu yapmaz mıydı, eğer o zaman bir şekilde dalganın negatif kısmını tersine çevirip biraz düzeltmiş olsaydım? Belki bir köprü doğrultucu / diyot köprüsü ile? ( en.wikipedia.org/wiki/Diode_bridge )
Ehryk

@Ehryk Evet, bir çıkış kondansatörü ve bir zarf dedektörü ekleyebilirsiniz. Doğru bileşen değerleriyle, ses genliğine bağlı olarak bir analog voltaj seviyesine sahip olabilirsiniz. Ancak bundan emin değilim. Denemelisin. Sonuç aldıktan sonra, okuduğunuz ADC değerine bağlı olarak yazılımda if-else koşulunu yapmanız yeterlidir.
abdullah kahraman

3

PNP kullansanız bile ortak yayıcı A sınıfı amplifikatör her zaman ters çevrilir, tek fark güç kaynağı polaritesini ters çevirmenizdir. Bir kondansatör yerine bir ses transformatörü kullanıyorsanız, sinyal fazını istediğiniz gibi değiştirebilirsiniz. Ama muhtemelen iki BJT kullanmaktan daha pahalıya mal olacak. Son sorunuzu yine de çözmek için, çıktıyı düzeltmeniz (tek bir diyotla bile) ve sonucu bir yüke (bir direnç iyi olurdu) uygulamanız ve bunu arduino analog girişine beslemeniz gerekir. Sinyali ters çevirmek için hiçbir neden yoktur.


Öyleyse en basit IC olmayan ters çevirici amplifikatör (sınıf veya ortak yayıcıdan bağımsız olarak) nedir?
Ehryk

Ortak toplayıcı, ama bu durumda kullanmak doğru değil, çünkü bir voltaj kazancına ihtiyacınız var
Felice Pollano

Voltaj kazancı gerekiyorsa ortak taban (ancak akım kazancı = 1). Sadece R1 ve mikrofonu değiştirerek bu durumda ikinci bir ters çevirmeyi ekleyebileceğinizi unutmayın. PNP gerekmez. Ancak, tersine çevirmek ya da söylememek, belirtilen sorunu ÇÖZMEZ - ses yüksekliğine bağlı olarak 1 veya 0 mantığı oluşturmak.
Brian Drummond

Bir mantık 0-1 aramıyorum, Arduino'nun analog girişleri sırasıyla 0V-5V için 0-1023 veren 10 bitlik bir ADC'ye sahiptir. Bunun için devre şeması verebilir misiniz?
Ehryk

1

Bu amplifikatör sinyali tersine çevirir, ancak ses sinyalini önemsememelisiniz. Çıkışta sahip olacağınız AC, bir kondansatör DC'yi engeller. Yani, sessiz gürültü için ~ 0V ve yüksek ses için ~ 5V diyemezsiniz. İstediğiniz bir ses seviyesi sensörü ise, kolay bir yol, çıkış kapağından sonra bir diyot ve birkaç pasif bileşen etrafında kolayca uygulanan "demodülatör" veya "tepe dedektörü" adlı bir devre eklemektir.


Bunun bir diyagramını ekleyebilir misiniz? Ayrıca, tepe dedektörü -2.5V ile 2.5V arasında değişmez mi? ~ 0V'nin sessiz olmasını ve ~ 5V'nin en gürültülü olmasını isterdim, bu nasıl başarılır?
Ehryk

0

2 aşamalı bir amplifikatör kullanarak çıkışı ikinci kez ters çevirin. ( İki aşamalı ve evirmeyen transistör amplifikasyonu hakkında daha fazla bilgi için bu sayfaya bakın. Çok anlayışlı )

resim açıklamasını buraya girin

Mevcut şemanızın çıkışına eklenen aynı değer dirençleri ve kapasitörler, aynı 2n3094 transistör, ikinci bir ters çevirme sağlar.

Ama yanılıyorsam birisi beni düzeltir, ancak şemanız basit bir önyargıya sahip bir amplifikatör gösterir, bu yüzden sessiz aralık olarak gerçekten 2.5v'ye sahip olacaksınız ve dalga formu daha fazla sesle büyüyor mu? Zirveye ± 2,5 v tepe olacak. Orta ses yüksekliği olarak 1v / 3v olurdu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.