在我的上一篇博文中,我為大家介紹了一個(gè)動(dòng)手操作項(xiàng)目:用一個(gè)氮化鎵 (GaN) 功率級(jí)、一個(gè)Hercules? 微控制器和一個(gè)滾輪來(lái)調(diào)節(jié)一盞燈的亮度。我講到了設(shè)置、設(shè)計(jì),以及如何正確地驅(qū)動(dòng)這個(gè)功率級(jí)。
在這篇博文中,我打算試一下你的設(shè)計(jì)成果。經(jīng)驗(yàn)證,LaunchPad? 能夠產(chǎn)生出正確的信號(hào)。那么,就讓我們把它接到評(píng)估套件上吧。
準(zhǔn)備評(píng)估套件,并將其連接至LaunchPad開(kāi)發(fā)套件
與LMG5200評(píng)估模塊 (EVM) 一同提供的還有一塊驅(qū)動(dòng)GaN集成電路 (IC) 的電路。你需要將其斷開(kāi),并且連接你的LaunchPad開(kāi)發(fā)套件。
斷開(kāi)板上驅(qū)動(dòng)電路比較容易。你只需要從印刷電路板(PCB,請(qǐng)見(jiàn)圖1和圖2)上移除兩個(gè)0Ω電阻器,R6和R7。最簡(jiǎn)便的方法就是使用一個(gè)熱風(fēng)槍、
現(xiàn)在,你有了兩個(gè)測(cè)試點(diǎn),TP9和TP10,將LaunchPad的脈寬調(diào)制 (PWM) 輸出連接至LMG5200。在這個(gè)情況下,信號(hào)與測(cè)試點(diǎn)之間沒(méi)有對(duì)應(yīng)關(guān)系。一定不要忘了接地(請(qǐng)見(jiàn)圖3)。
按照用戶指南,連接電源和偏置電壓。將燈連接至輸出。如果你按照評(píng)估套件用戶指南中的順序?qū)⑦@個(gè)設(shè)計(jì)加電的話(首先是偏置電壓,然后是Hercules信號(hào),之后是電源),這個(gè)裝置將被驅(qū)動(dòng)至其最大功率的10%。在這個(gè)功率點(diǎn)上,你可以通過(guò)改變HALCoGen中的占空比來(lái)更改輸出,并重新生成這個(gè)項(xiàng)目。這么做可不太方便,那么就讓我們來(lái)研究一個(gè)用戶友好的輸入機(jī)制。
制作旋轉(zhuǎn)編碼器
正交編碼器隨處可見(jiàn)。它們看起來(lái)與電位器很相似,不過(guò)你可以一直不停地旋轉(zhuǎn)它們。也許你的車載音頻系統(tǒng),或是你的示波器中就有一個(gè)。如果你手邊就有一個(gè)壞了的鼠標(biāo),那么這個(gè)鼠標(biāo)中的滾輪就很有可能是一個(gè)旋轉(zhuǎn)編碼器。
(如果不湊巧的是,你手頭那個(gè)壞了的鼠標(biāo)是光電鼠標(biāo)的話,你就無(wú)法將其用于今天的練習(xí)了。再找找,或者訂購(gòu)一個(gè)與EC101102X2E-VAX相類似的元件。)你使用的旋轉(zhuǎn)編碼器類型或者這個(gè)旋轉(zhuǎn)編碼器所具有的步距數(shù)量都不會(huì)對(duì)這個(gè)練習(xí)產(chǎn)生太大影響。它們產(chǎn)生的都是格雷碼 (Gray code)。
要使這個(gè)滾輪變成一個(gè)穩(wěn)定、去抖動(dòng)輸入器件,你還需要其它四個(gè)組件:2個(gè)10K電阻器和2個(gè)0.5μF電容器。如果你在實(shí)驗(yàn)室找不到電阻值和電容值完全一樣的元件的話,也不用灰心喪氣,它們不是那么重要。
搭建旋轉(zhuǎn)編碼器電路,并將其連接至LaunchPad開(kāi)發(fā)套件
這2個(gè)電阻器是上拉電阻器。它們?cè)谛D(zhuǎn)編碼器開(kāi)關(guān)打開(kāi)時(shí)保持A和B處于高電平。當(dāng)其中任何一個(gè)開(kāi)關(guān)關(guān)閉時(shí),相應(yīng)的輸出被開(kāi)關(guān)拉至接地。這些電容器使信號(hào)變得平滑,并且過(guò)濾掉所有抖動(dòng)。
你將使用具有滾輪的Hercules eQEP外設(shè)(正交編碼器)。EQEP模塊No.2附近的引腳已經(jīng)被你用于ePWM輸出。所以,如表1和圖5中所示,將你的滾輪連接至這個(gè)引腳。
表1:旋轉(zhuǎn)編碼器連接
圖5:編碼器信號(hào)的位置
當(dāng)你接通編碼器時(shí),你可以訪問(wèn)HALCoGen,并修改你的固件。
將滾輪集成到固件中
此時(shí)所有硬件都已連接。不過(guò),你仍然需要將滾輪功能嵌入其中。在Hercules應(yīng)用領(lǐng)域內(nèi),你必須完成兩件事:在HALCoGen中配置eQEP模塊,并且在Code Composer Studio? 軟件內(nèi)修改你的程序。
將編碼器功能集成在固件之內(nèi)
啟用eQEP驅(qū)動(dòng)器,并且配置eQEP模塊No.2(圖6和圖7)。HALCoGen設(shè)置看起來(lái)似乎很神秘,不過(guò)我在element14博文中對(duì)它們進(jìn)行了解釋說(shuō)明。
圖6:?jiǎn)⒂镁幋a器模塊2
圖7:配置編碼器2
在Code Composer Studio軟件中將驅(qū)動(dòng)器初始化。在你的狀態(tài)機(jī)中,你將定期輪詢滾輪的值,并根據(jù)其變化做出相應(yīng)操作。根據(jù)旋轉(zhuǎn)編碼器的狀態(tài),減少或增加PWM信號(hào)的占空比。參考rotary.c,pwm.c和HL_sys_main.c文件,查看這些功能是如何實(shí)現(xiàn)的。
While(1)
{
uRotary = getRotaryPosition();
if (uRotary != uRotaryLastVal) {
uRotaryLastVal = uRotary;
setPwmDutyCycle(uRotary);
}
}
針對(duì)滾輪的代碼也不難。在這個(gè)設(shè)計(jì)中,你可不想讓編碼器超過(guò)最大值,或低于最小值。你可以查看rotary.c,看看我是如何進(jìn)行編碼的。這些代碼是有效的,不過(guò)我對(duì)于這個(gè)設(shè)計(jì)在解碼處理方面的表現(xiàn)還不是很滿意。如果你有任何好的意見(jiàn)和建議,一定要告訴我,我們來(lái)一起搭建一個(gè)更好的設(shè)計(jì)。
你可以下面這些視頻中看到這個(gè)項(xiàng)目的實(shí)際運(yùn)行效果:
用Hercules LaunchPad控制GaN功率半橋:電路板準(zhǔn)備。
編輯:金巧
-
集成電路
+關(guān)注
關(guān)注
5392文章
11622瀏覽量
363177 -
編碼器
+關(guān)注
關(guān)注
45文章
3667瀏覽量
135241 -
電源管理
+關(guān)注
關(guān)注
115文章
6193瀏覽量
144949 -
驅(qū)動(dòng)電路
+關(guān)注
關(guān)注
153文章
1533瀏覽量
108745
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論