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