国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

掌握MCU軟件設計準則 實現直流馬達控制精準度提升

發布時間:2014-12-16 10:43    發布者:designapp

        300瓦以下的小功率馬達適合以MCU做為控制方案,在各家MCU硬件規格差異化日漸縮小之下,軟件演算設計就顯得相形重要,若能掌握MCU控制各種直流馬達的軟件設計原則,將能大幅提升馬達控制的精準度。
運作在300瓦(W)以下的小功率馬達被廣泛應用于各類應用,例如汽車系統、打印機、復印機、碎紙機、玩具、工廠自動化、測試設備、機器人技術、航空航天與軍工等。最流行的小功率馬達類型是直流(DC)馬達、無刷直流馬達(BLDC)和步進馬達。馬達的產量大致與功率大小成反比,量產的小功率馬達數量遠遠高于大功率馬達數量。  
專用于馬達控制的數字信號處理器(DSP)設計主要在滿足大型脫機式馬達的需求。脫機馬達通常為交流(AC)感應或無刷直流馬達,運行在110-480VAC和1/4-100馬力(HP)。專用于馬達控制的DSP,對于小功率馬達控制系統來說,成本太高。  
本文提供使用微控制器(MCU)控制各類馬達的軟件范例。雖然這些范例相對簡單,但其針對各類馬達提供有效的解決方案。一個傳統的馬達控制系統通常要求額外特性并具有更高的復雜度。這些軟件范例能夠做為開發更復雜馬達驅動系統的基礎。  
借助軟件演算 DC有刷馬達功耗下降
DC馬達在小功率馬達中是最常見和最便宜的。在本文中,DC馬達主要指的是有刷換向永磁直流馬達。  
DC馬達的特性使其成為變速系統中最簡單易使用的馬達。DC馬達的轉矩-速度特性如圖1所示,DC馬達的非負載速度與馬達電源電壓成線性關系。驅動穩定扭矩負載、線性負載或指數負載的DC馬達的電壓-速度特性也是連續的、正斜率的和可預測的,因此,在大多數情況下,使用開放回路控制系統是可行的。簡單地改變通過馬達的電壓,任何人都能夠控制馬達的速度。脈寬調變(PWM)能夠用于改變馬達供電電壓,加載到馬達的平均電壓與PWM工作周期比成正比例關系(這里忽略馬達電感和不連續運行導致的次要影響)。  


圖1 DC馬達特性


這里提供一個以MCU控制DC馬達的簡單例子。在這個范例中,使用模擬數字轉換器(ADC)讀取電位器的位置信息,并使用PCA 8位PWM模式輸出對應的PWM信號(圖2)。  


圖2 DC馬達驅動電路


單個N通道功率金屬氧化物半導體場效晶體管(MOSFET)Q1用于驅動DC馬達。功率MOSFET應當根據特定的馬達電壓和電流需求進行選擇。飛輪二極管的D1跨接到DC馬達。當MOSFET關閉時,電流通過馬達自感繼續流動,MOSFET漏極電壓將上升到超過馬達電源電壓的一個二極管壓降,然后,電流經由飛輪二極管繼續流動。  
大多數低壓馬達驅動電路利用蕭特基功率整流器實現飛輪二極管,蕭特基整流器具有較低的正向電壓和極短的反向恢復時間。這兩者在馬達驅動應用中都是非常重要的參數因子。  
功率MOSFET由反向閘極驅動器驅動。F300的端口引腳默認配置為輸入引腳,并且啟用弱的100k上拉電阻。在端口被配置而且交叉開關器和周邊啟用之前,端口引腳一直保持高電平。當復位接腳保持低電平時,端口接腳也會被配置為弱上拉啟用的輸入接腳。透過使用反向驅動器,功率晶體管在預設狀態下處于關閉狀態。如果使用非反相器驅動,10k下拉電阻應當端口引腳和接地。  
為使用3伏特(V)微控制器,閘極驅動器應當具有3V相容的輸入電平臨界值。如果馬達電壓在5-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可配置為160奈秒(ns)頻率周期和24kHz頻率。  
ADC0_Init()函數配置ADC為查詢模式。ADC增益設定為1,并且為ADC頻率選擇1MHz保守頻率。重要的是,這里也要初始化電壓參考,配置ADC使用VDD滿量程。  
函數readADC()采用查詢模式讀取電壓值一次,并返回ADC值。函數avgADC()調用readADC()函數,并且返回六十四個采樣值的平均值。平均化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上沒有開關損耗,在二極管上也沒有損失,唯一的功率損耗是功率MOSFET中的傳導損耗。如果馬達預計在大部分時間里都處于全速運作,100%的最大工作周期比是合理的。100%的工作周期比,可以經由清除PCA0CPM0 SFR中的ECOM0位來實現。  




       
MCU軟件襄助 永磁DC馬達更適于反轉應用
永磁DC馬達通常被用于須要反轉馬達方向的應用中。為了反轉旋轉方向,須要反轉馬達上電壓的極性。這須要使用H橋電路(圖3),H橋電路有四個晶體管。當在正方向驅動馬達時,Q4打開,PWM信號應用于晶體管Q1。在反方向上驅動馬達,Q3打開,PWM信號應用于晶體管Q2。在這個范例中,下部的晶體管被用于PWM速度控制;上部的晶體管被用于轉向,使用這種拓撲結構,可以在兩個方向上提供變速控制。  


