作者簡(jiǎn)介:汪英(1972—),女,湖南岳陽人,副教授,研究方向:電子技術(shù)、物聯(lián)網(wǎng)應(yīng)用技術(shù)(E-mail:wangying_only@163.com);殷文珊(1975—),女,湖南岳陽人,講師,碩士,研究方向:計(jì)算機(jī)通信。
摘要:在用高新技術(shù)改造傳統(tǒng)機(jī)械加工產(chǎn)業(yè)中,除了發(fā)展高精度、多功能的數(shù)控機(jī)床外,研發(fā)價(jià)格低廉、操作方便的簡(jiǎn)易數(shù)控機(jī)床也是適合我國(guó)國(guó)情的一種有效途徑。本文采用AT89C52單片機(jī)和步進(jìn)電機(jī)設(shè)計(jì)一種面向現(xiàn)有普通車床進(jìn)行數(shù)控技術(shù)改造的微機(jī)控制系統(tǒng),該系統(tǒng)能自動(dòng)控制完成圓弧類二次曲線形零件的車削等多種功能。其軟件設(shè)計(jì)采用模塊化結(jié)構(gòu),編程簡(jiǎn)單靈活,擴(kuò)充性、移植性好,對(duì)同類微機(jī)數(shù)控系統(tǒng)的設(shè)計(jì)具有一定參考價(jià)值。
關(guān)鍵詞:簡(jiǎn)易數(shù)控車床;微機(jī)控制;軟件;AT89C52;步進(jìn)電機(jī)
中圖分類號(hào):TP368 文獻(xiàn)標(biāo)識(shí)碼:A
1引言
數(shù)控機(jī)床因其智能化、高精度、高速度和高柔性化為制造業(yè)帶來巨大變化,進(jìn)入21世紀(jì),我國(guó)在制造業(yè)方面投入了大量的技術(shù)改造資金,數(shù)控設(shè)備制造迎來了一個(gè)快速發(fā)展的階段[1]。但是由于我國(guó)制造業(yè)起步比較晚,高性能的數(shù)控設(shè)備引進(jìn)成本較高,面對(duì)眾多中小機(jī)械加工類企業(yè)的普通機(jī)床技術(shù)改造的需求,采用單片機(jī)作為普通機(jī)床的數(shù)控中心,是較為適合我國(guó)國(guó)情,改造老式落后加工設(shè)備見效快,經(jīng)濟(jì)性能好,易于推廣的一種有效措施[2]。本文研制了一種普通車床微機(jī)控制裝置,該裝置用于C618車床技術(shù)改造,能驅(qū)動(dòng)車床完成手柄類零件車削加工,經(jīng)現(xiàn)場(chǎng)運(yùn)行,性能良好。本文主要討論在這類裝置上的系統(tǒng)軟件,既是對(duì)已成功的軟件的總結(jié),也是對(duì)如何進(jìn)一步提高其性能作些探討。
2系統(tǒng)簡(jiǎn)介
本微機(jī)數(shù)控裝置適用于改造C618、C616、CW6163等最大加工直徑在400毫米以下的普通車床。它通過對(duì)刀架在縱橫兩個(gè)方向的運(yùn)動(dòng)距離、速度和方向的控制來實(shí)現(xiàn)車削內(nèi)圓、外圓、斷面、錐面、切槽、倒角以及圓弧或曲線零件等加工任務(wù)。其硬件結(jié)構(gòu)框圖如圖1所示[3]。
本裝置采用AT89C52單片機(jī)[4,5]作為控制中心,利用單片機(jī)上可編程的計(jì)數(shù)/定時(shí)器C/T0作為定時(shí)信號(hào)發(fā)生器,以中斷方式啟動(dòng)CPU向外輸出脈沖;利用單片機(jī)的P1口作為步進(jìn)電機(jī)驅(qū)動(dòng)信號(hào)輸出口。在加工過程中,CPU按照用戶編制的加工程序從P1口發(fā)出相應(yīng)的一系列脈沖信號(hào),經(jīng)光電隔離、放大后驅(qū)動(dòng)兩臺(tái)步進(jìn)電機(jī)[6,7],以控制刀架在縱橫兩個(gè)運(yùn)動(dòng)的方向、長(zhǎng)度和速度,從而與機(jī)床主軸配合完成各種車削動(dòng)作。
3控制系統(tǒng)軟件設(shè)計(jì)
3.1主要程序流程圖
由以上分析可知,控制程序的主要功能為:
1)按用戶加工程序安排C/T0控制字,以產(chǎn)生相應(yīng)的定時(shí)信號(hào);
2)把加工程序中的位移毫米數(shù)轉(zhuǎn)換成相應(yīng)步進(jìn)電機(jī)的步數(shù);
3)安排步進(jìn)電機(jī)的轉(zhuǎn)向;
4)顯示有關(guān)參數(shù)(如:當(dāng)前工序的道數(shù),加工性質(zhì)字,位移的余量等);
5)當(dāng)C/T0中斷信號(hào)產(chǎn)生時(shí),驅(qū)動(dòng)電機(jī)前進(jìn)一步。
系統(tǒng)加電復(fù)位后,首先完成初始化,同時(shí)建立工件號(hào)/工序步表首地址對(duì)照表,等待操作人員按下啟動(dòng)鍵,啟動(dòng)鍵處理程序如圖2所示。由流程圖可見,整個(gè)控制程序是以加工子程序MACHINE為中心組成。正常工作的過程是,操作者按下啟動(dòng)鍵后,則CPU進(jìn)入啟動(dòng)鍵處理程序,在其中安排好工序步表指針指向用戶加工程序后,調(diào)用加工子程序MACHINE完成工件的加工。加工子程序MACHINE的流程圖如圖3所示。
進(jìn)入MACHINE后,首先清除各有關(guān)標(biāo)識(shí)和計(jì)數(shù)器,然后根據(jù)工序步表指針取出本工件總的工序步數(shù)作為工序步計(jì)數(shù)器初值,取出第一道工序的標(biāo)志字,如無錯(cuò)誤則轉(zhuǎn)到相應(yīng)的處理模塊執(zhí)行。所有的處理模塊執(zhí)行完畢后,均轉(zhuǎn)回到MACHINE程序中的DONE處,在此對(duì)工序步計(jì)數(shù)一次,判本工件的所有工序是否全部完成。已完則返回到主程序,未完則轉(zhuǎn)到MACHINE2取出下一道工序繼續(xù)加工。
工序步間的轉(zhuǎn)換,通過工作信號(hào)燈方式來實(shí)現(xiàn)。每道工序的開始,設(shè)置好刀架運(yùn)動(dòng)的方向、長(zhǎng)度、初始化C/T0后,便置位工作燈:1→(BUSY),進(jìn)入顯示循環(huán)等待C/T0中斷。在C/T0中斷服務(wù)子程序中,調(diào)用X向或Y向驅(qū)動(dòng)子程序,驅(qū)動(dòng)相應(yīng)步進(jìn)電機(jī)前進(jìn)一步,進(jìn)給計(jì)數(shù)一次,并判是否走完既定的步數(shù)。未完則返回,已完則置完成標(biāo)志,且復(fù)位工作燈后返回。在主程序中循環(huán)顯示一遍后,將監(jiān)測(cè)工作燈狀態(tài),當(dāng)發(fā)現(xiàn)(BUSY)=0時(shí),則控制程序轉(zhuǎn)向執(zhí)行下一道工序。
由于斜線和圓弧加工時(shí),需要X、Y兩相步進(jìn)電機(jī)聯(lián)動(dòng),也即只有當(dāng)X、Y向行程均走完時(shí),斜線或圓弧的加工才算完畢,故安排他們的工作燈置位時(shí)是2→(BUSY),當(dāng)X、Y向電機(jī)均前進(jìn)到終點(diǎn)后,先后兩次減1,使得(BUSY)=0,表示斜線或圓弧加工完畢,從而可進(jìn)入下一道工序。
3.2斜線插補(bǔ)程序
完成斜線或圓弧切削的中心問題是如何根據(jù)原始參數(shù),通過位置及軌跡控制運(yùn)算(即通常所說的插補(bǔ)運(yùn)算),產(chǎn)生有規(guī)律的兩串脈沖,來控制刀架的位置及運(yùn)動(dòng)軌跡[8]。對(duì)插補(bǔ)算法的要求,除了保證運(yùn)算精度外,還要求運(yùn)算方法簡(jiǎn)單以適應(yīng)八位單片機(jī)的特點(diǎn),另外還應(yīng)盡量滿足刀架運(yùn)動(dòng)速度不變的要求,以提高加工質(zhì)量。在本系統(tǒng)中,采用逐點(diǎn)比較法來進(jìn)行斜線和圓弧的插補(bǔ)算法[9],它具有算法簡(jiǎn)單,速度平穩(wěn),調(diào)節(jié)方便,精度適合于普通車床加工要求等優(yōu)點(diǎn)。
本系統(tǒng)允許1,2,3,4象限的斜線加工。對(duì)4個(gè)象限的斜線,采用統(tǒng)一的算法,即全部按第一象限的斜線進(jìn)行插補(bǔ)運(yùn)算,至于X、Y向電機(jī)的進(jìn)給方向,則在工序開始時(shí)由控制程序根據(jù)斜線所在象限來規(guī)定。
3.3圓弧插補(bǔ)程序
圓弧插補(bǔ)比斜線插補(bǔ)的算法要復(fù)雜得多,其復(fù)雜度體現(xiàn)在如下三個(gè)方面:
1)圓弧有8種不同的類型(4個(gè)象限,每個(gè)象限內(nèi)有2種方向——順時(shí)針方向和逆時(shí)針方向),要區(qū)別對(duì)待;
2)圓弧有過象限的問題;
3)圓弧不是線性函數(shù),由于X、Y向脈沖當(dāng)量不相同且均不等于1,若不加修改直接按通常的圓弧插補(bǔ)公式進(jìn)行計(jì)算,則加工出的曲線將發(fā)生畸變,不再是所要求的圓弧。
對(duì)于8種不同類型的圓弧,我們將其分為兩大類,其中第1象限順圓弧、第3象限順圓弧、第2象限逆圓弧、第4象限逆圓弧為一大類,其特點(diǎn)是圓弧發(fā)展趨向?yàn)椋篨向坐標(biāo)絕對(duì)值越來越大,Y向坐標(biāo)絕對(duì)值越來越小,記為“X↑Y↓”;其余4種圓弧為另一大類,特點(diǎn)是圓弧發(fā)展趨向?yàn)椤癤↓Y↑”。兩類不同的圓弧插補(bǔ)算法有所區(qū)別,且第一大類圓弧還有可能有過象限問題。
4結(jié)語
本文設(shè)計(jì)了一個(gè)基于AT89C52單片機(jī)的普通車床微機(jī)控制系統(tǒng),完成了單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)的轉(zhuǎn)向、轉(zhuǎn)速、轉(zhuǎn)數(shù)的軟件設(shè)計(jì),重點(diǎn)研究了斜線及圓弧等二次曲線零件加工中的插補(bǔ)算法,提出了加工程序的循環(huán)設(shè)計(jì)技術(shù)。由于本軟件采用模塊化結(jié)構(gòu),且在設(shè)計(jì)時(shí),已考慮了可擴(kuò)充性等問題,故只要稍作修改便可方便地增加目前尚未開發(fā)的其他功能,亦可輕易地移植到那些采用步進(jìn)電機(jī)驅(qū)動(dòng)的其他類型車床的微機(jī)控制裝置上去,對(duì)于同類微機(jī)數(shù)控系統(tǒng)的設(shè)計(jì)開發(fā),具有一定的實(shí)用價(jià)值和指導(dǎo)意義。
參考文獻(xiàn)
[1]馮銀蘭,周會(huì)成. 當(dāng)代數(shù)控技術(shù)的發(fā)展特點(diǎn)及趨勢(shì)[J].科學(xué)之友,2007,10 (2):207-210.
[2]石巖. 數(shù)控技術(shù)的發(fā)展趨勢(shì)和思考[J]. 職業(yè)時(shí)空,2007,3(4):50-52.
[3]彭楚武. 微型計(jì)算機(jī)原理及其應(yīng)用[M]. 長(zhǎng)沙:湖南大學(xué)出版社,2009.
[4]Cui Bo, Xu Guangbin. Design and realization of an intelligent data acquisition and display system based on AT89C52 and modbus [C]// Computing, Communication, Control, and Management, 2009. ISECS International Colloquium on . IEEE Conference Publications, 2009:455-459
[5]Xi Baoqiang , Fu Chenghua. Design of Intelligent Toy Car Motion Control System Based on the AT89C52 [C]// E-Product E-Service and E-Entertainment (ICEEE), 2010 International Conference on . IEEE Conference Publications, 2010:1-4
[6]Kang Z.L , Qu So.F. A new methodology for using single microprocessor to control DC stepper motors [C]// Industrial Technology, 1994, Proceedings of the IEEE International Conference on. IEEE Conference Publications, 1994:543-545
[7]Aranjo B, Soor P.K., Talukder P. Stepper motor drives for robotic applications[C]// Power Engineering and Optimization Conference (PEDCO) Melaka, Malaysia, 2012 IEEE International Conference on. IEEE Conference Publications, 2012:361-366
[8]陳伯時(shí). 電力拖動(dòng)自動(dòng)控制系統(tǒng)[M]. 北京:機(jī)械工業(yè)出版社,1991
[9]黃新燕. 機(jī)床數(shù)控技術(shù)及編程[M]. 北京:北京理工大學(xué)出版社,2009.
[10]蒙斌. 數(shù)控原理和數(shù)控機(jī)床[M]. 北京:化學(xué)工業(yè)出版社,2009.