嵌入式領(lǐng)域中電機(jī)控制應(yīng)用的可編程片上系統(tǒng)(PSoC)
無(wú)論電機(jī)負(fù)載如何變化,為了確保電機(jī)的速度保持在特定值上,我們需要遵循閉環(huán)系統(tǒng)的原則。為了感測(cè)和反饋電流轉(zhuǎn)速,如前所述,我們采用旋轉(zhuǎn)編碼器。我們對(duì)編碼器的選擇取決于所需的轉(zhuǎn)速和速度準(zhǔn)確度。旋轉(zhuǎn)編碼器的信號(hào)通過使用PSoC Creator工具提供的正交解碼器模塊進(jìn)行編碼。
可將適合的時(shí)鐘頻率路由到正交解碼器模塊,具體取決于每分鐘的最大轉(zhuǎn)速。例如,如果最大轉(zhuǎn)速為9000rpm,那就相當(dāng)于每秒150轉(zhuǎn)。如果編碼器每次完成旋轉(zhuǎn)需要4個(gè)脈沖(編碼器特征),那么解碼器模塊所需的時(shí)鐘頻率就是150*4*10 = 6kHz(信號(hào)A和B頻率的10倍)。由于我們每秒鐘都要跟蹤計(jì)數(shù)值,因此我們能夠采用每秒鐘一次的中斷。在中斷服務(wù)例程中,我們能捕獲計(jì)數(shù)寄存器的值并將其清空(從而能測(cè)量下一秒的速度),并用方程式1計(jì)算電機(jī)的速度。
以下兩個(gè)案例中列出的電源適用于DC電機(jī)以及可對(duì)其進(jìn)行控制的邏輯。
案例一:DC電機(jī)還使用相同的PSoC 3/5通過電流緩沖驅(qū)動(dòng)
例如,DC電機(jī)規(guī)范要求在無(wú)負(fù)載條件下5V供電電壓的流耗為88mA,我們可通過如圖7所示的電流驅(qū)動(dòng)電路將PSoC 3/5輸出接口連接到DC電機(jī)。
在該例中,我們給出了常量DC供電電壓,電機(jī)全速轉(zhuǎn)動(dòng),即9000rpm?,F(xiàn)在光學(xué)旋轉(zhuǎn)編碼器和電機(jī)轉(zhuǎn)速相同,編碼器輸出采用PSoC 3/5中的解碼器測(cè)量。這時(shí),微控制器檢測(cè)到9000rpm的轉(zhuǎn)速,并將其與所需值進(jìn)行比較(例如,所需值為6000rpm,也就是實(shí)際速度的三分之二)。那么校正響應(yīng)為-3000rpm,即當(dāng)前施加給電機(jī)的電壓應(yīng)減少三分之一。
圖7:通過PSoC驅(qū)動(dòng)的DC電機(jī)
我們可使用PWM來(lái)實(shí)施電壓差。通過改變PWM的占空比,可改變平均電壓。PSoC Creator提供拖放式PWM模塊。反饋至PWM模塊的時(shí)鐘頻率取決于應(yīng)用所需的速度分辨率。
這里:
這里所需的占空比為三分之二。每周期PWM模塊的平均輸出電壓為5*2/3 = 3.33V。PWM模塊的輸出提供給可連接至DC電機(jī)的電流驅(qū)動(dòng)電路。DC電機(jī)現(xiàn)在能實(shí)現(xiàn)6000rpm的所需轉(zhuǎn)速。旋轉(zhuǎn)編碼器再次感測(cè)速度,檢測(cè)到6000rpm,并將其反饋回控制器?,F(xiàn)在的誤差因素為0。PWM保持此前的狀態(tài)且電機(jī)保持其速度。
假設(shè)向電機(jī)添加了負(fù)載。雖然占空比保持在2/3,但電機(jī)速度下降為5000rpm?,F(xiàn)在旋轉(zhuǎn)編碼器感測(cè)速度,并將誤差因數(shù)(即+1000rpm)饋送給控制器。PWM的占空比為1/9。通過函數(shù)將該因數(shù)寫入中斷中的PWM函數(shù):
案例二:通過另一控制器為DC電機(jī)供電
如果通過另一個(gè)控制器為DC電機(jī)供電,那么PSoC控制器可用來(lái)通過I2C等接口將電機(jī)狀態(tài)饋送給另一個(gè)控制器。如果DC電機(jī)通過外部電池供電,那么如圖8所示的邏輯能夠輕松控制其速度。可將PSoC的PWM輸出饋送給打開后能為電機(jī)供電的開關(guān),電機(jī)采用特定占空比以便能如前所述滿足相同的標(biāo)準(zhǔn)。
圖8:通過外部電源(不是PSoC)供電的DC電機(jī)
定位控制等其它應(yīng)用:
對(duì)于定位控制等其它電機(jī)控制應(yīng)用而言,我們能采用絕對(duì)旋轉(zhuǎn)編碼器,因?yàn)槠淠芙o出電機(jī)的當(dāng)前位置。也可將這種輸出饋送回控制器,找出與實(shí)際信號(hào)的偏差,并通過短時(shí)期脈沖確保電機(jī)達(dá)到目標(biāo)位置。
評(píng)論