本文介紹了如何使用DialogGreenPAK可配置混合信號(hào)IC構(gòu)建12VPC風(fēng)扇PWM控制器。該項(xiàng)目涉及旋轉(zhuǎn)編碼、PWM控制、PCB設(shè)計(jì)和C#應(yīng)用程序編程。
該設(shè)計(jì)最多可控制16個(gè)3針電腦風(fēng)扇,使用一對(duì)DialogGreenPAK可配置混合信號(hào)IC來(lái)控制每個(gè)風(fēng)扇的占空比,并包括兩種改變風(fēng)扇速度的方法:
帶有正交/旋轉(zhuǎn)編碼器和
使用Windows應(yīng)用程序—內(nèi)置于C#中,通過(guò)I2C與GreenPAK進(jìn)行通信。
系統(tǒng)框圖
圖1.系統(tǒng)框圖
SLG46108旋轉(zhuǎn)解碼器設(shè)計(jì)
為了手動(dòng)增加或減少風(fēng)扇的占空比,我們使用了旋轉(zhuǎn)編碼器。該設(shè)備在相隔90°的通道A和通道B輸出上輸出脈沖。有關(guān)旋轉(zhuǎn)編碼器工作原理的更多信息,請(qǐng)參見(jiàn)AN-1101:非時(shí)鐘正交解碼器。
圖2.旋轉(zhuǎn)編碼器框圖
然后,我們使用DialogGreenPAKSLG46108創(chuàng)建了一個(gè)時(shí)鐘旋轉(zhuǎn)解碼器來(lái)處理通道A和通道B信號(hào)并將它們輸出為逆時(shí)針(CCW)和順時(shí)針(CW)脈沖。
當(dāng)通道A領(lǐng)先于通道B時(shí),設(shè)計(jì)會(huì)在CW上輸出一個(gè)短脈沖。當(dāng)通道B超前通道A時(shí),它在CCW上輸出一個(gè)短脈沖。
圖3.GreenPAKSLG46108旋轉(zhuǎn)解碼器設(shè)計(jì)
我們使用3個(gè)DFF將通道A輸入與時(shí)鐘同步。同樣,我們使用管道延遲,將OUT0設(shè)置為2個(gè)DFF,將OUT1設(shè)置為3個(gè)DFF,為通道B創(chuàng)建相同的功能。
然后,我們使用一些LUT來(lái)創(chuàng)建CW和CCW輸出。有關(guān)此標(biāo)準(zhǔn)旋轉(zhuǎn)解碼器設(shè)計(jì)的更多信息,請(qǐng)?jiān)L問(wèn)此網(wǎng)站。
最后,GreenPAKRotaryDecoder將接收到下圖中的輸入脈沖A和B,并輸出如圖所示的CW和CCW脈沖。
圖4.旋轉(zhuǎn)信號(hào)時(shí)序圖
異或門(mén)之后的電路確保不會(huì)同時(shí)出現(xiàn)CW脈沖和CCW脈沖,以防旋轉(zhuǎn)編碼器出現(xiàn)錯(cuò)誤。CW和CCW信號(hào)上的8ms下降沿延遲迫使它們?cè)?ms加1個(gè)時(shí)鐘周期內(nèi)保持高電平,這對(duì)于下游SLG46826GreenPAK是必需的。
SLG46826風(fēng)扇控制器設(shè)計(jì)
圖5.GreenPAKSLG46826風(fēng)扇控制器設(shè)計(jì)
使用偏移計(jì)數(shù)器生成PWM
為了生成PWM信號(hào),我們使用了一對(duì)具有相同周期的偏移計(jì)數(shù)器。第一個(gè)計(jì)數(shù)器設(shè)置DFF,第二個(gè)計(jì)數(shù)器將其重置,從而創(chuàng)建一致的占空比PWM信號(hào),如下所示。
圖6.PWM生成時(shí)序圖
圖7.使用偏移計(jì)數(shù)器生成PWM
CNT6設(shè)置DFF10,CNT1的反相輸出復(fù)位DFF10。引腳18和19用于將PWM信號(hào)輸出到外部電路。
具有時(shí)鐘注入和時(shí)鐘跳躍的占空比控制
風(fēng)扇控制器接收來(lái)自旋轉(zhuǎn)解碼器的CW和CCW信號(hào)作為輸入,并使用它們來(lái)增加或減少控制風(fēng)扇速度的PWM信號(hào)。我們通過(guò)幾個(gè)數(shù)字邏輯組件實(shí)現(xiàn)了這一點(diǎn)。
我們需要做的是使占空比在我們接收到CW脈沖時(shí)增加。我們可以通過(guò)向CNT6模塊注入一個(gè)額外的時(shí)鐘脈沖來(lái)實(shí)現(xiàn)這一點(diǎn),使其比其他方式早一個(gè)時(shí)鐘周期輸出。您可以在下面的時(shí)序圖中看到此過(guò)程。
圖8.時(shí)鐘脈沖注入
CNT1仍以恒定速率獲得時(shí)鐘,但CNT6注入了幾個(gè)額外的時(shí)鐘。每當(dāng)計(jì)數(shù)器有一個(gè)額外的時(shí)鐘時(shí),它就會(huì)將其輸出向左移動(dòng)一個(gè)時(shí)鐘周期。
相反,如果我們想降低占空比,我們需要為CNT6跳過(guò)一個(gè)時(shí)鐘脈沖。您可以在下圖中看到該過(guò)程,其中CNT1仍然以恒定速率獲得時(shí)鐘,而CNT6有跳過(guò)的時(shí)鐘脈沖,其中計(jì)數(shù)器沒(méi)有按預(yù)期獲得時(shí)鐘。這樣我們就可以將CNT6的輸出一次向右推一個(gè)時(shí)鐘周期,從而縮短輸出PWM占空比。
圖9.時(shí)鐘脈沖跳躍
我們使用GreenPAK中的一些數(shù)字邏輯元件實(shí)現(xiàn)了時(shí)鐘注入和時(shí)鐘跳躍功能。我們使用一對(duì)多功能塊來(lái)創(chuàng)建一對(duì)鎖存器/邊緣檢測(cè)器組合。4位LUT0用于在通用時(shí)鐘信號(hào)(CLK/8)和時(shí)鐘注入或時(shí)鐘跳躍信號(hào)之間進(jìn)行復(fù)用。此功能將在第5.2.2節(jié)防止占空比翻轉(zhuǎn)中更詳細(xì)地描述。
按鈕輸入
BUTTON輸入去抖20ms,然后用于觸發(fā)一個(gè)鎖存器,該鎖存器將確定是否選擇了該特定芯片。如果選擇它,則4位LUT將傳遞時(shí)鐘跳躍或注入信號(hào)。如果未選擇芯片,則4位LUT將簡(jiǎn)單地傳遞CLK/8信號(hào)。
圖10.時(shí)鐘跳躍和時(shí)鐘注入
防止占空比翻轉(zhuǎn)
RS鎖存器3位LUT5和3位LUT3用于確保您不能注入或跳過(guò)太多時(shí)鐘,以免偏移計(jì)數(shù)器翻轉(zhuǎn)。我們不想讓系統(tǒng)達(dá)到100%的占空比,然后如果它接收到另一個(gè)注入的時(shí)鐘,則翻轉(zhuǎn)到1%的占空比。
RS鎖存器通過(guò)在系統(tǒng)距離翻轉(zhuǎn)1個(gè)時(shí)鐘周期時(shí)鎖存多功能模塊的輸入來(lái)防止這種情況發(fā)生。我們使用一對(duì)DFF將PWM_SET和PWM_nRST信號(hào)延遲一個(gè)時(shí)鐘周期,如下圖所示。
圖11.BLOCK_CW和BLOCK_CCW
然后,我們使用一對(duì)LUT來(lái)創(chuàng)建必要的邏輯。如果我們的占空比太低以至于延遲的PWM_SET信號(hào)與PWM_nRST信號(hào)同時(shí)出現(xiàn),我們不想進(jìn)一步降低占空比,否則我們將翻轉(zhuǎn)。
圖12.最小占空比翻轉(zhuǎn)情況
同樣,如果我們正在接近最大占空比,從而延遲的PWM_nRST信號(hào)與PWM_SET信號(hào)同時(shí)出現(xiàn),我們不想進(jìn)一步增加占空比。在這種情況下,我們需要將nRST信號(hào)延遲2個(gè)時(shí)鐘周期,以確保系統(tǒng)不會(huì)從99%翻轉(zhuǎn)到1%。
圖13.最大占空比翻轉(zhuǎn)情況
具有I2C的占空比控制
該設(shè)計(jì)采用了另一種控制占空比的方法,而不是時(shí)鐘跳躍/時(shí)鐘注入。我們可以使用外部微控制器向GreenPAK寫(xiě)入I2C命令,以編程方式設(shè)置占空比。
圖14.I2C占空比控制
如上圖中的紅色標(biāo)簽所示,控制I2C上的占空比需要控制器執(zhí)行特定的命令序列。這些命令在下表中按順序顯示。“x”表示用戶不應(yīng)更改的位,“[”表示START位,“]”表示STOP位。
表1.I2C命令
PDLY模塊在CLK/8信號(hào)的下降沿產(chǎn)生一個(gè)短的高電平有效脈沖,我們稱(chēng)之為!CLK/8。該信號(hào)用于以穩(wěn)定頻率為DFF14提供時(shí)鐘。當(dāng)I2C_SET異步變高時(shí),!CLK/8的下一個(gè)上升沿將導(dǎo)致DFF14輸出HIGH,這將觸發(fā)CNT5OneShot。OneShot將運(yùn)行上表中“寫(xiě)入CNT5”I2C命令中指定的用戶寫(xiě)入的時(shí)鐘周期數(shù)。在這種情況下,它是10個(gè)時(shí)鐘周期。OneShot允許25MHz振蕩器準(zhǔn)確運(yùn)行其持續(xù)時(shí)間,并且不再讓3位LUT0接收用戶寫(xiě)入CNT5的時(shí)鐘周期數(shù)。
下圖顯示了這些信號(hào),其中紅色時(shí)鐘是發(fā)送到3位LUT0的信號(hào),LUT0將它們傳遞到CNT6(PWM_SET計(jì)數(shù)器),從而為占空比生成創(chuàng)建偏移量。
圖15.使用I2C加載占空比(頻率不按比例)
轉(zhuǎn)速表讀數(shù)
如果需要,用戶可以讀取I2C上的轉(zhuǎn)速計(jì)值,通過(guò)讀取CNT2值來(lái)跟蹤風(fēng)扇轉(zhuǎn)動(dòng)的速度。CNT2將在每次ACMP0H出現(xiàn)上升沿時(shí)遞增,并且可以通過(guò)I2C命令異步復(fù)位。(請(qǐng)注意,這是一個(gè)可選功能,ACMP0H的閾值需要根據(jù)正在使用的特定風(fēng)扇的規(guī)格進(jìn)行調(diào)整。)
圖16.轉(zhuǎn)速計(jì)部分
表2.I2C命令
圖17.風(fēng)扇控制器框圖
外部電路相當(dāng)簡(jiǎn)單。有一個(gè)按鈕連接到GreenPAK的Pin6以切換是否選擇此特定設(shè)備進(jìn)行旋轉(zhuǎn)控制,以及連接到Pin12和Pin13的LED以指示何時(shí)選擇設(shè)備。
由于風(fēng)扇的電壓為12伏,因此我們需要一對(duì)FET來(lái)控制其開(kāi)關(guān)。GreenPAK的Pin18和Pin19驅(qū)動(dòng)一個(gè)nFET。當(dāng)nFET開(kāi)啟時(shí),它將pFET的柵極拉低,將風(fēng)扇連接到+12V。當(dāng)nFET關(guān)閉時(shí),PFET的柵極被1k電阻上拉,從而斷開(kāi)風(fēng)扇從+12v。
PCD設(shè)計(jì)
我們將幾塊PCB放在一起來(lái)對(duì)我們的設(shè)計(jì)進(jìn)行原型設(shè)計(jì)。左側(cè)的PCB是“風(fēng)扇控制器”,其中包含旋轉(zhuǎn)編碼器、12v插孔、SLG46108GreenPAK和FT232HUSB到I2C分線板的連接器。右側(cè)的兩個(gè)PCB是“風(fēng)扇板”,其中包含SLG46826GreenPAK、按鈕、開(kāi)關(guān)、LED和風(fēng)扇接頭。
圖18.PCB和連接器
每個(gè)風(fēng)扇板的左側(cè)都有一個(gè)帶罩的公頭,右側(cè)有一個(gè)母頭,因此它們可以菊花鏈?zhǔn)竭B接在一起。每個(gè)風(fēng)扇板都可以填充資源以獨(dú)立控制2個(gè)風(fēng)扇。
C#應(yīng)用程序
我們編寫(xiě)了一個(gè)C#應(yīng)用程序來(lái)通過(guò)FT232HUSB-I2C橋接我們的風(fēng)扇板。此應(yīng)用程序可用于通過(guò)應(yīng)用程序生成的I2C命令調(diào)整每個(gè)風(fēng)扇的頻率。
圖19.C#應(yīng)用程序GUI
應(yīng)用程序?qū)⒚棵雽?duì)所有16個(gè)I2C地址執(zhí)行一次ping操作,并使用存在的從地址填充GUI。在這種情況下,我們將風(fēng)扇1(從地址0001)和風(fēng)扇3(從地址0011)連接到電路板。用戶可以通過(guò)移動(dòng)滑塊或在滑塊下方的文本框中輸入0-256的值來(lái)單獨(dú)調(diào)整每個(gè)風(fēng)扇的占空比。
項(xiàng)目結(jié)論
在本文中,我們使用一些DialogGreenPAK可配置混合信號(hào)IC創(chuàng)建了一個(gè)功能齊全的12vPC風(fēng)扇PWM控制器。通過(guò)我們的設(shè)計(jì),我們能夠使用旋轉(zhuǎn)編碼器或C#應(yīng)用程序獨(dú)立控制多達(dá)16個(gè)風(fēng)扇(因?yàn)橛?6個(gè)可能的I2C從地址)。我們演示了如何使用一對(duì)偏移計(jì)數(shù)器生成PWM信號(hào),以及如何在不翻轉(zhuǎn)的情況下增加和減少該信號(hào)的占空比。
-
IC
+關(guān)注
關(guān)注
36文章
6104瀏覽量
178645 -
PWM
+關(guān)注
關(guān)注
116文章
5432瀏覽量
218472 -
PWM控制器
+關(guān)注
關(guān)注
19文章
558瀏覽量
36939
發(fā)布評(píng)論請(qǐng)先 登錄
MTD6505三相BLDC無(wú)傳感器風(fēng)扇控制器
PWM風(fēng)扇控制器(具有溫度感應(yīng)和按鈕超控功能)資料(原理圖+源代碼)
使用LM35溫度傳感器和ATTiny13微控制器控制風(fēng)扇的教程
兩通道溫度監(jiān)視器雙PWM自動(dòng)風(fēng)扇速度控制器和五GPIO集成器
采用FanSense TM技術(shù)的PWM風(fēng)扇速度控制器
抗電磁干擾的PWM風(fēng)扇控制器原理及應(yīng)用

PWM控制器,PWM控制器是什么意思
溫度感應(yīng)和按鈕超控的PWM風(fēng)扇控制器工程文件和原理圖免費(fèi)下載

無(wú)葉風(fēng)扇控制器怎么調(diào) 無(wú)葉風(fēng)扇控制器怎么接線
AMC6821-Q1智能溫度監(jiān)測(cè)和PWM風(fēng)扇控制器數(shù)據(jù)表

AMC6821智能溫度監(jiān)測(cè)儀和PWM風(fēng)扇控制器數(shù)據(jù)表

評(píng)論