国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)控鎖孔機控制系統(tǒng)設計

2022-10-31 13:34陳鑒銘史偉民彭來湖
輕工機械 2022年5期
關鍵詞:鎖孔譯碼編程語言

陳鑒銘, 史偉民,2, 彭來湖,2

(1.浙江理工大學 浙江省現(xiàn)代紡織裝備技術重點實驗室, 浙江 杭州 310018;2.杭州旭仁自動化有限公司, 浙江 杭州 310018)

數(shù)控鎖孔機是用于加工木材、不銹鋼和鋁合金材質(zhì)的門、門框、窗框、門鎖和鉸鏈等工件的數(shù)控機床[1]。當數(shù)控鎖孔機進行加工時,需要對工件的多個面進行加工,傳統(tǒng)鎖孔機完成單面加工后要加工另一個側(cè)面時,需要將工件取下,人為調(diào)轉(zhuǎn)加工面,然后再固定在加工臺面上進行加工,生產(chǎn)效率低下。這種加工方式對操作者的加工技能和生產(chǎn)經(jīng)驗有較高要求[2]。操作者加工經(jīng)驗不同易造成產(chǎn)品品質(zhì)不穩(wěn)定和加工效率偏低等問題,同時也增加了質(zhì)檢和校驗等后續(xù)工序的難度。

針對生產(chǎn)過程中存在的問題,課題組運用嵌入式技術,設計適用數(shù)控鎖孔機的控制系統(tǒng)[3]。根據(jù)數(shù)控鎖孔機的機械結(jié)構,結(jié)合生產(chǎn)加工流程和工藝,提出了數(shù)控鎖孔機控制系統(tǒng)的控制需求。采用基于正則表達式的譯碼模塊[4],以滿足CAM軟件G-code編程語言譯碼要求[5];采用7段柔性S形加減速算法[6],以滿足伺服電機的加減速控制要求;控制系統(tǒng)以STM32F205RGT6芯片為控制核心[7],通過總線實現(xiàn)各模塊之間的通信,保證系統(tǒng)具有較高的穩(wěn)定性和可靠性[8]。

1 數(shù)控鎖孔機結(jié)構和工作原理

課題組所控制的數(shù)控鎖孔機機械結(jié)構主要由主軸傳動系統(tǒng)、進給伺服系統(tǒng)、床身和控制柜等部分組成。其機械結(jié)構如圖1所示。

圖1 機械結(jié)構圖

主軸傳動系統(tǒng)是設備實現(xiàn)主運動的核心部分,由3部分組成:主軸伺服電機、主軸機構和傳動系統(tǒng)。主軸伺服電機通過主軸機構和傳動系統(tǒng)帶動刀具旋轉(zhuǎn)完成切削運動;進給伺服系統(tǒng)由伺服驅(qū)動器、伺服電機和機械傳動機構等組成。系統(tǒng)接收到速度和位移脈沖指令后由伺服電機電路將指令信號進行轉(zhuǎn)換和放大,再由機械傳動機構帶動滾珠絲杠旋轉(zhuǎn),驅(qū)動鎖孔機完成精確定位或預設的走刀路徑動作??刂乒癜衔粰C和人機交互控制板,可實現(xiàn)控制信息傳輸,操作者可通過LED顯示屏實現(xiàn)設備可視化操作。

結(jié)合上述的機械結(jié)構和加工工藝,可實現(xiàn)設備多段位移加工,根據(jù)每段位移加工所需快速精準且沖擊振動較小的控制需求來設計符合控制要求的控制系統(tǒng)。

2 控制系統(tǒng)結(jié)構和硬件設計

根據(jù)數(shù)控鎖孔機的機械結(jié)構和生產(chǎn)工藝需求設計了模塊化控制系統(tǒng),該系統(tǒng)包括人機交互模塊、MCU主控模塊、電源管理模塊、接口電路模塊和伺服電機驅(qū)動模塊。各模塊之間相互獨立,通過其中人機交互模塊的上位機與MCU主控模塊使用RS-485收發(fā)器進行通信,電源管理模塊與MCU主控模塊使用CAN收發(fā)器進行通信,四軸伺服電機通過差分信號轉(zhuǎn)換電路與MCU主控模塊連接,控制系統(tǒng)硬件框圖如圖2所示。

