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