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