殷蘇民,趙梁楠,許潮鋒
(江蘇大學(xué)機(jī)械工程學(xué)院,江蘇鎮(zhèn)江212013)
磨削加工是機(jī)械加工的主要方法之一,但由于數(shù)控磨床價(jià)格方面等因素,很多企業(yè)的磨削加工還是以普通磨床為主要加工設(shè)備,尤其是小微型企業(yè)更是如此。普通磨床的操作完全依靠操作者操作,在大批量流水線作業(yè)中,操作單調(diào),且可靠性較差,加工的產(chǎn)品質(zhì)量難以保證。作者針對(duì)普通外圓磨床,以dsPIC30F6014A 單片機(jī)為控制器,提出了一種在磨削加工過程中對(duì)加工零件外圓尺寸進(jìn)行在線測(cè)量和控制的設(shè)計(jì)方案,實(shí)現(xiàn)了在加工過程中對(duì)被磨削零件的在線檢測(cè)與輔助控制,并通過實(shí)驗(yàn)驗(yàn)證了該測(cè)控系統(tǒng)的使用效果。
普通外圓磨床在線測(cè)控系統(tǒng)如圖1所示,包括測(cè)量裝置、控制裝置、驅(qū)動(dòng)裝置和執(zhí)行機(jī)構(gòu)。
在磨削過程中,氣缸將測(cè)量裝置送入測(cè)量工位,測(cè)量裝置始終測(cè)量著工件的尺寸,并輸出信號(hào)送入A/D 芯片,由A/D 轉(zhuǎn)換后送入dsPIC30F6014A 進(jìn)行數(shù)據(jù)分析和處理。處理后的數(shù)據(jù)顯示在觸摸屏上,另外根據(jù)數(shù)據(jù)分析結(jié)果通過脈沖輸出控制信號(hào),調(diào)節(jié)砂輪架的進(jìn)給量和進(jìn)給速度,并根據(jù)觸摸屏設(shè)定的數(shù)據(jù),使砂輪在開始階段快速進(jìn)入粗磨階段,當(dāng)磨削量達(dá)到下一個(gè)切換點(diǎn)后進(jìn)入精磨,然后按照設(shè)定進(jìn)入光磨,最后達(dá)到設(shè)定工件尺寸,測(cè)量裝置與砂輪架退出工位,完成一個(gè)工件的磨削過程[1]。
圖1 系統(tǒng)結(jié)構(gòu)圖
選用Microchip 公司的16 位數(shù)字信號(hào)控制器dsPIC30F6014A 作為控制單元。dsPIC30F6014A 處理器采用改進(jìn)的哈佛架構(gòu),具有獨(dú)立的程序和數(shù)據(jù)存儲(chǔ)器總線,有效地消除了數(shù)據(jù)傳輸瓶頸。芯片既有16位閃存單片機(jī)的高性能,又兼有數(shù)字信號(hào)處理器的計(jì)算能力和吞吐能力。dsPIC30F6014A 運(yùn)算速度最高可達(dá)30 MIPs,帶PLL(4 倍頻、8 倍頻和16 倍頻)。當(dāng)內(nèi)部最高時(shí)鐘頻率為120 MHz 時(shí),進(jìn)行一次16 bit ×16 bit 運(yùn)算的時(shí)間為8.3 ns,從而提高了控制器的實(shí)時(shí)控制能力。內(nèi)核包含DSP 引擎,極大地提高了內(nèi)核的運(yùn)算能力和吞吐能力。具有一個(gè)高速17 位×17位乘法器、一個(gè)40 位ALU、兩個(gè)40 位飽和累加器和一個(gè)40 位雙向桶形移位寄存器。DSP 指令可以無縫地與所有其他指令一起操作,且設(shè)計(jì)為能獲得最佳實(shí)時(shí)性能[2]。
選擇該芯片的原因是:首先考慮有更多的I/O 端口有利于擴(kuò)展外圍電路;然后考慮單片機(jī)的驅(qū)動(dòng)能力。dsPIC 系列采用CMOS 結(jié)構(gòu),延續(xù)了PIC 系列單片機(jī)2.5 ~5.5 V 的寬電壓供電、低功耗的優(yōu)良傳統(tǒng)。單片機(jī)的I/O 端口有很強(qiáng)的驅(qū)動(dòng)負(fù)載能力,單個(gè)引腳的輸出或者灌入電流能夠驅(qū)動(dòng)20 ~25 mA 的負(fù)載;最后,對(duì)于連續(xù)面測(cè)量信號(hào),dsPIC30F6014A 僅進(jìn)行遞推平均濾波即可,但對(duì)于非連續(xù)面測(cè)量信號(hào)(表面有鍵槽零件、齒輪、花鍵等)的磨削加工,簡(jiǎn)單的濾波已無法勝任。由于此處涉及數(shù)據(jù)繁多,算法復(fù)雜,僅依賴普通單片機(jī)無法完成邏輯控制、人機(jī)界面通信及數(shù)據(jù)處理,所以大量的數(shù)據(jù)處理過程需要應(yīng)用DSP 指令完成,這也是選用dsPIC30F6014A 數(shù)字信號(hào)控制器的最終目的。
觸摸屏能夠直觀地顯示系統(tǒng)運(yùn)行參數(shù)和運(yùn)行狀態(tài),而且通過觸摸屏畫面可以直接修改系統(tǒng)運(yùn)行參數(shù),人機(jī)交互性好,故系統(tǒng)使用觸摸屏做為驅(qū)動(dòng)控制系統(tǒng)的人機(jī)操作界面。選用的觸摸屏是HITECH 人機(jī)界面PWS6600T-S 型號(hào)產(chǎn)品,擁有RS232、RS485 通信接口,支持標(biāo)準(zhǔn)的Modbus 協(xié)議,可以開發(fā)基于Modbus 協(xié)議的觸摸屏與單片機(jī)通訊程序,能很好地實(shí)現(xiàn)實(shí)時(shí)狀態(tài)的顯示和系統(tǒng)參數(shù)的設(shè)定。
Modbus 協(xié)議包括ASCII、RTU、PLUS、TCP 等,并沒有規(guī)定物理層。該協(xié)議定義了控制器能夠認(rèn)識(shí)和使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。標(biāo)準(zhǔn)的Modbus 是使用RS-232C 兼容串行接口,RS-232C 規(guī)定了連接器針腳、接線、信號(hào)電平、波特率、奇偶校驗(yàn)等信息,Modbus 的ASCII、RTU 協(xié)議則在此基礎(chǔ)上規(guī)定了消息、數(shù)據(jù)結(jié)構(gòu)、命令應(yīng)答的方式。Modbus 控制器的數(shù)據(jù)通信采用Master/Slave(主/從)模式,即Master 端發(fā)出數(shù)據(jù)請(qǐng)求消息,Slave 端接收到正確消息后就發(fā)送相應(yīng)數(shù)據(jù)到Master 端以響應(yīng)請(qǐng)求;Master 端也可以直接發(fā)消息修改Slave 端的數(shù)據(jù),實(shí)現(xiàn)雙向讀/寫[3]。
針對(duì)普通外圓磨床測(cè)控系統(tǒng)的功能需求,構(gòu)建主/從通信結(jié)構(gòu)。主機(jī)為PWS6600T-S 觸摸屏,主要用于系統(tǒng)參數(shù)設(shè)定、實(shí)時(shí)顯示與控制;從機(jī)為單片機(jī)系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)處理與輸出控制。主、從機(jī)之間通過RS-232C 串行接口進(jìn)行連接,通信協(xié)議為Modbus 協(xié)議。設(shè)計(jì)的電路中,MAX232CSE 芯片T1IN 引腳接控制芯片 dsPIC30F6014A 的串行發(fā)送引腳 U1TX;R1OUT 引腳接dsPIC30F6014A 的串行發(fā)送引腳U1RX;T1OUT 引腳與RS-232 的U1TX 相連接,R1IN引腳與RS-232 的U1RX 引腳相連接。硬件接口電路如圖2所示。
圖2 dsPIC30F6014A 與觸摸屏間通信電路原理圖
測(cè)量裝置(如圖3)采用接觸式兩點(diǎn)測(cè)量法,傳感器選用線性可變差動(dòng)變壓器式傳感器(LVDT),DC-07 型,測(cè)量范圍±2.5 mm,重復(fù)性誤差0.2 μm。測(cè)量時(shí),通過測(cè)桿,把工件軸徑變化的微小位移傳遞至LVDT。上、下測(cè)桿在彈簧力的作用下一端(A端)與工件相接觸,另一端(B 端)分別和傳感器的鐵芯、外殼相連接,當(dāng)工件的直徑發(fā)生變化,杠桿結(jié)構(gòu)將此變化轉(zhuǎn)化為鐵芯在線圈內(nèi)部的相對(duì)位移,從而使LVDT 輸出電壓發(fā)生變化。
圖3 測(cè)量裝置
在測(cè)量一批零件軸徑時(shí),必須先進(jìn)行標(biāo)定。即首先測(cè)量已知尺寸為D0的標(biāo)準(zhǔn)軸,將此時(shí)LVDT 輸出值存入控制器內(nèi)存,做為基準(zhǔn)軸尺寸。然后裝夾待加工零件,假設(shè)測(cè)桿A 端相對(duì)位移為ΔD,則工件實(shí)際尺寸為
測(cè)桿A 端的位移變化,通過杠桿機(jī)構(gòu)使B 端發(fā)生變化,鐵芯在線圈內(nèi)部移動(dòng)并偏離測(cè)量標(biāo)準(zhǔn)軸時(shí)的位置。設(shè)LVDT 變化值為ΔL,則有
LVDT 的輸出信號(hào)經(jīng)過調(diào)理之后可得到與測(cè)桿位移變化成正比的直流電壓信號(hào)。
AD698 的連接電路圖如圖4所示。
圖4 AD698 連接電路圖
系統(tǒng)采用AD698 芯片為DC-07 型LVDT 提供激勵(lì)信號(hào),并對(duì)傳感器輸出信號(hào)進(jìn)行調(diào)理,輸出-10 ~+10 V。AD698 是一個(gè)單片LVDT 信號(hào)調(diào)節(jié)子系統(tǒng),在同LVDT 相連接時(shí),只用幾個(gè)外部無源元件設(shè)置頻率和增益,就可以將傳感器機(jī)械位移變換為高精度和高可靠性的單或雙極性直流電壓,完成信號(hào)調(diào)理任務(wù)[4]。
傳感器測(cè)量量程為-2.5 ~+2.5 mm、精度為1 μm,即相對(duì)分辨率為1/5 000。因此,要求A/D 轉(zhuǎn)換器輸出的分辨率不低于13 位??紤]到A/D 轉(zhuǎn)換器的失調(diào)、動(dòng)態(tài)噪聲、線性度等因素影響,選用美國(guó)AD公司的16 位高精度A/D 轉(zhuǎn)換器AD976。
AD976 是美國(guó)AD 公司推出的+5 V 單電源供電的高速、低功耗16 位逐次逼近型A/D 轉(zhuǎn)換器,該芯片最大積分非線性誤差僅為2LSB,并可做到16 位不失碼。最大轉(zhuǎn)換速度為100kSPS,輸入信號(hào)范圍為-10 ~+10 V,功耗為100 mW。AD976 具有很好的集成性。它可以與8 位、16 位單片機(jī)和DSP 方便接口,使用十分方便靈活。該芯片內(nèi)含逐次逼近型、開關(guān)電容式ADC、高速并行接口、轉(zhuǎn)換控制邏輯、校準(zhǔn)電路以及2.5 V 內(nèi)部參考源。AD976 外圍電路如圖5所示。
圖5 AD976 外部電路原理圖
AD976 需要使用一個(gè)外接的參考源。參考源電壓決定了模數(shù)轉(zhuǎn)換器的滿量程范圍,其總的直流精度和穩(wěn)定性應(yīng)當(dāng)優(yōu)于ADC。AD780 具有超低的漂移量,低初始誤差和低輸出噪聲,是AD976 外接基準(zhǔn)源的良好選擇。AD780 的8 腳懸空時(shí),6 腳輸出2.5 V 基準(zhǔn)電壓。電路中外接的R1和R2電阻給內(nèi)部偏移量和增益提供補(bǔ)償。同時(shí),AGND1 與REF 之間、CAP 與AGND2 之間連接2.2 μF 的鉭電容。
驅(qū)動(dòng)裝置負(fù)責(zé)將測(cè)量裝置進(jìn)入或退出測(cè)量工位,是測(cè)量裝置與機(jī)床的連接部件。通過定位塊定位,可以使測(cè)量裝置的測(cè)桿有較高的重復(fù)定位精度。工件安裝好后,驅(qū)動(dòng)氣缸帶動(dòng)測(cè)量裝置進(jìn)入測(cè)量工位,同時(shí)砂輪快速前進(jìn)。磨削到尺寸后砂輪快速退回,驅(qū)動(dòng)氣缸帶動(dòng)測(cè)量裝置退出測(cè)量工位,以便于操作者裝卸工件。在該系統(tǒng)中,使用光耦對(duì)控制芯片和驅(qū)動(dòng)電路進(jìn)行隔離,避免了可能產(chǎn)生的干擾和反饋,提高了系統(tǒng)的抑制噪聲干擾的能力。
執(zhí)行機(jī)構(gòu)采用二相混合式步進(jìn)電機(jī)對(duì)砂輪架進(jìn)行控制,從而達(dá)到對(duì)加工工件軸徑尺寸的控制?;旌鲜讲竭M(jìn)電機(jī)輸出轉(zhuǎn)矩大,動(dòng)態(tài)性好,步距角小,目前使用十分廣泛。將用于調(diào)節(jié)砂輪架縱向進(jìn)給的手輪拆下,然后在手輪軸一側(cè)安裝步進(jìn)電機(jī),用撓性聯(lián)軸器聯(lián)接。通過控制器發(fā)脈沖給兩相混合式步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)器,由驅(qū)動(dòng)器來驅(qū)動(dòng)步進(jìn)電機(jī),將動(dòng)力傳遞至砂輪架,實(shí)現(xiàn)對(duì)工件軸徑尺寸的控制。為了防止驅(qū)動(dòng)電路的干擾通過信號(hào)線竄入dsPIC 系統(tǒng),影響單片機(jī)正常工作,同樣加入光耦進(jìn)行隔離,提高了主控板工作的穩(wěn)定性和抗干擾能力。
普通外圓磨床在線測(cè)控系統(tǒng)軟件設(shè)計(jì)使用MPLAB IDE開發(fā),用C 語言編程,采用模塊設(shè)計(jì)法,包括數(shù)據(jù)采集模塊,數(shù)據(jù)處理模塊,通信模塊和輸出控制模塊等。各模塊以子程序形式出現(xiàn),主程序?qū)崿F(xiàn)對(duì)芯片的初始化和子程序的調(diào)用,完成系統(tǒng)功能。主程序流程圖如圖6所示。
圖6 軟件主程序流程圖
在系統(tǒng)上電(或復(fù)位)后,主程序開始執(zhí)行,首先對(duì)各部分進(jìn)行初始化,包括單片機(jī)端口、模塊的初始化,時(shí)鐘的初始化和配置,UART 初始化等。初始化結(jié)束后,將E2PROM里邊存儲(chǔ)的參數(shù)(粗磨、精磨、光磨、到尺寸的設(shè)定值,標(biāo)準(zhǔn)軸的相對(duì)軸徑值等)賦給存儲(chǔ)在RAM 中的全局變量。然后程序穩(wěn)定運(yùn)行于一個(gè)無限循環(huán)之中,等待觸摸屏發(fā)送請(qǐng)求信息。
單片機(jī)通過串口中斷接收來自觸摸屏發(fā)來的消息,用定時(shí)器判斷是否接收完來自觸摸屏的消息。檢測(cè)觸摸屏命令標(biāo)志位是否置1,判斷是否有檢測(cè)命令發(fā)送過來,有則跳轉(zhuǎn)到接收子程序進(jìn)行處理,無則跳回主程序入口,繼續(xù)檢測(cè)觸摸屏命令標(biāo)志位。當(dāng)檢測(cè)當(dāng)前觸摸屏有命令發(fā)送來時(shí),對(duì)發(fā)來的數(shù)據(jù)進(jìn)行驗(yàn)證。首先檢驗(yàn)地址碼是否正確,地址碼正確再接收數(shù)據(jù),進(jìn)行CRC 校驗(yàn)并對(duì)觸摸屏進(jìn)行發(fā)送應(yīng)答。在數(shù)據(jù)無誤時(shí)區(qū)分觸摸屏發(fā)來的數(shù)據(jù)是哪一類的命令類型碼。地址碼錯(cuò)誤則跳回主程序,等待觸摸屏發(fā)來新的數(shù)據(jù)。
將數(shù)據(jù)采集到的數(shù)據(jù)進(jìn)行處理后,與設(shè)定值進(jìn)行比較,判斷是否執(zhí)行脈沖輸出命令,控制步進(jìn)電機(jī)動(dòng)作。如果執(zhí)行則跳到相應(yīng)的程序處執(zhí)行命令代碼。命令執(zhí)行完畢,判斷是否達(dá)到標(biāo)準(zhǔn)軸軸徑,若達(dá)到,測(cè)量裝置與砂輪架自動(dòng)返回初始位置,等待下一次的觸摸屏發(fā)來命令進(jìn)行磨削加工。
在該測(cè)控系統(tǒng)中,dsPIC30F6014A 與觸摸屏間通信使用Modbus RTU 傳輸模式,Modbus RTU 消息幀結(jié)構(gòu)如表1所示。Modbus 協(xié)議RTU 模式要求每一幀的起始和結(jié)束都以至少3.5 個(gè)字符為間隔,在字節(jié)流中以1.5 個(gè)字符時(shí)間作為幀間隔,但必須同時(shí)滿足其后的2 個(gè)字符內(nèi)不會(huì)再接收到字符,否則認(rèn)為結(jié)束的該幀為錯(cuò)誤幀。3.5 個(gè)字符時(shí)間和1.5 個(gè)字符時(shí)間的定時(shí)起點(diǎn)是一致的,這是Modbus 協(xié)議RTU 模式的關(guān)鍵之處。在發(fā)生1.5 個(gè)字符時(shí)間中斷后,處理其接收到的數(shù)據(jù),計(jì)算接收到的字符數(shù)的CRC 校驗(yàn)和,將計(jì)算結(jié)果與接收到的最后兩個(gè)字節(jié)進(jìn)行比較,從而得知是否是完整的一幀數(shù)據(jù)。CRC 校驗(yàn)正確,說明這是一幀完整的數(shù)據(jù),CRC 校驗(yàn)錯(cuò)誤,說明這是一幀錯(cuò)誤的數(shù)據(jù)幀,數(shù)據(jù)幀不完整。
表1 Modbus RTU 消息幀結(jié)構(gòu)
觸摸屏根據(jù)用戶觸摸的相應(yīng)控件,向單片機(jī)發(fā)送一條RTU 幀,單片機(jī)在收到該RTU 幀后,根據(jù)Modbus 協(xié)議解析該指令,按照請(qǐng)求執(zhí)行相應(yīng)的操作,并將執(zhí)行結(jié)果返回給觸摸屏。需要注意的是,PWS6600T-S 觸摸屏畫面中設(shè)置的數(shù)據(jù)地址與dsPIC30F6014A 內(nèi)部的地址并不存在確定的對(duì)應(yīng)關(guān)系。這里存在一個(gè)映射關(guān)系,將觸摸屏發(fā)送的數(shù)據(jù)地址經(jīng)過轉(zhuǎn)化得到單片機(jī)內(nèi)部的存儲(chǔ)地址。實(shí)現(xiàn)為,將觸摸屏要讀寫的位元件或字元件的數(shù)據(jù)編程時(shí)定義到單片機(jī)的一個(gè)數(shù)組中,通過對(duì)發(fā)送的數(shù)據(jù)地址的解析,轉(zhuǎn)化成對(duì)數(shù)組的索引,從而完成對(duì)元件的讀寫。
磨削加工在線測(cè)控系統(tǒng)在車間環(huán)境運(yùn)行時(shí)會(huì)受到大量的干擾,干擾信號(hào)的竄入將導(dǎo)致測(cè)量結(jié)果不正確。為了克服干擾引入的誤差,可采用遞推平均濾波法對(duì)A/D 采樣后的數(shù)據(jù)進(jìn)行處理,從而消除或減弱干擾和噪聲的影響,提高測(cè)量的可靠性和精度,保證系統(tǒng)的正常運(yùn)行。
遞推平均濾波是把N 個(gè)測(cè)量數(shù)據(jù)看成一個(gè)隊(duì)列,隊(duì)列的長(zhǎng)度固定為N,每進(jìn)行一次新的測(cè)量,把測(cè)量結(jié)果收入隊(duì)尾,而去掉原來隊(duì)首的一個(gè)數(shù)據(jù),這樣在隊(duì)列中始終有N 個(gè)“最新”的數(shù)據(jù)。計(jì)算濾波值時(shí),只要把隊(duì)列中的N 個(gè)數(shù)據(jù)進(jìn)行算術(shù)平均值,就可得到最新的濾波值。這樣每進(jìn)行一次測(cè)量,就可計(jì)算得到一個(gè)新的平均濾波值。其數(shù)學(xué)表達(dá)式為
如果取N 個(gè)采樣值求平均,則RAM 中須開辟N個(gè)數(shù)據(jù)的暫存區(qū)。每新采集一個(gè)數(shù)據(jù)便存入暫存區(qū),同時(shí)去掉一個(gè)最老的數(shù)據(jù),以保持這N 個(gè)數(shù)據(jù)始終是最近的數(shù)據(jù)。這種數(shù)據(jù)存放方式可以用環(huán)形隊(duì)列數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)。其參考程序如下:
在分析dsPIC30F6014A、DC-07 型差動(dòng)變壓器式傳感器的基礎(chǔ)上,設(shè)計(jì)了一套功耗低、體積小的普通外圓磨床在線測(cè)控系統(tǒng),介紹了控制器硬件接口、測(cè)量裝置、驅(qū)動(dòng)裝置、執(zhí)行機(jī)構(gòu)和軟件程序流程與數(shù)字濾波。該系統(tǒng)滿足企業(yè)對(duì)普通外圓磨床的改造,減少勞動(dòng)強(qiáng)度,提高生產(chǎn)效率,又降低廢品率,同時(shí)加工出的工件尺寸一致性較好,適應(yīng)于在大批量流水線作業(yè)中使用,對(duì)企業(yè)改造新、老機(jī)床設(shè)備有著重要意義。
【1】劉迎春.無心磨床在線自動(dòng)測(cè)量系統(tǒng)的研究[D].沈陽(yáng):東北大學(xué),2006.
【2】 Microchip Technology Inc.dsPIC30F6014A Datasheet[M].dsPIC30F Family Reference Manual,2006.
【3】盂華,王鵬達(dá),李明偉.基于Modbus 協(xié)議的觸摸屏與PIC 單片機(jī)的通信實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2009(10):58-60,75.
【4】王敬亭,廖力清,凌玉華.AD698 型LVDT 信號(hào)調(diào)理電路的原理與應(yīng)用[J].國(guó)外電子元器件,2005(9):63-64,71.
【5】王懷秀,朱國(guó)雄.AD976 及其在三分量智能檢波器中的應(yīng)用[J].國(guó)外電子元器件,2003(10):30-32.
【6】付華,郭虹,徐耀松.智能儀器設(shè)計(jì)[M].北京:國(guó)防工業(yè)出版社,2007.