Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

以軟體技巧打造高效馬達控制設計

上網時間: 2014年08月04日     打印版  Bookmark and Share  字型大小:  

關鍵字:BLDC  DSP  PWM  MOSFET 

作者:Ken Berringer,Silicon Labs系統工程部主管工程師

執行於300W以下的小功率馬達已普及於各類應用中,例如汽車系統、印表機、影印機、碎紙機、玩具、工廠自動化、測試設備、機器人技術、航太與軍工等應用。最普遍的小功率馬達類型是直流(DC)馬達、無刷直流(BLDC)馬達和步進馬達。馬達的產量大致與功率大小成反比。量產的小功率馬達數量遠多於大功率馬達數量。

專用於馬達控制的DSP設計旨在滿足大型離線式馬達的需求。離線馬達通常是執行於110-480VAC且範圍在1/4-100HP的AC感應或BLDC馬達。專用於馬達控制的DSP對於小功率馬達控制系統來說成本太高。

本文展示以C8051F3xx MCU控制各類馬達的軟體示例。雖然這些示例相對簡單,但是為各類馬達展示了有效的解決方案。傳統的馬達控制系統通常要求額外特性且具有更高的複雜度。這些軟體示例可作為開發更複雜馬達驅動系統的起點。

DC馬達控制

DC馬達是小功率馬達中最常見且最便宜的。在本文中,‘DC馬達’專指直流的有刷永磁馬達。

DC馬達的特性使得它成為變速系統中最易用的馬達。DC馬達的轉矩-速度特性如圖1所示。DC馬達的非負載速度與馬達電源電壓成線性關係。驅動穩定轉矩負載、線性負載或指數負載的DC馬達電壓-速度特性也是連續、正斜率且可預測的。因此,在大多數情況下使用開環控制是可行的。

簡單地改變通過馬達的電壓,就能控制馬達的速度。PWM能夠用於改變馬達供電電壓。載入於馬達的平均電壓與PWM工作週期成正比。

DC馬達的特性。
圖1:DC馬達的特性。

在使用F3xx MCU提供簡單DC馬達速度控制的簡單示例中,使用ADC讀取電位器的位置資訊,並且以PCA 8位元PWM模式輸出對應的PWM訊號。硬體設置如圖2所示。

單個N通道功率MOSFET Q1用於驅動DC馬達。功率MOSFET應根據特定的馬達電壓和電流需求進行選擇。飛輪二極體D1跨連至DC馬達。當MOSFET關閉時,電流通過馬達自感繼續流動。MOSFET漏極電壓將上升到超過馬達電源電壓的一個二極體壓降。然後,電流通過飛輪二極體繼續流動。

大多數低壓馬達驅動電路利用蕭特基功率整流器實現飛輪二極體。蕭特基整流器具有較低的正向電壓和極短的反向恢復時間。二者在馬達驅動應用中都是非常重要的參數因子。

DC馬達驅動電路
圖2:DC馬達驅動電路

功率MOSFET由反向閘極驅動器驅動。F300埠接腳預設配置為輸入接腳,並且啟動100 k上拉電阻。在埠進行配置且交叉開關器和週邊設備啟動之前,埠接腳一直保持高電平。當重設接腳保持低電平時,埠接腳也會被配置為弱勢上拉實現的輸入接腳。透過使用反向驅動器,功率電晶體在預設狀態下處於關閉狀態。如果使用非反相器驅動,10 k下拉電阻應當連接埠接腳和接地之間。

為了使用3V微控制器,閘極驅動器應當具有3V相容的輸入電平臨界值。如果馬達電壓在5V和15V之間,閘極驅動器能夠直接切斷馬達電源電壓。如果馬達電壓超過15V,則必須分開閘極驅動器的電源電壓,通常為5V或者12V。當採用低於10V的閘極驅動器電源電壓時,應當使用邏輯電平功率MOSFET。

軟體建置非常簡單。main()函數初始化時脈、埠和週邊設備,然後進入while(1)迴圈。在while(1)中使用avgADC()函數讀取電位器電壓值,然後輸出這個值到8位元PWM。

PORT_Init()函數配置埠I/O、週邊設備,以及啟動數位交叉開關器。在此為8位元PWM啟動輸出接腳,為閘極驅動器實現推挽式輸出接腳。

