張 能 吳志林 蔡 松 程宇梁 陳智仁
(1.南京理工大學機械工程學院 南京 210094)(2.常州哈步機電科技有限公司 常州 213000)
變壁厚薄壁深孔件由于變形抗力和摩擦力大導致擠壓力會很大,而過大的擠壓力會導致模具損壞,從而不能制備出尺寸合格的樣品。在進行變壁厚薄壁深孔件的制備前,需要對擠壓力進行計算,然后根據(jù)模具的強度估算出能制備出的最薄壁厚或者最深深度的盲孔件。傳統(tǒng)擠壓力的計算公式主要有主應力法、功平衡法、極值原理包括上限定理和下限定理和滑移線法[1~4]。郭勝利[5]等用主應力法計算的擠壓力平均誤差約為11.56%。張浩然[6]等通過上限法計算擠壓力,當擠壓比小于4時,理論計算與有限元模擬結果誤差小于10%;當擠壓比大于5時,兩者誤差小于20%。可以發(fā)現(xiàn),通過理論公式計算出來的擠壓力誤差都比較大,且計算過程復雜。
基于BP神經(jīng)網(wǎng)絡,本文以樣品的壁厚和擠壓力的關系為研究對象,建立了一個1輸入1輸出,單隱藏層的簡單BP神經(jīng)網(wǎng)絡模型,對7050鋁合金變壁厚薄壁深孔件的熱擠壓力進行了預測,為樣品尺寸的確定和擠壓機的選擇提供了參考依據(jù)。文中的BP神經(jīng)網(wǎng)絡程序的實現(xiàn)是基于python編寫的。
圖1為變壁厚薄壁深孔件樣本的剖面圖,與常見的盲孔管材相比,其壁厚不是均勻的,內(nèi)壁是由一段圓弧和一段有較小傾斜角的斜線構成的。對樣本尺寸的要求為底厚和樣品高度為定值,且內(nèi)壁尺寸形狀也固定,故用于擠壓的磨具模芯尺寸也是一定的,所以在一定擠壓溫度下模芯能承受的擠壓力也是一定的。經(jīng)試驗研究發(fā)現(xiàn),當薄壁深孔件的壁厚很薄時,由于擠壓過程中擠壓力過大會導致模芯墩粗,不能制備出尺寸合適的樣品;同時隨著樣品壁厚的增加,擠壓力會逐漸降低。所以需要計算出不同壁厚下擠壓力的大小,從而根據(jù)模芯能承受的極限壓力來推出反擠壓能擠壓出最薄壁厚的樣品。
本文將采用有限元仿真軟件DEFORM模擬計算反擠壓的擠壓力。由于樣品是變壁厚的,樣品的壁厚以樣品口部最薄處的壁厚為準。初始條件為摩擦因子為0.4,擠壓的溫度為400℃,模芯的擠壓速度為10mm/s,模芯的擠壓步長為0.075mm/step。為提高仿真效率,采用Deform-2D對稱模擬[7]。為保證計算精度網(wǎng)格類型采用四邊形網(wǎng)格[8],坯料網(wǎng)格劃分點為4000個,同時坯料與模具間也存在傳熱,模具也需要劃分網(wǎng)格,模芯網(wǎng)格劃分點為2000個,模腔網(wǎng)格劃分點為2000個,底座網(wǎng)格劃分點為1000個。通過仿真獲得了不同壁厚下擠壓力大小的幾組數(shù)據(jù)。
圖1 樣品剖面圖
BP網(wǎng)絡可以學習并存儲大量的輸入-輸出模式映射關系,而無需事先揭示描述這種映射關系的數(shù)學方程。由于在理論上已經(jīng)證明具有三層結構的BP神經(jīng)網(wǎng)絡能夠逼近任何有理函數(shù)[9],本文將采用三層BP網(wǎng)絡來建模以逼近反擠壓中樣品壁厚與擠壓力間的函數(shù)關系,利用該函數(shù)關系來預測給定樣品壁厚時的最大載荷大小,以此確定模芯能夠承受的最大載荷下所能擠壓出的樣品最薄壁厚。從而對樣品尺寸的設計提供參考,避免因前期試驗而造成的經(jīng)濟損失,降低研發(fā)周期,節(jié)約成本[10]。
BP神經(jīng)網(wǎng)絡模型如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡模型
BP神經(jīng)元的輸入為P,權重和閾值分別為w和b,線性神經(jīng)元模型的輸出為y。BP神經(jīng)元的傳遞函數(shù)為非線性函數(shù),最常用的傳遞函數(shù)有Sigmoid、Tanh和ReLU函數(shù),如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡常用的傳遞函數(shù)
Sigmoid函數(shù)和Tanh函數(shù)都有一個缺點,就是當輸入非常小或非常大時導數(shù)的梯度或者說這個函數(shù)的斜率可能就很小,接近0,這樣會拖慢梯度下降算法。而ReLU函數(shù)不存在上述問題,同時由于ReLU函數(shù)會使一部分神經(jīng)元的輸出為0,這樣就造成了網(wǎng)絡的稀疏性,并且減少了參數(shù)的相互依存關系,緩解了過擬合問題的發(fā)生。本文中選取ReLU函數(shù)為傳遞函數(shù)。
BP網(wǎng)絡是一個由輸入層、隱藏層和輸出層組成的多層前饋神經(jīng)網(wǎng)絡[11]。圖4是一個典型的三層BP神經(jīng)網(wǎng)絡結構圖,每層之間采用全互連方式,且同一層之間不存在互相連接,隱藏層可以有一層或者多層。
圖4 典型三層BP神經(jīng)網(wǎng)絡結構圖
BP網(wǎng)絡的學習過程由向前計算過程和誤差反向傳播過程組成[12]。在向前傳播過程中,輸入值從輸入層經(jīng)隱藏層逐層計算,并傳向輸出層,每層神經(jīng)元的狀態(tài)只會影響到下一層神經(jīng)元的狀態(tài)。如果輸出層不能得到期望的輸出,則轉(zhuǎn)入誤差的反向傳播過程,誤差信號沿原來的連接通路返回,逐層調(diào)整網(wǎng)絡各層的權值和閾值,直到到達輸入層,再重復計算。
基本的BP神經(jīng)網(wǎng)絡算法是由兩部分組成:信號的向前傳播和誤差的反向傳播[13]。即計算預測輸出時按從輸入到輸出的方向進行,而權值和閾值的修正從輸出到輸入的方向進行。BP神經(jīng)網(wǎng)絡算法的公式如下。
3.2.1 信號的前向傳播過程
隱藏層第i個節(jié)點的輸入neti為
隱藏層第i個節(jié)點的輸出oi為
輸出層第k個節(jié)點的輸入netk為
輸出層第k個節(jié)點的輸出ok為
3.2.2 誤差的反向傳播過程
對于每一個樣本p的二次型損失函數(shù)為
系統(tǒng)對P個訓練樣本的代價函數(shù)為
則有:
輸出層權值調(diào)整公式為
輸出層閾值調(diào)整公式為
隱藏層權值調(diào)整公式為
隱藏層閾值調(diào)整公式為
其中:wi,j是隱藏層第i個節(jié)點和輸入層第j個節(jié)點之間的權值;θi為隱藏層第i個節(jié)點的閾值;?為隱藏層的激勵函數(shù);wk,i是輸出層第k個節(jié)點到隱藏層第i個節(jié)點之間的權值,i=1,…,q;ak表示輸出層第k個節(jié)點的閾值,k=1,…,L;Ψ為輸出層的激勵函數(shù),ok為輸出層第k個節(jié)點的輸出。
通過面向?qū)ο缶幊陶Z言python,并結合上述向前和反向傳播公式,創(chuàng)建BP神經(jīng)網(wǎng)絡預測的程序。其中:輸入層節(jié)點數(shù)為1,代表樣本壁厚;隱藏層節(jié)點數(shù)為4;輸出層節(jié)點數(shù)為1,代表反擠壓過程中最大載荷;隱藏層和輸出層激活函數(shù)都選用Re?LU函數(shù)。
將有限元模擬軟件計算得到的幾組不同壁厚下擠壓力大小的數(shù)據(jù)訓練上述建立的神經(jīng)網(wǎng)絡模型,設定學習率為0.15,迭代次數(shù)為500,目標誤差為10-3。然后對設置好的BP神經(jīng)網(wǎng)絡進行訓練,訓練收斂后即可對給定的壁厚進行擠壓力的預測。圖5為誤差-迭代次數(shù)曲線圖,經(jīng)過74次訓練,BP神經(jīng)網(wǎng)絡收斂。表1為數(shù)值模擬與BP神經(jīng)網(wǎng)絡預測值的對比。由表知,實際輸出值與期望輸出值的相對誤差較小,這說明經(jīng)過訓練建立的神經(jīng)網(wǎng)絡模型可以快速預測最大擠壓載荷。
圖5 誤差-迭代次數(shù)曲線
表1 仿真值、預測值和相對誤差
在7050鋁合金熱擠壓中,模芯采用的是H13熱作模具鋼[14]。H13鋼在600℃以下使用時,其屈服強度達到950MPa[15]。根據(jù)樣品的設計尺寸可推出模芯的直徑大約為19.5mm,即可得出模芯在擠壓過程中不發(fā)生塑性變形時能承受的最大擠壓力再根據(jù)BP神經(jīng)網(wǎng)絡對不同壁厚下的擠壓力大小的預測模型,可預測出:在樣品內(nèi)徑和擠壓深度一定的情況下,采用反擠壓加工7050鋁合金變壁厚深孔件所能得到的最薄壁厚約為2.56mm。
通過有限元模擬軟件與人工神經(jīng)網(wǎng)絡的結合,預測結果與有限元計算之間的誤差很小,這表面訓練好的神經(jīng)網(wǎng)絡對某些問題的預測具有較好的應用性,而這二者的結合可以減少模擬次數(shù)并提高設計效率。