使用 Hercules? LaunchPad? 開發(fā)套件控制 GaN 功率級(jí) – 第 2 部分
在我的上一篇文章中,我向我們介紹了一個(gè)動(dòng)手項(xiàng)目:使用氮化鎵 (GaN) 功率級(jí)、Hercules? 微控制器和滾輪調(diào)暗燈。我介紹了設(shè)置、設(shè)計(jì)以及如何以正確的方式驅(qū)動(dòng)功率級(jí)。
在這篇文章中,我們將立即嘗試我們的工作。我們已驗(yàn)證 LaunchPad? 開發(fā)套件產(chǎn)生了正確的信號(hào)。因此,讓我們將其連接到評(píng)估套件。
準(zhǔn)備評(píng)估套件并將其連接到 LaunchPad 開發(fā)套件
LMG5200 評(píng)估模塊 (EVM) 帶有驅(qū)動(dòng) GaN 集成電路 (IC) 的電路。我們將解耦那個(gè)并連接我們的 LaunchPad 開發(fā)套件。
圖 1:移除電阻器 R6 和 R7
去耦板載驅(qū)動(dòng)電路并不難。我們只需從印刷電路板(PCB,參見圖 1 和圖 2)上移除兩個(gè) 0Ω 電阻器 R6 和 R7。最簡單的方法是使用熱風(fēng)槍。
圖 2:電阻器 R6 和 R7 的 PCB 位置
我們現(xiàn)在有了測試點(diǎn) TP9 和 TP10,可將 LaunchPad 的脈寬調(diào)制 (PWM) 輸出連接到 LMG5200。在這種情況下,哪個(gè)信號(hào)與哪個(gè)測試點(diǎn)相關(guān)聯(lián)并不重要。不要忘記進(jìn)行接地連接(參見圖 3)。
圖 3:PWM 信號(hào)的位置
按照用戶指南中的說明連接電源和偏置電壓。將燈連接到輸出。如果我們按照評(píng)估套件用戶指南中的說明為設(shè)計(jì)上電(首先是偏置電壓,然后是 Hercules 信號(hào),然后是電源),我們將獲得一個(gè)驅(qū)動(dòng)至其最大功率 10% 的設(shè)置。此時(shí),我們可以通過更改 HALCoGen 中的占空比來更改輸出并重新生成項(xiàng)目。這不是很方便,所以讓我們研究一個(gè)用戶友好的輸入機(jī)制。
制作旋轉(zhuǎn)編碼器
正交編碼器無處不在。它們看起來像電位器,但你可以永遠(yuǎn)轉(zhuǎn)動(dòng)它們。我們的汽車音響系統(tǒng)可能有一個(gè),或者我們的示波器。如果我們身邊有一個(gè)死機(jī)鼠標(biāo),那么滾輪很可能是一個(gè)旋轉(zhuǎn)編碼器。
(如果你不走運(yùn),你的死鼠標(biāo)有一個(gè)光學(xué)滾輪;你不能在今天的練習(xí)中使用那個(gè)。尋找另一只鼠標(biāo),或訂購一個(gè)類似于組件 EC101102X2E-VAX 的鼠標(biāo)。)旋轉(zhuǎn)編碼器是什么并不重要我們使用或它有多少步驟。它們都產(chǎn)生格雷碼。
我們需要四個(gè)額外的組件才能將輪子變成穩(wěn)定的去抖動(dòng)輸入設(shè)備:兩個(gè) 10K 電阻器和兩個(gè) 0.5μF 電容器。如果我們無法在實(shí)驗(yàn)室中找到準(zhǔn)確的值,請(qǐng)不要絕望。它們根本不重要。
構(gòu)建旋轉(zhuǎn)編碼器電路并將其連接到 LaunchPad 開發(fā)套件
圖 4 說明了如何構(gòu)建電路。
圖 4:編碼器電路
這兩個(gè)電阻是上拉電阻。當(dāng)旋轉(zhuǎn)編碼器開關(guān)打開時(shí),它們將 A 端 B 保持為高電平。當(dāng)這些開關(guān)中的任何一個(gè)閉合時(shí),相應(yīng)的輸出會(huì)被開關(guān)拉至地。電容器使信號(hào)平滑并濾除任何彈跳。
我們將使用帶有滾輪的 Hercules eQEP 外圍設(shè)備(正交編碼器)。2 號(hào) EQEP 模塊靠近我們已經(jīng)用于 ePWM 輸出的引腳。因此,將滾輪連接到它,如表 1 和圖 5 所示。
表 1:旋轉(zhuǎn)編碼器連接
圖 5:編碼器信號(hào)的位置
連接好編碼器后,我們可以前往 HALCoGen 并調(diào)整我們的固件。
在固件中集成滾輪
此時(shí)所有硬件都已連接。但是我們仍然必須構(gòu)建滾輪功能。在 Hercules 世界中,我們必須做兩件事:在 HALCoGen 中配置 eQEP 模塊,并在 Code Composer Studio? 軟件中調(diào)整我們的程序。
在固件中集成編碼器功能
啟用 eQEP 驅(qū)動(dòng)程序并配置 eQEP 模塊 2(圖 6 和 7)。HALCoGen 設(shè)置可能看起來很神奇,但我的element14 博客解釋了它們。
圖 6:啟用編碼器模塊 2
圖 7:配置編碼器 2
在 Code Composer Studio 軟件中初始化驅(qū)動(dòng)程序。在我們的狀態(tài)機(jī)中,我們將定期輪詢車輪的值并對(duì)更改做出反應(yīng)。根據(jù)旋轉(zhuǎn)編碼器的狀態(tài)減少或增加 PWM 信號(hào)的占空比。請(qǐng)參閱rotate.c、pwm.c 和HL_sys_main.c 文件以了解所有這些是如何聯(lián)系在一起的。
雖然(1)
{
uRotary = getRotaryPosition();
if (uRotary != uRotaryLastVal) {
uRotaryLastVal = uRotary;
setPwmDutyCycle(uRotary);
}
}
滾輪的代碼也不難。在此設(shè)計(jì)中,我們不希望編碼器超出最大值或最小值。你可以查看rotary.c 看看我是如何編碼的。它有效,但我對(duì)處理解碼的設(shè)計(jì)并不完全滿意。隨意加入并構(gòu)建更好的實(shí)現(xiàn)。