嵌入式領(lǐng)域中電機(jī)控制應(yīng)用的可編程片上系統(tǒng)(PSoC)
旋轉(zhuǎn)編碼器是一種非常簡單的電磁器件,其能為軸上的每一步旋轉(zhuǎn)生成適當(dāng)?shù)拿}沖??蓪⑵錃w為兩類:絕對編碼器和增量編碼器。
(Ⅰ) 絕對編碼器
絕對編碼器可為電機(jī)軸的每個(gè)位置提供固定輸出。例如,如果編碼器能檢測0度(固定)、45度、90度、135度、180度、225度、270度、315度角的軸位置(共8個(gè)位置 - 45度的分辨率),則可為每個(gè)位置分配一個(gè)3位值,如從000到111。
(Ⅱ) 增量編碼器
就增量編碼器而言,僅能確定電機(jī)的相對位置(即僅能確定相對于上一個(gè)位置的轉(zhuǎn)動(dòng)方向和角度)。增量編碼器給出A和B兩個(gè)信號(hào),它們在不轉(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。對于每次這種旋轉(zhuǎn)來說,信號(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ù)通量線路的方向檢測位置的微量偏移和轉(zhuǎn)動(dòng)方向;
(Ⅲ) 光學(xué)編碼器:發(fā)光二極管的光束通過連接在軸上且有透明和不透明部分的圓盤。兩個(gè)光檢測器(傳感器A和B)檢測到光束,隨后生成正交相位脈沖A和B。
圖5顯示了機(jī)械編碼器示例。
圖5:機(jī)械旋轉(zhuǎn)編碼器
速度測量設(shè)備
目前,轉(zhuǎn)速表被廣泛用于測量電機(jī)的轉(zhuǎn)速??蓪㈦姍C(jī)的軸連接到類似于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)磨損問題。將旋轉(zhuǎn)編碼器的輸出饋送給微控制器,就能直接監(jiān)控以旋轉(zhuǎn)編碼器作為傳感器的電機(jī)轉(zhuǎn)速。
圖6:通過接口將旋轉(zhuǎn)編碼器與DC電機(jī)相連
運(yùn)動(dòng)控制器模塊
我們在系統(tǒng)中需要一個(gè)運(yùn)動(dòng)控制器模塊來比較參考速度和實(shí)際速度,并將誤差信號(hào)饋送回電機(jī)。由于上述旋轉(zhuǎn)編碼器返回兩個(gè)正交相位信號(hào)A和B,我們需要實(shí)施可對信號(hào)解碼的邏輯,從而感應(yīng)電機(jī)的電流速度。通過計(jì)算傳感速度和實(shí)際速度之差,我們就能向電機(jī)饋送校正因數(shù),從而獲得所需的速度。由于控制到電機(jī)的電源能控制其轉(zhuǎn)速,因而饋送的校正因數(shù)需要就給定的供電電壓實(shí)現(xiàn)適當(dāng)?shù)碾妷盒U?br />
我們將在以下章節(jié)詳細(xì)介紹PSoC3/5作為運(yùn)動(dòng)控制器的速度控制應(yīng)用。PSoC是一種名符其實(shí)的可編程嵌入式片上系統(tǒng),其在單顆芯片上高度集成了可配置的模擬與數(shù)字外設(shè)功能、存儲(chǔ)器和微控制器。其采用的極度靈活的視覺嵌入式設(shè)計(jì)方法包含預(yù)配置的用戶定義外設(shè)和層級原理圖條目等元素。其它特性還包括高精度可編程模擬模塊,如12到20位Δ-ΣADC、帶幾十種插入式外設(shè)的數(shù)字邏輯庫、業(yè)界最佳的電源管理以及適用于電機(jī)控制應(yīng)用的豐富連接資源等。
如何應(yīng)用可實(shí)現(xiàn)電機(jī)控制的旋轉(zhuǎn)編碼器
既然我們已經(jīng)了解了電機(jī)和旋轉(zhuǎn)編碼器的使用和工作原理,下面我們將討論三種器件如何在實(shí)際應(yīng)用中實(shí)現(xiàn)彼此互連。如果我們要對旋轉(zhuǎn)編碼器的信號(hào)進(jìn)行解碼并實(shí)施進(jìn)一步處理,那么通常情況下我們必須在正常的微控制器中采用中斷例程,并在中斷例程過程中避免執(zhí)行其它功能。若采用PSoC 3和5等可編程片上系統(tǒng)器件,微控制器就會(huì)有單獨(dú)的數(shù)字模塊/硬件模塊來解碼正交相位信號(hào)(A和B),并存儲(chǔ)電流計(jì)數(shù)值,即自動(dòng)遞增和遞減。
在反饋環(huán)路中,如果我們通過電機(jī)適配器將電機(jī)軸(速度待測)和旋轉(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)用中,“測速”是常見的要求之一。如前所述,可在解碼器模塊中存儲(chǔ)電流計(jì)數(shù)值。由于電機(jī)的速度通常是根據(jù)每分鐘的旋轉(zhuǎn)次數(shù)來測量的,因而我們可通過每分鐘對計(jì)數(shù)值進(jìn)行測量來測得電機(jī)速度。例如,在每一分鐘后,我們都能重設(shè)計(jì)數(shù)值,也能使用計(jì)數(shù)值差額進(jìn)行計(jì)算。事實(shí)上,不用等待每分鐘都做計(jì)算,我們可測量每秒鐘的計(jì)數(shù)值并乘以60,但這種方法的準(zhǔn)確度會(huì)低于每分鐘測量到的情況。那么,電機(jī)的速度計(jì)算如下:
例如,我們假定步進(jìn)電機(jī)的速度需保持在6000rpm上。就開環(huán)系統(tǒng)而言,我們可讓控制器向步進(jìn)電機(jī)輸出方波信號(hào),讓它保持一個(gè)方向的轉(zhuǎn)速為6000rpm。但是,如果我們?yōu)殡姍C(jī)添加負(fù)載,電機(jī)的速度就會(huì)低于它應(yīng)有的實(shí)際值,從而造成我們無法實(shí)現(xiàn)所需的速度,而且還沒辦法做出調(diào)整。
評論