南京科技職業學院 牛宗超 王 運 徐 森 錢丹浩
基于STM32的步進電機控制器設計
南京科技職業學院 牛宗超 王 運 徐 森 錢丹浩
本文設計了以STM32為核心的步進電機控制系統,通過4.3寸觸摸屏控制信號對57型號步進電機進行細分控制,系統運行時可隨時改變步進電機的運行方式,包括轉動方向、轉動速率及轉矩數,達到精準實時控制步進電機的目的。
STM32;步進電機;蠕動泵
目前步進電機控制技術的研究取得了極大的發展,我們研制了一種基于STM32的步進電機控制器。其主要功能是實現針對微生物實驗中對流體的單獨輸送和計量進行高效控制。
本系統采用“STM32控制器+電機驅動器+觸摸屏”的方案,從硬件連接和軟件開發兩個方面來實現對步進電機的精確控制。整個控制系統以運動控制器為核心,連接觸摸屏構成可視化的人機操作界面,操作者在觸摸屏上的操作即可實現對整個步進電機的控制。通過軟件編程使STM32內部定時器產生脈沖作為控制信號。通過改變控制信號的頻率、正負電平,進而控制步進電機的轉速、轉向等,脈沖信號決定了步進電機的啟動、停止以及轉向。控制系統結構框圖如圖1所示。

圖1 控制系統結構框圖
該步進電機控制系統主要是以運動控制器和觸摸屏為核心,通過在觸摸屏上的操作完成對整個蠕動泵的操作,系統硬件電路總體上可分為控制和驅動兩大部分。控制部分主要完成控制信號的輸入、控制脈沖的輸出及狀態顯示;驅動部分主要實現控制部分對步進電機的控制。由圖1可知,系統硬件具體包括STM32F103芯片、THB6128驅動模塊、觸摸屏、兩相混合式步進電機五部分,硬件電路外圍元件少、集成度高。
3.1 控制電路設計
控制電路設計主要包括控制器的選擇及相關外圍電路的設計,既要保證輸入信號得到及時、準確處理又要保證控制脈沖、液晶控制信號及時、準確輸出。控制器選用高性能STM32芯片,它具有以下優點:基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核。
3.2 驅動電路設計
步進電機驅動本質是將邏輯電平變換為電機繞組需要的具有一定功率的電流信號。本系統選用的THB6128是東芝公司生產的高細分兩相混合式步進電機驅動專用芯片,其內置1通道 P W M電流控制步進電機驅動電路,通過撥碼開關SW3 對THB6128的M1、M2、M3引腳實現細分設定,由STM32輸出控制信號,設計出高性能、多細分的驅動電路,適合驅動57系列步進電機。其硬件連接電路圖如圖 2所示。

圖2 硬件連接電路圖
系統采用大彩公司生產的觸摸屏,其自帶的組態軟件簡單易學。系統中STM32控制器與觸摸屏之間采用串口協議進行通訊,波特率為
9600,控制觸摸屏的接口界面如圖3所示。

圖3 觸摸屏界面圖
系統軟件總體結構模塊化,系統軟件主要包括以下程序模塊:初始化模塊,調速模塊,觸摸屏顯示模塊。該步進電機控制系統的主程序是整個控制系統軟的核心,程序編寫采用硬件定時器中斷和查詢相結合方法調用相關服務程序,控制脈沖輸出的中斷優先級設置為最高,中斷服務程序代碼盡可能少。控制系統啟動后,首先執行初始化程序,進入主循環后,查詢指令隊列程序的結果,操作者在觸摸屏上的操作作為觸發條件會觸發主程序中的功能模塊,調用相關的子程序,從而完成各項功能。控制系統軟件主程序流程簡圖如圖4所示。

圖4 步進電機控制系統主程序流程簡圖
系統以觸摸屏輸入的方式決定步進電機的開始、停止、正反轉,控制步進電機的速度和方向。通過對THB6128進行細分控制,采用脈寬調制(PWM)技術方式驅動步進電機,提高步進電機運行時的穩定性,減少振蕩和噪聲。整個系統控制方法簡易切實可行,控制器結構簡單、集成度高、性能良好、成本低、具有很好的實用性和推廣價值。
[1]陳安斌.蠕動泵控制軟件的設計及應用[J].實驗科學與技術,2010(12).
[2]王冬冬.一種新型蠕動泵在顆粒制劑生產中的應用[J].機電信息,2014(17).
[3]王磊.水質總磷監測蠕動泵步進電機精準控制策略[J].微電機,2014(7).
[4]周人,何衍慶.流量測量和控制實用手冊[M].北京:化學工業出版社,2013.
[5]陳富安.基于ATmega8L單片機的蠕動泵步進電機控制器研制[J].機電工程技術,2011(11).
[6]許金.ARM處理器的蠕動泵步進電機細分驅動系統[J].單片機與嵌入式應用,2015(9).
[7]庫少平.基于STM32F10x和MDK的步進電機控制系統設計[J].武漢理工大學學報,2009(2).
[8]馬祥.用于蠕動泵的步進電機控制系統的研制[J].機電一體化,2008(7).
牛宗超(1980—),男,碩士研究生,講師,研究方向:電子技術。
2014年度院級課題項目“基于M051的流體輸送轉移計量器的研究”(課題編號:NHKY-2014-14);2016年度江蘇高校品牌專業建設工程資助項目“涂料自動涂布儀設計”(課題編號:PPZY2015B179)。