圖2 控制系統(tǒng)硬件框圖

人機交互模塊由上位機、存儲器和LCD顯示屏組成。模塊以Linux操作系統(tǒng)為軟件平臺,使用QT軟件進行可視化交互界面開發(fā)。操作者通過操作人機交互界面,可控制數(shù)控鎖孔機工作啟動、停止和設置生產(chǎn)參數(shù),實現(xiàn)各模塊校驗測試,在線可視化編寫加工程序代碼,實時查看機器當前工作狀態(tài)以及工作參數(shù)指標。

MCU主控模塊以STM32F205RGT6為核心芯片,此芯片具有CAN總線、RS485總線及輸入輸出電路等,其中包含PWM發(fā)生器。伺服電機驅(qū)動模塊接收通過差分信號轉(zhuǎn)換電路轉(zhuǎn)換后的控制信號,實現(xiàn)伺服電機正反轉(zhuǎn)聯(lián)動和加減速控制。

電源管理模塊通過CAN收發(fā)器與MCU主控模塊連接,采用CAN通信協(xié)議以實現(xiàn)各模塊的電源分配。接口電路模塊用于連接編碼器輸入、模擬量輸入、模擬量輸出、數(shù)字量的輸入和數(shù)字量的輸出,可實現(xiàn)各模塊之間的數(shù)據(jù)通信、上傳和下發(fā)指令。

3 控制系統(tǒng)程序設計

3.1 基于正則表達式的譯碼程序設計

譯碼程序的功能是識別代碼并翻譯成設備可識別的指令。操作者將加工G-code編程語言導入到人機交互模塊,因上位機無法直接執(zhí)行G-code編程語言指令,需要將指令譯碼成系統(tǒng)可識別的指定規(guī)則指令。譯碼流程是從加工G-code編程語言中讀取一行代碼并存入字符串緩存中,緩存的字符串中包含英文大寫字母和阿拉伯數(shù)字,使用正則表達式函數(shù)將字符串緩存中的字母與數(shù)字分割并存入數(shù)組中。識別讀取的字符,然后將字母后面的數(shù)字發(fā)送至相應的緩沖區(qū)內(nèi),保存譯碼結(jié)果后繼續(xù)讀取代碼直至代碼結(jié)束。最后將翻譯后的代碼發(fā)送至MCU主控模塊,由MCU主控模塊進行插補輸出。

標準G-code編程語言如下:

G01 X100 Y200 Z300

G02 X100 Y200 Z300 I300 J100 K200

G03 X300 Y200 Z100 I200 J100 K300

上述標準G-code編程語言中G01為直線插補指令,X,Y,Z為加工刀具終點坐標,故第1行代碼的意義為刀具從加工起點直線加工運動至坐標點(100,200,300)。G02為順時針圓弧插補指令,X,Y,Z為加工刀具終點坐標,I,J,K分別表示加工圓弧的圓心在X,Y,Z方向上相對于此行代碼起點坐標的增量坐標,故第2行代碼的意義為刀具沿順時針方向加工圓弧到坐標點(100,200,300),其中加工圓弧的圓心相對于圓弧起點的X,Y,Z坐標增量分別為300,100和200。G03為逆時針圓弧插補指令,此段代碼的意義為刀具沿逆時針方向加工圓弧到坐標點(300,200,100), 其中加工的圓弧圓心相對于圓弧起點的X,Y,Z坐標增量分別為200,100和300。

G-code編程語言譯碼流程圖如圖3所示。

圖3 G-code編程語言譯碼流程圖

如圖3所示,G-code編程語言譯碼時,先按行讀取代碼,用正則表達式函數(shù)將代碼中的字母與數(shù)字分割并放入數(shù)組,讀取數(shù)組,當讀取到字符G時進入判斷,如果G后字符為01時,啟動直線譯碼流程;如果字符G后的字符為02或03時,啟動圓弧譯碼流程。保存譯碼結(jié)果后繼續(xù)讀取代碼直至代碼結(jié)束。

