找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 14210|回复: 21

平面直动滚子凸轮设计,附算法

  [复制链接]
发表于 2014-12-20 21:13:57 | 显示全部楼层 |阅读模式
目的:设计一个平面凸轮的外轮廓
& t/ L7 @! g$ k6 o如下图,从动件为滚针轴承,带导轨,需要确定基圆直径,和升程曲线。
+ x% `: x  G5 m2 c- j4 r(参考书籍:凸轮算法,80年代的国产货,我也不知道书名;另一本,英文:cam design handbook)
- c9 x  L  b1 [& b, R. x
! H  l* E- S- A; x. }) E& f, c0 M; o: R/ w
凸轮升程曲线要求运动尽可能平滑,就是加速度平滑,这样电机寿命长,当前比较好的是7段组合式加速度曲线(参考书1),如图,我们知道总升程h,总角度,需要通过计算得出每一段的加速度,速度,和行程(升程)的表达式,进而计算并绘制凸轮外轮廓。; z0 a8 q4 h  f2 B1 _' M) a
  Z5 o1 Y3 o8 M0 x3 e2 N1 x) a
公式如下) R* l% J8 r( E, O8 _* f
  E# Z# ~, {, U8 Y  {8 O$ R! v2 s
因为是举升,重力向下,我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多
) G$ K# I/ g& k2 e0 U. H2 m
: D- c) ~+ D  s( {2 }于是我们需要一个程序,输入角度和升程,以及加减速段的比值,输出每个角度对应的升程数值;# ?' v9 f6 Z) M# ~: L: m
部分程序如下(MATLAB):
% t4 V0 N8 [6 X5 q) Prb=45;rt=31;e=0;h=85;" D7 V1 n- G# Q( ^9 Y
%  推程运动角;远休止角;回程运动角;近休止角;推程许用压力角;凸轮转速
2 D4 G8 e+ e4 v+ _3 {ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60;# n$ j2 \2 c  [; G5 C# L
%  角度和弧度转换系数;机构尺度
: z% g/ ]9 U& F/ G$ `1 qhd=pi/180;du=180/pi;se=sqrt(rb^2-e^2);
  C# d' f6 B' Aw=n*2*pi/60; omega=w*du;         % 凸轮角速度(°/s)
! v. P& t1 d: S1 S$ ep=3; % 加速段角度和减速段角度比值
  ]: d' o$ q1 g  l0 v. \7 pfor f=1:ft  J- k# i+ A, w; @* \" `
    if (0<=f&&f<=1/4*p/(1+p)*ft)6 f6 g6 P+ |" z) `" C
        %s(f)=0.09724613*h*(4*f/ft-1/pi*sin(4*pi*f/ft));sxs=s(f);   ' P) K7 k" \4 [1 ~
        s(f)=2*p/(1+p)*h/(2+pi)*(2*f/(2*p/(1+p)*ft)-1/2/pi*sin(4*pi*f/(2*p/(1+p)*ft)));sxs=s(f);
