首頁 > 新能源汽車

電機控制中可編程 SoC 與專用 MCU 之間的權(quán)衡

來源:新能源汽車網(wǎng)
時間:2023-03-20 15:06:20
熱度:

電機控制中可編程 SoC 與專用 MCU 之間的權(quán)衡控制系統(tǒng)在當今的嵌入式和工業(yè)應用中非常重要,從小型手持設備到笨重的機械設備。大多數(shù)自動控制系統(tǒng)使用負反饋來控制物理參數(shù),例如位置

控制系統(tǒng)在當今的嵌入式和工業(yè)應用中非常重要,從小型手持設備到笨重的機械設備。大多數(shù)自動控制系統(tǒng)使用負反饋來控制物理參數(shù),例如位置、速度、扭矩、電壓、電流、強度等。

要控制的參數(shù)由傳感器感測并反饋到輸入以與參考值進行比較。從參考輸入信號中減去采樣輸出信號稱為負反饋。差異信號(稱為“誤差”)然后被放大以驅(qū)動系統(tǒng)(稱為“驅(qū)動”),使輸出接近參考值。

換句話說,該系統(tǒng)旨在化誤差信號,因此是一個閉環(huán)控制系統(tǒng)。機電系統(tǒng)構(gòu)成了傳統(tǒng)控制系統(tǒng)中廣泛的領(lǐng)域,其中電機控制是一種常用的應用。

通常,電機控制系統(tǒng)分為速度、位置或方向控制等子系統(tǒng)。讓我們從一個簡單的速度控制系統(tǒng)開始,我們在其中向電機施加恒定電壓 (V)。默認情況下,任何電機在特定電源電壓 (V) 下都以特定速度 (x) 旋轉(zhuǎn)。如果以相同的電壓 (V) 向電機施加負載,則電機可能會減速至速度 (y)。因此,我們無法控制電機的速度或使電機在不受任何外部因素影響的情況下以恒定速度旋轉(zhuǎn)。這是一個開環(huán)系統(tǒng)。因此,我們需要一種反饋機制來感應電機的速度并補償這些因素。



點擊圖片可放大。


圖 1:控制電機速度的閉環(huán)系統(tǒng) 

圖 1 顯示了一個閉環(huán)電機控制系統(tǒng)。在這里,運動控制器將從反饋系統(tǒng)獲得的信號與給定的實際輸入進行比較,以獲得誤差信號,然后將其放大并應用于電機。在這個系統(tǒng)中,運動控制器和放大器塊將校正因子饋送到電機可以通過混合信號控制器實現(xiàn),光學旋轉(zhuǎn)編碼器可以用作傳感器,因為來自該組件的輸出信號可以通過控制器輕松解碼. 下面提供了對這些系統(tǒng)塊中的每一個的進一步解釋。

直流和步進電機 
電動機將電能轉(zhuǎn)換為機械能。用于各個行業(yè)的一些常見電機包括:

直流電機: 簡單的直流電機在軸上使用線圈繞組,帶有固定的永磁體(圖 2)。當電壓 (V) 施加到線圈時,電流 (i) 流過它。由于存在磁場 (B),力 (F) 作用在線圈上(根據(jù)弗萊明斯右手定則),使其旋轉(zhuǎn)。一旦線圈到達永磁體的一個磁極,它就會受到排斥力并向另一個磁極移動。這涉及連續(xù)旋轉(zhuǎn),其速度由施加的直流電壓決定。


圖 2:直流電機的工作 

步進電機: 永磁步進電機由永磁轉(zhuǎn)子、線圈繞組和導磁定子組成。
給線圈繞組通電會產(chǎn)生一個具有北極和南極的電磁場。定子攜帶磁場??梢酝ㄟ^順序激勵或“步進”定子線圈來改變磁場,這會產(chǎn)生旋轉(zhuǎn)運動。

兩相電機的工作如圖 2所示。在步驟 1 中,兩相定子的 A 相通電。這會將轉(zhuǎn)子磁力鎖定在所示位置,因為異極相吸。在步驟2中,A相關(guān)閉,B相開啟,使轉(zhuǎn)子順時針旋轉(zhuǎn)90°。在第 3 步中,B 相開啟,但極性與第 1 步相反,導致另一個 90° 旋轉(zhuǎn)。在步驟4中,A相關(guān)閉,B相打開,極性與步驟2相反。重復此順序會使轉(zhuǎn)子以 90° 的步長順時針旋轉(zhuǎn)。

在步進電機中,電機旋轉(zhuǎn)的速度由執(zhí)行步驟 1 至 4 的速度決定。


圖 3:步進電機的工作

旋轉(zhuǎn)編碼器 
電機控制系統(tǒng)的下一部分是反饋傳感器,它可以檢測電機的狀態(tài)并將其反饋給控制器。旋轉(zhuǎn)編碼器是一種簡單的機電設備,可以為其軸上的每一步旋轉(zhuǎn)產(chǎn)生合適的脈沖。它可以分為兩種類型:編碼器和增量編碼器。

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

