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