系統時脈SYSCLK被配置執行在24.5MHz最大速率,這允許8位元PWM可配置為160ns時脈週期和24kHz頻率。

ADC0_Init()函數配置ADC為查詢模式。ADC增益設定為1,並且為ADC時脈選擇1MHz保守頻率。重要的是這裡也要初始化電壓參考,配置ADC使用VDD滿量程。

函數readADC()採用查詢模式讀取電壓值一次,並返回ADC值。函數avgADC()調用readADC()函數,並且返回64個採樣值的平均值。平均化ADC讀數可最小化雜訊影響,減少PWM輸出抖動。

當使用PCA 8位元PWM模式時,在CEX0輸出0x00值對應到100%的工作週期,輸出0xFF值對應到0.39%的工作週期。0%的工作週期可透過清除PCA0CPM0 SFR中的ECOM0位元來實現。

當使用反相驅動器時,這種關係是相反的。在MOSFET閘極驅動器上,0x00值對應到0%的工作週期,0xFF值對應到99.6%的工作週期。為了簡單起見,本文中所有使用8位元PWM的軟體示例僅限於使用99.6%PWM

還有一些情況,100%的工作週期是可行的。100%工作週期能有效地消除開關損耗。由於MOSFET從不關閉,因而無開關損耗,也不至於在二極體造成損失。唯一的功率損耗是功率MOSFET的傳導損耗。如果預計馬達在大部份時間都處於全速執行,那麼100%的最大工作週期是合理的。100%的工作週期可透過清除PCA0CPM0 SFR中的ECOM0位元來實現。

 DC馬達全橋電路
圖3:DC馬達全橋電路

帶反轉能力的DC馬達

永磁DC馬達通常用於需要反轉馬達方向的應用中。為了反轉旋轉方向,需要反轉馬達的電壓極性。這需要使用H橋。如圖3所示,H橋有4個電晶體。當在正向驅動馬達時,Q4開啟,PWM訊號應用於電晶體Q1。反向驅動馬達時,Q3開啟,PWM訊號應用於電晶體Q2。在這個示例中,下方電晶體用於PWM速度控制,上方電晶體則用於轉向。使用這種拓撲結構,可雙向提供變速控制。

在圖3中,N通道功率MOSFET用於低壓側電晶體,P通道功率MOSFET則用於高壓側電晶體。對於驅動20V以下的DC馬達來說,利用互補功率MOSFET是非常符合成本效益的。如圖3所示,低壓側閘極驅動器具有反相器,而高壓側閘極驅動器則無反相器。選擇閘極驅動器極性可確保當埠接腳在實現弱上拉的重設配置模式下,功率電晶體處於關閉狀態。

該示例軟體建構在基本示例程式碼上。主迴圈包括一個if語句檢查反轉開關SW1的狀態。當反轉按鍵被按下時,PWM停用,同時停用所有P0輸出。當按鍵釋放後,馬達將反轉方向。

除了增加額外的推挽式輸出接腳配置之外,示例軟體中的初始化函數類似於示例1。

調用reverse()函數反轉馬達方向。標誌位元Fwd用於保存馬達狀態。Fwd位元被切換用於判斷哪些輸出需要啟動。

反轉馬達還存在一個潛在的問題。當反轉開關SW1被按下時,馬達可能由於慣性而繼續旋轉一段時間。當馬達正向轉動時,將產生與馬達速度成正比的反向電動勢。如果馬達停止旋轉前釋放反向按鍵,馬達反向電動勢將透過上部電晶體而導致短路。

DC馬達反轉導致風險
圖4:DC馬達反轉導致風險

參考圖4,假設開始時Q4處於開啟狀態,馬達在正向上旋轉。假設馬達執行時,反向電動勢大約為6V。而在按下反轉開關後,所有4個電晶體被關閉。馬達右側將比左側高約6V。然後開關釋放,開啟Q3。馬達左側被上拉到電源電壓,反向電動勢通過Q4的內部二極體造成短路。

最終的結果是,馬達停止,在馬達機械慣性中儲存的所有能量被注入Q4。反轉過程中很容易損壞上部電晶體。在一些具有較大摩擦力負載的應用中,一個固定延遲時間可確保馬達有足夠時間停止。而在其他應用中,馬達可能需要花費幾秒鐘才完全停止。

