《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32的微型步進電機驅動控制器設計
基于STM32的微型步進電機驅動控制器設計
2015年微型機與應用第1期
藍 杰,張浩然
(浙江師范大學 數理與信息工程學院,浙江 金華 321004)
摘要: 設計了一種微型步進電機驅動控制器,通過上位機界面修改步進電機轉速、旋轉角度、細分系數。該設計以STM32F103T8U6作為主控制器,以A4988步進電機驅動設備,上位機串口界面作為人機接口界面,詳細分析步進電機驅動設備的工作原理、各部分接口電路以及控制器設計方案。通過實物設計實現了步進電機轉速、正反轉任意角度和細分系數的控制,并通過精確計算步進脈沖個數實現了任意旋轉角度的精確控制,該驅動控制器步進角度精度高達0.112 5度。
Abstract:
Key words :

  摘  要: 設計了一種微型步進電機驅動控制器,通過上位機界面修改步進電機轉速、旋轉角度、細分系數。該設計以STM32F103T8U6作為主控制器,以A4988步進電機驅動設備,上位機串口界面作為人機接口界面,詳細分析步進電機驅動設備的工作原理、各部分接口電路以及控制器設計方案。通過實物設計實現了步進電機轉速、正反轉任意角度和細分系數的控制,并通過精確計算步進脈沖個數實現了任意旋轉角度的精確控制,該驅動控制器步進角度精度高達0.112 5度。

  關鍵詞: 微型步進電機;STM32F103T8U6;A4988;串口;正反轉

0 引言

  自從上世紀20年代英國人開發了步進電機,50年代后期晶體管的發明也逐漸應用在步進電機上,并使得步進電機的數字化控制更為方便。經過不斷改良,今日步進電機已廣泛運用在生產過程中要求自動化、省人力、效率高的機器中,尤其在重視速度、位置控制、需要精確操作指令動作的靈活控制場合步進電機用得最多。

  本文旨在以STM32F103T8U6[1]作為A4988[2]控制器,并以A4988作為微型步進電機驅動器設計步進電機控制器模塊,實現閉環精確控制微型步進電機的步進角度的功能,并從多方面深入分析A4988的工作原理以及微型步進電機速度控制和步進角度精確控制策略[3-4]。

1 A4988的特性和工作原理

  1.1 A4988的特性

  A4988是一款完全的微步電動機驅動器,帶有內置轉換器,易于操作。該產品可在全、半、1/4、1/8及1/16步進模式時操作雙極步進電動機,輸出驅動性能可達35 V及±2 A。A4988包括一個固定關斷時間電流穩壓器,該穩壓器可在慢或混合衰減模式下工作。轉換器是A4988易于實施的關鍵。只要在“步進”輸入中輸入一個脈沖,即可驅動電動機產生微步。無須進行相位順序表、高頻率控制行或復雜的界面編程。A4988界面非常適合復雜的微處理器不可用或過載的應用。在微步運行時,A4988內的斬波控制可自動選擇電流衰減模式(慢或混合)。在混合衰減模式下,該器件初始設置為在部分固定停機時間內快速衰減,然后在余下的停機時間慢速衰減。混合衰減電流控制方案能減少可聽到的電動機噪音,增加步進精確度并減少功耗。提供內部同步整流控制電路,以改善脈寬調制(PWM)操作時的功率消耗。內部電路保護包括:帶滯后的過熱關機、欠壓鎖定(UVLO)及交叉電流保護,不需要特別的通電排序。

  1.2 A4988的工作原理

  為了更加清晰地分析A4988的工作原理,首先深入分析A4988的內部結構。如圖1所示為A4988的內部結構圖和典型的外部電路連接圖。

