楊敏 魏敏敏 楊文鏹 車馭 朱有玉 張慶
摘要:步進電機是一種由直流脈沖驅(qū)動且其轉(zhuǎn)速與脈沖頻率相關(guān)的脈沖電機。本文針對兩相混合式步進電機系統(tǒng)研制進行了探究,并結(jié)合實驗平臺的需要,還研究了STM32微控制處理器產(chǎn)生PWM波的方法,并分析得出了改變PWM波頻率的最佳方案,在保證脈沖質(zhì)量的前提下產(chǎn)生了調(diào)節(jié)范圍在10~2000Hz的PWM波。通過軟硬件相結(jié)合,實驗結(jié)果基本實現(xiàn)了用PWM波對步進電機各功能的精確控制。為了便于對步進電機進行檢測和功能控制,本文還研究了脈沖頻率手動和自動調(diào)節(jié)的方法,并通過串口通信實現(xiàn)了下位機與上位機之間的通信。
關(guān)鍵詞:PWM波;STM32;CortexM3;步進電機
1課題研究背景
步進電動機是一種受電脈沖信號控制的無刷式直流電動機,也可以看作是在一定頻率范圍內(nèi)轉(zhuǎn)速與控制脈沖頻率同步的同步電機。具有定位精度高、可控性好、工作穩(wěn)定可靠、控制簡單、造價便宜、性能可靠的特點。因而其被廣泛應(yīng)用在數(shù)控設(shè)備、機械手、繪圖機、印刷和包裝設(shè)備等工業(yè)、軍事和醫(yī)療自動化領(lǐng)域中。進電機及其系統(tǒng)存在低速容易振蕩、高速轉(zhuǎn)矩變小、失步等缺點,阻礙和制約了步進電機的發(fā)展,因而其常用于低速驅(qū)動。
2系統(tǒng)組成與CortexM3微控制器分析
2.1系統(tǒng)組成
整個系統(tǒng)由上位機、步進電機驅(qū)動器、步進電機、220V交流電轉(zhuǎn)5V直流電變壓器、STM32微控制處理器、控制板等部分組成。
2.2CortexM3微控制器
CortexM3內(nèi)核既包含了適用于傳統(tǒng)的Thumb指令譯碼器又擁有新型Thumb2指令譯碼器,同時,它還擁有一個支持硬件乘法和硬件除法的先進ALU、控制邏輯和用于連接處理器其他部件的接口。CortexM3處理器與系統(tǒng)部件之間的連接時通過緊耦合的方式來實現(xiàn)的,這么做的好處是減小了芯片面積,與現(xiàn)有的三級流水線內(nèi)核相比,其面積可以縮小了30%左右。同時,CortexM3處理器實現(xiàn)了Thumb2指令集構(gòu)架,代碼密度高,既能滿足32位ARM指令集的性能,同時也能降低存儲器的需求。
3電源電路設(shè)計
電源電路的設(shè)計采用具有穩(wěn)壓精度高,輸出電壓穩(wěn)定,電壓紋波很小,輸出電流能力強等特性的線性集成穩(wěn)壓電源芯片。
電源系統(tǒng)采用數(shù)字電源和模擬電源分開設(shè)計,分別為控制板上的數(shù)字電路模塊和模擬電路模塊供電。為保證較好的電源整體以及保證電路板的穩(wěn)定性和可靠性,在所設(shè)計的直流電源電路中需要抑制噪聲電壓,這就需要我們配置去耦電容。我們采用在大電容和小電容并聯(lián)的方法來實現(xiàn)電源電路的去耦設(shè)計。其原理是通過電容的等效電感值的減小,將頻率較高的不需要的電流通過小電容短接到地,這時所起的作用也稱電源高頻干擾退耦。本文的電路圖中,通過設(shè)計一個1~10μF的大電容來使得低頻噪聲被過濾,同時再并聯(lián)一個大小為0.01~0.1μF的小電容來使得高頻噪聲被過濾,通過這樣相差兩個數(shù)量級的電容來實現(xiàn)預(yù)期的功能。最后,采用LED和限流電阻的組合作為電源指示。
4步進電機控制系統(tǒng)程序設(shè)計與調(diào)試
4.1程序開發(fā)與STM32固件庫
采用STM32F103RCT6控制芯片,基于KeilMDK進行軟件編程。KeilMDK是德國知名軟件公司Keil開發(fā)的微控制器軟件開發(fā)平臺,其為用戶提供了C編譯器、宏匯編、鏈接器、庫管理和實用而功能豐富的仿真調(diào)試器,并通過集成開發(fā)環(huán)境(uVision)將各個功能模塊組合成為了一個完整的開發(fā)方案。STM32固件庫是一個固件包,該固件庫針對基于ARM32位MCUSTM32F101xx和STM32F103xx。固件庫由程序、程序結(jié)構(gòu)和覆蓋所有外設(shè)特性的宏單元以及設(shè)備驅(qū)動的描述和外圍模塊的實例等多個部分組成。
4.2主程序設(shè)計
對于步進電機控制系統(tǒng),如下幾個方面需要通過軟件編寫來實現(xiàn)其功能:脈沖產(chǎn)生程序、AD采樣和轉(zhuǎn)換程序、USART通信配置程序、面板按鍵信號采集程序。通過這幾方面的編程,就可以通過STM32產(chǎn)生步進脈沖對步進電機進行驅(qū)動,以實現(xiàn)預(yù)期功能。
4.3程序調(diào)試實驗結(jié)果
本課題的程序都是利用KeiluVision4進行編寫和編譯,調(diào)試成功并進行了軟件仿真。脈沖質(zhì)量對步進電機的驅(qū)動起到至關(guān)重要的作用,通過仿真可以看出,通過STM32產(chǎn)生的PWM波能保證質(zhì)量。當(dāng)脈沖頻率在10~2000Hz之間調(diào)節(jié)時,雖然誤差在逐漸增大,但通過計算不難看出,誤差變化最大也只是0.175%,誤差較小,在可接受范圍。
4.4上位機控制界面設(shè)計
上位機控制界面的設(shè)計采用的是VisualBasic軟件。VisualBasic又簡稱VB,可以說,VB在世界上人們所使用的計算機語言中占有很大的份額。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。
4.5未來研究方向
進一步加強系統(tǒng)電氣連接的安全性和規(guī)范性,完善系統(tǒng)保護電路,對一些可能出現(xiàn)的狀況進行預(yù)知和判斷,并提出相應(yīng)的解決方案,完善整個系統(tǒng)的硬件電路平臺,使各功能模塊聯(lián)系更加緊密;通過改進程序,進一步提高所產(chǎn)生的PWM波頻率的精度,減小誤差,進一步提高頻率調(diào)節(jié)的多樣性;充分利用STM32微控制處理器強大的功能模塊,完善步進電機控制系統(tǒng),增強對步進電機的可操作性,在上位機控制界面中增加更多的控制功能,實現(xiàn)對步進電機更精確和復(fù)雜的控制。
參考文獻:
[1]宋波,韋薇,張孝其.兩相混合式步進電機驅(qū)動器的設(shè)計[J].電子工業(yè)專用設(shè)備,2014(228),2006.