平行縫焊機控制系統(tǒng)的研制
1 系統(tǒng)的主要組成與功能
系統(tǒng)由上位機(PC機)和下位機(單片機)兩部分組成,硬件結(jié)構(gòu)如圖1所示。
上位機(PC機)軟件采用可視化編程語言VB6.0開發(fā),使用MScomm控件完成PC機與單片機的數(shù)據(jù)通信,傳送控制信息、狀態(tài)信息和焊接參數(shù);并利用VB6.0具有的對各種數(shù)據(jù)庫的操作能力實現(xiàn)焊接的人性化。下位機(單片機)通過串行接口接收PC機發(fā)送的命令,啟動工作程序,控制6個步進電機(其中x軸兩個、y軸1個、z軸兩個,旋轉(zhuǎn)θ軸1個),通過絲杠將電機的角位移轉(zhuǎn)換為線位移,帶動焊接電極按設(shè)計的軌跡運行,并實時向PC機傳送當(dāng)前的運行狀態(tài)。系統(tǒng)的主要功能有:
①上位機實時監(jiān)視下位機的工作狀態(tài),控制下位機的工作過程;設(shè)置下位機的工作參數(shù),接收和發(fā)送數(shù)據(jù)信息、控制信息和狀態(tài)信息;記錄歷史芯片的焊接參數(shù);系統(tǒng)在重新上電時,將最新的焊接參數(shù)作為本次焊接參數(shù)的默認(rèn)值;進行數(shù)據(jù)處理并顯示數(shù)據(jù)和工作狀態(tài),指導(dǎo)操作過程;
?、谙挛粰C控制6個步進電機的運轉(zhuǎn),最終控制焊接電極的移動;控制焊接功率的大小并實現(xiàn)間歇控制;實現(xiàn)焊接電極的微調(diào)。
?、巯到y(tǒng)的各焊接軸方向精度不得低于0.1mm。
2 系統(tǒng)資源利用及通信機理
2.1 系統(tǒng)資源的利用
為充分利用PC機強大的數(shù)據(jù)處理能力、海量的存儲空間,有效地發(fā)揮單片機數(shù)據(jù)存儲器的作用,必須合理地分配系統(tǒng)資源。具體做法之一是PC機在發(fā)送焊接數(shù)據(jù)時,將其以浮點數(shù)存儲的焊接參數(shù)根據(jù)步進電機的步角和絲杠比轉(zhuǎn)換為脈沖數(shù)發(fā)送給單片機;二是當(dāng)脈沖數(shù)占用的位數(shù)略大于單字節(jié)整數(shù)倍N位時,在滿足精度要求的前提下有:發(fā)送的數(shù)據(jù)=原數(shù)據(jù)/2N,這時對發(fā)送數(shù)據(jù)取整,單片機接收到該整數(shù)數(shù)據(jù)后,左移N位便可恢復(fù)真實數(shù)據(jù)。這樣既提高了通信效率,又減小了對單片機RAM的占用。
2.2 系統(tǒng)通信協(xié)議
波特率設(shè)置為4800bps;數(shù)據(jù)幀結(jié)構(gòu)設(shè)置為:起始位1bit,數(shù)據(jù)位8bit,停止位1bit。
PC機向單片機發(fā)送的信息包包括數(shù)據(jù)信息包和控制信息包。數(shù)據(jù)信息包結(jié)構(gòu)為:以“S”字符開頭,其后為22字節(jié)的16進制數(shù)。發(fā)送時按ASCII碼格式(文本格式)發(fā)送,實際發(fā)送44個ASCII碼。下位機正確收到后,向PC機發(fā)“K”作為確認(rèn)應(yīng)答信號。若在規(guī)定的時間內(nèi),PC機未收到“K”信號,則重發(fā)。若三次未成功,則在屏幕上給出顯示信息。PC機必須保證44個ASCII碼的包長度,以免系統(tǒng)誤動??刂菩畔Y(jié)構(gòu)為:以大寫“O”開始,其后為單字節(jié)16進制數(shù)的控制字,實際發(fā)送兩個字節(jié)ASCII碼,也是以“K”作為應(yīng)答信號,采用等比碼3/8。發(fā)送時高位在前,低位在后。
PC機從單片機接收的信息包結(jié)構(gòu)的主要內(nèi)容為數(shù)據(jù)信息和狀態(tài)信號,且數(shù)據(jù)信息和狀態(tài)信息被同時發(fā)送。該信息包以“S”開頭,其后為32個1位16進制數(shù)的ASCII碼,以“K”作為結(jié)束信號。若PC機收到單片機發(fā)來的完整信息包,則有屏幕提示,指示用戶進行操作。
以上的信息由雙字節(jié)數(shù)、單字節(jié)數(shù)混合構(gòu)成,信息包的頭與尾均采用非十六進制的ASCII碼字符,以示區(qū)分。接收方則按照協(xié)議雙方規(guī)定的算法進行解包,發(fā)送方按照雙方規(guī)定的數(shù)據(jù)結(jié)構(gòu)組包。
3 下位機的主要組成模塊及設(shè)計思想
3.1 通信模塊
通信模塊的硬件組成由于僅使用了一片MAX232完成電平的轉(zhuǎn)換功能而變得較為簡單,免去了一般芯片使用±12V~15V電壓帶來的麻煩,而且與PC機的連接方式是最為簡單的,不需要進行硬握手,大量的工作都由軟件完成。
其主要程序設(shè)計方法如下:
?、傧挛粰C接收PC機發(fā)送的數(shù)據(jù)包,以中斷方式(且設(shè)置為高級中斷)來接收,以滿足通信的實時性要求。這里僅是觸發(fā)接收中斷服務(wù)程序的執(zhí)行并且接收首字節(jié),一旦進入該中斷程序后,就用程序查詢的方法來接收剩余的字節(jié)。接收標(biāo)志RI是硬件置位、軟件復(fù)位的,因此每接收完一個字節(jié)后,需執(zhí)行指令CLR RI。接收完數(shù)據(jù)后,按協(xié)議規(guī)定對數(shù)據(jù)進行解碼和驗證,并向PC機返回驗證信息。②下位機向PC機發(fā)送運行狀態(tài)信息的子程序是根據(jù)程序工作過程的需要而調(diào)用的。在調(diào)用過程中為保證程序邏輯的清晰性,使CPU關(guān)中斷,利用程序查詢發(fā)送標(biāo)志TI(TI的使用同RI相似),按協(xié)議要求進行數(shù)據(jù)變換并發(fā)送完整個信息包,再使CPU開中斷,整個程序執(zhí)行完畢。
3.2 步進電機控制模塊
步進電機是機電一體化產(chǎn)品中重要的執(zhí)行元件之一。對于三相反應(yīng)式步進電機,其工作方式分為兩種。本系統(tǒng)選用三相單、雙六拍通電方式,這種方式不容易失步,在轉(zhuǎn)子平衡位置附近不易產(chǎn)生振蕩,運行的穩(wěn)定性較好,而且控制的精度也提高了一倍。為使步進電機的運行更平穩(wěn),控制精度更高,系統(tǒng)采用了具有細(xì)分的步進電機驅(qū)動器來控制。步進電機的轉(zhuǎn)速取決于步進脈沖序列的頻率。其硬件接口電路如圖2所示。圖中只是X軸左側(cè)步進電機的連接示意圖,其余電機的連接方式與圖中相似,但使用8155A其它的引腳。步進電機驅(qū)動器的CP+和CP-是步進脈沖輸入端,U/D+和U/D-是方向控制輸入端,PD+和PD-為脫機控制輸入端(本系統(tǒng)未使用),且各具有光電隔離電路,有利于實現(xiàn)系統(tǒng)工作的安全性和可靠性,連線采用共陽極接法是因為邏輯電路的灌電流負(fù)載能力通常大于拉電流負(fù)載能力;DC和GND為電源接線端,要求為直流20~60V,電流為4A;輸出端A+和A-、B+和B-、C+和C-分別與步進電機A、B、C三相引出線對應(yīng)連接。對步進電機的控制主要有邏輯控制和速度控制。
邏輯控制包括電機旋轉(zhuǎn)方向控制和發(fā)送步進脈沖序列。由于訪問8155的PA口和PB口需以字節(jié)方式進行,因此根據(jù)旋轉(zhuǎn)方向控制和步進脈沖序列發(fā)送的需要,組成邏輯置位和復(fù)位兩個控制字,交替地輸出到對應(yīng)的端口,即可實現(xiàn)對電機旋轉(zhuǎn)的控制。系統(tǒng)最多控制兩個電機同時工作,共有16個控制字。具體的編程思想是:脈沖數(shù)經(jīng)步進角到角位移,再經(jīng)絲杠到線位移,即可實現(xiàn)脈沖數(shù)正比于線位移。
速度控制是通過在置位和復(fù)位兩個控制字交替輸出期間插入延時子程序而實現(xiàn)的,所以速度的快慢是由延時子程序的執(zhí)行時間決定的。在本系統(tǒng)的電機工作的低速區(qū),非焊接運行時控制線速為4mm/s;焊接運行時線速為1~8mm/s,由PC機根據(jù)需要實時控制。
3.3 PWM模塊
為滿足IC芯片縫焊的技術(shù)條件,要求焊接過程的功率加載是間歇的,為此設(shè)計了PWM脈沖寬度調(diào)制模塊,以實現(xiàn)對功率的間歇控制。圖3是本模塊的電路組成。核心器件為SG3524,它的輸出為周期脈沖序列,其周期受RT、CT端對地的接入電阻RT和接入電容CT的控制,周期T=0.77RT×CT,所以在此串入數(shù)字電位器X9C104用以實現(xiàn)對T的控制。按圖中數(shù)字電位器的使用方法,則其電阻R的表達式為:R=(99-n)×100kΩ,其中n是通過編程進行控制的。SG3524的輸出信號的占空比由D/A轉(zhuǎn)換電路通過編程控制。本系統(tǒng)實現(xiàn)了T=40ms~80ms,占空比為0~100%,由上位機控制。
3.4 焊接功率控制模塊
焊接功率的控制實際上是通過控制輸出電壓來間接實現(xiàn)的。由單片機輸出數(shù)字信號到DAC0832進行數(shù)/模轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果經(jīng)SG3524控制的模擬開關(guān)后,再控制固態(tài)調(diào)壓模塊EVU—40A,使其輸出的交流電壓與輸入的數(shù)字信號成線性比例。將輸出電壓接至焊接變壓器,轉(zhuǎn)換為低電壓高電流加到焊接電極,通過產(chǎn)生高溫對IC芯片進行縫焊。實現(xiàn)電路如圖4所示。另外由于EVU—40A調(diào)壓模塊在實際運用過程中存在殘留電壓,致使在調(diào)節(jié)焊接參數(shù)時電極焊輪出現(xiàn)打火現(xiàn)象,致使不必要的損失,因此在調(diào)壓模塊的輸入回路串接交流固態(tài)繼電器GJH25—W進行阻斷。
對焊接功率模塊控制的編程方法如下:單片機接收上位機的功率控制信息并寫入地址為6000H的DAC0832芯片,同時GJH25-W送有效控制信號使其導(dǎo)通,焊接電極就有相應(yīng)的功率輸出,進行縫焊。不進行焊接時,使GJH25-W截止,同時向DAC0832發(fā)送0FFH,實現(xiàn)焊接完全可靠的斷開。
4 實驗測試結(jié)果
X、Y軸絲杠的線位移/角位移=4mm/360度,Z軸絲杠的線位移/角位移=1.5mm/360度,步進角均為0.36度。實驗方法是:利用計算機發(fā)送脈沖數(shù)并計算理論值,用千分尺實際測量并計算絕對誤差值(見表1)。分析結(jié)果滿足設(shè)計要求。
本系統(tǒng)經(jīng)過一段時間的試驗運行,證明通信實時性好、控制精度高,滿足了設(shè)計要求。
參考文獻
1 Brian Siler,Jeff Spotts著.Visual Basic 6開發(fā)使用手冊. 北京:機械工業(yè)出版社,1999.4
2 張宏林.Visual Basic 6開發(fā)數(shù)據(jù)庫. 北京:人民郵電出版社,2000.2
3 范逸之.Visual Basic與RS232 串行通訊控制.北京:中國青年出版社,2001.1