由編碼器控制的電位計(jì)
簡介
很多應(yīng)用在其用戶控制界面中采用機(jī)械電位計(jì)。我們可以將這些機(jī)械電位計(jì)換成更新且可靠的編碼器控制元件和數(shù)字變阻器,它們是改變信號電氣參數(shù)的組件。
本文中,我們使用了GreenPAK? SLG47004。它是該項(xiàng)目的絕佳選擇,因?yàn)槠潆娐方Y(jié)合了兩個(gè)數(shù)字變阻器和可配置邏輯來處理編碼器信息。這種組合可實(shí)現(xiàn)許多設(shè)計(jì):穩(wěn)壓電源、具有可調(diào)增益的放大器等。此外,數(shù)字邏輯可確定編碼器的旋轉(zhuǎn)速度。這種方法如圖1所示。
圖1
1. 系統(tǒng)概述
圖2顯示了基于SLG47004的內(nèi)部電路設(shè)計(jì)。
圖2:GreenPAK Designer項(xiàng)目
在基于GUI的免費(fèi)軟件GreenPAK Designer中創(chuàng)建的完整設(shè)計(jì)文件可從以下鏈接下載。
增量編碼器產(chǎn)生A和B輸出信號,用于改變數(shù)字變阻器的電阻。變阻器形成電位計(jì),并實(shí)現(xiàn)可調(diào)分壓器來調(diào)節(jié)輸出電壓。
在任何時(shí)候,A和B信號之間的相位差為正或負(fù),取決于編碼器的運(yùn)動方向。
速度由頻率檢測器、One-Shots和多路復(fù)用器構(gòu)成。
本文中,我們使用了EC11編碼器。由于開關(guān)切換抖動,編碼器會產(chǎn)生嘈雜的輸出振蕩。為了消除這種噪音,我們采用了2毫秒的延遲。請注意,此延遲針對EC11編碼器進(jìn)行了調(diào)整(根據(jù)其數(shù)據(jù)表)。對于其他編碼器,應(yīng)該相應(yīng)地評估延遲值。
2. 功能塊架構(gòu)
2.1. 數(shù)字邏輯說明
2.1.1. 確定編碼器方向
首先,延遲宏單元將編碼器輸出信號的兩個(gè)邊沿延遲2毫秒。延遲宏單元起到抗尖峰脈沖濾波器的作用,可消除開關(guān)切換抖動。濾波后的信號B出現(xiàn)在One-Shots和頻率檢測器的宏單元輸入端子,以及DFF的CLK輸入端子上。濾波后的信號A出現(xiàn)在DFF的D輸入端子上。當(dāng)編碼器碼盤順時(shí)針方向旋轉(zhuǎn)時(shí),信號A超前信號B,DFF輸出為高電平;當(dāng)編碼器碼盤逆時(shí)針方向旋轉(zhuǎn)時(shí)信號B超前信號A,DFF輸出低電平。所以DFF可以判斷旋轉(zhuǎn)的方向。變阻器上升/下降控制端子上的高或低信號決定了內(nèi)部計(jì)數(shù)器對于CLK輸入端子上的每個(gè)脈沖是進(jìn)行增加計(jì)數(shù)還是減少計(jì)數(shù)。
編碼器順時(shí)針旋轉(zhuǎn)的時(shí)序圖如圖3所示,編碼器逆時(shí)針旋轉(zhuǎn)的時(shí)序圖如圖4所示。
圖3:編碼器順時(shí)針旋轉(zhuǎn)的時(shí)序圖
圖4:編碼器逆時(shí)針旋轉(zhuǎn)的時(shí)序圖
2.1.1.確定編碼器速度
SLG47004具有10-bit數(shù)字變阻器,從而允許實(shí)施1024個(gè)調(diào)節(jié)步驟??烧{(diào)分壓器有3種調(diào)節(jié)模式。用戶可以用step = 1個(gè)數(shù)字代碼(模式1)、step = 10個(gè)數(shù)字代碼(模式2)和step = 100個(gè)數(shù)字代碼(模式3)共三種不同的步長來改變輸出信號。采用了2個(gè)頻率檢測器以實(shí)現(xiàn)3種模式。第一種模式用來平滑準(zhǔn)確地調(diào)整輸出信號。當(dāng)用戶用小于10 Hz的頻率調(diào)整旋鈕時(shí),會激活第一種模式。當(dāng)頻率在大于10 Hz小于25 Hz時(shí)激活第二種模式。頻率大于25 Hz時(shí)激活第三種模式。
One-Shots為所需的脈沖數(shù)設(shè)置時(shí)間間隔。
根據(jù)頻率檢測器的輸出,來決定數(shù)字多路復(fù)用器傳遞到變阻器的CLK輸入端的脈沖數(shù)量是1個(gè)、10個(gè)或100個(gè)脈沖。
2.1.2. 每轉(zhuǎn)的制動和脈沖數(shù)
該項(xiàng)目中使用了具有不同脈沖數(shù)和制動(位置)/阻尼點(diǎn)的編碼器。對于15個(gè)脈沖,每個(gè)完整脈沖有兩個(gè)制動/阻尼點(diǎn)。這意味著對于旋轉(zhuǎn)編碼器中的每個(gè)脈沖(或周期),都有兩個(gè)制動/阻尼點(diǎn):脈沖的上升沿(一次變化)和脈沖的下降沿(另一次變化)。如果您的旋轉(zhuǎn)編碼器每個(gè)脈沖有一個(gè)制動/阻尼點(diǎn),那么每個(gè)脈沖有兩次變化。對于這種類型的編碼器,設(shè)計(jì)保持不變,除了頻率檢測器和One-Shots設(shè)置。他們的設(shè)置中,Edge Select應(yīng)設(shè)置為“Falling”或“Rising”。在脈沖數(shù)和制動數(shù)不匹配的編碼器中,Edge Select應(yīng)設(shè)置為“Both”。
2.2. 電位計(jì)模式
對于此設(shè)計(jì),我們使用了數(shù)字變阻器的電位計(jì)模式。該模式允許將兩個(gè)2引腳變阻器組合配置為一個(gè)3引腳電位計(jì)一樣來工作。當(dāng)此模式啟用時(shí)(寄存器 [917] = 1),用戶只需要更改RH0內(nèi)部計(jì)數(shù)器的值即可。在這種模式下,RH1計(jì)數(shù)器的值是電位計(jì)總計(jì)數(shù)值(1023)減去RH0計(jì)數(shù)器值后所得的數(shù)值。請注意RH0_B引腳和RH1_A引腳必須外部短接在一起。
2.3. 宏單元設(shè)置
下表顯示了3-bit LUT1和3-bit LUT3設(shè)置:標(biāo)準(zhǔn)邏輯門–多路復(fù)用器。
表1:2-bit LUT設(shè)置
表2:DFF設(shè)置
表3:PIN設(shè)置
表4:OSC設(shè)置
圖5a:數(shù)字變阻器設(shè)置
圖5b:數(shù)字變阻器設(shè)置
圖6a:延遲/濾波設(shè)置
圖6b:延遲/濾波設(shè)置
圖7a:脈沖數(shù)與制動數(shù)不匹配時(shí)的One Shots設(shè)置
圖7b:脈沖數(shù)與制動數(shù)不匹配時(shí)的One Shots設(shè)置
圖8a:脈沖數(shù)與制動數(shù)匹配時(shí)的One Shots設(shè)置
圖8b:脈沖數(shù)與制動數(shù)匹配時(shí)的One Shots設(shè)置
圖9a:脈沖數(shù)和制動數(shù)不匹配時(shí)的頻率檢測器設(shè)置
圖9b:脈沖數(shù)和制動數(shù)不匹配時(shí)的頻率檢測器設(shè)置
圖10a:脈沖數(shù)和制動數(shù)匹配時(shí)的頻率檢測器設(shè)置
圖10b:脈沖數(shù)和制動數(shù)匹配時(shí)的頻率檢測器設(shè)置
總結(jié)
SLG47004有兩個(gè)數(shù)字變阻器,可以實(shí)現(xiàn)眾多有用的應(yīng)用。一個(gè)典型的例子是結(jié)合現(xiàn)代編碼器使用數(shù)字變阻器代替模擬電位計(jì)。本文說明了如何使用SLG47004實(shí)現(xiàn)可調(diào)分壓器,它是一種通用解決方案,可應(yīng)用于可調(diào)電源、放大器的增益控制等。該解決方案具有成本效益且能耗低。