趙雅坤,上官林建
(1.華北水利水電大學機械學院,河南 鄭州 450045;2.華電鄭州機械設計研究院有限公司,河南 鄭州 450046)
RV減速器是在傳統針擺行星傳動的基礎上發展起來的一種新型傳動機構,不僅克服了一般針擺行星傳動穩定性不高的缺點,而且具有體積小、壽命長等優點,廣泛應用于航空航天、汽車制造等領域中[1]。RV減速器在工作過程中由于齒輪之間的激振力而產生振動和噪聲,影響減速器的傳動性能,其中,擺線輪是影響RV減速器傳動特性的關鍵零件[2]。
近年來,國內外學者在減速器傳動誤差分析方面做了大量的研究工作,但涉及RV減速器的誤差數據處理的研究還不多。肖定坤等[3]以 RV精密減速器為研究對象,分析了轉速、載荷對于傳動誤差的影響。郭沛霖等[4-5]基于RV減速器傳動原理和結構分析,仿真建模剛柔耦合動力學模型,分析了擺線輪齒廓修形、幾何誤差及載荷對動態傳動精度的影響。
本文主要研發制作了誤差處理軟件,并對RV減速器中擺線輪的關鍵誤差進行數據處理,為RV減速器的關鍵零件誤差分析提供方法。
C#是由微軟(Microsoft)公司開發,從 C語言和 C++語言衍生出來的一種安全穩定、簡單優雅的面向對象編程語言(OOP:Object-Oriented Programming),廣泛運行于.NET Framework和.NET Core平臺之上。C#幾乎集中了所有關于軟件開發和軟件工程研究的最新成果:面向對象、類型安全、組件技術、自動內存管理、跨平臺異常處理、版本控制、代碼安全管理等等。它在繼承C和C++語言強大功能的同時去掉了一些它們的復雜特性(例如沒有宏以及不允許多重繼承),綜合了Visual Basic簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持成為.NET開發的首選語言[7]。
如圖2所示,Visual Studio 2019是2019年4月2日微軟公司最新發布的開發工具包產品,內部版本號 16.0,基于.NET Framework 4.7,集成了Visual C++ 2019、Visual C#2019、Visual Basic2019、Visual F# 2019等開發工具,是一個基本完整的開發工具集。它還包括了整個軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等,是目前最流行的 Windows平臺應用程序的集成開發環境。以Visual Studio 2019作為開發平臺,利用其提供的可視化設計器、以及能夠加速開發和處理所有類型數據的語言增強功能,快速地進行應用程序的可視化開發[8]。

圖2 Visual Studio 2019

圖3 TeeChart控件提供各種樣式的Chart圖表
首先新建“RVsimulator”解決方案和項目,為其添加窗體“FormMain”,編輯Program.cs設置“FormMain”窗體為程序的主入口點。在資源管理器的“FormMain”上點擊鼠標右鍵,選擇“查看代碼”,打開“FormMain.cs”代碼編輯窗口。其次,對“FormMain”窗體進行功能菜單設計,從“工具箱”中添加“MenuStrip”為主界面設置各個菜單項,最終主窗體如圖4所示。

圖4 RV減速器典型零件關鍵誤差測量軟件主界面
RV減速器典型零件關鍵誤差軟件針對其典型零件,主要包括前臺用戶界面設計和后臺誤差數據計算程序的運行,完成的功能主要包括參數輸入、誤差計算和計算結果處理三個模塊。
如圖5所示,以擺線輪為例,根據功能模塊設計框圖設計出擺線輪的菜單項,分為擺線輪1和擺線輪2兩部分,每部分項目相同,包括參數輸入、誤差計算和誤差圖形分析,誤差圖形分析子菜單項包括理論和實際齒形合并圖、第 20個齒的理論和實際齒形合并圖、齒槽誤差和齒距累積偏差。

