潘 紋 (黃岡職業技術學院機電學院,湖北 黃岡 438002)
凸輪機構壓力角的求解
潘 紋 (黃岡職業技術學院機電學院,湖北 黃岡 438002)
凸輪機構的壓力角是機構傳力性能參數。當壓力角超過一定數值時,摩擦阻力阻止從動件運動,產生自鎖現象,因此必須保證凸輪輪廓的最大壓力角不超過許用值。利用C++程序求解了凸輪機構的壓力角,并對壓力角公式進行了修正。
凸輪機構;壓力角;C++程序
凸輪機構是機械中常用的一種機構,如內燃機的配氣機構、自動機床的進給機構、錄音機的卷帶機構等。在設計凸輪機構時,應讓該機構有較好的受力情況和較小的盡寸。凸輪機構的壓力角是凸輪對從動件的法向力與該力作用點速度方向所夾的銳角,在凸輪輪廓上各點的壓力角的大小是不同的。對于直動從動件,其壓力角為30~40°;對于擺動從動件,其壓力角為40~50°。在其他條件不變的情況下,凸輪機構基圓的半徑越小則壓力角越大,但基圓半徑過小則壓力角就會超過許用值。因此,在實際設計中,應在保證凸輪輪廓的最大壓力角不超過許用值的前提下考慮縮小凸輪的尺寸。下面,筆者對凸輪機構壓力角進行了求解。
目前,凸輪機構壓力角的計算公式為[1-2]:

(1)


根據式(1)求解凸輪機構的壓力角,為此編寫C++程序如下。
#include “iostream.h”
#include lt;stdio.hgt;
#include lt;math.hgt;
#define PI 3.1415926
void main( )
{float i,r,m,L,z,y=5,a,v,end=0;
double t0,t1,di,x,fg=0.0,h;
cout?“Please input the data: ”;
cout?“從動件最大擺角:” ; cin?m;
cout?“從動桿長:” ; cin?L;
cout?“許用壓力角:” ; cin?v;
cout?“推程運動角:” ; cin?z ;
cout?“機架長:” ; cin?a;
cout?“基圓半徑為:” ; cin?r ;
while(end==0)
{ h=m*PI/180;
t0=acos((pow(a,2)+pow(L,2)-pow(r,2))/(2*a*L));
for(i=0;i≤z;i+=y)
{ if(i≤z/2) /*在推程等加速階段*/
{ di=fabs(4*m*i/pow(z,2));
t1=t0+2*h*pow(i,2)/pow(z,2);
}
else /*在推程等減速階段*/
{ di=fabs(4*m*(z-i)/pow(z,2));
t1=t0+h-2*h*pow((z-i),2)/pow(z,2);
}
x=atan((L*di+(a*cos(t1)-L))/(a*sin(t1)));
if(xgt;fg) /* 求最大壓力角*/
fg=x;
cout?“當轉角為:”?i?“時, ”;
cout?“壓力角為:”?x*180/PI?endl;
}
cout?fg*180/PI?endl;
if(fg*180/PI≤v)
{ cout?“基圓半徑r為:”?r?endl;
cout?“機架長為:”?a?endl;
cout?“此半徑下最大壓力角為: ”?fg*180/PI?endl;
cout?“滾子半徑為: ”?(int)(0.14*r)?endl;
end=1;
}
else {r++;fg=0;}
}}

表1 程序執行最后一次循環的結果
運行該程序,當輸入從動件最大擺角25°、從動件桿長130mm、許用壓力角42°、推程運動角64°、機架長130mm和基圓半徑40mm時,可計算出凸輪機構的各項基本參數,其中程序執行最后一次循環的結果如表1所示。由表1可知,凸輪機構壓力角中最大者為41.7119°,沒有超過42°的許用壓力角,因而從動件運動時不會產生自鎖現象。
由表1可知,當凸輪轉角為0°、55°和60°時壓力角為負值。由于壓力角是凸輪從動件的法向力與該力作用點速度方向所夾的銳角,其大小可以用量角器直接量取,也可以由諾模圖求得,因而均不會出現負值[3]。因此,應對式(1)作如下修正:
(2)
通過上述修正,這樣可以在執行程序時不會出現負值,其計算結果與壓力角的定義也相符。
[1]石永剛.凸輪機構設計[M].上海:上海科學技術出版社,1995.
[2]黃錫愷,鄭文緯.機械原理[M].北京:高等教育出版社, 1993.
[3]武秀東.對擺動從動件外嚙合盤形凸輪機構壓力角計算公式的討論[J].長春光學精密機械學院學報,1995(33):63-65.
[編輯] 李啟棟
10.3969/j.issn.1673-1409.2012.01.044
TH112.2
A
1673-1409(2012)01-N137-02