無論是小到手持設備還是大到機械機床,在當今的嵌入式和工業應用中,控制系統的基本要素仍然占據著舉足輕重的地位。大多數自動控制系統都采用負反饋機制來控制物理參數,如位置、速度、扭矩、電壓、電流以及強度等。在此,需要控制的參數均由適當的變換器進行感測,之后再反饋回輸入與參考值進行比較。將經采樣的輸出信號與參考輸入相減,即是所謂的負反饋。差異信號(“誤差”)放大后會驅動系統(激勵),讓輸出接近參考值。換言之,系統可最小化誤差信號,因而是一種閉環控制系統。電子機械系統在傳統控制系統中占絕大多數,而電機控制則是一種常見的應用。
圖1:控制電機速度的閉環系統
一般說來,可將電機控制系統分為各種不同的子系統,如速度、位置或方向控制系統等。我們首先看一下構造簡單的速度控制系統,其電機采用常量電壓(V)。在默認情況下,電機在特定的供電電壓(V)下具有特定的轉速(x)。如果向電機施加相同電壓(V)的負載,那么其轉速可能下降(y)。這樣,我們就不能控制電機的速度,也就是說不能確保轉速不受任何外部因素的影響。這是一種開環系統,因而我們要采取一定的反饋機制,以便能感應電機的速度并對有關因素進行補償。
圖1顯示了閉環電機控制系統。這里,運動控制器將來自反饋系統的信號與實際輸入進行比較,以獲得誤差信號,然后將其放大后提供給電機。在此系統中,向電機饋送校正因數的“運動控制器”和“放大器”模塊可一起由混合信號控制器實現,而光學轉動編碼器則作為傳感器,因為我們能通過控制器輕松對該組件的輸出信號進行解碼。下文將對上述各個系統的模塊做進一步地闡述。
電機就是可將電能轉換為機械能的設備。下列給出了不同領域常用的一些電機類型:
(Ⅰ) DC電機:最簡單的DC電機就是在軸上加線圈繞組,固定永磁鐵(見圖2)。在將電壓(V)施加給線圈時,電流(i)通過線圈。由于已有磁場(B),會有力(F)作用在線圈上(弗萊明右手法則)使其轉動。
一旦線圈達到永磁鐵的磁極之一,就會受到斥力并向另一磁極運動,從而形成持續轉動,速度由所施加的DC電壓決定。
圖2:DC電機的工作原理
(Ⅱ) 步進電機:永磁步進電機由永磁轉子、線圈繞組和磁傳導定子組成。
為線圈繞組施加電壓會產生電磁場,出現南北極。定子承載著磁場。通過順序通電或“步進”定子線圈,能改變磁場,進而生成旋轉運動。圖2描述了雙相電機的工作情況。在第一步中,為雙相定子的A相施加電壓,就會將轉子磁鎖在如圖所示的位置,這是因為異性相吸;在第二步中,關閉A相打開B相,讓轉子順時針旋轉90度;在第三步中,B相打開,極性與第一步相反,又產生90度旋轉;在第四步中,A相關閉,B相打開,極性與第二步相反。重復上述序列會讓轉子每次以90度步進順時針旋轉。
在步進電機中,電機旋轉的速度取決于第一步到第四步的執行速度。
圖3:步進電機的工作原理
旋轉編碼器簡介及其分類
電機控制系統的下一個部分就是能感應電機狀態并將狀態饋送回控制器的反饋傳感器。如前所述,旋轉編碼器可發揮反饋傳感器的作用。
旋轉編碼器是一種非常簡單的電磁器件,其能為軸上的每一步旋轉生成適當的脈沖。可將其歸為兩類:絕對編碼器和增量編碼器。
(Ⅰ) 絕對編碼器
絕對編碼器可為電機軸的每個位置提供固定輸出。例如,如果編碼器能檢測0度(固定)、45度、90度、135度、180度、225度、270度、315度角的軸位置(共8個位置 - 45度的分辨率),則可為每個位置分配一個3位值,如從000到111。
(Ⅱ) 增量編碼器
就增量編碼器而言,僅能確定電機的相對位置(即僅能確定相對于上一個位置的轉動方向和角度)。增量編碼器給出A和B兩個信號,它們在不轉動的情況下都具有默認值,假設為邏輯0和邏輯1。在軸上出現較小角度的旋轉時,信號A和B都會在短時期內轉換為其它邏輯,隨后又返回默認值。根據旋轉方向,A會轉到B或B會轉到A。對于每次這種旋轉來說,信號A和B都會發生這種轉變。圖4同時給出了順時針和逆時針旋轉情況下信號A和B的轉變情況。
圖4:信號A和B的轉變
此外,旋轉編碼器還可根據使用的工作原理做進一步細分,包括:
(Ⅰ) 機械編碼器:相繼趨近接觸金屬接地(邏輯0)時信號A和B發生轉變;
(Ⅱ) 磁性編碼器:轉子隨軸轉動,在此情況下南北兩極間距一致且互變。傳感器根據通量線路的方向檢測位置的微量偏移和轉動方向;
(Ⅲ) 光學編碼器:發光二極管的光束通過連接在軸上且有透明和不透明部分的圓盤。兩個光檢測器(傳感器A和B)檢測到光束,隨后生成正交相位脈沖A和B。
圖5顯示了機械編碼器示例。
圖5:機械旋轉編碼器
速度測量設備
目前,轉速表被廣泛用于測量電機的轉速。可將電機的軸連接到類似于DC生成器的轉速表(即,用機械能生成電能)上,其輸出的DC電壓與電機轉速成正比。轉速表生成的電壓可用于實現進一步處理。
如今,眾多設計人員都紛紛轉而采用旋轉編碼器,每次轉動生成數字輸出。另外,這不會像轉速表那樣出現磨損問題。將旋轉編碼器的輸出饋送給微控制器,就能直接監控以旋轉編碼器作為傳感器的電機轉速。
圖6:通過接口將旋轉編碼器與DC電機相連
運動控制器模塊
我們在系統中需要一個運動控制器模塊來比較參考速度和實際速度,并將誤差信號饋送回電機。由于上述旋轉編碼器返回兩個正交相位信號A和B,我們需要實施可對信號解碼的邏輯,從而感應電機的電流速度。通過計算傳感速度和實際速度之差,我們就能向電機饋送校正因數,從而獲得所需的速度。由于控制到電機的電源能控制其轉速,因而饋送的校正因數需要就給定的供電電壓實現適當的電壓校正。
我們將在以下章節詳細介紹PSoC3/5作為運動控制器的速度控制應用。PSoC是一種名符其實的可編程嵌入式片上系統,其在單顆芯片上高度集成了可配置的模擬與數字外設功能、存儲器和微控制器。其采用的極度靈活的視覺嵌入式設計方法包含預配置的用戶定義外設和層級原理圖條目等元素。其它特性還包括高精度可編程模擬模塊,如12到20位Δ-ΣADC、帶幾十種插入式外設的數字邏輯庫、業界最佳的電源管理以及適用于電機控制應用的豐富連接資源等。
如何應用可實現電機控制的旋轉編碼器
既然我們已經了解了電機和旋轉編碼器的使用和工作原理,下面我們將討論三種器件如何在實際應用中實現彼此互連。如果我們要對旋轉編碼器的信號進行解碼并實施進一步處理,那么通常情況下我們必須在正常的微控制器中采用中斷例程,并在中斷例程過程中避免執行其它功能。若采用PSoC 3和5等可編程片上系統器件,微控制器就會有單獨的數字模塊/硬件模塊來解碼正交相位信號(A和B),并存儲電流計數值,即自動遞增和遞減。
在反饋環路中,如果我們通過電機適配器將電機軸(速度待測)和旋轉編碼器的軸(這可能給電機造成負載)連接,那么編碼器軸的轉速就會與電機相同。編碼器的輸出可饋送給PSoC 3/5中的正交解碼器模塊做進一步處理,從而全面實現典型的電機控制系統。
電機控制應用示例
在與電機相關的應用中,“測速”是常見的要求之一。如前所述,可在解碼器模塊中存儲電流計數值。由于電機的速度通常是根據每分鐘的旋轉次數來測量的,因而我們可通過每分鐘對計數值進行測量來測得電機速度。例如,在每一分鐘后,我們都能重設計數值,也能使用計數值差額進行計算。事實上,不用等待每分鐘都做計算,我們可測量每秒鐘的計數值并乘以60,但這種方法的準確度會低于每分鐘測量到的情況。那么,電機的速度計算如下:
例如,我們假定步進電機的速度需保持在6000rpm上。就開環系統而言,我們可讓控制器向步進電機輸出方波信號,讓它保持一個方向的轉速為6000rpm。但是,如果我們為電機添加負載,電機的速度就會低于它應有的實際值,從而造成我們無法實現所需的速度,而且還沒辦法做出調整。
無論電機負載如何變化,為了確保電機的速度保持在特定值上,我們需要遵循閉環系統的原則。為了感測和反饋電流轉速,如前所述,我們采用旋轉編碼器。我們對編碼器的選擇取決于所需的轉速和速度準確度。旋轉編碼器的信號通過使用PSoC Creator工具提供的正交解碼器模塊進行編碼。
可將適合的時鐘頻率路由到正交解碼器模塊,具體取決于每分鐘的最大轉速。例如,如果最大轉速為9000rpm,那就相當于每秒150轉。如果編碼器每次完成旋轉需要4個脈沖(編碼器特征),那么解碼器模塊所需的時鐘頻率就是150*4*10 = 6kHz(信號A和B頻率的10倍)。由于我們每秒鐘都要跟蹤計數值,因此我們能夠采用每秒鐘一次的中斷。在中斷服務例程中,我們能捕獲計數寄存器的值并將其清空(從而能測量下一秒的速度),并用方程式1計算電機的速度。
以下兩個案例中列出的電源適用于DC電機以及可對其進行控制的邏輯。
案例一:DC電機還使用相同的PSoC 3/5通過電流緩沖驅動
例如,DC電機規范要求在無負載條件下5V供電電壓的流耗為88mA,我們可通過如圖7所示的電流驅動電路將PSoC 3/5輸出接口連接到DC電機。
在該例中,我們給出了常量DC供電電壓,電機全速轉動,即9000rpm。現在光學旋轉編碼器和電機轉速相同,編碼器輸出采用PSoC 3/5中的解碼器測量。這時,微控制器檢測到9000rpm的轉速,并將其與所需值進行比較(例如,所需值為6000rpm,也就是實際速度的三分之二)。那么校正響應為-3000rpm,即當前施加給電機的電壓應減少三分之一。
圖7:通過PSoC驅動的DC電機
我們可使用PWM來實施電壓差。通過改變PWM的占空比,可改變平均電壓。PSoC Creator提供拖放式PWM模塊。反饋至PWM模塊的時鐘頻率取決于應用所需的速度分辨率。
這里:
這里所需的占空比為三分之二。每周期PWM模塊的平均輸出電壓為5*2/3 = 3.33V。PWM模塊的輸出提供給可連接至DC電機的電流驅動電路。DC電機現在能實現6000rpm的所需轉速。旋轉編碼器再次感測速度,檢測到6000rpm,并將其反饋回控制器。現在的誤差因素為0。PWM保持此前的狀態且電機保持其速度。
假設向電機添加了負載。雖然占空比保持在2/3,但電機速度下降為5000rpm。現在旋轉編碼器感測速度,并將誤差因數(即+1000rpm)饋送給控制器。PWM的占空比為1/9。通過函數將該因數寫入中斷中的PWM函數:
案例二:通過另一控制器為DC電機供電
如果通過另一個控制器為DC電機供電,那么PSoC控制器可用來通過I2C等接口將電機狀態饋送給另一個控制器。如果DC電機通過外部電池供電,那么如圖8所示的邏輯能夠輕松控制其速度。可將PSoC的PWM輸出饋送給打開后能為電機供電的開關,電機采用特定占空比以便能如前所述滿足相同的標準。
圖8:通過外部電源(不是PSoC)供電的DC電機
定位控制等其它應用:
對于定位控制等其它電機控制應用而言,我們能采用絕對旋轉編碼器,因為其能給出電機的當前位置。也可將這種輸出饋送回控制器,找出與實際信號的偏差,并通過短時期脈沖確保電機達到目標位置。
責任編輯:gt
評論
查看更多