《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
電子設(shè)計(jì)工程
劉帥 祖靜 張紅艷
摘要: 單片機(jī)實(shí)現(xiàn)的步進(jìn)電機(jī)控制系統(tǒng)具有成本低,、使用靈活的特點(diǎn),廣泛應(yīng)用于數(shù)控機(jī)床,、機(jī)器人,定量進(jìn)給,、工業(yè)自動(dòng)控制以及各種可控的有定位要求的機(jī)械工具等應(yīng)用領(lǐng)域,。步進(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ī)的控制。
Abstract:
Key words :

    單片機(jī)實(shí)現(xiàn)的步進(jìn)電機(jī)控制系統(tǒng)具有成本低,、使用靈活的特點(diǎn),,廣泛應(yīng)用于數(shù)控機(jī)床、機(jī)器人,,定量進(jìn)給,、工業(yè)自動(dòng)控制以及各種可控的有定位要求的機(jī)械工具等應(yīng)用領(lǐng)域。步進(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 系統(tǒng)硬件電路設(shè)計(jì)

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)框圖。

 

2.3 驅(qū)動(dòng)/放大模塊

    控制系統(tǒng)采用步進(jìn)電機(jī)控制用的脈沖分配器(又稱(chēng)邏輯轉(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 系統(tǒng)軟件設(shè)計(jì)

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),。控制軟件由VB6.0編寫(xiě),,利用MSComm控件實(shí)現(xiàn)串行通訊功能,。其控制軟件界面如圖6所示。

4 系統(tǒng)檢測(cè)

    為檢驗(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ì)較合理。

5 結(jié)論

    該系統(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à)值高,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。