G-code編程語言直線譯碼流程圖如圖4所示。直線譯碼流程先按行讀取代碼,用正則表達式函數(shù)將代碼中的字母與數(shù)字分割并放入數(shù)組,對數(shù)組中的字符與G,X,Y和Z對比。當讀到字符G時,進入判斷流程,如果字符G后的數(shù)字為01,則將給Ttype賦值為1,同時種類標識符置1。當讀到字符X時,把字符X后的數(shù)字賦值給X;同理,當讀取到字符Y和Z時,將字符后面的數(shù)字賦值給相應的字符。繼續(xù)讀取字符循環(huán)至代碼結(jié)束。

圖4 G-code編程語言直線譯碼流程圖

如圖5所示,圓弧譯碼流程先按行讀取代碼,用正則表達式函數(shù)將代碼中的字母與數(shù)字分割并放入數(shù)組,對數(shù)組中的字符與G,X,Y,Z,I,J和K對比。當讀到字符G時,將字符G后的數(shù)字02或03賦值給Ttype,同時種類標識符置2;當讀到字符X時,把字符X后的數(shù)字賦值給X;同理,當讀取到字符Y,Z,I,J和K時,將字符后面的數(shù)字賦值給相應的字符。繼續(xù)讀取字符循環(huán)至代碼結(jié)束。

圖5 G-code編程語言圓弧譯碼流程圖

3.2 電機驅(qū)動程序設計

MCU主控模塊通過向伺服電機驅(qū)動器發(fā)送脈沖信號來控制電機運行,為了保證伺服電機精確定位和快速穩(wěn)定性,需要在伺服電機運動過程中進行合適加減速控制。常用的加減速控制算法有梯形加減速控制算法、指數(shù)形加減速控制算法和S形加減速控制算法。梯形加減速控制算法和指數(shù)型加減速控制算法因加速度不連續(xù),在設備啟動和停止階段存在速度突變的問題,在加工運動中易造成沖擊振動,影響加工質(zhì)量。S形加減速控制算法加速度平穩(wěn)連續(xù),可實現(xiàn)運行各階段平滑過渡,減少設備沖擊振動,最大程度發(fā)揮伺服電機的電氣性能,適用于控制精度要求高、柔性要求高的系統(tǒng)。

課題組在傳統(tǒng)的7段S形加減速控制算法的基礎上進行研究改進[9],提出7段柔性S形加減速控制算法。加減速全過程可分為3個階段:加速階段、勻速階段和減速階段。加速階段分為加加速階段、勻加速階段、減加速階段;減速階段分為加減速階段、勻減速階段和減減速階段;加速和減速階段之間由勻速階段過渡。根據(jù)控制要求,為避免柔性沖擊,要求運行全階段速度、加速度和加加速度變化連續(xù)且平穩(wěn)無突變,故加速度和加加速度在加減速起始的數(shù)值都為零。7段柔性S形加減速曲線如圖6所示。

圖6 7段柔性S形加減速曲線圖

設定設備允許的最大加速度為Amax,則加加速度J公式為:

(1)

加速度A公式為:

(2)

速度V公式為:

(3)

在滿足控制要求的條件下,為降低運算復雜度提高運算效率,可在實際計算中將上述公式簡化。設加加速、減加速、加減速和減減速階段運行時間相等,即t1=t3=t5=t7;勻加速和勻減速階段運行時間相等,即t2=t6。

系統(tǒng)加速階段和減速階段總位移S為:

(4)

根據(jù)式(3)中v4表達式,可得:

(5)

(6)

(7)

S與系統(tǒng)實際位移量L進行比較,分為3種情況:

1) 當L>S,則系統(tǒng)存在勻速階段。由式(6)~(7)可求得t1,t2,t3,t5,t6和t7,勻速階段的運行時間t4為:

t4=(L-S)/vmax。

(8)

2) 當L=S,則系統(tǒng)不存在勻速階段。加速階段達到速度最大值時立刻進入減速階段,勻速階段運行時間為零,即t4=0;其余各階段運行時間由式(6)~(7)可求解。

3) 當L

(9)

求解出速度vmax,將數(shù)值代回式(6)~(7),可得各階段的運行時間,將此時的位移量S和實際位移量L進行比較。

若L=S,則加減速過程不含勻加速、勻減速和勻速階段,此3階段運行時間為零。則其余階段運行時間為:

(10)

若L

根據(jù)上述情況計算得出各段時間,根據(jù)各段時間即可求取各階段所需的脈沖數(shù)。

