新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 嵌入式領(lǐng)域中電機控制應用的可編程片上系統(tǒng)(PSoC)

嵌入式領(lǐng)域中電機控制應用的可編程片上系統(tǒng)(PSoC)

作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏


旋轉(zhuǎn)編碼器是一種非常簡單的電磁器件,其能為軸上的每一步旋轉(zhuǎn)生成適當?shù)拿}沖??蓪⑵錃w為兩類:絕對編碼器和增量編碼器。

(Ⅰ) 絕對編碼器

絕對編碼器可為電機軸的每個位置提供固定輸出。例如,如果編碼器能檢測0度(固定)、45度、90度、135度、180度、225度、270度、315度角的軸位置(共8個位置 - 45度的分辨率),則可為每個位置分配一個3位值,如從000到111。

(Ⅱ) 增量編碼器

就增量編碼器而言,僅能確定電機的相對位置(即僅能確定相對于上一個位置的轉(zhuǎn)動方向和角度)。增量編碼器給出A和B兩個信號,它們在不轉(zhuǎn)動的情況下都具有默認值,假設(shè)為邏輯0和邏輯1。在軸上出現(xiàn)較小角度的旋轉(zhuǎn)時,信號A和B都會在短時期內(nèi)轉(zhuǎn)換為其它邏輯,隨后又返回默認值。根據(jù)旋轉(zhuǎn)方向,A會轉(zhuǎn)到B或B會轉(zhuǎn)到A。對于每次這種旋轉(zhuǎn)來說,信號A和B都會發(fā)生這種轉(zhuǎn)變。圖4同時給出了順時針和逆時針旋轉(zhuǎn)情況下信號A和B的轉(zhuǎn)變情況。


圖4:信號A和B的轉(zhuǎn)變

此外,旋轉(zhuǎn)編碼器還可根據(jù)使用的工作原理做進一步細分,包括:

(Ⅰ) 機械編碼器:相繼趨近接觸金屬接地(邏輯0)時信號A和B發(fā)生轉(zhuǎn)變;
(Ⅱ) 磁性編碼器:轉(zhuǎn)子隨軸轉(zhuǎn)動,在此情況下南北兩極間距一致且互變。傳感器根據(jù)通量線路的方向檢測位置的微量偏移和轉(zhuǎn)動方向;
(Ⅲ) 光學編碼器:發(fā)光二極管的光束通過連接在軸上且有透明和不透明部分的圓盤。兩個光檢測器(傳感器A和B)檢測到光束,隨后生成正交相位脈沖A和B。

圖5顯示了機械編碼器示例。


圖5:機械旋轉(zhuǎn)編碼器

速度測量設(shè)備

目前,轉(zhuǎn)速表被廣泛用于測量電機的轉(zhuǎn)速??蓪㈦姍C的軸連接到類似于DC生成器的轉(zhuǎn)速表(即,用機械能生成電能)上,其輸出的DC電壓與電機轉(zhuǎn)速成正比。轉(zhuǎn)速表生成的電壓可用于實現(xiàn)進一步處理。

如今,眾多設(shè)計人員都紛紛轉(zhuǎn)而采用旋轉(zhuǎn)編碼器,每次轉(zhuǎn)動生成數(shù)字輸出。另外,這不會像轉(zhuǎn)速表那樣出現(xiàn)磨損問題。將旋轉(zhuǎn)編碼器的輸出饋送給微控制器,就能直接監(jiān)控以旋轉(zhuǎn)編碼器作為傳感器的電機轉(zhuǎn)速。


圖6:通過接口將旋轉(zhuǎn)編碼器與DC電機相連

運動控制器模塊

我們在系統(tǒng)中需要一個運動控制器模塊來比較參考速度和實際速度,并將誤差信號饋送回電機。由于上述旋轉(zhuǎn)編碼器返回兩個正交相位信號A和B,我們需要實施可對信號解碼的邏輯,從而感應電機的電流速度。通過計算傳感速度和實際速度之差,我們就能向電機饋送校正因數(shù),從而獲得所需的速度。由于控制到電機的電源能控制其轉(zhuǎn)速,因而饋送的校正因數(shù)需要就給定的供電電壓實現(xiàn)適當?shù)碾妷盒U?br />
我們將在以下章節(jié)詳細介紹PSoC3/5作為運動控制器的速度控制應用。PSoC是一種名符其實的可編程嵌入式片上系統(tǒng),其在單顆芯片上高度集成了可配置的模擬與數(shù)字外設(shè)功能、存儲器和微控制器。其采用的極度靈活的視覺嵌入式設(shè)計方法包含預配置的用戶定義外設(shè)和層級原理圖條目等元素。其它特性還包括高精度可編程模擬模塊,如12到20位Δ-ΣADC、帶幾十種插入式外設(shè)的數(shù)字邏輯庫、業(yè)界最佳的電源管理以及適用于電機控制應用的豐富連接資源等。



如何應用可實現(xiàn)電機控制的旋轉(zhuǎn)編碼器

既然我們已經(jīng)了解了電機和旋轉(zhuǎn)編碼器的使用和工作原理,下面我們將討論三種器件如何在實際應用中實現(xiàn)彼此互連。如果我們要對旋轉(zhuǎn)編碼器的信號進行解碼并實施進一步處理,那么通常情況下我們必須在正常的微控制器中采用中斷例程,并在中斷例程過程中避免執(zhí)行其它功能。若采用PSoC 3和5等可編程片上系統(tǒng)器件,微控制器就會有單獨的數(shù)字模塊/硬件模塊來解碼正交相位信號(A和B),并存儲電流計數(shù)值,即自動遞增和遞減。

在反饋環(huán)路中,如果我們通過電機適配器將電機軸(速度待測)和旋轉(zhuǎn)編碼器的軸(這可能給電機造成負載)連接,那么編碼器軸的轉(zhuǎn)速就會與電機相同。編碼器的輸出可饋送給PSoC 3/5中的正交解碼器模塊做進一步處理,從而全面實現(xiàn)典型的電機控制系統(tǒng)。

電機控制應用示例

在與電機相關(guān)的應用中,“測速”是常見的要求之一。如前所述,可在解碼器模塊中存儲電流計數(shù)值。由于電機的速度通常是根據(jù)每分鐘的旋轉(zhuǎn)次數(shù)來測量的,因而我們可通過每分鐘對計數(shù)值進行測量來測得電機速度。例如,在每一分鐘后,我們都能重設(shè)計數(shù)值,也能使用計數(shù)值差額進行計算。事實上,不用等待每分鐘都做計算,我們可測量每秒鐘的計數(shù)值并乘以60,但這種方法的準確度會低于每分鐘測量到的情況。那么,電機的速度計算如下:



例如,我們假定步進電機的速度需保持在6000rpm上。就開環(huán)系統(tǒng)而言,我們可讓控制器向步進電機輸出方波信號,讓它保持一個方向的轉(zhuǎn)速為6000rpm。但是,如果我們?yōu)殡姍C添加負載,電機的速度就會低于它應有的實際值,從而造成我們無法實現(xiàn)所需的速度,而且還沒辦法做出調(diào)整。


評論


技術(shù)專區(qū)

關(guān)閉