圖5 擺線輪菜單項
根據軟件整體框架、功能模塊和菜單欄目設置,制作各個菜單對應的 Windows Form窗體。擺線輪窗體包括FormBxl.cs、Formbxl01pic01.cs、Formbxl01pic02.cs、Formbx l01pic03.cs、Formbxl01pic04.cs,FormBxl2.cs、Formbxl02pic 01.cs、Formbxl02pic02.cs、Formbxl02pic03.cs、Formbxl02pic 04.cs。
擺線輪關鍵誤差的軟件制作主要包括前臺用戶界面設計和后臺誤差數據計算程序的運行,完成的功能主要包括擺線輪參數輸入、輸出數據文件處理、誤差計算和誤差圖形分析三個模塊。
以擺線輪1為例,如圖6 所示,在“解決方案資源管理器”RVsimulator上點擊鼠標右鍵,選擇“添加”——“窗體(Windows窗體)”,命名為“FormBxl.cs”,即擺線輪1參數輸入窗體。

圖6 添加“擺線輪1參數輸入”窗體
RV減速器典型零件中擺線輪數量有3個,每個擺線輪的參數輸入包括參數數據輸入和數據文件的輸入。
(1)擺線輪1需要輸入參數數據如下:
①基本參數5個:
re——偏心距(mm);
rz0——針齒半徑(mm);
za——擺線輪齒數;
zb——針輪齒數;
rz——針齒分布圓的理論半徑(mm);
②測點數5個:
m10——擺線輪中心孔測點數(≤600);
m11——擺線輪曲柄軸孔1測點數(≤600);
m12——擺線輪曲柄軸孔2測點數(≤600);
m13——擺線輪曲柄軸孔3測點數(≤600);
ms——擺線輪齒廓上的測點數(≤6000)。

圖7 “擺線輪1參數輸入”界面
如圖7所示,“擺線輪1參數輸入”界面由10個TextBox(輸入文本框)控件、其對應的Label標簽控件、“保存數據”和“退出”兩個按鈕控件組成,TextBox控件在C#中的表示為System.Windows.Forms.TextBox,10個TextBox的變量名為 textBox1~textBox10。
為了使誤差計算程序讀取參數方便,需將基本參數數據和被測點數據分開保存,用戶通過界面輸入數據后,點擊“保存數據”按鈕,textBox1~textBox5控件的基本參數數據會保存至jibencanshu.dat文件中。同時,textBox6~textBox10控件的被測點數數據會保存至ceshidianshu.dat文件中。
以上數據保存完畢后,軟件會彈出窗口,提示“數據已保存在bxl1文件夾下”。由于擺線輪數量有3個,特在程序目錄下建立了bxl1、bxl2和bxl3三個文件夾,保證程序運行時所有的數據都會保存在各自的文件夾中。
(2)數據輸入文件如下:
b1k0.dat—擺線輪1中心孔上的測點坐標數據文件;
b1k1.dat—擺線輪1曲柄軸孔1上的測點坐標數據文件;
b1k2.dat—擺線輪1曲柄軸孔2上的測點坐標數據文件;
b1k3.dat—擺線輪1曲柄軸孔3上的測點坐標數據文件;
b1c.dat—擺線輪1齒廓上的測點坐標數據文件。
以上文件預先保存于各自文件夾中,供誤差計算時讀取。
本軟件基于Windows操作系統,Visual C#作為前臺開發工具,設計各個零件的參數和數據輸入界面,實現參數輸入、計算結果圖形顯示等交互功能,后臺進行誤差計算需調用Fortran語言編寫的運算程序。

圖8 Fortran PowerStation 4.0軟件
如圖 8所示,誤差計算程序開發工具使用的是 Fortran PowerStation 4.0(Microsoft Developer Studio),因此,能否將前臺界面用戶輸入的數據正確地傳遞給Fortran運算程序,是誤差計算結果正確與否的關鍵因素;Fortran程序后臺運算結束后,能否實時給前臺反饋信息是檢驗軟件是否友好的一個重要指標[10]。
擺線輪測點數據是以.DAT數據文件的形式保存于指定的文件夾中,測點圖形的繪制需要讀取這些數據文件,進行數據類型轉換,并轉化成數組形式,通過 TeeChart Pro v8 ActiveX控件顯示不同的曲線,同時,調整X和Y軸的相關參數可以對測點圖形進行任意比例縮放控制。
(1)前臺圖形顯示及控制
以擺線輪 1為例,在解決方案資源管理器里添加Windows窗體。如圖9所示,窗體分為左右兩部分,左邊用來繪制和顯示曲線,右邊的控件對曲線進行縮放等控制。

