使用C8051F3xx MCU控制各類電機的軟件
運行在300W以下的小功率電機被廣泛應用于各類應用,例如汽車系統、打印機、復印機、碎紙機、玩具、工廠自動化、測試設備、機器人技術、航空航天與軍工以及其他應用。zui流行的小功率電機類型是DC電機、無刷DC電機和步進電機。電機的產量大致與功率大小成反比。量產的小功率電機數量遠遠高于大功率電機數量。
于電機控制的DSP設計旨在滿足大型離線式電機的需求。離線電機通常為AC感應或無刷DC電機,運行在110-480VAC和1/4-100HP。于電機控制的DSP對于小功率電機控制系統來說成本太高。
本文展示了使用C8051F3xx MCU控制各類電機的軟件示例。雖然這些示例相對簡單,但是他們為各類電機展示了有效的解決方案。一個傳統的電機控制系統通常要求額外特性并且具有更高的復雜度。這些軟件示例能夠作為開發更復雜電機驅動系統的起點。
DC電機控制
DC電機在小功率電機中是zui常見和*的。在本文中,術語“DC電機”特指有刷換向永磁DC電機。
DC電機的特性使得它成為變速系統中使用的zui簡單電機。DC電機的轉矩—速度特性如圖1所示。DC電機的非負載速度與電機電源電壓成線性關系。驅動穩定扭矩負載、線性負載或指數負載的DC電機的電壓—速度特性也是連續的、正斜率的和可預測的。因此,在大多數情況下使用開環控制是可行的。
簡單地改變通過電機的電壓,任何人都能夠控制電機的速度。PWM能夠用于改變電機供電電壓。加載到電機的平均電壓與PWM占空比成正比例關系(這里忽略電機自感和不連續運行導致的次要影響)。
使用F3xx MCU提供簡單的DC電機速度控制的一個簡單的例子。在這個示例中使用ADC讀取電位器的位置信息,并且使用PCA 8位PWM模式輸出對應的PWM信號。硬件配置如圖2所示。
單個N溝道功率MOSFET Q1用于驅動DC電機。功率MOSFET應當根據特定的電機電壓和電流需求進行選擇。單向導通的二極管D1跨連到DC電機。當MOSFET關閉時,電流通過電機自感繼續流動。MOSFET漏極電壓將上升到超過電機電源電壓的一個二極管壓降。然后,電流通過單向導通二極管繼續流動。
大多數低壓電機驅動電路利用肖特基功率整流器實現單向導通二極管。肖特基整流器具有較低的正向電壓和極短的反向恢復時間。這兩者在電機驅動應用中都是非常重要的參數因子。
功率MOSFET由反向門驅動器驅動。F300的端口引腳默認配置為輸入引腳,并且使能弱的100k歐姆上拉電阻。在端口被配置而且交叉開關器和外設使能之前,端口引腳一直保持高電平。當復位引腳保持低電平時,端口引腳也會被配置為弱上拉使能的輸入引腳。通過使用反向驅動器,功率晶體管在默認狀態下處于關閉狀態。如果使用非反相器驅動,10k歐姆下拉電阻應當連接端口引腳和地之間。
為了使用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.5MHzzui大速率,這允許8位PWM可配置為160ns時鐘周期和24kHz頻率。
ADC0_Init()函數配置ADC為查詢模式。ADC增益設定為1,并且為ADC時鐘選擇1MHz保守頻率。重要的是這里也要初始化電壓參考,配置ADC使用VDD滿量程。
函數readADC()采用查詢模式讀取電壓值一次,并返回ADC值。函數avgADC()調用readADC()函數,并且返回64個采樣值的平均值。平均化ADC讀數可以zui小化噪聲影響,減少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%的zui大占空比是合理的。100%的占空比可以通過清除PCA0CPM0 SFR中的ECOM0位來實現。
帶反轉能力的DC電機
永磁DC電動機通常被用于需要反轉電機方向的應用中。為了反轉旋轉方向,需要反轉電機上電壓的極性。這需要使用H橋。如圖3所示,H橋有4個晶體管。當在正方向驅動電機時,Q4打開,PWM信號應用于晶體管Q1。在反方向上驅動電機,Q3打開,PWM信號應用于晶體管Q2。在這個示例中,下部的晶體管被用于PWM速度控制,上部的晶體管被用于轉向。使用這種拓撲結構,可以在兩個方向上提供變速控制。