001.jpg

  由圖1所示,A4988有一個編譯器(Translator),主要負責微控制器和驅動電路的信息交互。通過該編譯器可產生DA信號,配合比較器輔助PWM鎖存器修復衰減信號,并且該編譯器能夠產生邏輯電平控制邏輯控制器,邏輯控制器再配合電流調節器和N型MOS管驅動電壓共同驅動兩路全橋電路。電路中所標電容必須嚴格與技術文檔中所給的相同,Rosc主要更改并修復衰減模式,接VDD自動修復衰減,接GND電流衰減設置為增減電流同時修復。SENSE1和SENSE2檢測驅動輸出電壓,實則是實時檢測輸出電流,供電流調節器調節輸出電流信號,形成閉環控制。因此SENSE1和SENSE2管腳連接的電阻非常關鍵,一般這個電阻的阻值在零點幾歐姆左右。

  1.3 A4988邏輯控制策略

  A4988控制邏輯簡單,主要分為睡眠、正反轉、復位、使能、細分等模式控制。

  (1)睡眠模式:Sleep管腳電平置0,進入睡眠模式,驅動器輸出待機模式;Sleep管腳置1,驅動器處于正常工作狀態;

  (2)正反轉模式:正轉模式DIR管腳置0或1,反轉模式置1或0;

  (3)復位模式:復位模式下容易消耗能量,產生的沖擊電流較大。直接RESET管腳置1,在不影響系統工作時RESET管腳置0復位。一旦驅動芯片復位,系統將回歸到原始A4988 I/O端口控制狀態;

  (4)使能模式:使能模式控制系統是否開始工作,ENBALBE管腳置0開始工作,置1停止工作;

  (5)細分模式[5]:通過MS1、MS2、MS3控制細分系數,A4988細分為1/16細分為最小,通過計算角度值可得最小細分角度為全步進角度的1/16。A4988驅動邏輯控制如表1所示。

007.jpg

2 控制器電路設計

  根據A4988芯片的工作原理,控制器電路主要分為上位機串口模塊、STM32最小系統板模塊和A4988微型步進電機驅動模塊。通過STM32F103T8微控制器接收上位機的控制指令,通過識別分析之后執行步進電機控制操作。內部步進電機驅動控制器總體設計框圖如圖2所示。

002.jpg

  2.1 硬件電路設計

  (1)串口通信模塊[6]:主要負責上位機和下位機通信。上位機通過串口通信模塊發送相應的功能指令給下位機,下位機執行上位機的指令并控制A4988驅動器模塊驅動步進電機。如圖3所示。

003.jpg

  (2)STM32控制器模塊:微型步進電機控制器的主控模塊,接收上位機的指令,執行步進電機控制指令,主要控制步進電機細分操作、速度控制、旋轉角度控制。如圖4所示。

004.jpg

  (3)A4988微型步進電機驅動器模塊:如圖5所示,主要控制并驅動微型步進電機,執行主控制器的各項驅動操作。

005.jpg

  2.2 功能設計

  該微型步進電機控制器的設計要求:

  (1)實現步進電機細分控制

  細分控制只需控制MS1、MS2、MS3三個引腳即可得到相應的細分結果。細分角度值等于步進角度乘以細分系數,細分系數通過上位機發送命令得到,初始細分值為1,即全步進方式運行。

  (2)實現步進電機速度控制

  通過測試,影響步進電機轉速的主要因素有步進脈沖頻率和細分系數。步進脈沖頻率過高會造成步進電機失步,經過測試400 Hz時步進電機不會失步,且經過細分之后步進電機旋轉不會出現強烈的震動和聲音。當細分系數越來越小時,步進電機的旋轉速度也會隨之越來越小。此原因之一就是當細分系數不變時,每進一個脈沖走一步,脈沖頻率越高,步進電機旋轉速度越快;原因之二就是當步進電機輸入脈沖頻率不變時,每1/2細分步進電機的進角度就變為原來的1/2度,因此脈沖個數就增加了一倍,自然速度就降低為原來的1/2。

  (3)實現步進電機任意角度旋轉控制

  步進電機任意角度旋轉控制是相對于A4988驅動旋轉最小角度(0.1125度)而言,且A4988是通過脈沖驅動步進電機,通過計算脈沖個數乘以細分角度即可得旋轉角度值。A4988輸入脈沖個數可通過微控制器外部中斷I/O口計算PWM波個數得到。

