熊方 李愛民
摘要:本文基于v2Arm Cortex-M3為內(nèi)核的324A微控制器STM32F103R6,對步進(jìn)電機(jī)實(shí)現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止?fàn)顟B(tài)進(jìn)行控制。該設(shè)計(jì)利用了STM32的GPIO端口、中斷、定時(shí)器等資源和技術(shù)進(jìn)行硬件、軟件設(shè)計(jì),通過Keil軟件仿真和實(shí)驗(yàn)證明,該設(shè)計(jì)方案穩(wěn)定可行,系統(tǒng)運(yùn)行各項(xiàng)指標(biāo)符合設(shè)計(jì)要求。
關(guān)鍵詞:STM32;步進(jìn)電機(jī);運(yùn)動控制
中圖分類號:TP273 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2020)05-0003-02
0引言
步進(jìn)電機(jī)是廣泛應(yīng)用于智能制造、汽車電子和精密儀器等領(lǐng)域的執(zhí)行器。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響。STM32系列處理器是由ST公司以Am Cortex-M3為內(nèi)核開發(fā)生產(chǎn)的32位處理器,專為高性能、低成本、低功耗的嵌入式應(yīng)用而設(shè)計(jì)。STM32F103R6屬于增強(qiáng)型系列處理器,有64個(gè)引腳,32KB閃存容量,工作頻為72MHz,有16個(gè)內(nèi)核中斷線、1個(gè)高級定時(shí)器、3個(gè)通用16位定時(shí)器。本文基于STM32F103R6處理器設(shè)計(jì)一款簡潔的商陛能、低成本、低功耗的步進(jìn)電機(jī)運(yùn)動控制系統(tǒng)。
1系統(tǒng)方案
該系統(tǒng)包括STM[32F103R6處理器、控制按鍵、電機(jī)驅(qū)動器和步進(jìn)電機(jī)四個(gè)部分,如圖1所示。STM32接收到按鍵信息,對步進(jìn)電機(jī)運(yùn)行狀態(tài)進(jìn)行控制。
2硬件設(shè)計(jì)
2.1控制鍵盤
控制鍵盤的設(shè)計(jì)采用獨(dú)立式鍵盤方式,如圖2所示。KEYO~KEY4分別與SM32的PA8-PA12連接。當(dāng)按鍵沒有按下時(shí),引腳上是高電平;當(dāng)按鍵按下時(shí),引腳上是低電平。
2.2電機(jī)驅(qū)動
本設(shè)計(jì)中,步進(jìn)電機(jī)驅(qū)動器采用ULN2003A,它是一種新型的七路高耐壓、大電流達(dá)林頓晶體管驅(qū)動IC,在繼電器驅(qū)動、電磁閥驅(qū)動、伺服電機(jī)以及步進(jìn)電機(jī)驅(qū)動電路當(dāng)中廣泛應(yīng)用。驅(qū)動電路如圖3所示,STEP_A、STEP_B、STEP_C、STEP_D分別接到STM32的PB8-PB11。
3軟件設(shè)計(jì)
3.1步進(jìn)電機(jī)正反轉(zhuǎn)控制
以四相八拍步進(jìn)電機(jī)為例,只要對步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動。加上正時(shí)序A_AB_B_HCC_CD_D_DA_A,步進(jìn)電機(jī)正轉(zhuǎn)。加上反向時(shí)序步進(jìn)電機(jī)反轉(zhuǎn)。正反轉(zhuǎn)控制函數(shù)void STEP MO"FOR RUN(u8 Direction)主要程序如下:
3.6步進(jìn)電機(jī)加減速控制
為了克服步進(jìn)電機(jī)失步和過沖現(xiàn)象,應(yīng)采用與電機(jī)控制相適應(yīng)的控制算法,即在啟動和停止時(shí)實(shí)行加減速控制。其實(shí)質(zhì)是在速度變化過程中控制發(fā)送脈沖的頻率實(shí)現(xiàn)速度的加減速。通常加減速算法主要有梯形曲線、指數(shù)曲線和s型曲線。
4結(jié)語
本文針對步進(jìn)電機(jī),選用STM32F103R6芯片進(jìn)行控制。利用了STM32的GPlO口、定時(shí)器、中斷等資源和技術(shù)來完成,通過Kdl軟件進(jìn)行仿真和在開發(fā)板上進(jìn)行實(shí)驗(yàn),實(shí)現(xiàn)了步進(jìn)電機(jī)正轉(zhuǎn)、反轉(zhuǎn)、停止、加速、減速的運(yùn)動控制。程序中如果加人s速度曲線或其它優(yōu)化算法,可以減少步進(jìn)電機(jī)啟動和停止過程中的振動和失步現(xiàn)象,提高電機(jī)控制精度和平穩(wěn)度。該設(shè)計(jì)簡易、低成本、低功耗,便于應(yīng)用。