圖9 “擺線輪j=1的理論和實際齒形合并圖”窗體界面

圖10 擺線輪j=1的理論和實際齒形合并圖
在窗體的右邊區域分別為 X軸和 Y軸調整添加 3個TextBox控件,用以調整X和Y軸的最大和最小值,以及各自刻度的增量。用戶輸入數據后,點擊“確定”按鈕即可調整曲線的縮放比例,點擊“復位”按鈕,曲線縮放恢復正常,最終擺線輪1的理論和實際齒形測點合并圖如圖10所示。
利用 Bxl1Draw()函數讀取第 20個齒的理論和實際齒形的數據文件,即可得到擺線輪j=1第20個齒的理論和實際齒形放大圖,如圖11所示。

圖11 擺線輪j=1第20個齒的理論和實際齒形放大圖
擺線輪的誤差曲線圖形制作技術和3.3測點圖形制作技術相似:
利用 Bxl1Draw()函數讀取擺線輪 1的齒槽誤差數據文件,即可得到擺線輪j=1的齒槽偏差曲線圖,如圖12所示。

圖12 擺線輪j=1的齒槽偏差曲線
利用 Bxl1Draw()函數讀取擺線輪 1的齒槽誤差數據文件, 即可得到擺線輪 j=1的齒距累積偏差曲線圖,如圖13所示。

圖13 擺線輪j=1的齒距累積偏差曲線
以擺線輪1為例,零件的基本參數數據和被測點數據分別保存至jibencanshu.dat和ceshidianshu.dat文件中,Fortran編寫的計算程序為 bxl1.exe,以上文件均存放于同一文件夾bxl1s下。在Fortran程序中添加以下語句即可完成對兩個數據文件也即參數的讀取。
Fortran在進行誤差計算時還需要讀取數據文件,例如擺線輪 1 的 5 個數據文件 b1k0.dat、b1k1.dat、b1k2.dat、b1k3.dat和b1c.dat,由于這5個數據文件預先保存于同一文件夾bxl1s中,即可完成對數據的讀取。
當Fortran程序bxl1.exe運行時,執行Proc.WaitForExit()進行等待,直至程序執行完畢,系統彈出“計算完畢!”提示窗口,并恢復程序根目錄為當前目錄。

圖14 擺線輪j=2的理論和實際齒形合并圖

圖15 擺線輪j=2第20個齒的理論和實際齒形放大圖

圖16 擺線輪j=2的齒槽偏差曲線

圖17 擺線輪j=2的齒距累積偏差曲線
擺線輪2的關鍵誤差確定與擺線輪1關鍵誤差確定方法相同,不再贅述。擺線輪2的理論和實際齒形合并圖如圖14所示,擺線輪 2的第 20個齒的理論和實際齒形放大圖如圖15所示。
擺線輪2的齒槽偏差曲線如圖16所示,擺線輪2的齒距累積偏差如圖17所示。
本文根據軟件設計需求、目標實現方法和研究對象的特點等因素,設計出了軟件整體框架,并對軟件系統功能模塊進行了劃分。本文在基于.NET Framework框架的Visual Studio 2019作為開發平臺,用C#為編程語言,通過對RV減速器擺線輪的誤差參數進行傳遞,并調用 Fortran語言進行誤差計算,將計算結果通過Steema Teechart圖表控件進行數據處理和不同曲線輸出,實現了對擺線輪誤差處理數據的可視化展示,對RV減速器的關鍵零件誤差提供了便捷可靠的方法。