3 軟件設計

  STM32F103T8U6是32 bit微控制器,能產生獨立PWM波,PWM脈寬可調且頻率可調,方便步進電機驅動調試速度;可提供外部中斷為檢測PWM輸出脈沖個數進行計數,為實現旋轉步進電機旋轉角度控制提供精確數據,這樣就形成了角度閉環控制;可提供串口通信,供上位機設備和微控制器進行信息交互;該微控制器I/O端口少價格便宜完全可替代16 bit單片機進行復雜的邏輯運算。STM32控制方式:(1)接收上位機控制指令并返回接收指令,表示接收成功,否則接收失敗;(2)通過接收到的上位機控制指令,分別轉化成控制步進電機指令,控制步進電機工作模式。

  3.1 串口通信指令設計

  串口通信上位機發送指令有:(1)啟動模式;(2)睡眠模式;(3)復位模式;(4)速度設置模式;(5)細分模式。發送協議以“{”為起始碼,以“}”為結束碼,如{+0.1125℃}即正向旋轉0.112 5度;當下位機執行完上位機指令時返回接收指令,否則不返回。具體發送方式如表2所示。

008.jpg

  3.2 控制器控制策略

  STM32軟件負責該模塊的主控制器,首先讓啟動模式處于非啟動狀態(DISABLE),外部中斷也處于關閉狀態。一旦啟動模式被打開,即點亮LED;其次,進行速度設置、細分系數設置以及旋轉角度設置。睡眠模式下LED緩慢閃爍。具體該驅動控制器軟件設計流程圖如圖6所示。

006.jpg

4 結論

  通過系統對軟硬件進行調試,該控制器實現了對步進電機速度、細分系數、任意角度的設置,并達到了預期設定的目標。此控制器可以應用在相對比較精細的項目控制中,加快項目研發周期。該模塊的主要缺陷就是輸出驅動電流不夠大,無法應用在扭力比較大的場合中,因此,通過上述對A4988模塊的分析,可以再對A4988芯片進行改進,更換導通電阻小、驅動電流大的MOS管,實現電機驅動器的設計。

參考文獻

  [1] 意法半導體.STM32F103英文數據手冊[EB/OL].(2011-04-19)[2014-05-13].http://www.st.com/stonline/products/literature/ds/14611.pdf.

  [2] MICRO A.A4988數據手冊[EB/OL].(2014-05-07)[2014-06-10].www.allegromicro.com/~/media/Files/Datasheets/A4988-Datasheet.ashx.pdf.

  [3] 孟英紅,齊婉玉,段學鋒.用L297,L298組成步進電機驅動電路[J].儀器儀表學報,2003,24(4):573-574.

  [4] 王凱,韓力立.采用STM32控制L6470步進電機驅動器[J].電子世界,2012(18):51-52.

  [5] 曹彪乾,陳遠增,孫書鷹,等.基于STM32步進電機多細分控制設計[J].科學技術與工程,2013,13(23):6894-6897.

  [6] 于波,胡毅,文江濤.基于CP2102的USB接口設計[J].研究與開發,2007,26(3):40-42.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本精品夜色视频一区二区 | 笫一次爽女人免费视频 | 日韩娇小性hd| 日日摸夜夜添夜夜添破第一 | 色综合888| 香港aa三级久久三级不卡 | 午夜乩伦 | a一级日本特黄aaa大片 | 亚洲国产日韩在线人高清 磁力 | 欧美黄色视屏 | 欧美深夜福利 | 午夜影院免费在线观看 | 国产成人18黄网站在线观看网站 | 国产片一级aaa毛片视频 | 久久黄色毛片 | 午夜伦理宅宅235 | 日韩影视在线观看 | 国产日产在线观看 | 成免费网站 | 国产综合视频在线 | 国产一级高清视频免费看 | 2020国产成人精品视频人 | 亚洲另在线日韩综合色 | 国产精品27页 | 亚洲人成免费网站 | 日韩一级视频免费观看 | 欧美精品一区在线看 | 视频日韩p影院永久免费 | 欧美xxxhd18| 黑丝美足 | 亚洲欧美日韩精品久久亚洲区色播 | 国产毛片在线 | 人人干人人搞 | 国产精品嫩草影院在线观看免费 | 国产午夜不卡 | 亚洲国产欧美日韩一区二区 | 波多野结衣在线免费观看视频 | 精品九九人人做人人爱 | 日韩在线观看一区二区不卡视频 | free性欧美极度另类性性欧美 | 丁香综合激情 |