具有電壓感應能力的DC馬達驅動
圖5:具有電壓感應能力的DC馬達驅動

具有軟反轉能力的DC馬達

針對DC馬達的第二個軟體示例,則著眼於軟反轉的能力。為了安全的反轉DC馬達,必須先判斷馬達是否還處於運轉中。

確定馬達是否仍然處於旋轉狀態的簡單而有效方法是測量跨接在馬達端子的電壓差。ADC能配置於測量類比多工選擇器中的任意兩個輸入接腳上的差分電壓。可程式設計視窗檢測器也可用於判斷差分電壓是否屬於預設極限。在這個示例軟體中,如果差分馬達電壓在100ms內保持滿量程的3%以下,那麼馬達開始反轉。

具有電壓感應功能的DC馬達驅動硬體建置類似於在馬達端子分別添加兩個電阻分壓器,如圖5所示。

主迴圈已經被改進用來檢測馬達是否停止。detectStop()函數首先配置ADC測量差分電壓。ADC和視窗檢測器都適用於查詢模式。如果ADC值在預設視窗範圍內,那麼計數器增加。使用建置10ms延遲的計時器T0設置採樣時間。任何在窗口之外的採樣值將重設計時器。退出while迴圈之前,它將使用10個連續的採樣值。返回主迴圈之前,detectStop()函數將重新配置ADC測量速度電位器。

BLDC馬達控制

BLDC馬達擁有傳統有刷換向DC馬達所沒有的優勢。電子和感測器有效地取代了電刷的角色,提供更長的壽命,減少維護作業,而且沒有電刷雜訊。正確整流的BLDC馬達轉矩-速度特性完全如圖1所示的DC馬達。

因此,BLDC馬達展現出與DC馬達相同要求的品質,非常適用於變速控制。這個示例針對使用霍爾效應感測器控制馬達轉向的BLDC提供簡單的開環控制。BLDC馬達的速度使用簡單的電位器控制。在這種方式下的BLDC馬達控制特點類似於典型的DC馬達控制示例。

這個示例的硬體建置如圖6所示。由於BLDC馬達需要額外的輸出,因此推薦C8051F330這個MCU。如果應用需要更多的儲存資源,C8051F336也是不錯的選擇,因為它有較大的16kB程式碼儲存空間,並且程式碼相容C8051F330。馬達由6個功率電晶體驅動,構成三相橋式結構。下部的電晶體Q1-3是N通道功率MOSFET。上部的3個電晶體是P通道功率MOSFET。這樣就簡化了閘極驅動器管理。此外,互補閘極驅動器的使用使得在預設狀態下功率電晶體處於關閉狀態。

BLDC馬達驅動
圖6:BLDC馬達驅動

霍爾效應感測器具有開集(OC)極式輸出,需要上拉電阻。必須檢查馬達規格確保霍爾效應感測器適於配置。開集極式輸出通常是3V相容的。然而,霍爾效應感測器也需要一個偏置電源,通常需要超過3V。在大多數系統中,霍爾效應感測器能夠關閉馬達電源電壓或者閘極驅動器電源電壓。

使用中斷點除錯軟體可能會讓馬達和MOSFET置於不良狀態。當MCU遇到一個中斷點時,接腳被及時有效地凍結,而且可以留下PWM輸出處於啟動狀態。此處推薦的流程是在進行單步除錯或者使用中斷點之前,一直斷開馬達電源連接。BLDC馬達在跨越繞組電阻時將會滿電壓失速。BLDC馬達失速電流僅與繞組的內部電阻有關,因而可能損壞功率MOSFET。

對於霍爾效應模式或者整流模式來說並沒有統一的標準。使用者必須先瀏覽馬達製造商所提供的資料手冊。依據製造商的資料手冊仔細核查兩種模式,以及檢查霍爾效應模式和整流模式之間的通訊,必要時還得改變兩種模式之間的權衡折衷。

(參考原文:Software techniques for building more efficient motor control designs,by Ken Berringer, Silicon Labs)





投票數:   加入我的最愛
我來評論 - 以軟體技巧打造高效馬達控制設計
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首