增量編碼器: 使用增量編碼器,只能確定電機的相對位置(即,只能確定相對于先前位置的旋轉(zhuǎn)方向和角度)。增量編碼器發(fā)出兩個信號,A 和 B,當沒有旋轉(zhuǎn)時,這兩個信號都有一個默認值,比如邏輯 0 或邏輯 1。當軸上有一個小角度旋轉(zhuǎn)時,信號 A 和 B 都轉(zhuǎn)換為其他邏輯持續(xù)時間很短,然后返回到默認值。對于每次這樣的旋轉(zhuǎn),A 和 B 信號都會發(fā)生轉(zhuǎn)換。根據(jù)旋轉(zhuǎn)方向,A 中的過渡會導致 B 中的過渡,反之亦然。圖 4 顯示了順時針和逆時針旋轉(zhuǎn)的 A 和 B 信號。


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

旋轉(zhuǎn)編碼器還可以根據(jù)所使用的工作原理進一步分類。他們是:

機械編碼器:  信號 A 和 B 的轉(zhuǎn)換在它們與金屬接地(邏輯 0)接觸時發(fā)生,一個接一個。

磁性編碼器: 轉(zhuǎn)子隨軸轉(zhuǎn)動,并在其圓周周圍包含交替且均勻分布的北極和南極。傳感器根據(jù)磁力線的方向檢測位置和旋轉(zhuǎn)方向的這些微小變化。

光學編碼器: 來自發(fā)光二極管的光線穿過一個圓盤,該圓盤的軸附有透明和不透明部分。射線由兩個光電探測器(傳感器 A 和 B)檢測,然后產(chǎn)生四相脈沖 A 和 B。

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

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

第 2 頁,共 2 頁

速度測量設備: 轉(zhuǎn)速表廣泛用于測量電機的轉(zhuǎn)速。電機的軸連接到類似于直流發(fā)電機的轉(zhuǎn)速表(即,它從機械能中產(chǎn)生電能),輸出與電機旋轉(zhuǎn)速度成比例的直流電壓(圖 6)。轉(zhuǎn)速計產(chǎn)生的電壓用于進一步處理。

如今,許多設計人員正在轉(zhuǎn)向旋轉(zhuǎn)編碼器,因為它們會為每一圈旋轉(zhuǎn)生成數(shù)字輸出。它們也不會像轉(zhuǎn)速表那樣因磨損而退化。將旋轉(zhuǎn)編碼器的輸出饋送到微控制器提供了一種直接的方法來監(jiān)視和控制以旋轉(zhuǎn)編碼器作為傳感器的電機的速度。


圖 6:連接旋轉(zhuǎn)編碼器與直流電機

運動控制器塊:  需要運動控制器將參考速度與實際速度進行比較,并將誤差信號反饋給電機。由于上面討論的旋轉(zhuǎn)編碼器返回兩個正交相位信號 A 和 B,我們需要實現(xiàn)邏輯來解碼這些信號并感測電機的當前速度。通過計算感測速度與實際速度之間的差異,我們可以為電機提供一個校正因子,使其達到所需的速度。由于控制電機的電源可以控制其轉(zhuǎn)速,因此要提供的校正因子涉及對給定電源電壓進行適當?shù)碾妷盒U?/p>

使用可編程 SoC 進行電機控制 
以下部分詳細描述了此速度控制應用,其中賽普拉斯 PSoC 3/5 用作運動控制器。盡管可以使用許多控制器來執(zhí)行此操作,但 PSoC 包含靈活的可視化嵌入式設計方法,其中包括預配置、用戶定義的外設和分層原理圖條目。它還包括高精度可編程模擬模塊,包括 12 至 20 位 delta-sigma ADC、數(shù)字邏輯庫、電源管理和對電機控制應用有用的連接資源。

如果我們打算解碼來自旋轉(zhuǎn)編碼器的信號并進行進一步處理,我們通常必須在普通微控制器中使用中斷例程,這會阻止在為該中斷例程提供服務時執(zhí)行其他功能。

對于可編程 SoC 設備,微控制器具有單獨的數(shù)字塊/硬件塊,可以解碼這些四相信號(A 和 B)并存儲當前計數(shù)值(即自動遞增和遞減)。

在反饋回路中,如果我們通過電機適配器將電機軸(其速度要測量)與旋轉(zhuǎn)編碼器的軸連接(這可能會給電機加載),編碼器的軸將以與電機相同的速度旋轉(zhuǎn)。這些編碼器的輸出可以饋送到 PSoC 3/5 中可用的正交解碼器模塊,以進行進一步處理以完整實現(xiàn)典型的電機控制系統(tǒng)。

電機控制應用示例 
電機相關(guān)應用的常見要求之一是“速度測量”。如前所述,當前計數(shù)值可以存儲在解碼器模塊中。使用這個,我們可以通過測量每分鐘的計數(shù)值來測量電機的速度,因為電機的速度通常以每分鐘轉(zhuǎn)數(shù)來測量。

