1 引言 步進電機是一種將電脈沖信號轉(zhuǎn)換成相應的角位移或線位移的電磁機械裝置,是一種輸出與輸入數(shù)字脈沖對應的增量驅(qū)動元件,具有快速啟動和停止的能力。但大多數(shù)設(shè)計人員常常習慣于用邏輯電路實現(xiàn)復雜的步進電機的控制,雖然已經(jīng)取得很大成效,但實現(xiàn)起來成本高、費時多,而且一旦組成了電路,就很難再改動,因此不得不完全重新設(shè)計控制器。微處理器與微計算機的先進技術(shù)和低廉的價格,給步進電機的控制開創(chuàng)了一個新的局面。人們完全可以借助于軟件來對步進電機實施控制,從而實現(xiàn)復雜而成本又不高的控制系統(tǒng),同時還可以很靈活地通過改變程序來改變控制方案。為此,我們基于 89C51單片機設(shè)計了步進電機控制器用于玻璃管加熱系統(tǒng)。該控制器具有線路簡潔、性能良好、成本低、可靠性高等特點,在實際應用中取得了良好效果。 2 控制系統(tǒng)硬件設(shè)計 2.1 玻璃管加熱器的原理 直徑400mm 的圓盤上每隔15°有1個固定器,用于安放直徑3mm,長度50mm-70mm的玻璃管,圓盤上方有一個火焰噴頭,用于對玻璃管進行加熱。先在圓盤上裝上 24個玻璃管,開機定位后開始工作,步進電動機開始運轉(zhuǎn),當每轉(zhuǎn)過15°時,延時T秒(T的大小可以設(shè)定為3,4,5三種狀態(tài),本系統(tǒng)的默認值為3,通過軟件控制可以使時間偏差小于0.1秒)當一個玻璃管加熱完畢后,步進電機轉(zhuǎn)動移動到下一個玻璃管,所用時間為1秒,通過軟件可以使定位偏差小于 0.1mm,后重復上一步工作。機械傳動原理圖主視圖如圖1所示,俯視圖如圖2所示。 圖1機械傳動原理圖主視圖 圖2 機械傳動原理圖俯視圖 2.2 單片機控制系統(tǒng)硬件設(shè)計 該系統(tǒng)控制器的核心采用89C51單片機,具有4K的可擦除程序存儲器,易于系統(tǒng)的擴展和程序的改進。采用P1口的四位作為鍵盤輸入控制,用K1,K2, K3控制延時狀態(tài),K1按下延時3秒,K2按下延時4秒,K3按下延時5秒。K4控制運行方向選擇,在順時針和逆時針之間進行切換。數(shù)碼管采用串行顯示方式,對運行狀態(tài)給以顯示,LED1顯示顯示方向選擇,“-”表示順時針旋轉(zhuǎn),“|”表示逆時針旋轉(zhuǎn)。LED2顯示的是延時時間,可顯示3,4,5三種狀態(tài)。參見圖3電氣控制框圖。 圖3電氣控制框圖 3 控制系統(tǒng)軟件設(shè)計 3.1 軟件實現(xiàn)的功能分析 控制系統(tǒng)可以按要求來設(shè)定方向選擇,延時時間等,操作者可以方便的觀察控制系統(tǒng)的工作情況。 (1) 步進電動機的最小步距角為1.5°,每轉(zhuǎn)的步數(shù)為240步/轉(zhuǎn); (2) 圓盤上15°一個固定器,一共可以安放24個玻璃管; (3) 圓盤轉(zhuǎn)過15°的時間為1秒; (4) 數(shù)字顯示部分為延時時間(可以設(shè)置為3,4,5秒); (5) 噴頭與圓盤保持垂直以減少誤差。 3.2 控制系統(tǒng)的主程序流程圖 根據(jù)系統(tǒng)所應完成的任務,設(shè)計主程序流程圖如圖4所示: 圖4主程序流程圖 圖4中: 左1:走一步延時10ms用來尋找定位點,找到定位點后進入正常運行狀態(tài); 左2:置數(shù),用于設(shè)置10步一停,240步一判斷; 左3:正常運行狀態(tài),走1步延時0.1s,10步一停,延時T(T=3,4,5); 左4:240步為一周,旋轉(zhuǎn)一周后判斷是否有干擾丟步,若有,重新尋找定位點。 系統(tǒng)啟動后,首先對端口及顯示進行初始化,顯示清零,步進電動機三相繞組處于失電狀態(tài),然后對數(shù)字鍵和功能鍵的掃描。當操作通過數(shù)字鍵的一個設(shè)定值后,設(shè)定值以十六進制存入RAM單元,再以十進制通過動態(tài)LED顯示出來;操作者確認后,按下左(或右)行功能鍵,步進電動機就會帶動圓盤轉(zhuǎn)動,延遲的時間通過靜態(tài)LED顯示出來。 3.3 步進電動機正反轉(zhuǎn)驅(qū)動子程序的設(shè)計 本系統(tǒng)所選用的步進電動機為110BF3-15型,它有三相繞組,向三相繞組輸入脈沖輸入脈沖的順序有三種,分別為單三拍、雙三拍、三相六拍。本系統(tǒng)選擇雙三拍輸入方式。輸入方式是靠軟件來控制的。雙三拍控制軟件是最簡單的軟接口之一。首先要以8255A的PA口為輸出口,接著把控制信息送到PA0"PA2中,對應的I/O線為“1”(高電平有效),則步進電動機相應的相繞組通電,步進電機轉(zhuǎn)子就轉(zhuǎn)動。要求轉(zhuǎn)子以不同的方向轉(zhuǎn)動,三相繞組的通電順序就不同,則相應的控制字也就不一樣,雙三拍繞組通電控制信息表如表1。 由表1可知,正反轉(zhuǎn)所需要的信息串為03H→06H→05H→03H,這時按AB→BC→CA→AB順序通電。反轉(zhuǎn)時所需的信息串為05H→06H→03H→05H,這是按照順序CA→BC→AB→CA通電。 表2為步進電動機不同步相控制方式的控制字(十六進制,下同)。 表1 步進電動機相繞組通電控制信息表 表2 不同步相控制方式的控制字 考慮步進電動機的正反轉(zhuǎn)之后,雙三拍控制軟件清單如下: DS :MOV A,#00H ;初始化使PA0~PA2為輸出 MOV DPTR,#0C000H ; MOVX @DPTR,A ; MOV DPTR,#0C000H ;為AB相通電 MOV A,#03H MOVX @DPTR,A LCALL DELY ;調(diào)延時 MOV DPTR,#0C000H ;為BC相通電 MOV A,#06H MOVX @DPTR,A LCALL DELY ;調(diào)延時 MOV DPTR,#0C000H ;為CA相通電 MOV A,#05H MOVX @DPTR,A LCALL DELY ;調(diào)延時 DELY:MOV 0CH,#0FH ;延時子程序 RET 以上是步進電動機三相繞組正向通電子程序,反向通電子程序類似,若要改變電機轉(zhuǎn)速,只要改變MOV 0CH,#0FH指令中的立即數(shù)的值即可。圖5為步進電動機正反轉(zhuǎn)驅(qū)動子程序流程圖: 圖5正反轉(zhuǎn)驅(qū)動程序流程圖 4 結(jié)束語 本系統(tǒng)操作方便,控制靈活,精確度高,可靠性好,已達到了預期的設(shè)計要求,大大減輕了體力勞動強度,改善了工作條件。在軟、硬件實現(xiàn)上為了提高系統(tǒng)的可靠性及精度,均采用了相應的抗干擾措施。 |