3.3 人機界面設計

人機UI界面采用QT平臺開發(fā)[10]。如圖7所示,人機界面在設備上電后運行,經(jīng)過初始化后液晶屏顯示數(shù)控鎖孔機的工作狀態(tài),顯示頁面主要分為5個部分:最上方為狀態(tài)欄,顯示設備當前網(wǎng)絡連接狀態(tài)、當前加工工作面、當前工作狀態(tài)和有無報警;左上方為加工的機械坐標和工件坐標;左下方為加工方式和加工速度設置界面;右側(cè)為輸入輸出、臺面角度、主軸等參數(shù)設置界面;最下方為功能切換欄,可實現(xiàn)手動自動切換、設備參數(shù)設置及程序在線編輯等功能。

圖7 人機界面

4 測試驗證

4.1 測試平臺搭建

為驗證本研究設計的系統(tǒng)是否可以正常工作,搭建了測試平臺對整體系統(tǒng)進行調(diào)試。測試平臺如圖8所示,整套測試平臺硬件包括4個伺服電機驅(qū)動器、4個伺服電機、1塊 MCU主控模塊控制板和1臺人機交互模塊上位機。

圖8 測試平臺

4.2 通信測試

本研究中MCU主控模塊與人機交互模塊采用RS485協(xié)議進行通信,每次通信時發(fā)送1包數(shù)據(jù),每包數(shù)據(jù)12個字節(jié),波特率為115 200 Bd。在進行通信測試時,將示波器探頭接到RS485總線的A,B端之間,傳輸數(shù)據(jù)測試得波形如圖9所示。

圖9 RS485通信測試波形圖

對波形圖中的數(shù)據(jù)進行分析,波形為差分波形,與實際發(fā)送的數(shù)據(jù)對比結(jié)果一致,每一字節(jié)的傳輸?shù)臅r間與理論值接近,驗證符合RS485通信要求。

MCU主控模塊與電源管理模塊通過CAN總線通信,以CAN2.0B協(xié)議為基礎。MCU主控模塊向電源管理模塊發(fā)送數(shù)據(jù)報文,波特率為1×106Bd。在進行通信時測試CAN通信電路的波形,將示波器接在CAN收發(fā)器的CAN-High和CAN-Low端,得到的波形如圖10所示。對波形圖中的數(shù)據(jù)進行分析,實際發(fā)送的數(shù)據(jù)與程序設計的一致,每一幀的傳輸時間也與理論計算值基本吻合,測量的傳輸時間符合要求。

圖10 CAN通信測試波形

5 結(jié)論

課題組通過對鎖孔加工生產(chǎn)現(xiàn)狀與生產(chǎn)工藝分析,結(jié)合數(shù)控鎖孔機的機械結(jié)構,基于ARM控制器,基于正則表達式的譯碼程序和7段柔性S形加減速算法,設計了數(shù)控鎖孔機控制系統(tǒng)。人機交互模塊基于正則表達式的譯碼程序通過RS485總線實現(xiàn)設備參數(shù)信息的譯碼和傳輸;MCU主控模塊基于7段柔性S形加減速控制算法提高數(shù)控鎖孔機工作效率;電源管理模塊通過CAN總線通信進行電源分配。課題組搭建了測試平臺,測試結(jié)果表明該控制系統(tǒng)可以完成數(shù)控鎖孔機的加工任務,實現(xiàn)數(shù)控鎖孔機自動化生產(chǎn)。課題組著重研究了加工路徑整段位移加減速控制算法,連續(xù)微小位移的加減速控制是后續(xù)需要研究的內(nèi)容。

猜你喜歡
鎖孔譯碼編程語言
極化碼自適應信道譯碼算法
基于JavaScript編程語言之 閉包技術在焦點輪播上的應用
基于擴大候選碼元范圍的非二元LDPC加權迭代硬可靠度譯碼算法
分段CRC 輔助極化碼SCL 比特翻轉(zhuǎn)譯碼算法
基于校正搜索寬度的極化碼譯碼算法研究
計算機軟件開發(fā)的JAVA編程語言及其實際應用分析
軟件開發(fā)中JAVA編程的應用探究
淺談不同編程語言對計算機軟件開發(fā)的影響
鎖孔(外一首)