喜歡就充值下載吧。。。資源目錄里展示的全都有,,下載后全都有,,請(qǐng)放心下載,==================================
【QQ:3278627871 可咨詢交流】
喜歡就充值下載吧。。。資源目錄里展示的全都有,,下載后全都有,,請(qǐng)放心下載,==================================
【QQ:3278627871 可咨詢交流】
喜歡就充值下載吧。。。資源目錄里展示的全都有,,下載后全都有,,請(qǐng)放心下載,==================================
【QQ:3278627871 可咨詢交流】
目錄
摘要 1
Abstract 2
主要符號(hào)表 1
1 緒論 1
1.1引言 1
1.2研究意義 1
1.3國(guó)內(nèi)外發(fā)展?fàn)顩r 1
1.4本文的主要任務(wù) 3
2 齒輪測(cè)量原理與總體方案設(shè)計(jì) 4
2.1齒輪齒形測(cè)量的方法與誤差分析 4
2.1.1齒形誤差的定義 4
2.1.2齒形誤差測(cè)量方法 4
2.1.3齒形測(cè)量范圍的確定 4
2.1.4齒形誤差評(píng)定與分析 6
2.2齒輪齒向測(cè)量的方法與誤差分析 8
2.2.1齒向誤差的定義 8
2.2.2齒向誤差測(cè)量方法 8
2.2.3齒向誤差評(píng)定與分析 8
2.3 總體方案設(shè)計(jì) 10
3 板卡操作 11
3.1接口方案 11
3.2 HY6040板卡介紹及操作 11
3.3 HY6110板卡介紹及操作 11
3.4 CA220-PCI 12
3.4.1 CA220-PCI簡(jiǎn)介 12
3.4.2 CA220-PCI操作過(guò)程 12
4 EFRS-401MZ齒輪測(cè)量機(jī)軟件設(shè)計(jì) 14
4.1開(kāi)發(fā)軟件簡(jiǎn)介 14
4.2用戶需求 14
4.3軟件的界面設(shè)計(jì) 15
4.3.1界面應(yīng)具備的功能元素 15
4.3.2具體界面設(shè)計(jì) 16
4.4總體程序流程圖 20
4.5分功能模塊的實(shí)現(xiàn) 22
4.5.1齒形測(cè)量程序流程設(shè)計(jì) 22
4.5.2數(shù)據(jù)處理程序流程設(shè)計(jì) 23
4.5.3數(shù)據(jù)采樣流程及部分程序代碼 25
4.5.4按鍵掃描流程圖設(shè)計(jì) 26
5 伺服機(jī)械子系統(tǒng)設(shè)計(jì)及校核 29
5.1原理方案設(shè)計(jì) 29
5.2結(jié)構(gòu)方案設(shè)計(jì) 29
5.2.1結(jié)構(gòu)布局 29
5.2.2驅(qū)動(dòng)裝置 29
5.2.3傳動(dòng)系統(tǒng) 30
5.2.4滾動(dòng)導(dǎo)軌 30
5.3伺服機(jī)械子系統(tǒng)設(shè)計(jì)計(jì)算 30
5.3.1伺服電機(jī)的選擇 30
5.3.2設(shè)計(jì)并校核齒輪 31
5.3.3同步帶傳動(dòng)設(shè)計(jì) 33
5.3.4導(dǎo)軌設(shè)計(jì) 35
5.3.5各支承件的設(shè)計(jì) 35
5.4強(qiáng)度校核 36
5.4.1伺服電機(jī)校核 36
5.4.2軸承校核 37
6 結(jié)論 38
7 致謝 39
參考文獻(xiàn) 40
3
主要符號(hào)表
n 轉(zhuǎn)速 F 集中載荷,力
V 線速度 M 彎矩,力矩
傳動(dòng)效率 計(jì)算拉壓應(yīng)力
P 功率 E 材料的彈性模量
i 傳動(dòng)比 L、l 長(zhǎng)度
T 轉(zhuǎn)矩 齒形系數(shù)
Z 齒輪齒數(shù) J 轉(zhuǎn)動(dòng)慣量
m 模數(shù) 應(yīng)力校正系數(shù)
d 直徑 K 載荷系數(shù)
KV 動(dòng)載荷系數(shù) B 寬度
a 中心距 ZE 彈性影響系數(shù)
KA 使用系數(shù) ZP 接觸系數(shù)
Vs 相對(duì)滑動(dòng)速度 N 應(yīng)力循環(huán)次數(shù)
載荷分布不均系數(shù) KHN 壽命系數(shù)
1
1 緒論
1 緒論
1.1引言
齒輪傳動(dòng)是廣泛應(yīng)用于機(jī)器和儀表中的一種重要形式。它用來(lái)傳遞位移、速度和動(dòng)力。隨著我國(guó)汽車摩托車制造業(yè)的迅速發(fā)展,汽摩齒輪制造業(yè)也得到了空前快速的發(fā)展。盡快成為汽摩齒輪的全球制造與供應(yīng)基地,是我國(guó)齒輪制造業(yè)的總體發(fā)展戰(zhàn)略,并已經(jīng)成為我國(guó)眾多齒輪制造商的共識(shí)。航空航天工業(yè)的崛起、造船業(yè)的興盛、機(jī)械裝備制造業(yè)的復(fù)蘇以及IT行業(yè)的快速發(fā)展,都對(duì)齒輪制造業(yè)提出了更高的要求,也提供了前所未有的機(jī)遇。無(wú)論是國(guó)有企業(yè)、股份公司還是民營(yíng)企業(yè),齒輪制造商在擴(kuò)大齒輪產(chǎn)量、品種的同時(shí),更加注重提高齒輪制造質(zhì)量。為此,最近幾年來(lái)在引進(jìn)技術(shù)、購(gòu)置設(shè)備、更新工藝、加強(qiáng)信息化管理等技術(shù)改造和技術(shù)升級(jí)方面進(jìn)行了大量的投入;強(qiáng)化并提高齒輪制造全過(guò)程的測(cè)量與監(jiān)控技術(shù)水平獲得了空前的重視,并成為確保齒輪質(zhì)量的一個(gè)關(guān)鍵。開(kāi)發(fā)具有自主知識(shí)產(chǎn)權(quán)的齒輪測(cè)量技術(shù)和儀器,滿足我國(guó)齒輪制造質(zhì)量檢測(cè)的迫切需要,提高國(guó)產(chǎn)齒輪儀器在國(guó)內(nèi)市場(chǎng)的占有率,是我國(guó)齒輪測(cè)量?jī)x器制造業(yè)當(dāng)前所面臨的一項(xiàng)重要而緊迫的任務(wù)。
1.2研究意義
目前,我國(guó)齒輪行業(yè)測(cè)試儀器和設(shè)備十分缺少,有不少齒輪生產(chǎn)企業(yè)竟然沒(méi)有一臺(tái)齒輪量?jī)x;有些國(guó)有大中型企業(yè)所使用的齒輪量?jī)x,還是國(guó)外六七十年代的產(chǎn)品,已遠(yuǎn)遠(yuǎn)滿足不了技術(shù)發(fā)展的要求。造成這種現(xiàn)象的主要原因是:a. 前幾年齒輪制造業(yè)的發(fā)展以量為主,對(duì)質(zhì)的要求尚不迫切,但今后,能否保證齒輪產(chǎn)品的質(zhì)量,是否擁有與產(chǎn)品等級(jí)相適應(yīng)的齒輪量?jī)x,將成為企業(yè)能否生存的關(guān)鍵;b.信息溝通不夠,技術(shù)交流偏少是造成我國(guó)齒輪生產(chǎn)企業(yè)儀器裝備落后的另外一個(gè)原因。許多齒輪生產(chǎn)企業(yè)對(duì)國(guó)內(nèi)齒輪量?jī)x的發(fā)展了解不夠,對(duì)齒輪量?jī)x的性能了解不夠,制約著齒輪量?jī)x進(jìn)入齒輪生產(chǎn)企業(yè)。事實(shí)上,這幾年在齒輪制造業(yè)迅猛發(fā)展的同時(shí),我國(guó)齒輪量?jī)x制造水平也經(jīng)歷了跨越式發(fā)展,特別是2000年以來(lái),以3903系列為代表的CNC齒輪測(cè)量中心投放市場(chǎng),標(biāo)志著我國(guó)齒輪量?jī)x的制造水平達(dá)到了當(dāng)今國(guó)際先進(jìn)水平,基本上可以滿足齒輪行業(yè)對(duì)測(cè)量?jī)x器的需求。
1.3國(guó)內(nèi)外發(fā)展?fàn)顩r[1]
1923年,德國(guó)Zeiss公司在世界上首次研究成功一種被稱為“Tooth surface Tester”的儀器,實(shí)際上是機(jī)械展成式萬(wàn)能漸開(kāi)線檢查儀。1965年,英國(guó)的
45
R.Munro博士研制成功光柵式單嚙儀,標(biāo)志著高精度測(cè)量齒輪動(dòng)態(tài)性能成為可能。
1970年,美國(guó)Fellow公司在芝加哥博覽會(huì)展出Microlog50,標(biāo)志著數(shù)控齒輪測(cè)量中心開(kāi)始投入使用,這是齒輪測(cè)量技術(shù)發(fā)展的轉(zhuǎn)折點(diǎn)。70年代以前,機(jī)械展成式測(cè)量技術(shù)已經(jīng)發(fā)展成熟,并在生產(chǎn)實(shí)踐中經(jīng)受了考驗(yàn)。經(jīng)過(guò)30多年的完善和推廣,齒輪整體誤差測(cè)量方法在我國(guó)已發(fā)展成為傳統(tǒng)元件的運(yùn)動(dòng)幾何測(cè)量法,其基本思想是將被測(cè)對(duì)象作為一個(gè)剛性的功能元件或傳動(dòng)元件與另一標(biāo)準(zhǔn)元件作嚙合運(yùn)動(dòng),通過(guò)測(cè)量嚙合運(yùn)動(dòng)誤差來(lái)反求被測(cè)量的誤差。
最近幾年一些新的齒輪測(cè)量?jī)x器也在不斷的涌現(xiàn),在新的齒輪精度國(guó)家標(biāo)準(zhǔn)中,齒輪精度的檢測(cè)項(xiàng)目有齒距偏差、齒廓偏差、螺旋線偏差、切向綜合偏差、徑向綜合偏差、徑向跳動(dòng)等項(xiàng)目。這里主要介紹以下幾種最為先進(jìn)的齒輪測(cè)量?jī)x:a. CNC齒輪測(cè)量中心3903/3906
3903/3906型CNC齒輪測(cè)量中心是哈量集團(tuán)精密量?jī)x公司開(kāi)發(fā)出的新產(chǎn)品,具有測(cè)量功能強(qiáng)、精度高、速度快等特點(diǎn),達(dá)到了當(dāng)代國(guó)際先進(jìn)水平.該中心可滿足用戶對(duì)齒輪精度的全面檢測(cè),工藝間檢測(cè)、刀具檢測(cè)等需求??赏瓿升X輪的齒距、齒廓 、螺旋線、徑跳、切向綜合(單截面整體誤差)等項(xiàng)目的檢測(cè),可測(cè)量的工件有齒輪、齒輪刀具(滾刀、插齒刀、剃齒刀等)、蝸輪、蝸桿、弧齒錐齒輪等。由于其工作原理上不需要標(biāo)準(zhǔn)齒輪、標(biāo)準(zhǔn)蝸桿等標(biāo)準(zhǔn)件和機(jī)械展成機(jī)構(gòu),測(cè)量運(yùn)動(dòng)由計(jì)算機(jī)數(shù)控系統(tǒng)來(lái)完成,因此可以根據(jù)用戶的要求,開(kāi)發(fā)出各種特殊軟件。整個(gè)操作界面漢字提示,操作簡(jiǎn)單,對(duì)操作人員的要求不高
b. PFSU系列齒輪測(cè)量機(jī)640/1200/1600[2]
該系列測(cè)量機(jī)是引進(jìn)德國(guó)克林貝格公司技術(shù)生產(chǎn)的,主要用于對(duì)大齒輪的測(cè)量。目前哈量集團(tuán)精密量?jī)x公司已經(jīng)完成了該測(cè)量機(jī)控制系統(tǒng)國(guó)產(chǎn)化改造.將過(guò)時(shí)的控制電路、記錄器等全部淘汰,采用新的工業(yè)控制計(jì)算機(jī)和可編程控制器,改造后的PFSU系列齒輪測(cè)量機(jī)不僅保留了儀器原有的全部功能,而且使儀器的功能和性能都有很大提升。齒輪的測(cè)量項(xiàng)目有齒廓、螺旋線、齒距、徑跳等,還可以測(cè)量齒輪刀具(滾刀、插齒刀、剃齒刀等)、蝸桿及工件表面粗糙度、工件錐度、圓度等形位誤差。針對(duì)國(guó)內(nèi)已有PFSU系列測(cè)量機(jī)的用戶,公司可提供升級(jí)改造服務(wù)。
c. 3004B、3006B、3008B系列萬(wàn)能齒輪測(cè)量機(jī)
該系列齒輪測(cè)量機(jī)是哈量集團(tuán)具有自主知識(shí)產(chǎn)權(quán)的智能化齒輪量?jī)x,在工作原理和儀器功能上接近CNC齒輪測(cè)量中心.測(cè)量中不需要標(biāo)準(zhǔn)齒輪、標(biāo)準(zhǔn)蝸桿,即可測(cè)量齒輪、齒輪刀具等工件的多項(xiàng)誤差,在測(cè)量效率要求不很高的情況下,可廣泛用于工廠計(jì)量室和車間檢測(cè)站,進(jìn)行精密測(cè)量。
d. 3100系列雙面嚙合檢查儀
主要檢測(cè)齒輪的徑向綜合誤差,可廣泛用于除汽車、摩托車行業(yè)4級(jí)以下精度齒輪的分選檢測(cè),工作效率高,精度穩(wěn)定。
e. 3200、3300系列齒形、齒向檢查儀
該系列測(cè)量?jī)x是機(jī)械展成式測(cè)量機(jī).根據(jù)測(cè)量要求的不同,有多種不同的機(jī)械結(jié)構(gòu),主要完成對(duì)齒輪齒形、齒向等單項(xiàng)誤差測(cè)量,儀器結(jié)構(gòu)簡(jiǎn)單、效率高、精度穩(wěn)定,可廣泛用于生產(chǎn)車間使用。
1.4本文的主要任務(wù)
本文分析了齒輪誤差測(cè)量的發(fā)展?fàn)顩r和特點(diǎn),針對(duì)國(guó)內(nèi)外出現(xiàn)的各種測(cè)量?jī)x器的局限和不足,提出改進(jìn)齒輪測(cè)量軟件測(cè)量齒輪的方法,并設(shè)計(jì)完成一種新型的、人機(jī)界面友好的,自動(dòng)化程度較高的齒輪測(cè)量軟件。
a. 首先通過(guò)對(duì)齒輪齒形和齒向測(cè)量原理以及齒輪測(cè)量機(jī)機(jī)械部分運(yùn)動(dòng)機(jī)理的理解,完成總體方案設(shè)計(jì);
b. 依據(jù)齒形、齒向測(cè)量原理建立齒形、齒向誤差測(cè)量算法,并完成齒形誤差軟件的程序流程;
c. 針對(duì)測(cè)量中出現(xiàn)特性和整個(gè)界面的易于操作性和美觀性,利用VisualC++6.0編程語(yǔ)言來(lái)實(shí)現(xiàn)齒形測(cè)量系統(tǒng)軟件的設(shè)計(jì);
d. 最后對(duì)所編寫(xiě)的測(cè)量軟件進(jìn)行模擬調(diào)試,并進(jìn)一步肯定了整個(gè)測(cè)量系統(tǒng)的合理性和實(shí)用性。
2 齒輪測(cè)量原理與總體方案設(shè)計(jì)
2 齒輪測(cè)量原理與總體方案設(shè)計(jì)
2.1齒輪齒形測(cè)量的方法與誤差分析
2.1.1齒形誤差的定義[3]
根據(jù)標(biāo)準(zhǔn)J B179-83規(guī)定,齒形誤差的定義是:在端截面上,齒形工作部分內(nèi)(齒頂?shù)估獠糠殖猓┌輰?shí)際齒形的兩條最近的設(shè)計(jì)齒形間的法向距離。由定義可知,在齒形誤差測(cè)量中應(yīng)測(cè)出實(shí)際齒形相對(duì)于設(shè)計(jì)齒形之誤差,設(shè)計(jì)齒形是指以漸開(kāi)線理論齒形為基礎(chǔ),考慮彈性變形和誤差對(duì)噪聲的影響而加以修正的齒形,在成對(duì)齒輪副中,可以設(shè)計(jì)為兩個(gè)齒輪都作齒頂修緣,也可以設(shè)計(jì)為一個(gè)齒輪(常是小齒輪)作齒頂修緣,齒根過(guò)切或設(shè)計(jì)為凸齒形,另一個(gè)相配的齒輪不作修正,修正量是很小的,僅有(0.01-0.05)m,或從2-3μm到30-50μm。因此,齒形誤差測(cè)量還是以實(shí)際齒形與理論漸開(kāi)線進(jìn)行比較作為基礎(chǔ)。
2.1.2 齒形誤差測(cè)量方法
a. 坐標(biāo)法 將被測(cè)齒形上若干點(diǎn)的實(shí)際坐標(biāo)與相應(yīng)的計(jì)算坐標(biāo)進(jìn)行比較從而計(jì)算出齒形誤差的方法稱為齒形誤差坐標(biāo)測(cè)量法。以坐標(biāo)法測(cè)量齒形誤差,既可以在以坐標(biāo)為測(cè)量原理所構(gòu)成的專用齒形誤差測(cè)量?jī)x上進(jìn)行,也可以在坐標(biāo)測(cè)量機(jī)或測(cè)量顯微鏡上測(cè)量。
b. 標(biāo)準(zhǔn)軌跡法 將被測(cè)齒形與儀器復(fù)現(xiàn)的理論漸開(kāi)線軌跡進(jìn)行比較從而求出齒形誤差的方法稱為齒形誤差的標(biāo)準(zhǔn)軌跡測(cè)量法。由于電子和計(jì)算機(jī)技術(shù)的發(fā)展,出現(xiàn)了用電子和機(jī)械共同組成的系統(tǒng)來(lái)復(fù)線理論漸開(kāi)線軌跡,這種系統(tǒng)可以進(jìn)行數(shù)控(NC),也可以由計(jì)算機(jī)進(jìn)行數(shù)控(CNC),稱這種方法為電子展成法。電子展成法正在發(fā)展中。
c. 標(biāo)準(zhǔn)曲線法 這種方法是使被測(cè)齒形與標(biāo)準(zhǔn)漸開(kāi)線齒形曲線直接進(jìn)行比較,從而測(cè)出齒形誤差,(標(biāo)準(zhǔn)漸開(kāi)線齒形曲線應(yīng)具有一定的準(zhǔn)確度)。這種方法可用于車間條件下的生產(chǎn)測(cè)量,也可用于高準(zhǔn)確度的實(shí)驗(yàn)室測(cè)量。
本文采用標(biāo)準(zhǔn)軌跡法進(jìn)行齒形與齒向的測(cè)量。
2.1.3齒形測(cè)量范圍的確定[4]
a. 確定起測(cè)圓的方法
(1).按與配對(duì)齒輪對(duì)嚙合的工作確定:當(dāng)被測(cè)齒輪Z1配對(duì)齒輪Z2相嚙合時(shí),被測(cè)齒輪Z1的實(shí)際部分是齒頂圓與工作圓之間的一段漸開(kāi)線齒形。所謂工作圓是指通過(guò)相嚙合的齒輪Z2的齒頂圓與嚙合線的交點(diǎn)a1。,其半徑為RA1的圓 [如
圖2.1a] ,
圖2.1 齒輪漸開(kāi)線
Ra1的計(jì)算如下:
Ra1= (2.1)
(2.2)
其中
(2.3)
(2.4)
(2.5)
式中Xt,Xn----端面和法向變位系數(shù);
--法向齒頂高降低系數(shù),高度變位時(shí)=0,角度變位時(shí)≠0。
(2.6)
(2.7)
(2.8)
式中---端面齒頂高將位系數(shù);
---端面中心距變動(dòng)系數(shù).
(2).按與標(biāo)準(zhǔn)齒條的工作圓確定:由于在測(cè)量單位個(gè)齒輪時(shí),常常不知與其嚙合的齒輪的參數(shù),為使測(cè)量的齒形工作部分稍大于齒形有效部分,可以按照被測(cè)齒輪與標(biāo)準(zhǔn)齒條嚙合時(shí)的有效工作部分來(lái)計(jì)算其工作圓。此時(shí)工作圓是指通過(guò)齒條的齒頂線與嚙合線的交點(diǎn)a2,其半徑為RA2的圓,[如圖2.1b]所示。RA2的計(jì)算如下:
(2.9)
(2.10)
(3).按進(jìn)入圓確定:為了簡(jiǎn)化計(jì)算,可以按進(jìn)入圓來(lái)確定起測(cè)點(diǎn)。進(jìn)入圓是指其半徑RA3與分度圓半徑相差C=(ha*-xs)ms的圓 [如圖2.1c]所示.RA3由下式計(jì)算:
RA3=(mn*z/2cos)-C (2.11)
C=hn*mn-Xnmn (2.12)
當(dāng)齒數(shù)少時(shí)按基圓確定:當(dāng)齒數(shù)Z≤33時(shí);rb≥RA3;當(dāng)Z≦16時(shí),rb≥RA2。因?yàn)橹辉诨鶊A外才有漸開(kāi)線,當(dāng)齒數(shù)少時(shí),應(yīng)該以基圓作為起測(cè)圓。
以上三種計(jì)算結(jié)果相比較,RA1≥RA2≥RA3,當(dāng)起測(cè)圓按進(jìn)入圓計(jì)算時(shí),齒形上被測(cè)范圍為最大,這將對(duì)切齒條件要求嚴(yán)格.如果測(cè)量高精度齒輪時(shí),應(yīng)當(dāng)選RA1來(lái)確定起測(cè)圓,以免對(duì)加工條件要求過(guò)嚴(yán).對(duì)非特殊要求的齒輪可按RA2確定起測(cè)圓.
b. 起測(cè)和終測(cè)展開(kāi)角和展開(kāi)長(zhǎng)度的計(jì)算[5]
由于齒形測(cè)量是按照展成角度或展開(kāi)長(zhǎng)度進(jìn)行的,實(shí)際的測(cè)量范圍是以展成角或展成長(zhǎng)度來(lái)表示的。[如圖2.2]所示 起測(cè)點(diǎn)A所對(duì)應(yīng)的展開(kāi)角與展開(kāi)長(zhǎng)度稱為起測(cè)展開(kāi)角ΦA(chǔ)與起測(cè)展開(kāi)長(zhǎng)度LA.終測(cè)點(diǎn)B所對(duì)應(yīng)的為終測(cè)展開(kāi)角ΦB,終測(cè)展開(kāi)長(zhǎng)度LB.
ΦA(chǔ)與LA根據(jù)起測(cè)圓半徑RA計(jì)算:
ΦA(chǔ)= (2.13)
LA= (2.14)
(2.15)
RA根據(jù)選用的RA1,RA2或RA3代入上式
ΦB與LB一般按齒頂圓作為終測(cè)圓計(jì)算:
ΦB= (2.16)
LB=
(2.17)
2.1.4 齒形誤差評(píng)定與分析
a. 齒形誤差的評(píng)定
用齒形誤差曲線圖表示齒形誤差。曲線圖的橫坐標(biāo)表示展開(kāi)角度Φ或展開(kāi)長(zhǎng)度L,縱坐標(biāo)表示個(gè)測(cè)量點(diǎn)的齒形誤差Δffi(即展開(kāi)長(zhǎng)度的誤差ΔLi),見(jiàn)圖2.1。如果被測(cè)齒形與理論漸開(kāi)線沒(méi)有差別,在記錄圖上記錄為平行于橫坐標(biāo)的直線。在確定了齒形測(cè)量范圍(A、B)之后,在此范圍內(nèi)作兩條平行線分別與齒形誤差曲線的上下兩個(gè)最高點(diǎn)相切,平行線間的縱坐標(biāo)格數(shù)乘以誤差放大比即可得到齒形誤差Δff。為了反映齒輪偏心等因素的影響,測(cè)量均布的四個(gè)齒面的齒形誤差,以期最大值作為該齒輪的齒形誤差,用來(lái)評(píng)定該齒輪的齒形質(zhì)量是否合于要求。
b. 齒形誤差的分析
對(duì)方程式L=γbΦ=(mzφcosα/2)全微分并取增量形式,可得
ΔL=ΔγbΦ+γbΔΦ (2.18)
或 ΔL=-bΔΦ。 (2.19)
展開(kāi)長(zhǎng)度的變化就是齒形誤差,有上式可以看出,基圓半徑的變化Δγb或壓力角的變化Δα都是影響齒形誤差的因素,其主要的工藝原因是刀具的齒形角有誤差。由于齒形角誤差Δα在一般情況下可以認(rèn)為是定值,所以,ΔL與Φ的關(guān)系是線性關(guān)系。如果沒(méi)有其他的誤差因素,僅有由于齒形角誤差所造成的壓力角誤差,齒形誤差的記錄曲線是一條與橫坐標(biāo)有一定夾角的傾斜直線。
由以上分析可知,齒形誤差由兩部分組成:①由壓力角誤差Δα(或基圓半徑誤差Δγb)引起的漸開(kāi)線齒形的傾斜誤差Δffα,以齒形誤差曲線的中線Cc在測(cè)量范圍內(nèi)相對(duì)于橫坐標(biāo)的最大偏移量來(lái)度量;②由機(jī)床傳動(dòng)鏈誤差引起的漸開(kāi)線齒形的形狀誤差Δffx,沿中線Cc的方向左兩條能包容齒形誤差曲線的平行線,它們之間沿著橫坐標(biāo)的距離即為Δffx。
圖2.2 齒形誤差分析
c. 確定中線cc的方法
為了求出Δfα和Δfx的數(shù)值,首先要確定中線cc的位置。
(1).計(jì)算法:根據(jù)最小二乘法原理求出齒形誤差曲線的擬合直線即為中線。表征直線方程的參數(shù)為直線的斜率,計(jì)算擬合直線的斜率K的方法為:在測(cè)得的曲線上取一系列點(diǎn)的坐標(biāo)值(φ1, ΔL1 ),(φ2, ΔL2 )……(φi,ΔLi),
斜率計(jì)算式為:
(2.20)
式中 ΔLi: i點(diǎn)的展開(kāi)長(zhǎng)度增量;
、分別為及的平均值;
n: 測(cè)量點(diǎn)的總數(shù)。
這種方法的精度高,但計(jì)算較為復(fù)雜,一般為手工計(jì)算所不用,當(dāng)測(cè)量系統(tǒng)由計(jì)算機(jī)控制和進(jìn)行數(shù)據(jù)處理時(shí)常常用這種方法,這時(shí)可由測(cè)出的各個(gè)坐標(biāo)值直接進(jìn)行計(jì)算。
(2).作圖法:對(duì)于一般精度的測(cè)量,常常用目估作圖法確定中線。即在所得的齒形誤差曲線圖上畫(huà)一條直線,使在測(cè)量范圍內(nèi),直線兩邊的齒形誤差曲線與直線間所包容的面積相等,這條直線就是中線cc。
這種方法精度不高,但簡(jiǎn)單易性。而且目估的方向,對(duì)于一個(gè)熟練的測(cè)量者來(lái)說(shuō)也不會(huì)偏離最小二乘法所確定中線的2度的范圍,這是測(cè)量精度所允許的。
d. 基圓半徑誤差Δrb
由式(2.18)的前一項(xiàng)可以知道,當(dāng)僅有基圓半徑誤差Δrb時(shí),齒形誤差曲線是一條與橫坐標(biāo)有夾角的直線,由計(jì)算法求出中線的斜率即為基圓半徑誤差:
Δrb=K (2.21)
由作圓法確定中線后可以在曲線上直接量出傾斜誤差Δfa,這時(shí)由下式計(jì)算基圓半徑誤差:
Δrb=Δfa/Φab (2.22)
式中 Δfa----曲線圖中傾斜誤差的坐標(biāo)值,單位為μm;
Φab----曲線圖中測(cè)量范圍內(nèi)展開(kāi)角,單位為rab;
Rb----基圓半徑,單位μm.
2.2齒輪齒向測(cè)量的方法與誤差分析
2.2.1齒向誤差的定義
在分度圓柱面(允許在齒高中部測(cè)量)上,齒寬工作部分范圍內(nèi)(端部倒角部分除外)包容實(shí)際齒向線的兩條最近的設(shè)計(jì)齒向線之間的端面距離。
2.2.2齒向誤差測(cè)量方法
(1). 標(biāo)準(zhǔn)軌跡法 測(cè)量?jī)x器形成標(biāo)準(zhǔn)的螺旋運(yùn)動(dòng)與被測(cè)齒輪的螺旋線進(jìn)行比較測(cè)量,齒向誤差直接由測(cè)量裝置指示出來(lái)。形成標(biāo)準(zhǔn)的螺旋線軌跡的裝置可以是機(jī)械式的、光學(xué)機(jī)械式的,也可以是電子展成式的。
(2). 坐標(biāo)測(cè)量法 螺旋線是一條空間曲線,可按照螺旋線形成原理分別測(cè)量齒輪轉(zhuǎn)角和測(cè)頭齒輪方向的位置,然后與相應(yīng)的理論值進(jìn)行比較,計(jì)算出齒輪向的誤差;或者按照空間直角坐標(biāo)沿螺旋線逐點(diǎn)測(cè)量其三個(gè)坐標(biāo)值,然后計(jì)算出齒向誤差。
2.2.3齒向誤差評(píng)定與分析
齒向誤差在一般情況下是由兩部分組成的,即齒向線的位置誤差和形狀,如下圖2.3所示。齒向線的位置誤差也就是螺旋線角誤差的線值,用Δfhβ來(lái)表示。確定Δfhβ數(shù)值時(shí)要用最小二乘法回歸出一條中線,在要求不十分精確的情況下也可以用作圖法使中線兩邊曲線多包圍的面積相等來(lái)確定中線的位置。包容實(shí)際齒向誤差曲線且與中線平行的兩條直線之間的距離(仍為齒輪端面距離,在ΔFβ方向計(jì)算)即為形狀誤差,用Δfhβ來(lái)表示。將齒向誤差分為位置誤差和形狀誤差將有助于分析齒向的加工誤差。
由Δfhβ即可以求的螺旋角的誤差,因?yàn)?
tgβ=rφ/b` (2.23)
將此式微分并取增量形式,且Δ(rφ)=Δfhβ,則
Δβ=(Δfhβ/b`) cosβ*cosβ (2.24)
式中b`----齒寬工作部分。
圖2.4給出了兩種典型的齒向誤差曲線。圖a是左、右齒面的齒向線位置誤差Δfhβ數(shù)值相近而符號(hào)相同(偏向齒體內(nèi)的誤差為負(fù)值),其螺旋角誤差方向相反,主要是由于加工時(shí)刀具沿著工件軸線方向進(jìn)給時(shí),刀具的運(yùn)動(dòng)方向與工件軸線方向不平行所引起的,其不平行度由左、右齒面的齒向線位置誤差的平均值來(lái)確定的,即:
Δ=(ΔfhβL+ΔfhβR)/2tga (2.25)
圖2.4是左、右齒面的齒向線位置誤差Δfhβ的數(shù)值相近而符號(hào)相反,即左、右齒面螺旋角誤差方向相同的情況。這主要是由于刀具軸向進(jìn)給方向相對(duì)于工件軸線傾斜所造成的,其傾斜度按左、右齒面齒向線位置誤差的絕對(duì)值之平均值來(lái)確定,即:
Δ=ΔfhβL+ΔfhβR/2 (2.26)
工件的安裝誤差也會(huì)造成工件軸線相對(duì)于刀具軸向進(jìn)給方向傾斜,而且二者相對(duì)的傾斜度是工件轉(zhuǎn)角的函數(shù),這就導(dǎo)致一個(gè)齒輪上各個(gè)齒的齒向誤差數(shù)值不同。
圖2.3齒向誤差評(píng)定法
圖2.4齒向誤差曲線
由于機(jī)床傳動(dòng)鏈的傳動(dòng)比不準(zhǔn)確也會(huì)造成Δfhβ的值相近而異號(hào)的誤差,因此在分析工藝誤差的時(shí)候要結(jié)合具體加工條件進(jìn)行分析。
當(dāng)左、右齒面的齒向誤差曲線較大,ΔfhβL的值也相差較大,則是兼有幾種工藝誤差因數(shù)的綜合作用,可先找出主要工藝誤差因數(shù),再按照任一齒面的Δfhβ值對(duì)兩齒面Δfhβ的平均值之間來(lái)估算其它工藝誤差的因數(shù)。
齒向誤差的形狀誤差 Δfβf 是由于切齒加工中刀具相對(duì)于工件軸線移動(dòng)的導(dǎo)軌的直線度誤差及軸向進(jìn)給絲杠的軸向竄動(dòng)等因數(shù)所引起。
2.3 總體方案設(shè)計(jì)
本設(shè)計(jì)采用標(biāo)準(zhǔn)軌跡法進(jìn)行齒輪齒形齒向的誤差測(cè)量,將被測(cè)齒輪的實(shí)際齒形與儀器復(fù)現(xiàn)的理論漸開(kāi)線進(jìn)行比較從而得出誤差的測(cè)量方法,運(yùn)動(dòng)的合成經(jīng)參數(shù)設(shè)置完成后計(jì)算機(jī)自動(dòng)進(jìn)行計(jì)算,控制控制系統(tǒng)發(fā)出指令脈沖,驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)完成相應(yīng)的運(yùn)動(dòng),硬件數(shù)據(jù)采集系統(tǒng)從安裝在滑架上的測(cè)頭采集數(shù)據(jù),送入計(jì)算機(jī)進(jìn)行計(jì)算,得出誤差結(jié)果,轉(zhuǎn)化為圖形和數(shù)字量形式的結(jié)果輸出。
根據(jù)系統(tǒng)的特點(diǎn),對(duì)軟件的編寫(xiě)擬采用可視化編程語(yǔ)言Visual C++6.0進(jìn)行開(kāi)發(fā),因?yàn)樵撜Z(yǔ)言執(zhí)行速度快,人機(jī)界面友好,具有較高的操作系統(tǒng)訪問(wèn)權(quán)。齒形測(cè)量程序設(shè)計(jì)時(shí)主要完成齒形測(cè)量中的數(shù)據(jù)采樣和結(jié)果的處理,并根據(jù)測(cè)量算法得到齒廓總偏差、齒廓斜率偏差、齒廓形狀偏差和齒廓誤差曲線,通過(guò)對(duì)齒形誤差測(cè)量方法的分析并結(jié)合機(jī)械部分運(yùn)動(dòng)機(jī)理,齒形誤差測(cè)量的理論方方法采樣坐標(biāo)法;齒向測(cè)量程序設(shè)計(jì)時(shí)主要完成齒向測(cè)量中的數(shù)據(jù)采樣和結(jié)果的處理,并根據(jù)測(cè)量算法得到齒向總偏差ΔFβ、齒向斜率偏差Δfhβ、齒向形狀偏差Δffβ和齒向誤差曲線,通過(guò)對(duì)齒形誤差測(cè)量方法的分析并結(jié)合機(jī)械部分運(yùn)動(dòng)機(jī)理,齒向誤差測(cè)量的理論方方法采樣標(biāo)準(zhǔn)軌跡法。最后所有的誤差結(jié)果以文字和圖形的方式顯示在屏幕上,而且用戶的所由參數(shù)以對(duì)話框的形式由用戶通過(guò)鍵盤輸入。
3 板卡操作
3 板卡操作
3.1接口方案[6]
綜合考慮此設(shè)計(jì),計(jì)算機(jī)需要完成如下任務(wù):a.從控制面板讀鍵產(chǎn)生相應(yīng)動(dòng)作,當(dāng)測(cè)量者按下操作面板的按鍵時(shí),計(jì)算機(jī)要能對(duì)其識(shí)別并發(fā)出指令,驅(qū)動(dòng)系統(tǒng)動(dòng)作完成測(cè)量,為此,測(cè)量系統(tǒng)需要一個(gè)開(kāi)關(guān)量輸入設(shè)備;b.由于計(jì)算機(jī)只能對(duì)數(shù)字量進(jìn)行處理,而數(shù)據(jù)采集系統(tǒng)采集到的信號(hào)為電壓模擬信號(hào),因此在計(jì)算機(jī)與數(shù)據(jù)采集系統(tǒng)之間需要一塊 A/D轉(zhuǎn)換卡,本設(shè)計(jì)中采用北京華遠(yuǎn)自動(dòng)化公司的HY6040A/D轉(zhuǎn)化卡、HY 6110數(shù)字量輸入卡,光柵數(shù)據(jù)采集卡選用CA220 -PCI,其中前兩個(gè)板卡為ISA接口,設(shè)計(jì)中采用Ntport library軟件,它允許win32程序?qū)崟r(shí)直接訪問(wèn)pc機(jī)的i/o端口而無(wú)須使用windows drivers development kit(ddk) 或其他工具。Ntport library支持windows 95/98 和windows nt/2000/xp。并且非常容易使用,在windows nt/2000/xp下,ntport library 驅(qū)動(dòng)程序可以動(dòng)態(tài)地加載和卸載,不需要做任何設(shè)置工作。ntport library也是basic的inp或out命令的替代品。ntport library還可以獲得lpt端口的基地址。而PCI-CA220是基于PCI總線的采集卡,PCI總線系統(tǒng)要求有一個(gè)PCI控制卡,它必須安裝在一個(gè)PCI插槽內(nèi)。根據(jù)實(shí)現(xiàn)方式,PCI控制器可以與一次交換32位或64位數(shù)據(jù),它允許智能PCI輔助適配器利用一種總線主控技術(shù)與CPU并行地執(zhí)行任務(wù)。
3.2 HY6040板卡介紹及操作[7]
HY6040板是一種光電隔離型的多功能A/D板,它有三種不同的觸發(fā)方式:軟件觸發(fā)、定時(shí)觸發(fā)和外部觸發(fā)。
本設(shè)計(jì)采用軟件觸發(fā),主要操作步驟如下:
(1). 對(duì)“BASE+4”口進(jìn)行讀操作,清除A/D完成位,避免引起系統(tǒng)誤操作。
(2). 對(duì)“BASE+1”口進(jìn)行寫(xiě)操作,選擇模擬輸入通道和程控增益。
(3). 對(duì)“BASE+0”口進(jìn)行寫(xiě)操作,關(guān)閉定時(shí)觸發(fā)、外觸發(fā)。
(4). 對(duì)“BASE+2”口進(jìn)行寫(xiě)操作,觸發(fā)A/D轉(zhuǎn)換。
(5). 從“BASE+0”口進(jìn)行讀操作,讀取板狀態(tài)字,檢測(cè)A/D的轉(zhuǎn)換完成位 是否為“1”。
(6). 當(dāng)A/D轉(zhuǎn)換完成位為“1”后,延時(shí)大約25μs。
(7). 從“BASE+3”和“BASE+4”口讀取轉(zhuǎn)換結(jié)果。
軟件在查詢方式下,用戶編程自行決定在檢測(cè)到A/D轉(zhuǎn)換完成后延時(shí)多長(zhǎng)時(shí)間,才讀取A/D轉(zhuǎn)換結(jié)果。對(duì)應(yīng)部分程序代碼如下
_outp(base_ad+2,0); //讀基地址+2位,是否啟動(dòng)A/D轉(zhuǎn)換
_inp(base_ad+3); //讀A/D轉(zhuǎn)換結(jié)果低8位
_inp(base_ad+4)&0x0f; //讀A/D轉(zhuǎn)換結(jié)果高4位
int mydata=ldata|(hdata<<8); //獲得采樣數(shù)據(jù)
3.3 HY6110板卡介紹及操作
HY6110板是IBM-PC XT/AT總線兼容的32通道隔離型數(shù)字量輸入板。電路中74LS244構(gòu)成4*8Bit(32通道)并進(jìn)行輸入通道。每一路通道輸入均用光電耦合器件將計(jì)算機(jī)系統(tǒng)地與現(xiàn)場(chǎng)信號(hào)地隔離。為了使阻斷現(xiàn)場(chǎng)信號(hào)與計(jì)算機(jī)系統(tǒng)地間的地環(huán)流通道,采用光電耦合器件作為輸入電路。由于光電耦合器件的初,次級(jí)間受上千伏的電壓,因此,不斷阻斷了地環(huán)流通道,而且可以有效防止誤輸入高壓損壞計(jì)算機(jī)。這大大的提高了計(jì)算機(jī)監(jiān)測(cè)系統(tǒng)的工作穩(wěn)定和可靠性,6110板的操作非常方便,其方式有兩種:一是直接用I/O 命令操作,二是用中斷方式操作。HY6110板的操作非常簡(jiǎn)便。方式有:一是直接用I/O命令操作,二是用中斷方式操作。
D/I00-D/I37數(shù)字量信號(hào),可以是開(kāi)關(guān)接點(diǎn),也可以是電平信號(hào),當(dāng)數(shù)字量信號(hào)為開(kāi)關(guān)接點(diǎn)時(shí),開(kāi)關(guān)的一端接D/I輸入端,另一端接外加電源地,HY6110即可檢測(cè)到開(kāi)關(guān)的通斷。開(kāi)關(guān)斷開(kāi)時(shí),輸入數(shù)字量為1,開(kāi)關(guān)接通時(shí),輸入數(shù)字量0。
板內(nèi)地址分配:基地址+0:讀D/I00-D/I07 基地址+1:讀D/I10-D/I17
基地址+2:讀D/I20-D/I27 基地址+3:讀D/I30-D/I47
設(shè)計(jì)中通過(guò)HY6110把計(jì)算機(jī)與控制面板連接起來(lái),進(jìn)行實(shí)時(shí)通訊,當(dāng)檢測(cè)到操作面板有鍵按下時(shí),6110把這種開(kāi)關(guān)量輸入給計(jì)算機(jī),計(jì)算機(jī)接收到指令后根據(jù)軟件產(chǎn)生相應(yīng)的動(dòng)作,例如,當(dāng)用戶在操作面板上按下“齒形測(cè)量”鍵時(shí),計(jì)算機(jī)通過(guò)檢測(cè)到測(cè)量鍵的位值為“1”時(shí),便進(jìn)入齒形測(cè)量的子程序,此過(guò)程稱為一個(gè)線程。操作面板就是這樣通過(guò)6110與計(jì)算機(jī)連接的。
3.4 CA220-PCI
3.4.1 CA220-PCI簡(jiǎn)介[8]
CA系列光柵細(xì)分?jǐn)?shù)據(jù)采集卡廣泛應(yīng)用于測(cè)量與控制領(lǐng)域,有的還成為測(cè)量?jī)x器的核心部件,所有CA系列產(chǎn)品都采用硬件細(xì)分、硬件計(jì)數(shù)、硬件鎖存,采樣速度高,完全能滿足精密測(cè)量和數(shù)控的要求。從接口上分為ISA類卡和PCI類卡,采用PCI總線規(guī)范設(shè)計(jì),適用于目前流行Windows平臺(tái)。
3.4.2 CA220-PCI操作過(guò)程
對(duì)CA220卡的操作過(guò)程基本上分為如下幾步:?jiǎn)?dòng)設(shè)備、獲得X、Y雙坐標(biāo)過(guò)零清零狀態(tài)、讀取X、Y雙坐標(biāo)的值、關(guān)閉設(shè)備。
打開(kāi)CA設(shè)備數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)代碼:
typedef struct _devinfo
{
BYTE SlotNum;
BYTE BusType;
BYTE Axise;
BYTE Init_Times;
char DevName[40];
BOOL Int_Flag;
}DEVINFO;
計(jì)數(shù)器值數(shù)據(jù)結(jié)構(gòu):(雙坐標(biāo))
typedef struct_TWO
{
long x;
long y;
} Two;
BOOL WINAPI CAisXPassedZeroClear(long Index) 獲得X坐標(biāo)過(guò)零清零狀態(tài)。
BOOL WINAPI CAisYPassedZeroClear(long Index) 獲得Y坐標(biāo)過(guò)零清零狀態(tài)。
BOOL WINAPI CASetXPassedZeroClear(long Index,BOOL Enable)啟動(dòng)X坐標(biāo)過(guò)零清零功能。
BOOL WINAPI CASetXPassedZeroClear(long Index,BOOL Enable)…啟動(dòng)Y坐標(biāo)過(guò)零清零功能。
BOOL WINAPI CAGetTwoZeroIntCoord(long Index ,Two *d)…得到過(guò)零中斷雙坐標(biāo)指定設(shè)備的坐標(biāo)值。
(pGetTwoCoord)(ch1,&_two); 獲得X,Y當(dāng)前坐標(biāo)
typedef void(_stdcall CA2CloseAll)(void);//關(guān)閉所有CA設(shè)備
4 EFRS-401MZ齒輪測(cè)量機(jī)軟件設(shè)計(jì)
4 EFRS-401MZ齒輪測(cè)量機(jī)軟件設(shè)計(jì)
4.1開(kāi)發(fā)軟件簡(jiǎn)介[9]
EFRS-401MZ齒輪測(cè)量機(jī)的軟件設(shè)計(jì)擬采用VisualC++6.0語(yǔ)言進(jìn)行編制。 Visual C++6.0是Microsoft公司開(kāi)發(fā)的基于C/C++的集成開(kāi)發(fā)工具,它是Visual Studio中功能最為強(qiáng)大、代碼效率最高的開(kāi)發(fā)工具。
另外,Visual C++6.0還提供了很多的向?qū)?。MFC提供了一些新的類,提供了更強(qiáng)大的數(shù)據(jù)訪問(wèn)功能,微軟基礎(chǔ)類庫(kù)MFC(Microsoft Foundation Classes)有三個(gè)基本的架構(gòu):
a.單文檔
b.多文檔
c.對(duì)話框
本設(shè)計(jì)采用基于單文檔視圖的框架結(jié)構(gòu)來(lái)實(shí)現(xiàn)軟件編程。
4.2 用戶需求
整個(gè)軟件設(shè)計(jì)的基本要素包括:軟件設(shè)計(jì)的目的、設(shè)計(jì)實(shí)現(xiàn)的方法、軟件設(shè)計(jì)的內(nèi)容。軟件設(shè)計(jì)就是要利用各種設(shè)計(jì)方法把要設(shè)計(jì)的內(nèi)容有機(jī)的結(jié)合起來(lái)以實(shí)現(xiàn)軟件設(shè)計(jì)的目的。在本課題中,系統(tǒng)軟件設(shè)計(jì)的目的是實(shí)現(xiàn)測(cè)量齒輪齒形和齒向的誤差,并且要有良好的人機(jī)界面,使用軟件操作簡(jiǎn)單明了,系統(tǒng)運(yùn)行安全穩(wěn)定。軟件設(shè)計(jì)的內(nèi)容包括:齒形采樣程序設(shè)計(jì)、齒向采樣程序設(shè)計(jì)、齒形誤差的分析與計(jì)算、齒向誤差的分析與計(jì)算、齒形和齒向誤差結(jié)果數(shù)據(jù)的顯示等。軟件設(shè)計(jì)的方法有很多種,不同的設(shè)計(jì)方法就有不同的效果,這是軟件設(shè)計(jì)的關(guān)鍵。
根據(jù)齒輪測(cè)量機(jī)這一要求,程序必須具有實(shí)時(shí)性并且能夠?qū)τ?jì)算機(jī)的接口進(jìn)行編程并加以控制;在軟件設(shè)計(jì)中,用戶的界面是否良好,直接關(guān)系到人們的使用效果和整個(gè)儀器的的實(shí)用性,根據(jù)本測(cè)量系統(tǒng)自身的特點(diǎn),為了設(shè)計(jì)開(kāi)發(fā)一個(gè)方便美觀利于操作者使用的用戶界面,具有人機(jī)交換的功能,整個(gè)系統(tǒng)界面使用VisualC++6.0編程語(yǔ)言來(lái)實(shí)現(xiàn),因?yàn)閂isualC++6.0語(yǔ)言具有強(qiáng)大的接口訪問(wèn)能力,并且能夠進(jìn)行計(jì)算機(jī)的中斷控制,同時(shí)VisualC++6.0語(yǔ)言運(yùn)行速度快,占用的計(jì)算機(jī)的資源相對(duì)較小,所以對(duì)于計(jì)算機(jī)控制來(lái)說(shuō),使用VisualC++6.0語(yǔ)言進(jìn)行編程是最佳的選擇,同時(shí)VisualC++6.0是一種可視化的、面向?qū)ο蟮?、采用事件?qū)動(dòng)結(jié)構(gòu)的高級(jí)程序設(shè)計(jì)語(yǔ)言,可視化可以使開(kāi)發(fā)人員不必為界面設(shè)計(jì)
而編寫(xiě)大量的程序代碼,只需要按設(shè)計(jì)要求屏幕布局,用系統(tǒng)提供的工具在屏幕上畫(huà)出各個(gè)部件,并設(shè)置這些對(duì)象的屬性即可生成相應(yīng)的程序。從而大大的提高了程序設(shè)計(jì)的效率,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,是對(duì)象成為實(shí)在的東西,在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,這樣可以使程序設(shè)計(jì)結(jié)構(gòu)更加嚴(yán)謹(jǐn),設(shè)計(jì)效率大大提高。傳統(tǒng)的編程是面向過(guò)程,按規(guī)定的順序進(jìn)行的,程序設(shè)計(jì)人員總是在關(guān)心什么時(shí)候會(huì)發(fā)生什么事情,而用事件驅(qū)動(dòng)方式設(shè)計(jì)程序時(shí),程序員不必給出按精確次序執(zhí)行的每個(gè)步驟,只是編寫(xiě)相應(yīng)的用戶動(dòng)作的程序,這些程序都是由用戶啟動(dòng)的事件來(lái)激發(fā),從而大大降低了編程的難度和工作量,提高了編程效率。
通過(guò)以上的分析,本次軟件采用VisualC++6.0語(yǔ)言來(lái)實(shí)現(xiàn)。這樣既可以實(shí)現(xiàn)在機(jī)測(cè)量的硬件控制,又具有優(yōu)美大方的操作界面[10]。
4.3軟件的界面設(shè)計(jì)
測(cè)量系統(tǒng)軟件要求具有友好的人機(jī)對(duì)話界面,齒輪的相關(guān)參數(shù)、最終結(jié)果的顯示等都需要界面來(lái)實(shí)現(xiàn)。由于測(cè)量軟件的編寫(xiě)采用VisualC++6.0,而VisualC++6.0是一種可視化編程語(yǔ)言,它具有設(shè)計(jì)方便、界面美觀大方、易于控制的特點(diǎn),完全可以滿足設(shè)計(jì)需要。
在本設(shè)計(jì)中,采用單文檔滾動(dòng)視圖的方法來(lái)實(shí)現(xiàn)。
4.3.1界面應(yīng)具備的功能元素
由于要進(jìn)行齒形與齒向的測(cè)量,主界面應(yīng)包括以下單元:
a.被測(cè)工件的基本參數(shù),即工件序號(hào)、齒數(shù)、模數(shù)等等,這些信息在參數(shù)設(shè)置完成后被保存,在結(jié)果輸出中顯示。因此在進(jìn)行對(duì)話框的設(shè)置時(shí)主要添加靜態(tài)文本控件(static text)以及編輯框(Edit box)兩大類,單擊完成后軟件自動(dòng)從編輯框中讀取數(shù)據(jù)保存在地址變量中,還應(yīng)添加按鈕(pushbotton)來(lái)實(shí)現(xiàn)。
b.主界面顯示的測(cè)量結(jié)果。結(jié)果的輸出形式有兩種:一是表現(xiàn)形式為數(shù)字量的一個(gè)誤差值。二是誤差曲線圖,本設(shè)計(jì)中采用如下繪圖指令:
選擇CDC派生類中的CpaintDC指令,繪圖在WM_PAINT消息的響應(yīng)函數(shù)OnPaint()中進(jìn)行。繪圖使用的設(shè)備對(duì)象就是CpaintDC類對(duì)象。一條曲線可以看作是由許多條短直線組成的,在此測(cè)量中,橫坐標(biāo)表示采樣點(diǎn),縱坐標(biāo)表示每一個(gè)采樣點(diǎn)的誤差值,由于采樣點(diǎn)足夠多,故只需在每?jī)蓚€(gè)采樣點(diǎn)間繪出直線,其最終的連接圖形即為誤差曲線。其繪圖指令為:
dc.MoveTo(x0,y0); 將畫(huà)筆的起始點(diǎn)移至(x0,y0)坐標(biāo)。dc為指向指定的裝置.
dc.LineTo(x1,y1); 從(x0,y0)畫(huà)直線至(x1,y1)
dc.TextOut(x,y,“xxxx”); 在(x,y)坐標(biāo)中輸出文字“xxxx”。
c.進(jìn)行零位調(diào)整時(shí)采用了進(jìn)度條顯示選項(xiàng),設(shè)計(jì)時(shí)在界面中添加進(jìn)度條控件,它是用來(lái)顯示操作過(guò)程進(jìn)度的窗口,對(duì)應(yīng)的常用函數(shù)如下:
void SetRange(short nLower,short n Upper); 設(shè)置進(jìn)度條范圍函數(shù)。
void GetRange(int&nlower,int&nUpper); 得到進(jìn)度條范圍函數(shù)。
int SetPos(nit nPos); 設(shè)置當(dāng)前進(jìn)度條函數(shù)。
nLower 為進(jìn)度條下限,nUpper 為進(jìn)度條上限。
d.測(cè)量選項(xiàng)中有左右齒面的測(cè)量選擇,故還應(yīng)添加單選按鈕,對(duì)應(yīng)CBOTTON類。
void SetCheck(int nCheck); 設(shè)置按鈕選中。
void GetCheck(); 獲取按鈕選中狀態(tài)。
4.3.2具體界面設(shè)計(jì)
a.如下圖4.1所示,為參數(shù)設(shè)置輸入窗口,在此窗口中輸入進(jìn)行測(cè)量和計(jì)算所需的各種基礎(chǔ)數(shù)據(jù),如:工件圖號(hào)、順序號(hào)、齒數(shù)、法向壓力角、法向模數(shù)、測(cè)頭外徑、變?yōu)橄禂?shù)、齒面寬度等、螺旋角等。這些數(shù)據(jù)必須在測(cè)量計(jì)算前輸入,輸入后按“完成”即可。
圖4.1 參數(shù)設(shè)置對(duì)話框
界面的制作主要是通過(guò)給對(duì)話框添加控件來(lái)完成的,Visual C++提供了許多控件類型,例如編輯框、按鈕、組框、進(jìn)度條等等,添加控件完成后,先對(duì)控件編制ID號(hào)、變量名,然后對(duì)不同的控件類型建立類向?qū)?,添加響?yīng)函數(shù),再給其中添加指令語(yǔ)句進(jìn)行控制以實(shí)現(xiàn)預(yù)定的功能。
此對(duì)話框中,在用戶從編輯框輸入相關(guān)參數(shù)后,這些參數(shù)便被保存在編輯框?qū)?yīng)的變量名中,便于后續(xù)計(jì)算時(shí)調(diào)入。
b.圖4.2為零點(diǎn)校正對(duì)話框,此時(shí)用戶通過(guò)手動(dòng)調(diào)整T軸與Z軸的位置使得通過(guò)兩軸的光柵位移為零,進(jìn)度條顯示調(diào)整的進(jìn)度,當(dāng)藍(lán)條充滿時(shí)代表調(diào)整完畢,單擊“確定”完成零點(diǎn)校正,進(jìn)入測(cè)量下一步。
圖4.2 零點(diǎn)校正對(duì)話框
c.如圖4.3,在此界面下,測(cè)量人員可以根據(jù)所要求測(cè)量的項(xiàng)目進(jìn)行選擇,確定是測(cè)量齒形誤差還是齒向誤差,在選定所要測(cè)量的項(xiàng)目后點(diǎn)“確定”。
圖4.3 測(cè)量項(xiàng)目選擇對(duì)話框
d.圖4.4為測(cè)量選項(xiàng)對(duì)話框,用戶在測(cè)量選項(xiàng)欄中選擇要測(cè)量的齒面,在繪
圖參數(shù)中選擇繪圖位置,并輸入齒序號(hào)。單擊確定完成輸入,系統(tǒng)開(kāi)始測(cè)量。
圖4.4 測(cè)量選項(xiàng)對(duì)話框
e. 圖4.5為結(jié)果輸出欄,齒形誤差和齒向誤差都有兩種顯示方式:即誤差曲線和數(shù)據(jù)報(bào)表。如圖4.5所示為他可以同時(shí)顯示出齒輪的誤差 并以圖像的形式展現(xiàn)在測(cè)量者的面前,使測(cè)量者一目了然的就可以看出齒輪的等級(jí)和誤差。
圖4.5 結(jié)果輸出
4.4總體程序流程圖
開(kāi) 始
系統(tǒng)初始化上電
參數(shù)設(shè)置
保存參數(shù)
調(diào)整齒輪與測(cè)頭位置
采集光柵值
讀數(shù)據(jù)
數(shù)據(jù)運(yùn)算
N
初值為零?
Y
讀6110數(shù)據(jù)
齒向測(cè)量
齒形測(cè)量
進(jìn)入測(cè)量子程序
數(shù)據(jù)運(yùn)算
儀器調(diào)整
生成運(yùn)動(dòng)控制指令
讀測(cè)量鍵
N
開(kāi)始測(cè)量?
Y
運(yùn)動(dòng)合成
采集數(shù)據(jù)
啟動(dòng)A/D轉(zhuǎn)換
N
轉(zhuǎn)換結(jié)束?
Y
讀數(shù)據(jù)
得單次采樣值
讀光柵示值
N
X2-X1〉齒面寬度?
Y
數(shù)據(jù)采集結(jié)束
數(shù)據(jù)處理
顯示誤差結(jié)果
測(cè)量結(jié)束
圖4.6 總體流程圖
這是總體程序流程圖[11],可以反映出整個(gè)測(cè)量過(guò)程的基本流程和操作步驟,首先進(jìn)入測(cè)量界面,初始化完畢后開(kāi)始參數(shù)設(shè)置并保存,接著進(jìn)入測(cè)量主程序,在接收用戶選擇測(cè)量選項(xiàng)后開(kāi)始測(cè)量,系統(tǒng)自動(dòng)實(shí)現(xiàn)數(shù)據(jù)的采集并送入計(jì)算機(jī)進(jìn)行數(shù)據(jù)運(yùn)算,最后將計(jì)算的結(jié)果以數(shù)字和圖形化的方式輸出。
4.5分功能模塊的實(shí)現(xiàn)
4.5.1 齒形測(cè)量程序流程設(shè)計(jì)
開(kāi) 始
系統(tǒng)初始化上電
儀器調(diào)整
選擇操作界面
參數(shù)設(shè)置
測(cè)量齒面選擇
采樣并完成數(shù)據(jù)處理
結(jié)果的顯示和評(píng)定
結(jié)束
圖4.7 齒形測(cè)量程序流程圖
齒形測(cè)量程序完成齒形測(cè)量中的數(shù)據(jù)采集并根據(jù)相應(yīng)的算法對(duì)數(shù)據(jù)進(jìn)行處理,采樣時(shí)主要讀取數(shù)據(jù)采集卡的轉(zhuǎn)換數(shù)據(jù)和計(jì)數(shù)卡的計(jì)數(shù)脈沖個(gè)數(shù),實(shí)現(xiàn)采樣。
利用VisualC++6.0語(yǔ)言來(lái)編程實(shí)現(xiàn),整個(gè)測(cè)量程序框架圖如4.7所示。
4.5.2 數(shù)據(jù)處理程序流程設(shè)計(jì)
數(shù)據(jù)處理程序主要是根據(jù)計(jì)算機(jī)采樣得來(lái)的數(shù)據(jù)使用求平均值法求齒廓總偏差,根據(jù)最小二乘法求齒廓形狀偏差、齒廓斜率偏差。
數(shù)據(jù)處理程序流程圖如圖4.8:
齒廓總偏差的計(jì)算方法:先對(duì)所有項(xiàng)的測(cè)量結(jié)果求平均值,再用每一點(diǎn)的實(shí)測(cè)值與平均值相減求得每一項(xiàng)的誤差值,最終把每一項(xiàng)的誤差值再求一次平均即得到齒廓總偏差。齒廓形狀偏差與齒廓斜率偏差在第二章中已作介紹。
a. (4.1)
b. (4.2)
c. (4.3)
式中:為第一次求得的平均值;
為每一項(xiàng)求得誤差值;
為齒廓總偏差。
初始化參數(shù)
取采樣數(shù)據(jù)長(zhǎng)度
根據(jù)T軸移動(dòng)長(zhǎng)度及評(píng)定終點(diǎn)和起點(diǎn)確定評(píng)定終點(diǎn)n1和起點(diǎn)n2
n1>n2?
N=(n1+n2)/2
nm=n1-n2+1
取n點(diǎn)對(duì)應(yīng)的誤差
計(jì)算每個(gè)采樣點(diǎn)誤差和n點(diǎn)對(duì)應(yīng)的誤差的偏差
求所有偏差的和除以nm得到總偏差
對(duì)nm個(gè)點(diǎn)根據(jù)最小二乘法確定中線c的斜率k和在y軸的截距
由y=kx+b及實(shí)際采樣點(diǎn)處的偏差求形狀偏差和斜率偏差
返回計(jì)算結(jié)果及測(cè)量值
返 回
圖4.8 數(shù)據(jù)處理程序流程圖
4.5.3 數(shù)據(jù)采樣流程及部分程序代碼
初始化
給6040基地址+2寫(xiě)控制程序
讀基地址控制變量
Y&0X40=1?
讀基地址+3的數(shù)據(jù)
送給Ldata
送給Ldata
讀基地址+4的數(shù)據(jù)
送給Hdata
Ldata+(Hdata<<8)送給data
data=data-2047
data=data*400/1000/4096
data=data*400/1000/4096
data=data*400/1000/4096
data=data*400/1000/4096
返回data
圖4.9 采樣函數(shù)流程圖
采樣函數(shù)程序代碼如下[12]:
double Sample(int n_channel)
{
int y=0;
int i=0;
//采樣
_outp(base_ad+2,0); //寫(xiě)控制字觸發(fā)A/D轉(zhuǎn)換
do
{
y=_inp(base_ad); //讀基地址
}
while(!(y&0x40)); //檢測(cè)A/D轉(zhuǎn)化是否完成
int ldata=_inp(base_ad+3); //讀A/D轉(zhuǎn)換低8位
int hdata=_inp(base_ad+4)&0x0f; //讀A/D轉(zhuǎn)換高4位
int mydata=ldata|(hdata<<8); //得到采樣數(shù)據(jù)送入data
int mydata0=mydata-2047;
double sample=0;
sample=400;//AD分辨率 400um/10v
double data=mydata0*sample/1000/4096; //數(shù)據(jù)運(yùn)算
return data;
}
4.5.4 按鍵掃描流程圖設(shè)計(jì)
初始化KEY=0
讀6110值 賦Nowintdat
i=0
Nowintda&(o﹡01≤2*)
Key=i
i++
i<4?
i=8
Nowintdat&(0x01<<2*i)
data=data*400/1000/4096
data=data*400/1000/4096
data=data*400/1000/4096
Key=i
i<10?
Key=i
結(jié)束
圖4.10 按鍵掃描流程圖
由于整個(gè)測(cè)量軟件要根據(jù)輸入按鍵的狀態(tài)決定什么時(shí)候開(kāi)始測(cè)量,具體測(cè)量什么項(xiàng)目什么時(shí)候測(cè)量結(jié)束,開(kāi)始測(cè)量時(shí)要控制電機(jī)帶動(dòng)運(yùn)動(dòng)部件按要求軌跡運(yùn)動(dòng),結(jié)束時(shí)還要控制電機(jī)停止運(yùn)動(dòng)。所以按鈕檢測(cè)與控制程序就顯的很重要,在按鈕檢測(cè)與控制程序中主要完成按鍵的讀取。
按鈕檢測(cè)與控制程序代碼如下: