凸轮曲线编程
❶ ug7.5 如何画凸轮曲线
生成中空的圆柱
按圆柱的外圆周长及变焦所需变动的高度和规律作出曲线
利用缠绕功能将曲线绕在圆柱上
用缠绕后的曲线生成曲面
用曲面分割圆柱即可。
如果圆柱凸轮的凸面曲线不是在端面上:则将4.中的曲面利用加厚功能生成实体,然后与圆柱进行布尔差集运算即可。
❷ 2019 全国大学生数学建模大赛A题凸轮边缘曲线图用Matlab如何绘制
针对问题一将油管压力稳定在100MPa的情况
第一问:
首先我们对附件3的数据用matlab进行了曲线拟合,打算用积分取反得到压力与密度的关系式。然后拟合发现三次、四次的拟合效果最好,但是matlab无法对其取反,最终选择了二次表达式;求取了压力与密度关系式后,我们建立了压力总偏移量最小为目标函数的单目标优化模型,用搜索算法(大概就是仿真模拟吧),在不同的预加油时间的条件下,每过0.01ms获得数值,找到最优的情况。
我们考虑的最优情况不是某一方向偏移最小,而是尽量是波动稳定。所以我们的条件里写了上下偏移量进行抵消。
第二问:
主要要让管内压力从100MPa增长到150MPa,我们把它分成了51个过程,并求取了总加油时间,达到压力均匀增加的效果。由于每个过程的管内气压、浓度不一样,达到下一个过程的加油时间是不同的,因为目的是均匀增加,我们把加油时间按一定比例分配给了每个过程。(具体什么比例是有算法的);然后2、5、10s用同样的方法,改变里面的参数求取。
针对问题二改变凸轮角速度使油管内压力稳定在100MPa的情况
首先对附件二进行曲线拟合,得到针阀距离与时间的分段函数关系,计算得到小孔面积表达式,由此计算得到估计的100ms内喷油嘴出油质量为31.6423mg;
再对附件一进行曲线拟合,得到极角与极径关系式,再通过压力与密度转化关系等等估算得到凸轮转动一个周期的油泵进油质量74.7228mg。为使管内气压稳定,即进油质量与出油质量大致相等,此时可以计算得到一个估计的角速度,然后可以以这个估计角速度为基准,上下取0.01rad/s的误差率并用搜索算法找到最佳角速度。
针对问题三增加一个喷油嘴的情况
跟问题一、二思路差不多。
❸ 机械设计凸轮等加速等减速规律运动曲线画法,下图位移曲线左面那条斜直线什么意思,怎么画出来的
杨可桢,程光蕴主编的机械设计基础(第四版)第41、42页里有一种方法,讲得挺清楚的