圖3 DC馬達全橋電路


在圖3中,N通道功率MOSFET被用于低壓側晶體管,P通道功率MOSFET被用于高壓側晶體管。對于驅動20V以下的DC馬達來說,利用互補功率MOSFET是非常符合成本效益的。如圖3所示,低壓側閘極驅動器帶有反相器;而高壓側閘極驅動器沒有反相器。閘極驅動器極性被選擇,以確保當端口引腳在弱上拉?動的重置配置模式下,功率晶體管處于關閉狀態。  
該范例軟件建構在基本范例代碼上。主回路現在包括一個if語句檢查反轉開關SW1的狀態。當反轉按鍵被按下,PWM停止運作,同時所有P0輸出也同樣被禁止。當按鍵釋放后,馬達將反轉方向。范例軟件中的初始化函數類似于DC有刷馬達控制,只是除了增加額外的推挽式輸出引腳配置之外。  
調用reverse()函數反轉馬達方向。標志位Fwd用于保存馬達狀態,Fwd位被切換用于判斷哪些輸出須要啟動。  
反轉馬達還存在一個潛在的問題。當反轉開關SW1被按下時,馬達可能由于馬達慣性而繼續旋轉一段時間。當馬達正在轉動時,它將產生與馬達速度成比例關系的反向電動勢;如果馬達停止旋轉之前反向按鍵被釋放,馬達反向電動勢將透過上部晶體管而短路,如下所述。  
參考圖4,假設開始時Q4處于打開狀態,馬達正在正方向上旋轉;假設馬達正在運行,并且反向電動勢大約為6V,F在反轉開關被按下,所有四個晶體管被關閉,馬達右側將比左側高約6V;然后開關釋放,打開Q3,馬達左側被上拉到電源電壓,馬達的反向電動勢必透過Q4的內部二極管而短路。  


圖4 DC馬達反轉危害


最終的結果是,馬達停止,在馬達機械慣性中儲存的所有能量被注入Q4。反轉過程中很容易損壞上部晶體管,在一些具有較大摩擦力負載的應用中,一個固定延遲時間可以確保馬達有足夠時間停止。而在其他應用中,馬達可能須要花費幾秒鐘才完全停止,這個問題的通用解決方案,如圖4所示。  
軟件防護法助力 DC馬達反轉控制更安全
這個用于DC馬達的軟件范例基于第二個范例,提供軟件防護方法。為了安全的反轉DC馬達,我們須要判斷馬達是否還處于運轉中。  
確定馬達是否仍然處于旋轉狀態的簡單而有效方法,是測量跨接在馬達端子上的電壓差。ADC能夠被配置,去測量模擬多路選擇器中的任意兩個輸入引腳上的差動電壓?沙绦蛟O計的窗口檢測器也可以用于判斷差動電壓是否屬于默認極限。在這個范例軟件中,如果差動馬達電壓在100毫秒(ms)內保持在滿量程的3%以下,那么馬達即開始反轉。具備電壓感應功能的DC馬達驅動的硬件實現,類似于在馬達端子上分別添加兩個電阻分壓器(圖5)。  


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


主回路已經被改進用來檢測馬達是否停止。detectStop()函數首先配置ADC去測量差動電壓,ADC和窗口檢測器都適用于查詢模式。如果ADC值在默認窗口范圍內,那么計數器增加。使用實現10ms延遲的定時器T0設置采樣時間,任何在窗口之外的采樣值將重置定時器,退出while回路之前,它將使用十個連續的采樣值;返回到主回路之前,detectStop()函數將重新配置ADC去測量速度電位器。  



       
憑借軟件算法 無刷直流馬達變速控制性能大增
無刷直流馬達提供一些傳統有刷換向DC馬達所沒有的優點。電子傳感器有效的替代電刷角色,提供更長的壽命,減少維護操作,并且沒有電刷噪聲。正確整流的無刷直流馬達的扭矩-速度特性完全相同于如圖1所示的DC馬達,因此,無刷直流馬達展現出與DC馬達相同的滿足需求的質量,非常適用于變速控制。這個范例為使用霍爾效應傳感器控制馬達換向的無刷直流馬達,提供簡單的開放回路控制,無刷直流馬達的速度使用簡單的電位器控制。在這種方式下的無刷直流馬達控制的特點,類似于經典DC馬達控制范例。  
這個范例的硬件實現如圖6所示。馬達由六個功率晶體管驅動,構成三相橋式結構。下部的晶體管Q1-3是N通道功率MOSFET;上部的三個晶體管是P通道功率MOSFET。這樣就簡化閘極驅動器管理,此外,互補閘極驅動器的使用使得在預設狀態下,功率晶體管處于關閉狀態。
  


