步進(jìn)電機(jī)是數(shù)字控制電機(jī),將脈沖信號(hào)轉(zhuǎn)換成角位移,電機(jī)的轉(zhuǎn)速、停止的位置取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,非超載狀態(tài)下,根據(jù)上述線性關(guān)系,再加上步進(jìn)電機(jī)只有周期性誤差而無(wú)累積誤差,因此步進(jìn)電機(jī)適用于單片機(jī)控制。步進(jìn)電機(jī)通過(guò)輸入脈沖信號(hào)進(jìn)行控制,即電機(jī)的總轉(zhuǎn)動(dòng)角度由輸入脈沖總數(shù)決定,而電機(jī)的轉(zhuǎn)速由脈沖信號(hào)頻率決定。步進(jìn)電機(jī)的驅(qū)動(dòng)電路是根據(jù)單片機(jī)產(chǎn)生的控制信號(hào)進(jìn)行工作。因此,單片機(jī)通過(guò)向步進(jìn)電機(jī)驅(qū)動(dòng)電路發(fā)送控制信號(hào)就能實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。
1 系統(tǒng)設(shè)計(jì)原理
步進(jìn)電機(jī)控制系統(tǒng)主要由單片機(jī)、鍵盤(pán)LED、驅(qū)動(dòng)/放大和PC上位機(jī)等4個(gè)模塊組成,其中PC機(jī)模塊是軟件控制部分,該控制系統(tǒng)可實(shí)現(xiàn)的功能:1)通過(guò)鍵盤(pán)啟動(dòng)/暫停步進(jìn)電機(jī)、設(shè)置步進(jìn)電機(jī)的轉(zhuǎn)速和改變步進(jìn)電機(jī)的轉(zhuǎn)向;2)通過(guò)LED管顯示步進(jìn)的轉(zhuǎn)速和轉(zhuǎn)向等工作狀態(tài);3)實(shí)現(xiàn)三相或四相步進(jìn)電機(jī)的控制:4)通過(guò)PC上位機(jī)實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制(啟停、轉(zhuǎn)速和轉(zhuǎn)向等)。為保護(hù)單片機(jī)控制系統(tǒng)硬件電路,在單片機(jī)和步進(jìn)電機(jī)之間增加過(guò)流保護(hù)電路。圖l為步進(jìn)電機(jī)控制系統(tǒng)框圖。
2.1 單片機(jī)模塊
單片機(jī)模塊主要由MSP430FG4618單片機(jī)及外圍濾波、電源管理和晶振等電路組成。MSP430FG4618單片機(jī)內(nèi)部的8 KB RAM和116 KB Flash滿足控制系統(tǒng)的存儲(chǔ)要求,P1和P2端口在步進(jìn)電機(jī)工作過(guò)程中根據(jù)按鍵狀態(tài)判斷是否跳入中斷服務(wù)程序來(lái)改變步進(jìn)電機(jī)的工作狀態(tài),USART模塊實(shí)現(xiàn)單片機(jī)和PC上位機(jī)之間的通信,實(shí)現(xiàn)PC機(jī)對(duì)步進(jìn)電機(jī)控制。電源管理電路提供穩(wěn)定的3.3 V和5 V電壓,分別給單片機(jī)、晶振電路和驅(qū)動(dòng)和功率放大電路供電。32 kHz晶振給單片機(jī)、鍵盤(pán)/顯示接口器件8279和脈沖分配器PMM8713提供時(shí)鐘;當(dāng)采用USART模塊時(shí)需開(kāi)啟8MHz晶振設(shè)置通信模塊。圖2為單片機(jī)模塊結(jié)構(gòu)框圖。
2.2 鍵盤(pán)/LED模塊
為實(shí)現(xiàn)人機(jī)對(duì)話,該系統(tǒng)設(shè)計(jì)擴(kuò)展了3x4按鈕矩陣鍵盤(pán)和4片8段LED數(shù)碼管,可手動(dòng)直接操作該控制系統(tǒng)。系統(tǒng)上電后,通過(guò)鍵盤(pán)輸入步進(jìn)電機(jī)的啟停、步數(shù)轉(zhuǎn)速和轉(zhuǎn)向等,由LED管動(dòng)態(tài)顯示步進(jìn)電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向。鍵盤(pán)的輸入和LED管的輸出由8279進(jìn)行控制,減少單片機(jī)工作負(fù)擔(dān)。8279編程工作在鍵盤(pán)掃描輸入方式,讀入鍵盤(pán)時(shí)具有去抖動(dòng)功能,避免誤觸發(fā)。圖3為鍵盤(pán)LED模塊設(shè)計(jì)結(jié)構(gòu)框圖。
控制系統(tǒng)采用步進(jìn)電機(jī)控制用的脈沖分配器(又稱邏輯轉(zhuǎn)換器)PMM8713,該器件是CMOS集成電路,相輸出驅(qū)動(dòng)能力(源電流或吸入電源)為20 mA,適用于控制三相或四相步進(jìn)電機(jī),可選擇下列6種激勵(lì)方式:三相步進(jìn)電進(jìn):1相,2相,1-2相;四相步進(jìn)電進(jìn):1相,2相,1-2相。輸入方式可選擇單時(shí)鐘(加方向信號(hào))和雙時(shí)鐘(正轉(zhuǎn)或反轉(zhuǎn)時(shí)鐘)兩種方式,具有正反轉(zhuǎn)控制、初始化復(fù)位、原點(diǎn)監(jiān)視、激勵(lì)方式監(jiān)視和輸入脈沖監(jiān)視等功能。器件PMM8713由時(shí)鐘選通、激勵(lì)方式控制、激勵(lì)方式判斷和可逆環(huán)形計(jì)數(shù)器等部分構(gòu)成,所有輸入端內(nèi)都設(shè)有施密特電路,可提高抗干擾能力。PMM8713輸出需接功率驅(qū)動(dòng)電路,選用功率驅(qū)動(dòng)器PMM2101,最大輸出電流為1.4 A,滿足驅(qū)動(dòng)步進(jìn)電機(jī)的要求。驅(qū)動(dòng)/放大電路如圖4所示。MSP430單片機(jī)通過(guò)調(diào)節(jié)PMM8713的端口1~4輸入脈沖信號(hào)控制步進(jìn)電機(jī)的啟停、速度和轉(zhuǎn)向等。
3.1 單片機(jī)程序
利用單片機(jī)的定時(shí)器TIMER_A(TA)中斷產(chǎn)生脈沖信號(hào),通過(guò)在響應(yīng)的中斷程序中實(shí)現(xiàn)步進(jìn)電機(jī)步數(shù)和圈數(shù)的準(zhǔn)確計(jì)數(shù),通過(guò)PWM實(shí)現(xiàn)轉(zhuǎn)速控制;利用P1.0端口的中斷關(guān)閉TA中斷程序,并推入堆棧,停止電機(jī);P1.1中斷則開(kāi)啟TA中斷,堆棧推入程序計(jì)數(shù)器(PC),開(kāi)啟電機(jī);P3.1端口輸出高電平由PMM8713的U/D端口控制電機(jī)的轉(zhuǎn)向;P3.0~P3.7端口接8279的8個(gè)數(shù)據(jù)接口,當(dāng)單片機(jī)掃描到矩陣鍵盤(pán)有鍵按下時(shí),利用P2端口的中斷設(shè)置TA,控制啟停、調(diào)速和轉(zhuǎn)向等,同時(shí)單片機(jī)反饋給8279控制LED管顯示轉(zhuǎn)速和轉(zhuǎn)向。其程序流程如圖5所示。
3.2 PC上位機(jī)模塊
PC上位機(jī)模塊實(shí)現(xiàn)PC機(jī)對(duì)步進(jìn)電機(jī)的控制。利用MSP430單片機(jī)的USART模塊實(shí)現(xiàn)與PC上位機(jī)的通信,PC機(jī)通過(guò)串口向單片機(jī)發(fā)送控制命令,實(shí)現(xiàn)電機(jī)控制。單片機(jī)所接收到控制命令暫存在RXBUFFER中,然后與存儲(chǔ)在片內(nèi)Flash的中斷程序的入口地址相比較,相同就進(jìn)入中斷,實(shí)現(xiàn)步進(jìn)電機(jī)的控制。操作該模塊時(shí)需要開(kāi)啟8 MHz晶振為USART模塊設(shè)置波特率(設(shè)置波特率為9 600)??刂栖浖蒝B6.0編寫(xiě),利用MSComm控件實(shí)現(xiàn)串行通訊功能。其控制軟件界面如圖6所示。
為檢驗(yàn)該控制系統(tǒng)的實(shí)際工作情況,在給定PMM2101輸出工作電流的狀態(tài)下采用能量轉(zhuǎn)化法測(cè)得步進(jìn)電機(jī)輸出的最大靜轉(zhuǎn)矩。選取輸出電流間隔0.2 A,測(cè)到步進(jìn)電機(jī)最大靜轉(zhuǎn)矩與電流之間關(guān)系的靜特性曲線,如圖7所示,說(shuō)明該控制系統(tǒng)設(shè)計(jì)較合理。
該系統(tǒng)通過(guò)MSP430單片機(jī)控制步進(jìn)電機(jī)運(yùn)轉(zhuǎn)情況,可靠性高,在電機(jī)運(yùn)行時(shí)能夠方便設(shè)定步進(jìn)電機(jī)的啟/停、轉(zhuǎn)速和方向,提高步進(jìn)電機(jī)的步進(jìn)精度;能夠控制三相或四相步進(jìn)電機(jī);由PC上位機(jī)完全控制步進(jìn)電機(jī)的各種運(yùn)行方式,使系統(tǒng)能夠應(yīng)用于惡劣環(huán)境中,保證人員安全,適用范圍較廣,且電路簡(jiǎn)單,成本較低,控制方便,移植性強(qiáng),實(shí)用價(jià)值高。
相關(guān)閱讀:
高手親傳:如何利用PLC控制步進(jìn)電機(jī)?
電機(jī)選型:步進(jìn)電機(jī)和伺服電機(jī)選哪個(gè)好?
技巧方法:如何控制步進(jìn)電機(jī)升降速曲線?