新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 掌握MCU軟件設(shè)計準則 實現(xiàn)直流馬達控制精準度提升

掌握MCU軟件設(shè)計準則 實現(xiàn)直流馬達控制精準度提升

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


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


圖3 DC馬達全橋電路


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


圖4 DC馬達反轉(zhuǎn)危害


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


圖5 帶有電壓感應(yīng)能力的DC馬達驅(qū)動


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


評論


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

關(guān)閉