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