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