例如,每分鐘后我們可以重置計數(shù)值,或者我們可以使用計數(shù)的差異進行計算。無需等待一分鐘,甚至可以每秒測量計數(shù)值,然后乘以 60,盡管這可能無法提供與每分鐘測量所獲得的值一樣的值。因此,電機的轉(zhuǎn)速可以計算為


公式 1 

例如,假設我們需要將步進電機的速度保持在 6000 rpm。考慮到一個開環(huán)系統(tǒng),我們只需要一個控制器向步進電機輸出方波信號,使其以 6000 rpm 的速度沿一個方向旋轉(zhuǎn)。然而,當我們給電機增加負載時,電機的速度會降低到它應該運行的實際值以下。因此,我們無法達到所需的速度,也無法調(diào)整它。
為了使速度保持在一個特定值而不考慮電機負載的變化,我們需要遵循閉環(huán)系統(tǒng)的原理。如前所述,我們使用旋轉(zhuǎn)編碼器來感測和反饋當前轉(zhuǎn)速。我們對編碼器的選擇取決于旋轉(zhuǎn)速度和所需的速度精度。來自旋轉(zhuǎn)編碼器的信號使用 PSoC Creator 工具提供的四路解碼器模塊進行解碼。

合適的時鐘頻率被路由到四路解碼器模塊,具體取決于電機每分鐘的旋轉(zhuǎn)數(shù)。例如,如果轉(zhuǎn)速為 9000 rpm,則轉(zhuǎn)換為每秒 150 轉(zhuǎn)。如果編碼器每轉(zhuǎn)一圈給出4個脈沖(編碼器特性),那么解碼模塊需要的時鐘頻率為150*4*10=6kHz(是A、B信號的10倍)。

由于我們需要每秒跟蹤計數(shù)值,我們可以每 1 秒產(chǎn)生一個中斷。在中斷服務例程中,我們可以捕獲計數(shù)寄存器值,然后將其清零(即,用于測量下一秒的速度),并使用等式 1 可以確定電機的速度。

兩個研究:PSoC 與 MCU 實施 
以下兩個列出了直流電機的可能電源以及控制它的邏輯。

情況 1:使用相同的 PSoC 3/5 通過電流緩沖器驅(qū)動直流電機。例如,如果直流電機的規(guī)格是在空載條件下使用 5 V 電源消耗 88 mA,我們可以連接 PSoC 的輸出3/5用直流電機通過一個電流驅(qū)動電路,如圖7所示:


圖 7:通過 PSoC 驅(qū)動的直流電機 

雖然給出了恒定的 5V 直流電源,但電機按照此處的示例以全速(即 9000 rpm)旋轉(zhuǎn)。光學旋轉(zhuǎn)編碼器與電機一起以相同的速度旋轉(zhuǎn),并且使用 PSoC 3/5 中的解碼器測量編碼器的輸出。現(xiàn)在微控制器檢測到速度為 9000 rpm,并將其與所需值(即 6000 rpm 或?qū)嶋H速度的 2/3 倍)進行比較。校正響應為 -3000 rpm(即,-1/3 倍于當前提供給電機的電壓)。

這種電壓變化可以使用 PWM 來實現(xiàn)。通過改變 PWM 的占空比,可以改變平均電壓。PSoC Creator 中有一個拖放式 PWM 模塊。提供給 PWM 模塊的時鐘頻率取決于應用所需的速度分辨率。

這里所需的占空比為 2/3。因此,PWM 模塊每個周期的平均輸出電壓為 5*2/3 = 3.33 V。PWM 模塊的輸出提供給連接到直流電機的電流驅(qū)動電路。直流電機現(xiàn)在以所需的 6000rpm 速度旋轉(zhuǎn)。旋轉(zhuǎn)編碼器再次感應速度,檢測到 6000 rpm,并將其反饋給控制器。現(xiàn)在誤差系數(shù)為 0。PWM 保持其先前的狀態(tài),電機保持其速度。

假設向電機添加負載,雖然占空比保持在 2/3,但電機的速度下降到 5000 rpm。現(xiàn)在旋轉(zhuǎn)編碼器檢測速度并將其饋送到 PSoC 3/5?,F(xiàn)在,誤差因子為 +1000 rpm(即)原始/自由運行速度的 1/9。因此,PWM 的占空比增加了 1/9 倍(當前占空比 = 2/3+1/ 9 = 7/9)。該因數(shù)通過固件寫入 PWMDigital 塊。

2: 直流電機通過 MCU 供電。如果直流電機通過另一個控制器供電,則 PSoC 控制器可用于通過 I2C 等接口將電機的當前狀態(tài)反饋給另一個控制器。如果直流電機通過外部電池供電,則可以通過圖 8 中所示的邏輯輕松控制其速度。PSoC 的 PWM 輸出可以饋送到開關(guān),該開關(guān)將打開并以特定占空比切換電機電源使其符合與以前相同的標準。