' z( x" `% {) F. Y        ds(f)=0.3889845*(2*p/(1+p)*h)/(2*p/(1+p)*ft)*(1-cos(4*pi*f/(2*p/(1+p)*ft)));sxds=ds(f);
5 G, w5 c' j2 N" w" m3 l" q        d2s(f)=4.888124*(2*p/(1+p)*h)/(2*p/(1+p)*ft)^2*sin(4*pi*f/(2*p/(1+p)*ft));sxd2s=d2s(f);   
2 x  w8 O1 ^7 o+ b' s3 y    end
% U: R+ a& O; p" D5 R    if (1/4*p/(1+p)*ft<f&&f<=3/4*p/(1+p)*ft)
. A* c4 d6 ~5 Q# }5 A% y        %s(f)=(p/(1+p)*h)*(2.444016188*(f/ft)^2-0.22203094*f/ft+0.00723406);sxs=s(f);
6 f! l/ s4 q- o) E        s(f)=(2*p/(1+p)*h)/(2+pi)*(1/4-1/2/pi+2/(2*p/(1+p)*ft)*(f-(2*p/(1+p)*ft)/8)+4*pi/(2*p/(1+p)*ft)^2*(f-(2*p/(1+p)*ft)/8)^2);sxs=s(f);7 X+ f* M4 f" u# Y
        ds(f)=(2*p/(1+p)*h)/(2*p/(1+p)*ft)*(4.888124*f/(2*p/(1+p)*ft)-0.222031);sxds=ds(f);! q& E3 j) k) @! q( A4 H; L
        d2s(f)=4.888124*(2*p/(1+p)*h)/(2*p/(1+p)*ft)^2;sxd2s=d2s(f);   $ M( }8 t" x7 e. d
    end
( Y) z5 D+ O5 }/ Z    if (3/4*p/(1+p)*ft<f&&f<=4/4*p/(1+p)*ft): b8 W3 m7 D  |% c5 A5 b
        %s(f)=(p/(1+p)*h)*(1.6110155*f/ft-0.0309544*sin(4*pi*f/ft)-0.3055077);sxs=s(f);* Y1 W  C3 o- {, g, M# D: p: ^
        s(f)=(2*p/(1+p)*h)/(2+pi)*(-pi/2+2*(1+pi)*f/(2*p/(1+p)*ft)+1/2/pi*sin(4*pi*f/(2*p/(1+p)*ft)));sxs=s(f);; d/ `! V. c4 R, Z
        ds(f)=(2*p/(1+p)*h)/(2*p/(1+p)*ft)*(1.6110155+0.3889845*cos(4*pi*f/(2*p/(1+p)*ft)));sxds=ds(f);
6 n  }5 {: G( d3 ~2 L1 Y5 c        d2s(f)=-4.888124*(2*p/(1+p)*h)/(2*p/(1+p)*ft)^2*sin(4*pi*f/(2*p/(1+p)*ft));sxd2s=d2s(f);   
  o& S$ {4 B# ^& F     end
% N+ f0 B7 ?) a& I4 ?; E9 s) j上面的程序最终会计算出,在1-155度中,每一度变化对应的升程数值s;速度ds;加速度d2s。
. n+ w7 T+ V! ~* j. ?* Q最终效果(把计算的点给autocad画图)我不用担心睡不着觉了。
  J0 @6 o  \# |; P# E) Z4 U
6 d5 o; R( P( [3 k- H, q% k% E# V8 m! `: w2 {
有兴趣的可以一起聊这个曲线。6 j! m0 S; a6 ^* J" @9 `- d
附书1的部分目录,可以帮助找到同一本书
0 z9 \/ I6 q$ }& T% T* x: [0 l+ C; b0 u0 D! i

' z  Z/ e, J) I$ T; e$ m' Y# I6 w$ ]/ d

' H5 H. C& M/ S2 ~: D8 I6 l# Z3 s! C0 u* d' O
# L: Q2 K1 I* O

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×

本帖被以下淘专辑推荐:

  • · 凸轮|主题: 13, 订阅: 6
回复

使用道具 举报

发表于 2014-12-20 23:45:33 | 显示全部楼层
”当前比较好的是7段组合式加速度曲线“
% X( p; o5 ]3 K% x* |9 P: r$ M
  l, C6 f5 f. s" L" s9 j为何是这种曲线?& Q* E# j- W/ C; j1 W) O9 g
4 \) r' G4 U! n+ F9 X
我喜欢用正弦余弦曲线,我的速度比较慢

点评

因为中间一段加速度为0,速度较大,可以理解成这种曲线运动更平滑  发表于 2014-12-23 07:42
7段的好处就是可以让加速度在一定时间内为0  发表于 2014-12-21 18:59
发表于 2014-12-21 10:55:53 | 显示全部楼层
谢谢
发表于 2014-12-21 11:44:25 | 显示全部楼层
晚上回家试一下
发表于 2014-12-21 18:52:17 | 显示全部楼层
本帖最后由 hoot6335 于 2014-12-21 21:42 编辑
1 D- z' c* ]5 Z' F0 h8 g5 @+ o$ O
# |' U) [. H8 c7 G5 i1 _哈哈,大侠用的是标准的修正梯形再变形。( a- T; v& t7 M# H6 K
按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。
! }5 R+ _( D/ E5 _5 X. d% t$ O% Y“p=3; % 加速段角度和减速段角度比值”。表述不严谨,会误解。
) ?5 v1 H6 `+ C0 G0 Y( {! j因为推程和回程都有加速段和减速段。
6 {# o" e0 `( L0 x  |4 J+ f, Z7 l2 l& i" Z0 d, G
实际上,“加速度是时间的函数”这样理解更合适。& _6 C: ]$ e4 u& {4 ~/ x
为了达到“我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多;”这一目的
# p- j( F5 J' ~5 y1 h7 s; G设定一个系数=p/(1+p),那么:
' c+ _/ B) Y9 y. V: T! A) _推程:用的是1/4 *系数 ,  3/4*系数 ,   1*系数。
% G! ~$ {8 [; t2 |* n' a, C  C% \回程:没下载大侠的程序,由于上面的误解,不好妄下结论。1 N4 [! Y9 O. U- `+ t8 g7 r
按我的理解,推程取一系列T值,回程再取一系列T值,完全可以实现LZ的设计目的。, i( d! p. K8 f% F& B- c3 M: r
. G/ d' }! ^9 c+ {
另外,大侠的程序好像没有体现文中所说“7段组合”。不知大侠能否把各曲线补齐。
# }* Y5 Z3 w$ H7 n8 p5 U! B要求过分了点,哈哈  K' M+ |. z% ~3 Y& K. E
给个建议,不等式两边可以约去“*p/(1+p)*ft”,把“f&&f”改成时间T,不要用角度。这样,你的程序将有极大的通用性。* O% D7 M& w# |, e4 [

/ o+ x3 J- d0 f$ B8 b' E对应的中文目录) p$ U3 b1 u5 m% ~9 E

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×

点评

你说的很对,凸轮一般计算用的是角度和升程的关系,但其实电机一般转速恒定,所以二者是通用的  发表于 2014-12-23 07:45
发表于 2014-12-25 09:07:16 | 显示全部楼层
感谢分享啊
发表于 2015-11-5 19:55:26 | 显示全部楼层
本帖最后由 georgemcu 于 2015-11-5 19:58 编辑
9 }8 v" _7 O' n, q( Q( _) G# b
hoot6335 发表于 2014-12-21 18:52 ! N, i* w* P! S# M; @, F
哈哈,大侠用的是标准的修正梯形再变形。
( T0 B" i) a: N$ @7 I按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。 ...
; Z6 m) v( l/ x7 i6 ?
Cam design handbook,2011年看过,也受益匪浅。
; _2 \: G* C3 E; k0 G就是由于看了这本书,让我在那一年完成自己的第一版凸轮设计程序,在11年公司工作需要用的凸轮都可以完成!
3 _: V  h* V6 j: D8 L, w/ t: d  _" q
上个月由于遇到了凸轮设计的新问题,所以又重新阅读了多本凸轮著作。" T7 P+ V8 |; J* ]! f
不过对凸轮优化,感觉快要抓住了可以还是没有抓住。$ ^) y- h& s4 k6 o$ m
意思就是没有透彻。2 t0 P" y) O  ]
hoot前辈一个对凸轮曲线的优化应该算是比较精通了吧!
. e/ W; V; S$ o: f9 R. d# T" m  J1 B: L4 h
对与那些著作里提到的30几中曲线,上个月,我也是已经全部收纳成功:)
; ]% w) P' Q4 D8 }自己做个程序,自己用!# P9 \; Y- r% g
就像你在其他贴中说的一样,自己建的数学模型,自己写的代码,用的放心!
* `) v; x! ^8 M3 ?+ S出错,立马查得到!" ^9 i2 z7 Y3 Q
哈哈!
' v% {1 T6 e0 Z; M" {  |/ ~: v
发表于 2015-11-7 17:38:47 | 显示全部楼层
盘式凸轮算是比较简单的了,而且也有现成的软件可以使用,复杂的是三维凸轮,这个才是考验功底的
发表于 2015-11-9 21:27:09 | 显示全部楼层
pacelife 发表于 2015-11-7 17:38
. e* |6 w) M* p, S$ Q& E. j盘式凸轮算是比较简单的了,而且也有现成的软件可以使用,复杂的是三维凸轮,这个才是考验功底的
' U0 a, y+ {' h( t) d
三维弧面。。。想当初2011年接触分度凸轮indexing的时候,没有看过正规的书籍,就凭网上的几篇论文,硬着头皮去研究,做INDEXING的设计程序,影响中程序做到了可以展开到平面的曲线部分,剩下只能通过手工包覆到凸轮曲面去生成槽,不过还不是弧面,没有读书多可怕,当时真的是犀利糊涂的,呵呵,不过现在也忘记了,有空等我手头上的事处理完,可以去完成我的那部分了
: c/ B7 ~; W) W: i
发表于 2015-11-12 18:01:42 | 显示全部楼层
问楼主一个问题,里面的公式有自己推导过吗?我今天自己推了一下,发现有一个地方,为什么是 -3/8beta 和 1/2beta,而不是-3/8beta 和 3/8beta, cam design hand book,第63页。具体请见附件!# J* |/ g# m" \5 M

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-9-17 13:27 , Processed in 0.079922 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表