Şemanız hakkında:
Her şey iyi görünüyor, R2'yi 10k veya hatta 100k'ye yükseltebilirsiniz, MOST'un kapasitesi çok küçüktür, FAN, muhtemelen 1M'de bile MOST'daki kapanma gecikmesinden çok daha fazla eğirme ataletine sahip olacaktır. Bu şekilde 100R'nizin konumu önemsizdir ve üzerindeyken hiçbir mA'yi boşa harcamazsınız. Eğer uC'yi sıfırlamada asla tutmazsanız, teknik olarak hiç gerekli değildir, çünkü uC'niz aktif olarak yüksek veya düşük çeker.
PWM sinyali için, veri sayfasının 12V'a kadar harici bir çekmeye izin verip vermediğini görebilirsiniz, ancak her iki şekilde de çok fazla fark yaratacağından şüpheliyim.
Gürültü hakkında:
DÜZENLEME: KHz için planınızı yanlış okudum, eğer düşünürseniz aptalca, Hz. Hikayemin bir kısmı biraz değişecek (örneğin dijital çalışma için MHz'ye ihtiyaç duyma hakkında konuşma), ancak genel fikir hala var.
Tüm yazıyı olduğu gibi bırakacağım, ancak 30kHz gürültülü 100Hz sinyal için,> 5MHz gürültülü 100kHz yerine (ayrıca gerçekten mantıklı değildi, değil mi?), Kapasitörlerle etkileşime giren dirençleri artırabilirsiniz. ve kapasitörleri 50 ila 100 kat artırın. Bu, tüm örneklerde size bir faktör 1000 daha düşük filtreleme frekansı sağlayacaktır. Ancak, 30kHz 100Hz'den çok uzakta olduğu için, daha keskin kenarlar veya ilgilendiğiniz sinyale daha hızlı yanıt için kapasitörleri sadece 10 ila 20 faktör kadar arttırmak da iyidir.
Bu nedenle, bu yayını yüksek frekanslar için yazılmış olarak düşünün ve fikirleri ölçeklendirin, böylece uygulamalarını çok daha kolay hale getirin! (Özellikle 3'te dijital ret.)
Düzenleme Sonu
Gürültü azaltma yöntemleri ile çalışmak için böyle güzel bir kullanım örneği yaptığınızdan, durumunuza uygun olanı yapmaya çalışacağım.
Okuyan herkese dikkat edin:
Bu sadece dijital bir sinyaldeki gürültü ile ilgilidir
Dijital bir sinyalde, yalnızca "açık" ve "kapalı" ile ilgilendiğiniz sadece iki voltaj olduğunu varsayabilirsiniz. Aradaki her şey anlamsızdır ve gürültüye veya yanlışlığa aittir. Analog bir sinyalde, her voltaj seviyesi hakkında bilgi sahibi olmanız ve C, L, vb.Yüklerle gerçek filtreleme yapmanız gerekir.
Sinyalinizdeki bir sorun, yüksek seviyedeki negatif gürültü yükselmelerinin ve düşük seviyedeki pozitif gürültü yükselmelerinin birbirine çok yaklaşmasıdır, bu nedenle ayarlanabilir seviyeye sahip basit bir standart tetikleyici, asla asla alamayacağınızı garanti edemez. Şaşkın.
Seçenekleriniz:
- Yanlılığı Değiştirin
- Voltaj Seviyelerini Değiştirme
- "Yavaş" Histeresiz ekle
- Gürültüyü Filtrele
1. Yanlılığı Değiştirin:
Pozitif çok düşük negatif ani artışlara sahiptir, çünkü pull-up'ınız gürültüden kazanamaz. Deneyebileceğiniz en kolay şey bu direnci azaltmaktır. Bunun sadece kapalı sinyal üzerindeki ani artışları artırma riski vardır, bu yüzden her zaman işe yaramayabilir. Ancak basit bir histerezis oluşturmak için sivri uçlar arasında biraz boşluk bırakması çok olasıdır.
2. Voltaj Seviyelerini Değiştirin
Fan izin veriyorsa, Tako'yu daha yüksek bir voltaj seviyesine değiştirebilir ve bir ara durum ekleyebilirsiniz:
bu devreyi simüle et - CircuitLab kullanılarak oluşturulan şematik
Şimdi, yüksek ve düşük ani yükselmeler arasında MOST'un her zaman açık olduğundan emin olmak için, negatif ani artışlar olsa ve her zaman kapalı olsa bile, pozitif ani artışlar olsa bile, yeterli alan olabilir. Yeni durumda ayar noktasını elde etmek için bazı diyotlar, zenerler veya dirençler gerekebilir, ancak negatif sinyaldeki sivri oldukları yerde kalırsa, MOSFET'i tetiklememelisiniz, sürece siz 2V altında kapı eşiği olan bir tanesiyle değiştirin.
3. "Yavaş" Histeresiz ekleyin:
Bu, sivri bir gürültü sinyalinin en az ilgilendiğiniz sinyalden daha büyük bir büyüklükte olduğunu bildiğinizde yaygın olarak kullanılan bir numaradır. Sinyali biraz geciktirir, bu nedenle tam anın olduğu durumlarda kullanılamaz. açma / kapama değişikliği önemlidir.
Ancak, sadece şeklini veya frekansını bilmek istediğiniz bir sinyal için, bu çok sağlam bir yöntemdir. Temel olarak eşiği geçen bir voltaj olduğunda tetiklemeye başlar, ancak bu eylemi sadece orada kaldığında tamamlar. Bir tane inşa etmenin birçok yolu var.
Bunu denetleyicide yapabilirsiniz (bileşen sayımında en kolay olanı): Bir kanatta tetikleyebilir, daha sonra gürültü ani yükselmeleri arasındaki yüksekliği görmek için yeterli hızda biraz daha fazla değer örnekleyebilirsiniz, ancak düşük bir sürenin eksikliğini karıştırmayın. Ardından, sinyal ve gürültünüzün bilgisine dayalı olarak önceden tanımlanmış bir karar verirsiniz. Örneğin, 10MHz'de örnekleme yapabiliyorsanız, 50 örnek yakalayabilir ve çoğunluk kuralıyla giderseniz 100kHz'lik en yüksek frekansın göz ardı edilmeyeceğinden emin olabilirsiniz. Yani: aslında düşük olması için en az 25'in düşük olması gerekir. Sivri uçlarınız sadece çok incedir ve çoğu zaman orijinal sinyaldir, bu yüzden işe yarayabilir, ancak çoğunluğun sayısı ayarlanabilir. Bu, 1MHz ve 6 veya 7 örneklerle de çalışacaktır, ancak gerçek bir çoğunluktan daha az olacaktır, bu nedenle yine bazı riskler olabilir.
Harici olarak da yapabilirsiniz:
Ama zaten basit bir filtre eklemekten çok daha karmaşıktır, özellikle sonuca zaten girişinde bir miktar histerezisi olan bir uC ile baktığınızda. Ama düşünmek eğlenceli, hadi:
bu devreyi simüle et
U1, uygun herhangi bir Op-Amp veya Kompresördür. Rakipler genellikle daha iyi salınım ile daha iyi anahtarlayıcılardır, ancak alt MHz için iyi ray / ray salınımına sahip bir OpAmp kolayca yapabilir.
Bu tip histerezis, en az bir direnç daha az olacak şekilde inşa edilebilirken, bunun açıklanması daha kolaydır ve bu şekilde değiştirilmesi daha kolaydır.
İlk önce kapasitör olmadan hayal edin:
İlk olarak, direnç bölücünün U1'in çıkışından etkilendiğine bakın, 20kOhm görünen dirençle biraz daha düşük çekecektir. Diyelim ki U1'in pozitif girişi, çıkışı 0 olduğunda aşağı doğru yuvarlanan 1.1V'luk bir voltaj ve çıkışı 5V olduğunda yuvarlanan 3.9V'luk bir voltajdır.
Kararlı durum başlatma Tako Girişi yüksekse, girişin Tako'ya ters çevrilmesi nedeniyle U1'in çıkışı düşük olacaktır. Böylece, negatif giriş, yine ekstra çekme direnci nedeniyle, yaklaşık 2.3V olacaktır. Pozitif giriş sadece 1,1V olduğundan, negatif girişin voltajı daha düşük görmesi ve çıkışın ters çevrilmesi için girişin 2,2V'un altına düşmesi gerekir.
Çıkış ters çevrildiğinde, negatif giriş 3.6V görecektir (bu anda giriş sinyali 2.2V olduğundan, U1 çıkışı 5V'dir, bu nedenle ortaları, 10k dirençler tarafından yapılır) yaklaşık 3.6V'dir, ancak pozitif giriş 1.1V'dan 3.9V'a çevrilmiş olacak, bu nedenle negatif hala pozitif girişin altında ve çıkış 5V kalacak.
Sinyal şimdi hızlı bir şekilde "iptal" edilir ve geri dönerse, U1 çıkışı hızlı bir şekilde tekrar geri döner, ancak daha sonra ani zaten 2.2V'un altına düşmek zorunda kaldı, bu yüzden bu hiç yoktan iyidir.
Sinyal 0'a inerse, istikrarlı durum sadece daha güçlü hale gelir, negatif giriş 2.5V'a düşecektir (FAN'ın takosunun aşağı çekilecek kadar güçlü olduğunu varsaydığımız için) ve pozitif yaklaşık 3.9'da duracaktır. V.
Şimdi çıkışın diğer yöne dönmesi için sinyalin 2.7V üzerine çıkması gerekiyor. Büyük olasılıkla sivri uçlarınızın% 95'i zaten göz ardı edilecektir.
Kondansatörün eklenmesi:
Kondansatör ile gelen sinyalin, kondansatörü şarj etmek veya boşaltmak için yeterli süre için yeterli enerji sağlaması gerekir. Aslında bu zaten bir RC filtresidir. Hızla daralan ve sonra toparlanan herhangi bir ani, kondansatörü deşarj edemez.
C'nin değeri elbette kaynak sinyaline ve gürültü sinyaline bağlıdır. 100kHz kaynak sinyali için top park edilmiş 510pF'ye karşı en fazla 1us spike süresi var, ama gerçekten çok fazla matematik yapmadım, sadece RC-zaman tabanlı bir bağırsak hissi bu işe yarayacak kadar yakın olabilir.
4. Gürültüyü Filtreleyin
Bu biraz bir analog sinyali filtrelemek gibidir. Önceki bölümde anlatıldığı gibi basit bir RC ağı kullanabilirsiniz:
bu devreyi simüle et
Gürültü artışları 1us veya daha az olduğu için, RC zamanı 5us olduğu için kondansatördeki voltajda çok önemli bir değişiklik yapamazlar. Bu, ani yükselişlerdeki enerjinin ortalamaya indirgeneceği anlamına gelir. Sivri uçlarda yüksek tepeler ve düşük düşüşler gördüğünüz için ortalamalar 0V ve 5V'ye çok yakın olabilir, ancak bu sadece daha iyi resimlerle veya sadece bir deneyle söylenebilir. Bir uC pinine beslediğiniz için, RC zamanı muhtemelen yüksek veya düşük olarak görmek için yeterli olacaktır. Bu, çekme direncinin neden olduğu deşarjdan daha yavaş şarj nedeniyle küçük bir bozulma verecektir. Değerlerde bir miktar değişiklik yapılması ihmal edilebilir bir sonuç verebilir.
Bu yeterli değilse, daha fazla bileşen ekleyebilirsiniz, ancak baskın gürültünüz sinyalinizden en az 10 kat daha hızlı olduğunda çok hızlı bir şekilde aşırıya kaçıyorsunuz.
Bazı daha yüksek frekanslı yanları, hatta 10uH'yi düzeltmek için dirençle seri olarak 4.7uH indüktör ekleyebilirsiniz.
Ama dürüst olmak gerekirse, "onu bir uC'ye beslemek" durumunda, türünüze ait bir sinyalde L'leri denemenin tek nedeni, R'nin büyük, C'nin küçük ve L'nin yumuşatmaya yardımcı olduğu bir denge bulmaktır. Bazı kanatlar, böylece R2 / R1 yükselme ve düşme zamanındaki farkı görmezden gelebilecek kadar küçük olacaktır. 33k R1, 150pF C ve 56uH R1 ile seri halinde bir L gibi. Ya da belki de indüktör yerine bir ferrit boncuk, biraz sivri uçlarınızın keskinliğine bağlıdır.
Ama zaten aşırı düşünüyor, diyebilirim.