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