劉 虎,張仁杰,劉 振,陳雷亮
(上海理工大學(xué)光電與計(jì)算機(jī)工程學(xué)院,上海200093)
?
基于ARM和TMC262的步進(jìn)電機(jī)運(yùn)動控制系統(tǒng)
劉 虎,張仁杰,劉 振,陳雷亮
(上海理工大學(xué)光電與計(jì)算機(jī)工程學(xué)院,上海200093)
介紹了一種高精度高可靠步進(jìn)電機(jī)驅(qū)動控制系統(tǒng)的設(shè)計(jì)。該運(yùn)動控制系統(tǒng)主要采用了STM32F10ZET6微控制器、TMC262步進(jìn)電機(jī)驅(qū)動芯片。系統(tǒng)具有256 細(xì)分的高精度步進(jìn),并具有電機(jī)過載檢測、堵轉(zhuǎn)報(bào)警等功能。給出了硬件設(shè)計(jì)的框圖,介紹了驅(qū)動電路的設(shè)計(jì),分析了TMC262電流斬波原理和TMC262負(fù)載檢測原理。在基于MODBUS通訊協(xié)議上設(shè)計(jì)了友好的PC上位機(jī)通信軟件,測試結(jié)果表明所設(shè)計(jì)的控制系統(tǒng)達(dá)到了預(yù)期的設(shè)計(jì)效果和要求。
STM32;TMC262;步進(jìn)電機(jī);驅(qū)動控制
步進(jìn)電機(jī)是一種將數(shù)字脈沖信號轉(zhuǎn)換成機(jī)械角位移或者線位移的數(shù)模轉(zhuǎn)換原件。它的突出優(yōu)點(diǎn)是能夠在不涉及伺服系統(tǒng)復(fù)雜反饋環(huán)路的情況下實(shí)現(xiàn)良好的定位精度,并且具有性價(jià)比高、易于控制以及無積累誤差等優(yōu)點(diǎn),隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求和應(yīng)用量在民用、工業(yè)用的經(jīng)濟(jì)型數(shù)控開環(huán)定位系統(tǒng)中與日俱增。步進(jìn)電機(jī)的驅(qū)動控制是近幾年來發(fā)展起來的一種新的驅(qū)動技術(shù),隨著要求縮短步進(jìn)電機(jī)的響應(yīng)時(shí)間,提高運(yùn)行速度等問題的提出,國內(nèi)外的研究人員針對速度控制,在軟件算法方面提出了基于T型速度模型和S型速度模型等數(shù)學(xué)模型上的控制方式,但都存在一定的問題。
本文利用微控制器STM32F103ZET6、步進(jìn)電機(jī)驅(qū)動芯片TMC262設(shè)計(jì)的步進(jìn)電機(jī)控制系統(tǒng),減少了外圍電路的設(shè)計(jì),減少了電機(jī)控制軟件設(shè)計(jì)的工作量,降低了開發(fā)成本,縮短了研發(fā)時(shí)間,并且達(dá)到了設(shè)計(jì)的預(yù)期效果和要求,具有較高的實(shí)用價(jià)值。
如圖1所示的控制系統(tǒng)由STM32F103ZET6主控制器、PC上位機(jī)、電源電路、JTAG調(diào)試電路、細(xì)分方向控制電路、RS485通信接口電路、TMC262專用控制芯片以及4個(gè)互補(bǔ)型MOSFET器件FDD8424功率管構(gòu)成,適用于雙極性步進(jìn)電機(jī)的驅(qū)動。設(shè)計(jì)中使用了電機(jī)專用控制芯片,減少了外圍電路,具有體積小、質(zhì)量輕、工作穩(wěn)定等優(yōu)點(diǎn)。
圖1 系統(tǒng)結(jié)構(gòu)方框圖
TMC262是具有高細(xì)分率的兩相步進(jìn)電機(jī)驅(qū)動芯片,在TMC262芯片工作之前,ARM控制器需要對TMC262芯進(jìn)行參數(shù)配置。上位機(jī)設(shè)定好參數(shù)后,上、下位機(jī)通過MODBUS通信協(xié)議進(jìn)行通信,ARM控制器接收到TMC262的配置參數(shù)后,通過SPI接口向TMC262傳輸數(shù)據(jù)。參數(shù)配置合理之后,微控制器輸出步進(jìn)電機(jī)運(yùn)動所需要的脈沖信號和方向信號。電機(jī)運(yùn)行中,TMC260芯片檢測負(fù)載情況并實(shí)時(shí)反饋到ARM控制器 ,當(dāng)負(fù)載過大或造成電機(jī)堵轉(zhuǎn)時(shí),ARM控制器控制電機(jī)停止運(yùn)行并提示報(bào)警。
2.1 STM32F10x微處理器
處理器采用基于Cortex-M3的STM32系列處理器,它為實(shí)現(xiàn)MCU的需要提供了低成本的平臺、縮減的引腳數(shù)目、降低的系統(tǒng)功耗、改善的代碼密度、豐富的開發(fā)工具和先進(jìn)的中斷系統(tǒng)響應(yīng)等。STM32處理器使用了ARM v7-M體系結(jié)構(gòu),是一個(gè)可綜合、高度可配置的處理器。 它包含了一個(gè)高效的哈佛結(jié)構(gòu)三級流水線,可提供1.25DMIPS/MHz的性能。片上集成了豐富的外設(shè)資源512 KB Flash,48 KB SRAM,一個(gè)12位的DAC,一個(gè)12位的ADC,2個(gè)IIC接口,3個(gè)SPI接口,5個(gè)USART接口和9個(gè)16位的計(jì)時(shí)器。
2.2 TMC262步進(jìn)電機(jī)驅(qū)動芯片
TMC262是一款帶診斷和保護(hù)的節(jié)能型高精度兩相步進(jìn)電機(jī)驅(qū)動芯片,同時(shí)帶有專利技術(shù)stallGuard2TM功能和專利技術(shù)coolStep功能。保護(hù)和診斷的功能減小了電機(jī)功耗,提高了驅(qū)動器的可靠性。芯片可以直接連接 8 個(gè) MOS 實(shí)現(xiàn)對電機(jī)的控制,其中驅(qū)動電壓達(dá)80 V,電流高達(dá)8 A。芯片內(nèi)部集成了正弦和余弦發(fā)生器,在接收一個(gè)脈沖后,運(yùn)動一個(gè)微步距,從而實(shí)現(xiàn)電機(jī)的微步運(yùn)行。芯片內(nèi)部集成SPI 接口可以通過外部設(shè)置參數(shù)進(jìn)行診斷和控制電機(jī)。并有過流、短路、接地、過溫保護(hù)電路。TMC262的低功率、高效率、體積小的設(shè)計(jì),成為低功耗要求較高的工業(yè)和商業(yè)應(yīng)用的完美選擇。
2.3 TMC262的SPI接口及寄存器配置
ARM微處理器通過SPI接口發(fā)送和接收固定長度的數(shù)據(jù)包對TMC262的寄存器進(jìn)行讀寫操作,TMC262自帶一個(gè)SPI接口可與微處理器進(jìn)行高速通信,SPI接口使用系統(tǒng)時(shí)鐘同步輸入輸出信號,其通信速度最高可以達(dá)到1/2時(shí)鐘頻率,但是為了保證數(shù)據(jù)的可靠性通常保留10%的余量。微控制器向TMC262發(fā)送數(shù)據(jù)包,同時(shí)微控制器也接收TMC262返回的芯片內(nèi)部狀態(tài)的數(shù)據(jù)包,TMC262芯片的參數(shù)配置是通過SPI接口向5個(gè)寄存器讀寫數(shù)據(jù)完成的,它們分別是DRVCTRL(驅(qū)動控制寄存器)、CHOPCONF(斬波配置寄存器)、SMARTEN(智能節(jié)能寄器)、SGCSCONF(負(fù)載檢測和電流設(shè)置寄存器)、DRVCONF(驅(qū)動配置寄存器)。SPI數(shù)據(jù)幀為20bit的數(shù)據(jù),第19、18和17bit位表示寄存器的地址。其配置時(shí)序如圖2所示。
圖2 SPI配置時(shí)序圖
選通信號CSN低電平有效,時(shí)鐘SCK的工作頻率為20 MHz,SDI為配置數(shù)據(jù)線,SDO 為狀態(tài)反饋數(shù)據(jù)線。當(dāng)CSN跳變?yōu)榈碗娖綍r(shí),SCK連續(xù)發(fā)出20個(gè)脈沖信號,對應(yīng)每一個(gè)脈沖,數(shù)據(jù)位由高到低依次由芯片內(nèi)部的移位寄存器送到數(shù)據(jù)線SDI上。當(dāng)CSN變?yōu)楦唠娖綍r(shí)數(shù)據(jù)即被鎖存,TMC262在接收的同時(shí),會在SDI數(shù)據(jù)線上反饋狀態(tài),這樣就完成了一個(gè)寄存器的配置。
2.4 驅(qū)動電路設(shè)計(jì)
TMC262的管腳定義及驅(qū)動電路如圖3所示。
圖3 驅(qū)動電路
其中 ENN_262為芯片使能信號,DIR為方向控制信號,STEP接入PWM 脈沖信號,CLK_TMC 為系統(tǒng)時(shí)鐘,SG_TST為堵轉(zhuǎn)反饋信號。TMC262輸出的HA1、HA2、HB1、HB2、LA1、LA2、LB1、LB2這8個(gè)信號接入MOS驅(qū)動管構(gòu)成典型的H橋驅(qū)動電路,SRA、SRB為采樣電阻的采樣信號,芯片取得采樣電壓做電流斬波之用。BMA1、BMA2、BMB1、BMB2為FDD8424驅(qū)動管的輸出端,分別接入步進(jìn)電機(jī)的兩相繞組。TMC260芯片有 STEP/DIR和SPI工作模式,本設(shè)計(jì)選擇STEP/DIR模式,僅需對芯片進(jìn)行配置后,即可使用脈沖信號、使能信號 、方向信號控制電機(jī)轉(zhuǎn)動。
3.1 TMC262電流斬波分析
一個(gè)電流斬波周期包括導(dǎo)通相、快衰減、慢衰減3個(gè)階段,電機(jī)的兩相采用電流斬波工作,且兩相相互獨(dú)立,圖4表示一個(gè)斬波周期內(nèi)這3個(gè)階段。上功率管從左到右表示為Q1、Q2,下功率管為Q3、Q4。
圖4 電流斬波原理圖
導(dǎo)通相階段Q1、Q4導(dǎo)通,電感上產(chǎn)生從左到右的充電電流,當(dāng)ICOL電流大于Imax時(shí)進(jìn)入快衰減階段,續(xù)流二極管向電源反向充電,電感繼續(xù)維持電流,使用這種方式放電,電流下降速度快。但它會產(chǎn)生強(qiáng)烈的毛刺波,所以在衰減電流過程中只能占用一部分時(shí)間,剩下的時(shí)間要用慢衰減模式。在慢衰減模式下,Q1、Q2功率管斷開,電流改經(jīng)Q3和Q4衰減,這種模式電流衰減較慢,它產(chǎn)生的毛刺波比快衰減模式弱。重復(fù)這3個(gè)階段最后電流就可以維持在接近Imax處。在配置TMC262的斬波寄存器時(shí),為了獲得良好的斬波效果,導(dǎo)通相階段和快速衰減階段的時(shí)間必須要比電流比較器關(guān)斷的時(shí)間長,在設(shè)置斬波寄存器時(shí),遲滯開始值的設(shè)置要滿足如下的條件:
(1)
(2)
HystersisStar≥
(3)
式中:dICOILBANK為比較器關(guān)斷時(shí)間內(nèi)電機(jī)繞組電流的改變量;dICIOLSD為慢衰減階段電機(jī)繞組電流的改變量;HystersisStar為遲滯開始值;tSD是慢衰減時(shí)間;tBLANK是比較器的關(guān)斷時(shí)間(通過斬波寄存器中的TBL位設(shè)定);VM是電機(jī)的供電電壓;ICOIL為繞組的峰值電流(通過斬波寄存器中的CS位設(shè)定);RCOIL和ICOIL為電機(jī)繞組的電阻和電感。
圖5為ST28HS051A-067SL電機(jī)參數(shù)為Imax=0.67 A、R=9.2 Ω、L=7.2 mH的電流斬波圖形。
圖5 電流斬波波形圖
3.2 TMC262負(fù)載檢測分析
TMC262芯片內(nèi)部集成了高精度負(fù)載檢測模塊stallGuard2TM,無需傳感器就可以檢測電機(jī)負(fù)載的大小以及檢測電機(jī)堵轉(zhuǎn)情況。負(fù)載的測量值與電機(jī)轉(zhuǎn)矩成負(fù)相關(guān)的線性關(guān)系,而電機(jī)的轉(zhuǎn)矩與速度電流的設(shè)置有關(guān),最大轉(zhuǎn)矩時(shí)stallGuard2TM的檢測值降到接近0。當(dāng)負(fù)載超出電機(jī)的扭矩時(shí),檢測值保持為0。曲線的起始點(diǎn)取決于電機(jī)的參數(shù)以及對TMC262芯片參數(shù)的設(shè)置。圖6表示了stallGuard2TM檢測模塊的原理圖。
圖6 負(fù)載轉(zhuǎn)矩與stallGuard2TM測量值關(guān)系圖
通過設(shè)置負(fù)載檢測寄存器SGT的值調(diào)節(jié)stallGuard2TM的閾值,可以得到最優(yōu)的負(fù)載檢測值,SGT的設(shè)置范圍為-64~63,設(shè)定值越低,靈敏度越高,當(dāng)負(fù)載動態(tài)增大時(shí),芯片會輸出丟步信號,設(shè)定值越高,靈敏度越低,需要更大的負(fù)載,芯片的檢測模塊才能檢測,并輸出堵轉(zhuǎn)信號。
如圖7和圖8所示電機(jī)的機(jī)械負(fù)載動態(tài)變化時(shí),stallGuard2TM的測量值也隨著變化,圖7中,SGT的設(shè)置值較低,增大機(jī)械負(fù)載時(shí),電機(jī)很容易發(fā)生堵轉(zhuǎn),圖8表示SGT的設(shè)置值相對較大,機(jī)械負(fù)載需要更大,才能檢測到堵轉(zhuǎn)信號。
圖7 設(shè)置SGT較小時(shí)的負(fù)載檢測圖
3.3 上位機(jī)參數(shù)配置界面
PC上位機(jī)采用VisualStudio2013構(gòu)建友好的人機(jī)交互界面,如圖9所示的選項(xiàng)表示斬波寄存器的參數(shù)配置。上、下位機(jī)通訊采用MODBUS標(biāo)準(zhǔn)通訊協(xié)議中的RTU傳輸協(xié)議。其數(shù)據(jù)幀格式由設(shè)備地址碼、功能碼、數(shù)據(jù)區(qū)域、校驗(yàn)碼等組成。通過選項(xiàng)設(shè)置HystersisStar遲滯開始值時(shí)MODBUS數(shù)據(jù)幀為:01 06 00 18 00 03 49 CC。其中[01]表示設(shè)備地址,即STM32處理器從機(jī)設(shè)備。[06]表示寫一個(gè)寄存器命令,[00 18]表示寄存器地址,此處定義為HystersisStar遲滯開始值,[00 03]表示設(shè)置遲滯開始值設(shè)置為3,[0B A4]為CRC校驗(yàn)位。如果通信正常,設(shè)備原樣返回收到的報(bào)文01 06 00 18 00 03 49 CC。 如果報(bào)文錯(cuò)誤,將功能碼高位設(shè)置為1并連同其他數(shù)據(jù)一起返回。返回的錯(cuò)誤報(bào)文樣本:01 86 00 18 00 03 49 CC。
圖8 設(shè)置SGT較大時(shí)的負(fù)載檢測圖
圖9 TMC262寄存器配置界面
本文基于ARM控制器、TMC262智能芯片設(shè)計(jì)了控制驅(qū)動一體化的步進(jìn)電機(jī)控制系統(tǒng)。整個(gè)系統(tǒng)設(shè)計(jì)方案簡潔、設(shè)計(jì)成本低廉、適合中小型控制系統(tǒng)低成本的要求,微處理器最終與PC上位機(jī)通信,對TMC262進(jìn)行參數(shù)配置,電機(jī)在控制參數(shù)及命令的合理設(shè)置下運(yùn)轉(zhuǎn),stallGuard2TM在堵轉(zhuǎn)等大負(fù)載情況下能夠有效報(bào)警,coolStep模塊能夠降低損耗,控制系統(tǒng)取得了良好的運(yùn)行效果,可廣泛應(yīng)用于汽車行業(yè)和工業(yè)運(yùn)動控制領(lǐng)域。
[1] 王永虹,徐煒.STM32系列ARMCortex-M3微控制器原理與實(shí)踐.北京:北京航空航天大學(xué)出版社,2008: 22-408.
[2] 庫少平,劉晶.基于STM32F10x和MDK的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì).武漢理工大學(xué)學(xué)報(bào),2009,31(3)107-110.
[3] 劉寶志.步進(jìn)電機(jī)的精確控制方法研究:[學(xué)位論文].濟(jì)南:山東大學(xué),2010:1-52.
[4] 石星星,吳洪濤.基于專用控制芯片的步進(jìn)電機(jī)運(yùn)動控制 統(tǒng)設(shè)計(jì).電子設(shè)計(jì)工程,2012,20(9):130-133.
[5] 仝建,龍偉,李蒙,等.高精度高可靠步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)及應(yīng)用.電子技術(shù)應(yīng)用,2013,39(12):41-44.
[6] 霍曉強(qiáng).一款兩相雙極步進(jìn)電機(jī)驅(qū)動芯片的設(shè)計(jì):[學(xué)位論文].西安:西安電子科技大學(xué),2012:1-70.
[7] 陳志聰.步進(jìn)電機(jī)驅(qū)動控制技術(shù)及其應(yīng)用設(shè)計(jì)研究:[學(xué)位論文].廈門:廈門大學(xué),2008:1-90.
Design of Control System of Stepping Motor Based on ARM and TMC262
LIU Hu ,ZHANG Ren-Jie,LIU Zhen,CHEN Lei-Liang
(School of Optical-Electrical and Computer Engineering ,University of Shanghai for Science and Technology ,Shanghai 200093,China)
A design on stepping motor drive control system with high precision and high reliability was introduced in the paper. The micro controller STM32F103ZET6,the stepping motor driver TMC262 are chosen in the motion control system. The system realizes the motor step with 256 segments and achieves functions of motor overload and stall alarm. This paper presents a block diagram of the design of the hardware, introduces the design of drive circuit and analyses the chopping principle and the load detection principle of the TMC262 .Following the MODBUS protocol, a friendly PC communication software was designed. The test result indicates that the motion control system achieves the expected effectiveness and requirement.
STM32;TMC262;stepper motor;drive control;
李中偉(1976—),副教授,博士,研究方向?yàn)殡姎饣F路線索張力監(jiān)測、智能電網(wǎng)通信及其通信安全、現(xiàn)場總線技術(shù)及其應(yīng)用。E-mail:lzw@hit.edu.cn 崔秀帥(1992—),碩士研究生,主要研究方向?yàn)殡姎饣F路線索張力監(jiān)測、智能電網(wǎng)通信及其通信安全。 E-mail:cuixiushuai@126.com
2014-12-21 收修改稿日期:2015-08-02
TP273
A
1002-1841(2015)10-0057-03