这种方法更能发挥斜线的作用,也更加方便作图
❹ 凸轮做简谐运动的位移曲线方程如何用c语言编写
#define pi M_PI
double pi,theta;
double h,s;
h=....;
phi= ....;
theta =....;
s= h/2 *(1-cos( pi * phi / theta));
❺ 用解析法设计凸轮轮廓曲线!用VB编程,最好在本周做好
Private Sub Command1_Click()
'参数初始化
Dim r0%, r1%, h%, e%
Dim a1%, a01%, a2%, a02%
r0 = Val(InputBox("请输入基圆半径"))
r1 = Val(InputBox("请输入滚子半径"))
h = Val(InputBox("请输入升程"))
e = Val(InputBox("请输入偏距"))
a1 = Val(InputBox("请输入推程运动角"))
a01 = Val(InputBox("请输入远休止角"))
a2 = Val(InputBox("请输入回程运动角"))
a02 = Val(InputBox("请输入近休止角"))
Text1.Text = r0
Text2.Text = r1
Text3.Text = h
Text4.Text = e
Text5.Text = a1
Text6.Text = a01
Text7.Text = a2
Text8.Text = a02
Picture1.Scale (-75, 55)-(75, -55) '建立坐标系
Picture1.Line (0, 50)-(0, -50)
Picture1.Line (-55, 0)-(55, 0)
'初始化参数
Dim i!, j!, k!, m!, n!
Dim a!, b!, c!, d!
Const pi = 3.141592653
Dim s#(360), s1#(360)
Dim ds#(360), ds1#(360)
Dim dx#(360), dy#(360)
a = a1
b = a1 + a01
c = a1 + a01 + a2
d = 360
j = 0
For i = 0 To a '推程段
s(j) = h * ((i / a1) - Sin(2 * pi * i * pi / a1 / 180) / (2 * pi))
ds(j) = h * (1 - Cos(2 * pi * i * pi / a1 / 180)) / a1
ds1(j) = ds(j) / 2
s1(j) = s(j) / 2 '按比例定义参数值
j = j + 1
Next i
For i = (a + 1) To b '远休段
s(j) = h
ds(j) = 0
ds1(j) = 0
s1(j) = s(j) / 2
j = j + 1
Next i
For i = (b + 1) To c '回程段
s(j) = h * (1 + Cos(3 * (i - 150) * pi / 180)) / 2
ds(j) = -h * pi * Sin(3 * pi * (i - 150) / 180) / (2 * a2)
ds1(j) = ds(j) / 2
s1(j) = s(j) / 2
j = j + 1
Next i
For i = (c + 1) To d '近休段
s(j) = 0
ds(j) = 0
ds1(j) = 0
s1(j) = s(j) / 2
j = j + 1
Next i
'初始化参数'
Dim X0#, Y0#, X1#, Y1#, X2#, Y2#
Dim X11#, Y12#, X21#, Y22#
Dim e1#, r#, p#, q#, r11#
Dim s0#
'按比例定义参数值'
e1 = e / 2
r = r0 / 2
r11 = r1 / 2
s0 = Sqr(r ^ 2 - e1 ^ 2)
For i = 1 To 360
dx(i) = (ds1(i) - e) * Sin(i * pi / 180) + (s0 + s1(i)) * Cos(i * pi / 180)
dy(i) = (ds1(i) - e) * Cos(i * pi / 180) - (s0 + s1(i)) * Sin(i * pi / 180)
Next i
'输出理论、实际轮廓线图像及坐标值'
X0 = e1: Y0 = s0
For g = 2 To 360
m = g - 1
'求理论轮廓线
X2 = (s1(g) + s0) * Sin(g * pi / 180) + e1 * Cos(g * pi / 180)
Y2 = (s1(g) + s0) * Cos(g * pi / 180) - e1 * Sin(g * pi / 180)
X1 = (s1(m) + s0) * Sin(m * pi / 180) + e1 * Cos(m * pi / 180)
Y1 = (s1(m) + s0) * Cos(m * pi / 180) - e1 * Sin(m * pi / 180)
Picture1.Line (X0, Y0)-(X1, Y1) '输出理论轮廓线图
Picture1.Line (X1, Y1)-(X2, Y2)
'求实际轮廓线
p = dx(m) / Sqr(dx(m) ^ 2 + dy(m) ^ 2)
q = -dy(m) / Sqr(dx(m) ^ 2 + dy(m) ^ 2)
p1 = dx(g) / Sqr(dx(g) ^ 2 + dy(g) ^ 2)
q1 = -dy(g) / Sqr(dx(g) ^ 2 + dy(g) ^ 2)
X11 = X1 - r11 * q
Y12 = Y1 - r11 * p
X21 = X2 - r11 * q1
Y22 = Y2 - r11 * p1
Picture1.PSet (X11, Y12) '输出实际轮廓线图
Text9.Text = Text9.Text & " " & m & " " & 2 * X1 & " " & 2 * Y1 & " " & 2 * X11 & " " & 2 * Y12 & " " & vbCrLf '输出理论、实际轮廓线坐标值
X0 = X2: Y0 = Y2
Next g
End Sub
❻ 什么是凸轮曲线
凸轮曲线: 凸轮作为一种通用的传动机构 ,可以实现各种复杂的运动要求 .针对摆动从动件盘形凸轮 曲线设计复杂 , 计算数值表困难的问题 , 设计了计算凸轮各种数值表 , 压力角和绘制凸轮曲线的程序 . 简化了设计工作 ,缩短了设计周期。
❼ 机械课程设计,用VB编程,用解析法设计凸轮轮廓曲线,求大神们帮忙啊!
解析法设计凸轮轮廓曲线(摆动滚子推杆盘型凸轮机构)确
比较顺的
❽ 加工中心凸轮曲线怎么编程
几个圆弧连接而已。
❾ Matlab程序绘制凸轮轮廓曲线
h=15;
b=90*pi/180;
r0=30;
e=5;
rr=6;
w=10;
s0=sqrt(r0*r0-e*e);
for i=1:1:90;
sita(i)=i*pi/180.0;
s1=h*(sita(i)./b-sin(2*pi*sita(i)./b)/(2*pi));
v1=h*w./b-w*h*cos(sita(i)*2*pi./b)./b;
a1=sin(sita(i).*2.*pi./b)*w.^2.*2*pi./(b.^2);
j1=cos(sita(i).*2.*pi./b)*w.^3.*4.*pi.^2./(b.^3);
x(i)=(s0+s1)*sin(sita(i))+e*cos(sita(i));
y(i)=(s0+s1)*cos(sita(i))-e*sin(sita(i));
a(i)=(s0+s1)*cos(sita(i))-e*sin(sita(i));
bb(i)=(s0+s1)*sin(sita(i))-e*cos(sita(i));
xx(i)=x(i)-rr*bb(i)./sqrt(a(i)*a(i)+bb(i)*bb(i));
yy(i)=y(i)-rr*a(i)./sqrt(a(i)*a(i)+bb(i)*bb(i));
alpha(i)=atan((v1-e)./(s0+s1));
end
for i=91:1:180;
sita(i)=i*pi/180;
s2=h;
v2=0;
a2=0;
j2=0;
x(i)=(s0+s2)*sin(sita(i))+e*cos(sita(i));
y(i)=(s0+s2)*cos(sita(i))-e*sin(sita(i));
a(i)=(s0+s1)*cos(sita(i))-e*sin(sita(i));
bb(i)=(s0+s1)*sin(sita(i))-e*cos(sita(i));
xx(i)=x(i)-rr*bb(i)/sqrt(a(i)*a(i)+bb(i)*bb(i));
yy(i)=y(i)-rr*a(i)/sqrt(a(i)*a(i)+bb(i)*bb(i));
alpha(i)=atan((v2-e)/(s0+s2));
end
for i=181:1:270;
sita(i)=i*pi/180;
s3=-h*((sita(i)-3*pi/2)/b-sin(2*pi*(sita(i)-3*pi/2)/b)/(2*pi));
v3=h*w/b+h*w/b*cos(2*pi*(sita(i)-3*pi/2)/b);
a3=-h*(w^2)*2*pi/(b^2)*sin(2*pi*(sita(i)-3*pi/2));
j3=-h*w^3*4*pi^2/(b^3)*cos(2*pi*(sita(i)-3*pi/2));
x(i)=(s0+s3)*sin(sita(i))+e*cos(sita(i));
y(i)=(s0+s3)*cos(sita(i))-e*sin(sita(i));
a(i)=(s0+s3)*cos(sita(i))-e*sin(sita(i));
bb(i)=(s0+s3)*sin(sita(i))-e*cos(sita(i));
xx(i)=x(i)-rr*bb(i)/sqrt(a(i)*a(i)+bb(i)*bb(i));
yy(i)=y(i)-rr*a(i)/sqrt(a(i)*a(i)+bb(i)*bb(i));
alpha(i)=atan((v3-e)/(s0+s3));
end
for i=271:1:360;
sita(i)=i*pi/180;
s4=0;
v4=0;
a4=0;
j4=0;
x(i)=(s0+s4)*sin(sita(i))+e*cos(sita(i));
y(i)=(s0+s4)*cos(sita(i))-e*sin(sita(i));
a(i)=(s0+s4)*cos(sita(i))-e*sin(sita(i));
bb(i)=(s0+s4)*sin(sita(i))-e*cos(sita(i));
xx(i)=x(i)-rr*bb(i)/sqrt(a(i)*a(i)+bb(i)*bb(i));
yy(i)=y(i)-rr*a(i)/sqrt(a(i)*a(i)+bb(i)*bb(i));
alpha(i)=atan((v4-e)/(s0+s4));
end
主要问题是,一开始定义了变量b=90*pi/180是一个标量常数
后来循环计算中用了b(i)结果是一个数组
你这里肯定是变量太多,搞混了
前面的b,和数组b(i)应该是两个不同的变量
所以我把数组改名字为bb,就没有报错了
你也可以将一开始的b改个名字
❿ 凸轮机构位移曲线
凸轮机构位移曲线:通常把尖顶从动件的尖顶,滚子从动件的中心,平底从动件的导轨中心线与从动件平底的交点在复合运动中的轨迹称为凸轮的理论轮廓线。
凸轮控制器的转轴上套着很多(一般为12片)凸轮片,当手轮经转轴带动转位时,使触点断开或闭合。例如:当凸轮处于一个位置时,触点是闭合的;当凸轮转位而使滚子处于凸缘时,触点就断开。由于这些凸轮片的形状不相同,因此触点额闭合规律也不相同,因而实现了不同的控制要求。

机构介绍
凸轮机构是一种常见的运动机构,它是由凸轮、从动件和机架组成的高副机构。当从动件的位移、速度和加速度必须严格地按照预定规律变化,尤其当原动件作连续运动而从动件必须作间歇运动时,则以采用凸轮机构最为简便。凸轮从动件的运动规律取决于凸轮的轮廓线或凹槽的形状,凸轮可将连续的旋转运动转化为往复的直线运动,可以实现复杂的运动规律。
