武照云,張毓蘭,朱紅瑜,馬曉錄,申會鵬
旋轉(zhuǎn)變換的直動推桿凸輪機(jī)構(gòu)圖解法教學(xué)軟件開發(fā)
武照云,張毓蘭,朱紅瑜,馬曉錄,申會鵬
(河南工業(yè)大學(xué) 機(jī)電工程學(xué)院,河南 鄭州 450001)
以偏置直動尖頂推桿凸輪機(jī)構(gòu)為對象,運用C#設(shè)計了一個直動推桿凸輪機(jī)構(gòu)圖解法教學(xué)軟件。介紹了凸輪廓線圖解法設(shè)計的反轉(zhuǎn)法原理和基于旋轉(zhuǎn)變換的軟件實現(xiàn)原理,包括點的坐標(biāo)旋轉(zhuǎn)變換理論、推桿位移函數(shù)C#類庫設(shè)計方法等。詳細(xì)給出了凸輪機(jī)構(gòu)圖解法教學(xué)軟件的設(shè)計步驟與運行過程。通過4個不同設(shè)計參數(shù)的應(yīng)用案例說明該軟件在展示凸輪廓線圖解法設(shè)計原理與步驟方面的靈活性與有效性。
凸輪機(jī)構(gòu);機(jī)械原理;圖解法教學(xué);軟件開發(fā)
凸輪機(jī)構(gòu)是機(jī)械中常用的機(jī)構(gòu)類型,應(yīng)用非常廣泛[1]。在“機(jī)械原理”課程教學(xué)中,要求學(xué)生能夠根據(jù)給定的運動規(guī)律,運用圖解法設(shè)計凸輪廓線。與解析法相比,圖解法具有不依賴數(shù)學(xué)方程、幾何元素豐富、清晰直觀等優(yōu)點,但是需要學(xué)生熟練掌握凸輪機(jī)構(gòu)的相對運動原理和幾何作圖方法[2]。在凸輪機(jī)構(gòu)的教學(xué)資源中,紙質(zhì)教材無法呈現(xiàn)動態(tài)信息,以Flash為主的演示動畫不能更改設(shè)計參數(shù)?,F(xiàn)有的計算機(jī)輔助設(shè)計軟件ADAMS[3]、UG NX[4]、SolidWorks[5]、Pro/E[6]、MATLAB[7]、AutoCAD[8]、虛擬樣機(jī)技術(shù)[9]、參數(shù)化設(shè)計技術(shù)[10]、反求設(shè)計方法[11]、智能設(shè)計技 術(shù)[12]等可以進(jìn)行凸輪機(jī)構(gòu)的設(shè)計與分析,但這些都不是專為教學(xué)開發(fā)的,因此不太適用于課程教學(xué)。
本文以C#為開發(fā)工具,設(shè)計了一個凸輪機(jī)構(gòu)圖解法教學(xué)軟件,可以靈活、分步驟地展示凸輪廓線圖解法設(shè)計過程,演示步驟形象清晰、直觀感受性強(qiáng),有利于學(xué)生更好地理解圖解法基本原理,為該課程的教學(xué)增添一個實用的輔助工具。
根據(jù)推桿的運動形式,凸輪機(jī)構(gòu)可分為直動推桿凸輪機(jī)構(gòu)和擺動推桿凸輪機(jī)構(gòu);根據(jù)推桿的結(jié)構(gòu)形狀,凸輪機(jī)構(gòu)又可分為尖頂推桿凸輪機(jī)構(gòu)、滾子推桿凸輪機(jī)構(gòu)和平底推桿凸輪機(jī)構(gòu)。其中,偏置直動尖頂推桿凸輪機(jī)構(gòu)是最基本的類型,其凸輪廓線設(shè)計原理是其他類型凸輪廓線設(shè)計的基礎(chǔ),因此,本文以偏置直動尖頂推桿凸輪機(jī)構(gòu)為對象,研究其凸輪廓線圖解法教學(xué)軟件的設(shè)計方法。
運用圖解法設(shè)計偏置直動尖頂推桿凸輪廓線的基本原理是反轉(zhuǎn)法,其基本思想是:按照凸輪與推桿的相對運動關(guān)系,令凸輪靜止不動,讓推桿相對凸輪進(jìn)行反轉(zhuǎn),然后通過幾何作圖和計算推桿位移等方法確定推桿末端在反轉(zhuǎn)過程中的位置,這樣所得推桿的反轉(zhuǎn)運動軌跡即為凸輪的輪廓曲線[13]。
根據(jù)計算機(jī)圖形學(xué)理論可知,平面內(nèi)任意一點(,)繞原點逆時針旋轉(zhuǎn)角,得到點¢(¢,¢),點與¢點之間可通過旋轉(zhuǎn)變換矩陣完成坐標(biāo)換算[14-15]:
若點繞原點順時針旋轉(zhuǎn)角,則只需將式(1)中的換為-即可,即
凸輪廓線的圖解法設(shè)計涉及大量的幾何元素旋轉(zhuǎn)操作,而通過式(1)與式(2)可快速得到幾何元素的旋轉(zhuǎn)變換結(jié)果。因此,本文將坐標(biāo)旋轉(zhuǎn)變換原理作為開發(fā)凸輪廓線圖解法教學(xué)軟件的理論基礎(chǔ)。
常用的推桿運動規(guī)律包括等速運動規(guī)律、等加速/等減速運動規(guī)律、五次多項式運動規(guī)律、正弦加速度運動規(guī)律和余弦加速度運動規(guī)律等。為了能夠方便地調(diào)用這些推桿運動規(guī)律中的位移計算函數(shù),運用C#設(shè)計了推桿位移函數(shù)類庫,并發(fā)布為DLL庫文件。該推桿位移函數(shù)類庫中包括的主要位移函數(shù)如表1所示。
表1 推桿位移函數(shù)類庫
以Visual Studio 2012作為開發(fā)環(huán)境,以C#作為程序設(shè)計語言,選取Windows應(yīng)用程序開發(fā)模式,對偏置直動尖頂推桿凸輪機(jī)構(gòu)圖解法教學(xué)軟件進(jìn)行設(shè)計與開發(fā),分為11個主要步驟。
步驟1——定義機(jī)構(gòu)設(shè)計參數(shù)。對于偏置直動尖頂推桿凸輪機(jī)構(gòu)而言,主要設(shè)計參數(shù)包括基圓半徑、偏距、推桿行程、凸輪回轉(zhuǎn)方向、推程角、遠(yuǎn)休止角、回程角、近休止角、推程段的推桿運動規(guī)律和回程段的推桿運動規(guī)律。在WinForm界面的左側(cè)區(qū)域中,分別設(shè)置若干個textBox控件和radioButton控件,用于接收輸入?yún)?shù)值;在右側(cè)區(qū)域設(shè)置空白的繪圖區(qū)域,用于顯示凸輪廓線的繪制過程。
步驟2——變換坐標(biāo)系。在C#的GDI+中,默認(rèn)的坐標(biāo)系是以左上角點為原點,軸正向為向右,軸正向為向下。為了與常規(guī)的坐標(biāo)系設(shè)置情況保持一致,需要對繪圖區(qū)域的坐標(biāo)系進(jìn)行變換,即將坐標(biāo)原點平移到繪圖區(qū)域中心;變換軸的正方向;設(shè)置繪圖區(qū)域的背景色。相關(guān)C#代碼如下:
Graphics g = pictureBox1.CreateGraphics();
g.TranslateTransform(Convert.ToSingle(0.5*pictureBox1.Width),Convert.ToSingle(0.5*pictureBox1.Height));
g.ScaleTransform(1f, -1f);
g.Clear(Color.White);
步驟3——繪圖區(qū)域初始化。分別繪制軸和軸;根據(jù)基圓半徑和偏距圓半徑,畫出基圓和偏距圓;根據(jù)推桿初始位置的幾何關(guān)系,計算推桿末端點的坐標(biāo);定義PointF類型的關(guān)鍵點:Point_O(坐標(biāo)原點)、Point_A(推桿末端點)、Point_P(推桿位置線與橫軸交點點)、Point_Q(推桿最高點點);畫出推桿的初始位置,如圖1所示。
步驟4——劃分凸輪運動周期的4個階段。以推桿順時針反轉(zhuǎn)為例,從點開始,依次順時針轉(zhuǎn)過angle1(推程角)、angle2(遠(yuǎn)休止角)和angle3(回程角),可分別得到點、點和點,按照式(2)計算、和點的坐標(biāo),并定義PointF類型的Point_B、Point_C和Point_D,調(diào)用DrawLine方法逐一連接、、和,即完成凸輪運動周期的4個階段劃分,如圖2所示。
步驟5——劃分推程段。設(shè)置一個間隔角度(如15°),然后將點繞原點依次順時針旋轉(zhuǎn)15°、30°、…,按式(2)計算得到各分割點(1,2,…,8)的坐標(biāo),以此對推程段區(qū)域進(jìn)行等間距劃分,如圖3所示。相關(guān)C#代碼如下:
for (int i = 15; i <= angle1; i = i + 15)
{g.DrawLine(graypen, Point_O, new PointF (Point_A.X * Math.Cos(i * Math.PI / 180) + Point_A.Y * Math.Sin(i * Math.PI / 180), -Point_A.X * Math.Sin(i * Math.PI / 180) + Point_A.Y * Math.Cos(i * Math.PI / 180))); }
圖1 繪圖區(qū)域初始化
圖2 凸輪運動階段劃分
步驟6——繪制推桿在推程段的各初始位置線。根據(jù)機(jī)械原理知識可知,推桿在反轉(zhuǎn)過程中應(yīng)始終與偏距圓相切,因此在1,2,…,8各分割點處分別作偏距圓的切線即可。在計算機(jī)程序中進(jìn)行切線運算是比較復(fù)雜的。根據(jù)相對運動原理可知,推桿在點處的初始位置線,順時針旋轉(zhuǎn)15°之后就是推桿在1點處的初始位置線11,再旋轉(zhuǎn)15°即得22,…。因此,只需將決定推桿位置的點和點依次順時針旋轉(zhuǎn)相應(yīng)角度并再逐一連線即可,如圖4所示。
步驟7——標(biāo)注推桿尖頂末端的實際位置點。推桿在反轉(zhuǎn)過程中,還要在機(jī)架導(dǎo)軌內(nèi)作預(yù)期的直線移動,因此要根據(jù)推程運動規(guī)律計算并標(biāo)注出推桿尖頂末端的實際位置點,如圖5所示。具體做法包括:
圖4 繪制推桿各初始位置線
圖5 標(biāo)注推桿的實際位置點
(1)按照推程運動規(guī)律(以等速運動規(guī)律為例)調(diào)用位移函數(shù)類庫,計算對應(yīng)的推桿實際位移;
(2)計算推桿尖頂末端在推程起始位置(推桿在點的位置線)上的坐標(biāo),將該點記為1;
(3)將點1順時針旋轉(zhuǎn)15°,得到點1,該點即為推桿在1位置線上發(fā)生相應(yīng)位移后的實際位置點;
(4)在1點處填充一個小圓點,以突出顯示 效果;
(5)按上述步驟,以15°為一個增量進(jìn)行循環(huán)遞進(jìn),直到覆蓋整個推程段區(qū)域為止。
相關(guān)C#代碼如下:
for (int i = 15; i <= angle1; i = i + 15)
{ float s = S_DS_T (i);
PointF AS = new PointF(Point_A.X, Point_A.Y + s);
PointF AK = new PointF(AS.X * Math.Cos(i * Math.PI / 180) + AS.Y * Math.Sin(i * Math.PI / 180), -AS.X * Math.Sin(i * Math.PI / 180) + AS.Y * Math.Cos(i * Math.PI / 180));
g.FillEllipse(redbrush, AK.X - 3, AK.Y - 3, 6, 6);
}
步驟8——畫推程段的凸輪廓線。在步驟7中,只得到了1—7這7個點,描點作圖的精度還不夠。為了提高作圖精度,按照步驟7的方法,重新對推程段每隔1°計算一個推桿實際位置點,這樣就一共可得到angle1個點,再依次連接這angle1個點,便得到了推程段的凸輪廓線,如圖6所示。
圖6 畫推程段的凸輪廓線
步驟9——畫遠(yuǎn)休止段的凸輪廓線。遠(yuǎn)休止段的凸輪廓線為圓弧,因此在遠(yuǎn)休止角范圍內(nèi)直接繪制圓弧曲線即可。
步驟10——畫回程段的凸輪廓線?;爻潭蔚耐馆喞€繪制方法與推程段完全相同,不再贅述。
步驟11——畫近休止段的凸輪廓線。近休止段的凸輪廓線也為圓弧,且為基圓的一部分,因此只需在基圓上按照近休止角的范圍重繪圓弧即可,如圖7所示。
至此,全部凸輪廓線已繪制完畢。
圖7 畫近休止段的凸輪廓線
為了更好地說明該軟件的實際運行效果,針對不同設(shè)計參數(shù)的4個案例進(jìn)行了驗證與對比。4個案例的設(shè)計參數(shù)如表2所示,其基圓半徑、偏距等結(jié)構(gòu)參數(shù)以及推桿的運動規(guī)律各不相同,經(jīng)該軟件圖解法設(shè)計之后,各案例的凸輪廓線設(shè)計結(jié)果如圖8所示。
表2 應(yīng)用案例參數(shù)表
圖8 4個案例的凸輪廓線設(shè)計結(jié)果
由設(shè)計結(jié)果可見,該軟件能夠適應(yīng)不同的初始條件與設(shè)計參數(shù),所得的凸輪廓線形狀精度較高,演示過程清晰直觀,能夠充分反映出圖解法的設(shè)計步驟與原理,有利于提高學(xué)生的感性認(rèn)識與學(xué)習(xí)效率,實現(xiàn)了對“機(jī)械原理”課程輔助教學(xué)的有力支撐。
根據(jù)凸輪機(jī)構(gòu)反轉(zhuǎn)法設(shè)計原理開發(fā)的直動推桿凸輪機(jī)構(gòu)圖解法教學(xué)軟件,允許學(xué)生對凸輪機(jī)構(gòu)的設(shè)計參數(shù)進(jìn)行靈活設(shè)置,能夠分步驟、清晰地展示凸輪廓線的圖解法設(shè)計過程,有利于學(xué)生更好地掌握凸輪機(jī)構(gòu)的圖解法設(shè)計原理。進(jìn)一步的研究工作是:在軟件生成凸輪廓線之后,結(jié)合速度曲線與加速度曲線對凸輪機(jī)構(gòu)運動進(jìn)行仿真,更加完善該軟件的功能。
[1] 武照云,李麗,朱紅瑜,等.機(jī)械原理與設(shè)計虛擬仿真實驗教學(xué)平臺的設(shè)計[J].實驗技術(shù)與管理,2017, 34(8): 121–124.
[2] 李麗,武照云.汽車類專業(yè)機(jī)械原理課程教學(xué)改革與探索[J].教育現(xiàn)代化,2018(44): 90–91.
[3] 張燚,黃松和.基于ADAMS的凸輪連桿系統(tǒng)中凸輪的CAD系統(tǒng)開發(fā)及機(jī)構(gòu)仿真分析[J].包裝工程,2018, 39(9): 171– 176.
[4] 劉倩婧,成義森.基于UG NX的復(fù)雜盤形凸輪設(shè)計[J].機(jī)械工程師,2017(5): 67–68.
[5] 肖思偉,張晉西,陳江洪,等.基于SolidWorks和Excel的凸輪設(shè)計與運動仿真[J].重慶理工大學(xué)學(xué)報(自然科學(xué)),2017, 31(8): 73–75, 92.
[6] 劉善林.基于Pro/E的凸輪廓線精確設(shè)計及仿真研究[J].機(jī)械與電子,2009(1): 65–68.
[7] 蔡玉強(qiáng),趙長慶.基于MATLAB和SolidWorks的平行分度凸輪設(shè)計[J].機(jī)械工程與自動化,2018(2): 70–72.
[8] 鄭彬,堯遙.基于AutoCAD與Excel的凸輪輪廓曲線設(shè)計[J].機(jī)械管理開發(fā),2018, 33(11): 17–19.
[9] 李彥啟,趙西莉,郭軍伯,等.基于虛擬樣機(jī)技術(shù)的內(nèi)平動分度凸輪機(jī)構(gòu)動力學(xué)分析[J].機(jī)械傳動,2018, 42(4): 119–124.
[10] 蘇超.通用凸輪參數(shù)化設(shè)計系統(tǒng)開發(fā)及應(yīng)用研究[D].成都:西南交通大學(xué),2018.
[11] 葛正浩,張凱,張雙琳.共軛凸輪開口機(jī)構(gòu)的反求設(shè)計及動力學(xué)研究[J].機(jī)械設(shè)計,2017, 34(12): 65–68.
[12] 李艷.平面盤形凸輪機(jī)構(gòu)CAD系統(tǒng)的智能設(shè)計[J].臺州學(xué)院學(xué)報,2018, 40(3): 45–50.
[13] 孫桓.機(jī)械原理[M].北京:高等教育出版社,2013.
[14] 刁彥飛,王艷飛,李立全.應(yīng)用反轉(zhuǎn)法及坐標(biāo)旋轉(zhuǎn)變換設(shè)計凸輪廓線及Matlab仿真[J].應(yīng)用科技,2006(5): 1–3.
[15] 何援軍.計算機(jī)圖形學(xué)[M].北京:機(jī)械工業(yè)出版社,2016.
Development of teaching software of graphic method for direct push-rod cam mechanism based on rotational transformation
WU Zhaoyun, ZHANG Yulan, ZHU Hongyu, MA Xiaolu, SHEN Huipeng
(School of Mechanical and Electrical Engineering, Henan University of Technology, Zhengzhou 450001, China)
By taking the offset straight-moving pointed push-rod cam mechanism as the object of study, a graphic teaching software for the direct-push-rod cam mechanism is designed by using C#. This paper introduces the principle of inversion method for graphic design of cam contour and the principle of software realization based on rotational transformation, including the theory of coordinate rotation transformation of points, the design method of C# class library of push-rod displacement function, etc. The design steps and operation process of the teaching software of the graphic method for cam mechanism are described in detail. The flexibility and validity of the software in displaying the design principle and steps of the cam contour graphic method are illustrated by four application cases with different design parameters.
cam mechanism; mechanical principle; graphic teaching; software development
G434
A
1002-4956(2019)07-0147-04
10.16791/j.cnki.sjg.2019.07.035
2019-01-03
河南省高等教育教學(xué)改革研究與實踐重點項目(2017SJGLX057);河南省教育科學(xué)"十三五"規(guī)劃2018年度一般課題(〔2018〕-JKGHYB-0078);河南省高等教育教學(xué)改革研究與實踐一般項目(2017SJGLX302);河南工業(yè)大學(xué)本科教育教學(xué)改革研究與實踐招標(biāo)項目(GJYJ-ZB06)
武照云(1981—),男,遼寧鐵嶺,博士,副教授,主要研究方向為數(shù)字化設(shè)計.E-mail: wzhaoyun@163.com