圖6 無刷DC馬達驅動


霍爾效應傳感器有開集電極輸出,需要上拉電阻。檢查馬達規格確保霍爾效應傳感器是適合配置的,開集電極輸出通常是3V兼容的,然而,霍爾效應傳感器也需要一個偏置電源,通常須要超過3V。在大多數系統中,霍爾效應傳感器能夠關閉馬達電源電壓,或者閘極驅動器電源電壓。  
使用斷點調變軟件可能會將馬達和MOSFET置于不良狀態。當MCU遇到一個斷點時,引腳被及時的有效凍結,而且可以留下PWM輸出處于啟動狀態。這里推薦的流程是在進行單步調變或者使用斷點之前,一直斷開馬達電源連接。BLDC馬達在跨越繞組時,將會滿電壓失速。BLDC馬達失速電流僅僅與繞組的內阻相關,這很可能損壞功率MOSFET。  
PORT_Init()函數對交叉開關器和輸出引腳分配進行設置。額外的控制引腳為3-相控制而設置為推挽式輸出,為讀取霍爾傳感器而設置為輸入。  
可程序設計計數器數組時基采用160ns,啟動計數器。然而,模塊0模式SFR沒有初始化為8位PWM。在霍爾效應位置被確定之前,沒有馬達驅動被?用。  
main()函數首先初始化相關資源,設置start標志位。主回路首先使用hallPosition()函數檢測霍爾效應傳感器的位置。如果start標志位被設置或者霍爾位置已經改變,馬達透過調用commutate()函數進行換向。接下來,速度輸入被讀取,速度設置被寫入PWM輸出。  
hallPosition()函數在錯誤狀態時返回0,這發生在霍爾效應輸入全為高或全為低時。如果錯誤發生,主回路經過調用coast()函數使所有輸出無效;起始位也在錯誤條件發生時置位,而迫使換向發生在下一個合法的霍爾位置讀數時。  
readHalls()函數在霍爾效應輸入端口引腳上讀取,并且去除霍爾效應編碼抖動,該函數等待三個連續的相同讀數。當霍爾編碼正在改變時,這種方式降低錯誤讀數的可能性。  
hallPosition()首先透過上面描述的readHalls()函數讀取霍爾效應編碼;魻柧幋a模式被儲存在常量數組hallPattern[]中。為了匹配霍爾效應編碼,一個帶有后遞減的單行for回路被用于尋找對應的索引。hallPosition()函數如果發現一個匹配的模式,則返回1-6中的一個值;如果沒有發現匹配,hallPosition()函數返回0值。  
commutate()函數用來在啟動時初始化輸出,當霍爾位置改變時改變輸出狀態,并且在檢測到霍爾錯誤后重新啟動馬達。commutate()函數首先禁止PWM和上部的晶體管,然后,它才使用從hallPosition()函數中獲得的索引。  
對于霍爾效應模式或者整流模式來說,沒有統一的標準。請參閱你所使用之特定馬達制造商所提供的數據手冊,依據制造商的資料手冊仔細查核兩種模式。同時,也請檢查霍爾效應模式和整流模式之間的通信,必要時請改變兩種模式之間的位移。  


本文地址:http://m.qingdxww.cn/thread-135411-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本免费高清视频 | 啦啦啦视频在线视频免费4 啦啦啦视频在线观看影院 啦啦啦社区手机在线视频免费视频 | 日本在线高清 | 赤井美月在线 | 国产吃奶摸下激烈视频无遮挡 | 91精品福利麻豆专区 | 免费看羞羞视频 | 日韩免费播放 | 亚洲欧美一区二区三区二厂 | 香蕉国产在线 | 很狠操 | 日本伊人精品一区二区三区 | 四虎最新紧急入口4hu | 日本在线亚州精品视频在线 | 亚洲视频手机在线 | 久久久免费网站 | 日韩一区视频在线 | 最新亚洲精品国自产在线 | 亚洲精品视频免费 | 日韩精品一区二区三区中文字幕 | 免费观看欧美成人禁片 | 在线观看视频日韩 | 香蕉欧美成人精品a∨在线观看 | 日日射天天干 | 亚洲国产成人va在线观看 | 国产一级二级在线观看 | 青青草国产青春综合久久 | 四虎影视永久免费 | 毛片免费全部免费观看 | 激情视频在线观看网站 | 自拍视频一区二区 | 欧美区一区二区三 | 国产在线观看色 | 欧美在线视频网 | 亚洲永久精品网站 | 四虎免费影院在线播放 | 免费观看欧美成人禁片 | 国产全黄a一级毛片视频 | 99精品视频在线观看免费播放 | 广东毛片 | 91小视频版在线观看www |