王 坤
(陜西工業(yè)職業(yè)技術學院,陜西 咸陽 712000)
目前,在我國由于市場競爭日益增強,系統(tǒng)集成商和設備制造商要求運動控制系統(tǒng)向著高性能、低功耗、體積小和開放性方向發(fā)展。而μPSD3354D單片機處理器具有運算速度快、功耗低等優(yōu)點,操作系統(tǒng)具有小型、專用、易攜帶和高可靠性等特點,因此在工業(yè)控制領域,得到了廣泛的應用。單片機實現(xiàn)的步進電機控制系統(tǒng)具有成本低、使用靈活的特點,廣泛應用于數控機床、機器人,定量進給、工業(yè)自動控制以及各種可控的有定位要求的機械工具等應用領域、步進電機是數字控制電機,將脈沖信號轉換成角位移,電機的轉速、停止的位置取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,非超載狀態(tài)下,根據上述線性關系,再加上步進電機只有周期性誤差而無累積誤差,因此步進電機適用于單片機控制、步進電機通過輸入脈沖信號進行控制,即電機的總轉動角度由輸入脈沖總數決定,而電機的轉速由脈沖信號頻率決定。步進電機的驅動電路是根據單片機產生的控制信號進行工作。因此,單片機通過向步進電機驅動電路發(fā)送控制信號就能實現(xiàn)對步進電機的控制[1]。
μPSD3354D單片機運動控制系統(tǒng)主要由μPSD3354D單片機包含一個高速時鐘的8032微控制器、一個PSD模塊、兩塊大容量的FLASH存儲器(主FLASH提供256KB、次FLASH提供32KB),6個I/O口,通過PSDsoft Express 軟件對PSD模塊的配置實現(xiàn)I/O口和存儲器的擴展,使我們的設計真正實現(xiàn)了SOC系統(tǒng),并可以在Keil μVision2環(huán)境下編程實現(xiàn)實時高速復雜的計算[2]。
在嵌入式系統(tǒng)的開發(fā)過程中,雖然匯編語言一直是電子工程師首選,但是高級語言程序移植方便,程序結構性、堅固性好,支持數學運算,采用條理清晰的結構化編程,程序的可維護性好,可協(xié)同開發(fā)軟件,開發(fā)周期短[3]?,F(xiàn)在針對開發(fā)嵌入式單片機系統(tǒng)的高級語言C編譯器已可以產生代碼很高的機器代碼,而且我們使用的μPSD3354D單片機片內集成了大容量的SRAM和FALSH存儲器,很好地支持了高級語言的開發(fā),同時我們的繪圖又要進行復雜的數據處理,因此我們選用在Keil μVision2環(huán)境下C語言編程。
系統(tǒng)框圖如圖1所示[4]。
圖1 系統(tǒng)框圖
系統(tǒng)原理圖如圖2所示。μPSD3354D單片機用于進行數據處理和控制電機的運行。通過PSDsoft Express 軟件配置PSD實現(xiàn)存儲器和I/O口的擴展。主FLASH的fs0配置為數據存儲器,次FLASH的csb00t0配置為程序存儲器,配置PA口的8個引腳連接到LCD的8位數據總線;配置PB7作為連接到LCD的片選信號;配置PB6作為連接到LCD的讀/寫信號;配置PB5作為連接到LCD的寄存器選擇信號。P4口組成4×4鍵盤用于數據輸入,2×16字符點陣液晶顯示器LCD1602實現(xiàn)數據動態(tài)顯示。步進電機選用42BYGH102二相混合式步進電機,驅動器芯片選用BL-210二相混合式步進電機驅動器,通過P1.1和P1.7分別控制電機1和電機2的轉動方向,通過P1.0和P1.6分別控制電機1和電機2的轉速。
圖2 系統(tǒng)原理圖
我們利用A、B、C、D 、*作為功能鍵,首先掃描鍵盤有無鍵按下,若有則可以按任意功能鍵處理,若鍵入A輸入動圓的圓心橫坐標,若鍵入B輸入動圓的圓心橫坐標,若鍵入C輸入任一定點橫坐標,若鍵入D輸入任一定點橫坐標,*+1控制物體做任意曲線運動,*+2控制物體做動圓運動,*+3控制物體做到任意定點運動。系統(tǒng)軟件流程圖如圖3所示。
圖3 系統(tǒng)軟件流程圖
在運動過程中如果物體位置每改變一次就顯示一次,由于單片機頻率太高而無法看清顯示內容。對此設置一個標志,將每個步進點橫坐標四舍五入與該標志比較,如果相同,就顯示該點坐標,并將該坐標值賦給標志,用于下次比較,以達到動態(tài)顯示重物坐標的預想效果。
當從鍵盤輸入數據時,出現(xiàn)了字符,如果該字符不是結束輸入的“#”號確認符,給出非法輸入提示信息“error!”;如果輸入圓心坐標距離運動平面周邊小于半徑時,同樣提示錯誤信息,并返回系統(tǒng)重新輸入;若給定定點超出平面范圍,提示出錯,返回重新輸入界面。
在該過程中,黑線的識別是問題的關鍵,我們在物體的上中下各接一個傳感器,使用反射式光電檢測器和電壓比較器LM339。對于接收,將反射式光電檢測器接受管設在深飽和區(qū),只在檢測到黑色區(qū)域時退出飽和區(qū),然后采用LM339將電壓信號轉變成數字信號。
在物體中的三個傳感器如圖4所示,傳感器1檢測到黑線物體向上運動,傳感器2檢測到黑線物體向前運動,傳感器3檢測到黑線物體向下運動,在物體上接一繼電器,在畫筆上接一彈簧。對于黑線的斷點處理則處理為:如果三個傳感器均未感應到黑線則物體繼續(xù)向前運動一段距離,并通過繼電器控制彈簧將畫筆提起,如果檢測到則畫筆放下繼續(xù)運動,否則以該點為圓心,選一較小半徑畫圓繼續(xù)尋找,直到找到為止。
圖4 傳感器安裝示意圖
該系統(tǒng)的設計以通過μPSD3354D單片機控制步進電機控制物體的運行情況。系統(tǒng)可靠性高,利用鍵盤控制,具有良好的人機界面;能夠比較精確地控制物體運動,并給出誤差分析;用 LCD實時動態(tài)顯示物體坐標。適應范圍較廣,電路簡單,成本低,控制方便,移植性強,實用價值高。
[1]秦龍.MSP430單片機常用模塊與綜合系統(tǒng)實例精講[M].電子工業(yè)出版社,2007.7
[2]金之誠.uPSD32XX高速SOC51單片機原理及應用[M].清華大學出版社,2005.1
[3]王曉明.電動機的單片機控制[M].北京航空航天大學出版社,2010.9
[4]李洪偉.可編程單片機外圍芯片PSD的原理及應用[M].電子工業(yè)出版社2003.1
[5]李偉,李保華.步進電機驅動電路[J].試驗技術與試驗機,2004年第3、4期