基于Cortex-M3處理器的步進(jìn)電機(jī)控制系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要 Cortex-M3是ARM公司最新推出的基于ARMv7體系架構(gòu)的處理核。步進(jìn)電機(jī)已被廣泛的應(yīng)用于位置、速度等控制領(lǐng)域。文中基于Cortex-M3核設(shè)計(jì)了具有人機(jī)交互界面的步進(jìn)電機(jī)控制系統(tǒng)。整個(gè)系統(tǒng)以片上外設(shè)豐富的Cortex-M3核ARM芯片為核心,對(duì)人機(jī)交互界面、電機(jī)模塊的設(shè)計(jì)進(jìn)行了詳細(xì)分析。在軟件上給出了系統(tǒng)的主程序流程圖。與其他電機(jī)控制系統(tǒng)相比,該設(shè)計(jì)系統(tǒng)具有操作簡(jiǎn)單、控制精度高等優(yōu)點(diǎn)。
步進(jìn)電機(jī)的控制方式是將電脈沖信號(hào)轉(zhuǎn)換為角位移,在未超載的情況下,步進(jìn)電機(jī)的速度和位置分別取決于脈沖頻率以及脈沖個(gè)數(shù)。步進(jìn)電機(jī)控制方便,在眾多行業(yè)都得到廣泛的使用,諸如數(shù)控機(jī)床、機(jī)械包裝等機(jī)械行業(yè)、機(jī)器人等電子行業(yè)、還有醫(yī)療設(shè)備等眾多領(lǐng)域。在實(shí)際的工程應(yīng)用中,由步進(jìn)電機(jī)控制器發(fā)送脈沖和方向信號(hào),通過控制脈沖信號(hào)的個(gè)數(shù)來實(shí)現(xiàn)角位移量的大小,按照方向信號(hào)的指示轉(zhuǎn)動(dòng)角度,從而通過驅(qū)動(dòng)器實(shí)現(xiàn)和完成步進(jìn)電機(jī)的復(fù)雜運(yùn)動(dòng)。步進(jìn)電機(jī)控制器也可采用PLC系統(tǒng)。PLC具有易操作、可靠性高的優(yōu)點(diǎn),但成本較高。隨著研究的不斷深入和技術(shù)的不斷優(yōu)化,單片機(jī)的片上外設(shè)更加豐富,實(shí)際應(yīng)用的可靠性和保障性不斷增強(qiáng),且價(jià)格也相對(duì)于PLC便宜。因此,對(duì)步進(jìn)電機(jī)的控制正逐步由單片機(jī)實(shí)現(xiàn)。ARM Cortex—M3處理器專為低功耗、小尺寸、短的中斷延時(shí)和優(yōu)越的確定性而設(shè)計(jì),它的價(jià)格與8位和16位器件相同,卻具有32位器件的性能,且所有器件都以小型封裝形式提供。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 總體設(shè)計(jì)
系統(tǒng)主要由STM32主控制器、電機(jī)模塊和觸摸屏模塊3部分組成。系統(tǒng)主控制器選用STM32F103VBT6來對(duì)電機(jī)進(jìn)行控制,通過I/O口與電機(jī)模塊連接,通過UART與觸摸屏模塊連接,主控制器通過采集觸摸屏的按鍵信息實(shí)現(xiàn)對(duì)電機(jī)的控制,具體框圖如圖1所示。
1.2 STM32F103VBT6微控制器
STM32F103VBT6單片機(jī)芯片搭配ARMv7 Cortex—M3版高性能內(nèi)核,工作頻率最高可達(dá)72 MHz。采用3級(jí)流水線和哈佛結(jié)構(gòu),具有獨(dú)立的指令和數(shù)據(jù)以及外設(shè)總線,使得代碼執(zhí)行速度高達(dá)1.25 MIPS/MHz。內(nèi)置128 kB的閃存和20 kB的靜態(tài)隨機(jī)存儲(chǔ)器(SRAM),同時(shí)還具備豐富的增強(qiáng)I/O端口和外部設(shè)備。該芯片工作的溫度范圍為-40~+85℃,供電電壓為2.0~3.6 V,同時(shí)具有功耗低的優(yōu)點(diǎn),使得STM32F103微控制器適于工業(yè)控制、手持設(shè)備和汽車電子等多種應(yīng)用領(lǐng)域。
1.3 電機(jī)模塊
系統(tǒng)采用SPGT62C19B電機(jī)控制模組中的步進(jìn)電機(jī)部分,SPGT62C19B電機(jī)控制模組主要是為學(xué)習(xí)步進(jìn)電機(jī)和直流電機(jī)的控制而設(shè)計(jì)的套件。此模組采用凌陽SPGT62C19B電機(jī)驅(qū)動(dòng)芯片,可驅(qū)動(dòng)一臺(tái)雙極性兩相步進(jìn)電機(jī)或兩臺(tái)直流電機(jī)。使用時(shí),用輸出選擇跳線來選擇芯片控制的電機(jī),模組的平面圖如圖2所示。
(1)主要接口說明。1)電機(jī)控制接口:模組與單片機(jī)的接口,為10PIN排針,可直接與“STM32F103VB”相連,以實(shí)現(xiàn)對(duì)電機(jī)的控制。2)步進(jìn)電機(jī)接口:接口類型為4PIN插針形式,SPGT62C19B驅(qū)動(dòng)芯片和兩相步進(jìn)電機(jī)通過該接口連接。3)步進(jìn)電機(jī):永磁式步進(jìn)減速電機(jī),型號(hào)為35BYJ26,工作方式是兩相4拍。在步進(jìn)電機(jī)的面板上附帶刻度盤,能在觀察步進(jìn)電機(jī)實(shí)驗(yàn)中的轉(zhuǎn)動(dòng)狀態(tài)。
(2)步進(jìn)電機(jī)共引出4根控制線。其中,1 A與1 B、2 A與2 B分別是電機(jī)內(nèi)兩組線圈的兩個(gè)抽頭。以不同的順序控制兩組線圈中的電流方向可使步進(jìn)電機(jī)按照不同的方向轉(zhuǎn)動(dòng)。兩相步進(jìn)電機(jī)的4根控制線分為兩組,分別與SPGT62C19B驅(qū)動(dòng)芯片的兩個(gè)輸出通道連接,通過SPGT62C19B芯片的6個(gè)控制引腳使兩個(gè)輸出通道發(fā)出驅(qū)動(dòng)步進(jìn)電機(jī)的脈沖信號(hào)。
SFM32F103VBT6微控制器作為主控芯片,通過I/O端口對(duì)SPGT62C19B電機(jī)驅(qū)動(dòng)芯片進(jìn)行控制,從而實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。系統(tǒng)連接圖如圖3所示。
PH1和PH2控制電機(jī)轉(zhuǎn)動(dòng)方向,SPEED用于測(cè)速。I01與I11、I02與I12分別控制著通道1和通道2的電流大小。以通道2為例,控制口I02與I12的不同邏輯組合可使通道2輸出端輸出不同大小的電流。
1.4 觸摸屏模塊
設(shè)計(jì)采用迪文DMT64480T056-01W智能顯示終端,其擁有集成的標(biāo)準(zhǔn)字庫、可選擇操作模式、圖形界面操作、多控制器選擇等特點(diǎn)。液晶觸摸屏主要用于顯示速度、時(shí)間、距離以及能提供外界選擇功能的選擇按鈕。
STM32開發(fā)板引出了兩路UART,UART1(CN11)和UART2(CN6),本文通過UART1與觸摸屏相連的。兩路串口均連接到DB9。觸摸屏界面中要包括:?jiǎn)?dòng)、停止、暫停、正轉(zhuǎn)、反轉(zhuǎn)、加速、減速?;谝陨系膬?nèi)容選擇了如圖4所示的界面。
界面制作使用SysDefDownload文件,代碼選擇指定代碼,如圖5所示,命令代碼:在本次實(shí)驗(yàn)中加速為0x01、減速為0x02、啟動(dòng)為0x03、停止為0x04、正轉(zhuǎn)為0x05、反轉(zhuǎn)為0x06、暫停為0x07;最后點(diǎn)擊生成bin文件,如圖6所示。
2 系統(tǒng)軟件設(shè)計(jì)
首先STM32通過對(duì)觸摸屏的動(dòng)態(tài)掃描采集到控制指令,再對(duì)相關(guān)采集數(shù)據(jù)進(jìn)行分析處理,以控制外部步進(jìn)電機(jī)和顯示電路的工作狀態(tài),主程序流程如圖7所示。
3 結(jié)束語
以驅(qū)動(dòng)、控制裝置構(gòu)成的步進(jìn)電機(jī)系統(tǒng)在經(jīng)濟(jì)型的工業(yè)控制、數(shù)控機(jī)床以及儀器儀表等領(lǐng)域有著廣泛的應(yīng)用。文中設(shè)計(jì)了一種基于Cortex—M3處理器的具有人機(jī)交互界面的步進(jìn)電機(jī)控制系統(tǒng),硬件結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜且操作方便,可實(shí)現(xiàn)對(duì)電機(jī)的精確與穩(wěn)定控制。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)實(shí)現(xiàn)了對(duì)步進(jìn)電機(jī)的啟動(dòng)、停止、正反轉(zhuǎn)、加減速、等工作狀態(tài)的有效監(jiān)控。