İçindekiler:
- Adım 1: Sistem Blok Şeması
- Adım 2: SLG46108 Döner Şifre Çözücü Tasarımı
- Adım 3: SLG46826 Fan Kontrol Cihazı Tasarımı
- Adım 4: Ofset Sayaçlı PWM Üretimi
- Adım 5: Saat Enjeksiyonu ve Saat Atlama ile Görev Döngüsü Kontrolü
- Adım 6: BUTON Girişi
- Adım 7: Görev Döngüsü Devrini Önleme
- Adım 8: I2C ile Görev Döngüsü Kontrolü
- Adım 9: Takometre Okuması
- Adım 10: Harici Devre Tasarımı
- Adım 11: PCB Tasarımı
- Adım 12: C# Uygulaması
Video: PC Hayranları için DIY PWM Kontrolü: 12 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Bu Eğitilebilir Tablo, tam özellikli bir 12 V PC fanı PWM denetleyicisinin oluşturulmasını açıklar. Tasarım, 16 adede kadar 3 pimli bilgisayar fanını kontrol edebilir. Tasarım, her bir fanın görev döngüsünü kontrol etmek için bir çift Dialog GreenPAK™ yapılandırılabilir karışık sinyalli IC kullanır. Ayrıca fanın hızını değiştirmenin iki yolunu da içerir:
a. dörtlü/döner kodlayıcı ile
B. GreenPAK ile I2C üzerinden iletişim kuran, C#'ta yerleşik bir Windows uygulamasıyla.
Aşağıda, GreenPAK yongasının PC hayranları için PWM kontrolünü oluşturmak üzere nasıl programlandığını anlamak için gereken adımları açıkladık. Ancak, sadece programlamanın sonucunu almak istiyorsanız, halihazırda tamamlanmış GreenPAK Tasarım Dosyasını görüntülemek için GreenPAK yazılımını indirin. GreenPAK Geliştirme Kitini bilgisayarınıza takın ve PC hayranları için PWM kontrolü için özel IC oluşturmak için programa basın.
Adım 1: Sistem Blok Şeması
Adım 2: SLG46108 Döner Şifre Çözücü Tasarımı
Fanların görev döngüsünü manuel olarak artırmak veya azaltmak için döner kodlayıcı kullanılır. Bu cihaz, 90 ° aralıklı olan Kanal A ve Kanal B çıkışlarında darbeler verir. Döner kodlayıcının nasıl çalıştığı hakkında daha fazla bilgi için AN-1101: Unclocked Quadrature Decoder bölümüne bakın.
Kanal A ve Kanal B sinyallerini işlemek ve bunları saat yönünün tersine (CCW) ve saat yönünde (CW) darbeler olarak çıkarmak için bir Dialog GreenPAK SLG46108 kullanılarak saat ayarlı bir döner kod çözücü oluşturulabilir.
Kanal A, Kanal B'ye öncülük ettiğinde, tasarım CW'de kısa bir darbe verir. Kanal B, Kanal A'ya öncülük ettiğinde, CCW'de kısa bir darbe verir
Üç DFF, Kanal A girişini saatle senkronize eder. Benzer şekilde, OUT0'ın iki DFF'ye ve OUT1'in üç DFF'ye ayarlı olduğu boru gecikmesi, kanal B için aynı işlevselliği yaratır.
CW ve CCW çıkışları oluşturmak için birkaç LUT kullanın, bu standart döner kod çözücü tasarımı hakkında daha fazla bilgi için bu web sitesini ziyaret edin.
GreenPAK Döner Şifre Çözücü, A ve B giriş darbelerini alacak ve Şekil 4'te gösterildiği gibi CW ve CCW darbelerini çıkaracaktır.
XOR kapılarından sonraki devre, asla aynı anda bir CW palsı ve CCW palsı olmamasını sağlayarak döner kodlayıcı ile herhangi bir hataya izin verir. CW ve CCW sinyallerindeki 8 ms'lik düşen kenar gecikmesi, onları 8 ms artı bir saat döngüsü boyunca yüksek kalmaya zorlar, bu da akış aşağı SLG46826 GreenPAK'ler için gereklidir.
Adım 3: SLG46826 Fan Kontrol Cihazı Tasarımı
Adım 4: Ofset Sayaçlı PWM Üretimi
PWM sinyalini üretmek için aynı periyoda sahip bir çift ofset sayacı kullanılır. İlk sayaç bir DFF ayarlar ve ikincisi onu sıfırlayarak Şekil 6 ve Şekil 7'de gösterildiği gibi tutarlı bir görev döngüsü PWM sinyali oluşturur.
CNT6, DFF10'u ayarlar ve CNT1'in ters çevrilmiş çıkışı DFF10'u sıfırlar. Pin 18 ve 19, PWM sinyalini harici devrelere göndermek için kullanılır
Adım 5: Saat Enjeksiyonu ve Saat Atlama ile Görev Döngüsü Kontrolü
Fan kontrolörü, CW ve CCW sinyallerini döner kod çözücüden girdi olarak alır ve bunları fan hızını kontrol eden PWM sinyalini artırmak veya azaltmak için kullanır. Bu, birkaç dijital mantık bileşeni ile elde edilir.
Bir CW darbesi alındığında görev döngüsünün artması gerekir. Bu, CNT6 bloğuna fazladan bir saat darbesi enjekte edilerek yapılır ve bu, aksi takdirde sahip olacağından bir saat döngüsü daha erken çıktı vermesine neden olur. Bu işlem Şekil 8'de gösterilmektedir.
CNT1 hala sabit bir hızda çalışıyor, ancak CNT6'nın enjekte edilmiş birkaç ekstra saati var. Sayaca her ekstra saat geldiğinde, çıkışını bir saat periyodu sola kaydırır.
Tersine, görev döngüsünü azaltmak için, Şekil 9'da gösterildiği gibi CNT6 için bir saat darbesini atlayın. CNT1 hala sabit bir hızda saatleniyor ve CNT6 için, sayacın varsayılan olarak saatlenmediği, atlanan saat darbeleri var. ile. Bu şekilde CNT6'nın çıkışı bir seferde bir saat periyodu kadar sağa itilir ve çıkış PWM görev çevrimi kısaltılır.
Saat yerleştirme ve saat atlama işlevi GreenPAK içindeki bazı dijital mantık öğelerinin kullanılmasıyla gerçekleştirilir. Bir çift mandal/kenar dedektörü kombinasyonu oluşturmak için bir çift çok işlevli blok kullanılır. 4 bitlik LUT0, genel saat sinyali (CLK/8) ile saat enjekte eden veya saat atlama sinyalleri arasında mux yapmak için kullanılır. Bu işlev, Adım 7'de daha ayrıntılı olarak açıklanmaktadır.
Adım 6: BUTON Girişi
DÜĞME girişi 20 ms için geri döndürülür, ardından bu belirli çipin seçilip seçilmediğini belirleyen bir mandalı değiştirmek için kullanılır. Seçilirse, 4 bitlik LUT, saat atlama veya enjeksiyon sinyallerini geçer. Çip seçilmemişse, 4-bit LUT basitçe CLK/8 sinyalini iletir.
Adım 7: Görev Döngüsü Devrini Önleme
RS mandalları 3-bit LUT5 ve 3-bit LUT3, ofset sayaçlarının devrileceği kadar çok saati enjekte edemeyeceğinizden veya atlayamayacağınızdan emin olmak için kullanılır. Bu, sistemin %100 görev döngüsüne ulaşmasını ve ardından başka bir enjekte edilmiş saat alırsa %1 görev döngüsüne geçmesini önlemek içindir.
RS mandalları, sistemin devrilmesine bir saat döngüsü uzaklıktayken girişleri çok işlevli bloklara kilitleyerek bunun olmasını engeller. Bir çift DFF, Şekil 11'de gösterildiği gibi PWM_SET ve PWM_nRST sinyallerini bir saat periyodu kadar geciktirir.
Gerekli mantığı oluşturmak için bir çift LUT kullanılır. Görev çevrimi, gecikmiş PWM_SET sinyalinin PWM_nRST sinyali ile aynı anda meydana gelmesi için çok düşükse, görev çevriminde daha fazla azalma bir rollover'a neden olacaktır.
Benzer şekilde, gecikmeli PWM_nRST sinyalinin PWM_SET sinyali ile aynı zamanda meydana gelmesi için maksimum görev döngüsüne yaklaşılıyorsa, görev döngüsünde daha fazla artıştan kaçınmak gerekir. Bu durumda, sistemin %99'dan %1'e geçmemesini sağlamak için nRST sinyalini iki saat döngüsü kadar geciktirin.
Adım 8: I2C ile Görev Döngüsü Kontrolü
Bu tasarım, saat atlama/saat enjeksiyonu dışında görev döngüsünü kontrol etmenin başka bir yolunu içerir. Görev döngüsünü ayarlamak için GreenPAK'a I2C komutları yazmak için harici bir mikro denetleyici kullanılabilir.
Görev döngüsünü I2C üzerinden kontrol etmek, kontrolörün belirli bir komut dizisi gerçekleştirmesini gerektirir. Bu komutlar Tablo 1'de sırayla gösterilmiştir. "x" değişmemesi gereken bir biti, "[" bir BAŞLANGIÇ bitini ve "]" bir STOP bitini belirtir.
PDLY bloğu, CLK/8 sinyalinin düşen kenarında !CLK/8 olarak adlandırılan kısa bir aktif yüksek darbe üretir. Bu sinyal, DFF14'ü sabit bir frekansta saatlemek için kullanılır. I2C_SET eşzamansız olarak yükseldiğinde, !CLK/8'in bir sonraki yükselen kenarı DFF14'ün HIGH çıkışına neden olur ve bu da CNT5 OneShot'ı tetikler. OneShot, Tablo 1'deki "CNT5'e Yaz" I2C komutunda belirtildiği gibi kullanıcının yazdığı saat döngüsü sayısı için çalışır. Bu durumda, 10 saat döngüsüdür. OneShot, 25 MHz osilatörün tam olarak süresi boyunca çalışmasına izin verir ve artık değil, böylece 3-bit LUT0, CNT5'e yazılan saat döngüsü sayısını alır.
Şekil 15, 3 bit LUT0'a gönderilen kırmızı saatlerin, onları CNT6'ya (PWM_SET sayacı) ileten ve böylece görev döngüsü üretimi için ofseti oluşturan bu sinyalleri göstermektedir.
Adım 9: Takometre Okuması
İstenirse, kullanıcı CNT2 değerini okuyarak fanın ne kadar hızlı döndüğünü takip etmek için I2C üzerinden takometre değerini okuyabilir. ACMP0H'nin her yükselen kenarı olduğunda CNT2 artırılır ve bir I2C komutuyla eşzamansız olarak sıfırlanabilir. Bunun isteğe bağlı bir özellik olduğunu ve ACMP0H eşiğinin, kullanılan belirli fanın özelliklerine göre ayarlanması gerekeceğini unutmayın.
Adım 10: Harici Devre Tasarımı
Dış devre oldukça basittir. Döner kontrol için bu belirli cihazın seçilip seçilmediğini değiştirmek için GreenPAK'in Pin6'sına bağlı bir buton ve cihazın ne zaman seçildiğini göstermek için Pin12 ve Pin13'e bağlı bir LED vardır.
Fan 12 V ile çalıştığından, geçişini kontrol etmek için bir çift FET gereklidir. GreenPAK'ın Pin18 ve Pin19'u bir nFET kullanıyor. nFET açıldığında, fanı +12 V'a bağlayan pFET LOW'un kapısını çeker. nFET kapatıldığında, PFET'in kapısı, fanın bağlantısını kesen 1 kΩ direnç tarafından yukarı çekilir. +12 V'den itibaren
Adım 11: PCB Tasarımı
Tasarımı prototiplemek için birkaç PCB monte edildi. Soldaki PCB, döner kodlayıcı, 12 V jak, SLG46108 GreenPAK ve FT232H USB - I2C devre kartı için konektörleri barındıran "Fan Kontrolörü"dür. Sağdaki iki PCB, SLG46826 GreenPAK'leri, butonları, anahtarları, LED'leri ve fan başlıklarını içeren "Fan Kartları"dır.
Her bir Fan Board'un sol tarafında örtülü bir erkek başlık ve sağ tarafta birbirine zincirleme bağlanabilmeleri için dişi bir başlık bulunur. Her bir Fan Panosu, iki fanı bağımsız olarak kontrol etmek için kaynaklarla doldurulabilir.
Adım 12: C# Uygulaması
FT232H USB-I2C köprüsü üzerinden Fan Kartları ile arayüz oluşturmak için bir C# uygulaması yazılmıştır. Bu uygulama, uygulama tarafından oluşturulan I2C komutları ile her bir fanın frekansını ayarlamak için kullanılabilir.
Uygulama, 16 I2C adresinin tümüne saniyede bir kez ping gönderir ve GUI'yi mevcut bağımlı adreslerle doldurur. Bu örnekte Fan 1 (slave adresi 0001) ve Fan 3 (slave adresi 0011) karta bağlanmıştır. Her bir fanın görev döngüsüne ilişkin ayarlamalar, kaydırma çubuğunu hareket ettirerek veya kaydırma çubuğunun altındaki metin kutusuna 0-256 arasında bir değer yazarak yapılabilir.
Sonuçlar
Bu tasarımı kullanarak, bir döner kodlayıcı veya bir C# uygulaması ile 16'ya kadar fanı bağımsız olarak kontrol etmek mümkündür (çünkü 16 olası I2C bağımlı adresi vardır). Bir çift ofset sayacı ile bir PWM sinyalinin nasıl oluşturulacağı ve bu sinyalin görev döngüsünün devrilmeden nasıl artırılıp azaltılacağı gösterilmiştir.
Önerilen:
Butonlar, Raspberry Pi ve Scratch ile Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: 8 Adım (Resimlerle)
Basmalı Düğmeler, Raspberry Pi ve Scratch Kullanarak Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: Öğrencilerime PWM'nin nasıl çalıştığını açıklamanın bir yolunu bulmaya çalışıyordum, bu yüzden kendime 2 basmalı düğme kullanarak bir LED'in parlaklığını kontrol etmeye çalışma görevi verdim - bir düğme bir LED'in parlaklığını arttırır ve diğeri onu karartır. Programlamak için
ESP8266 RGB LED ŞERİT WIFI Kontrolü - NODEMCU Wifi Üzerinden Kontrollü Led Şerit için IR Uzaktan Kumanda Olarak - RGB LED STRIP Akıllı Telefon Kontrolü: 4 Adım
ESP8266 RGB LED ŞERİT WIFI Kontrolü | NODEMCU Wifi Üzerinden Kontrollü Led Şerit için IR Uzaktan Kumanda Olarak | RGB LED STRIP Akıllı Telefon Kontrolü: Merhaba arkadaşlar, bu eğitimde nodemcu veya esp8266'yı bir RGB LED şeridini kontrol etmek için IR uzaktan kumanda olarak nasıl kullanacağımızı öğreneceğiz ve Nodemcu wifi üzerinden akıllı telefon ile kontrol edilecek. Yani temel olarak RGB LED STRIP'i akıllı telefonunuzla kontrol edebilirsiniz
Bu Yaz Bebeğinizi Serin Tutmak - Aptal Hayranları Akıllı Şeylerle Kontrol Etmek!: 6 Adım (Resimlerle)
Bu Yaz Bebeğinizi Serin Tutmak - Aptal Hayranları Akıllı Şeylerle Kontrol Etmek!: İki hafta önce bu yazıyı yazarken, inanılmaz bir erkek bebek babası oldum! Mevsimlerin değişmesi, günlerin uzaması ve sıcaklıkların artmasıyla birlikte, önümüzdeki günlerde bir tür monitöre sahip olmanın iyi olacağını düşündüm
Kişisel Hayranları TAG Hackleyin: 6 Adım
Kişisel Hayranları TAG Hackleyin: WWW.BANGBANG007.COM Hayranlara gitmek için kendi kişiselinizi oluşturun. TAG koku spreyi, elektrik motoru ve 9V pil kullanarak. Kolay adımlarla ilgili resim ve videomla, etrafınızdaki malzemeleri kullanarak nasıl kişisel hayranlar oluşturabileceğinizi göstereceğim
Ucuz ve Neşeli Anahtarlı Kasa Hayranları: 11 Adım
Ucuz ve Neşeli Anahtarlı Kasa Hayranları: Bu şekilde, yalan söylediğim şeyleri kullanarak bilgisayarıma güzel büyük ışıklı anahtarlarla 2 ekstra fan ekledim. Bugünlerde 5 1/2 inç yuvaya monte fan denetleyicilerini oldukça ucuza alabileceğinizi biliyorum ama bence bu daha havalı