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