机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 13186|回复: 21

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

[复制链接]
发表于 2014-12-20 21:13:57 | 显示全部楼层 |阅读模式
目的:设计一个平面凸轮的外轮廓
% `& G9 j: ]+ K如下图,从动件为滚针轴承,带导轨,需要确定基圆直径,和升程曲线。
" J' A2 H* _- V  L4 R(参考书籍:凸轮算法,80年代的国产货,我也不知道书名;另一本,英文:cam design handbook)# L  y% m& C) D! ~, D" q+ G

" M* c  {) d0 e& c9 E$ Y; c  z3 X$ d) w% \) w* x- s: [* K
凸轮升程曲线要求运动尽可能平滑,就是加速度平滑,这样电机寿命长,当前比较好的是7段组合式加速度曲线(参考书1),如图,我们知道总升程h,总角度,需要通过计算得出每一段的加速度,速度,和行程(升程)的表达式,进而计算并绘制凸轮外轮廓。" y) ^/ P$ f3 x2 O+ a' Q
- F, T" }- d) A7 |6 B, [( @4 T
公式如下; {: X) x3 F  M2 B- R( n, `: p+ G
6 @( d7 T) |& j& |- `9 h' w
因为是举升,重力向下,我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多
. |% j' q! `3 A2 ?" x8 S
  p, ]- u$ c6 P$ h* ~4 z+ N于是我们需要一个程序,输入角度和升程,以及加减速段的比值,输出每个角度对应的升程数值;
( y0 M) M3 z/ B部分程序如下(MATLAB):6 w8 R  S. d3 p0 l7 ?
rb=45;rt=31;e=0;h=85;
! j8 O: g) s5 ?  ]! X0 D%  推程运动角;远休止角;回程运动角;近休止角;推程许用压力角;凸轮转速2 X- q& ^  ]4 D% o) o) S
ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60;1 F$ o. A3 }% s9 B
%  角度和弧度转换系数;机构尺度3 @' [1 d! Z2 \
hd=pi/180;du=180/pi;se=sqrt(rb^2-e^2);
% J2 B! p4 Y! `' Cw=n*2*pi/60; omega=w*du;         % 凸轮角速度(°/s)
3 M, k+ D9 q' ~( S$ L1 @; Fp=3; % 加速段角度和减速段角度比值7 M* R, @7 m) }
for f=1:ft
( H/ e7 T7 c: x    if (0<=f&&f<=1/4*p/(1+p)*ft)5 r8 `+ K3 o0 Q8 ]
        %s(f)=0.09724613*h*(4*f/ft-1/pi*sin(4*pi*f/ft));sxs=s(f);   1 a: L" R( J& N- C- A
        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);
% w5 n# N. c" w2 G9 w$ H        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);
& b5 @& q0 |2 X' v2 q" k9 n7 F6 t        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);   3 H+ S0 {; h# N% m
    end
0 H+ ^7 z" c, e/ y( P6 I, q: V- @    if (1/4*p/(1+p)*ft<f&&f<=3/4*p/(1+p)*ft)  w5 ~5 U! N/ t# n4 P! G
        %s(f)=(p/(1+p)*h)*(2.444016188*(f/ft)^2-0.22203094*f/ft+0.00723406);sxs=s(f);8 \9 ?# q2 r. j# J' A
        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);
0 _$ R# K- q+ _        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);
# d; n$ m$ r+ F. r: u        d2s(f)=4.888124*(2*p/(1+p)*h)/(2*p/(1+p)*ft)^2;sxd2s=d2s(f);   
3 S/ T; u  C- t* g- m( A    end7 [: L0 E1 ~6 G/ H8 V
    if (3/4*p/(1+p)*ft<f&&f<=4/4*p/(1+p)*ft)
% C% ^, s5 z0 l4 _, P" U* X        %s(f)=(p/(1+p)*h)*(1.6110155*f/ft-0.0309544*sin(4*pi*f/ft)-0.3055077);sxs=s(f);$ ]: M" L5 c, b! p' q6 n& \
        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);$ N3 J: [2 s1 |5 }- V' ^9 K
        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);
8 E# l6 e, V( J' h        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);   3 ^+ I- p# ~3 `; k+ |
     end2 K* ]% p- D5 `& _0 Z; Z" i
上面的程序最终会计算出,在1-155度中,每一度变化对应的升程数值s;速度ds;加速度d2s。
- j9 T( F; l7 ?8 _1 L最终效果(把计算的点给autocad画图)我不用担心睡不着觉了。
3 j- K" ^2 x7 }
- J8 r- F7 K+ k2 @6 U! n" E7 \( q4 L5 [
有兴趣的可以一起聊这个曲线。1 v8 `* w) [( q6 |! {$ N  D
附书1的部分目录,可以帮助找到同一本书: t6 b5 M7 Y4 n4 h( ]' `
" F! Q/ v7 u) C7 d8 R, C; v0 @: k
8 O/ G1 [, d2 |. q! r$ U' S

: C+ Q7 O% b- v1 g) O; b+ O( J& e4 X* j6 ]% e
( {: v8 i4 z2 e$ s( J

  Q6 |( ]* s" }& }

本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2014-12-20 23:45:33 | 显示全部楼层
”当前比较好的是7段组合式加速度曲线“
2 u/ C8 l% u+ M( x/ B5 ]
! c. e5 ~. m2 x- w7 ?为何是这种曲线?" M" k7 r3 l8 {( v

# ^8 M$ I) T# u6 }/ a9 Y2 _6 e我喜欢用正弦余弦曲线,我的速度比较慢

点评

因为中间一段加速度为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 编辑 9 t: @& e! E8 v) D
1 y, P8 G& `3 `5 |. |) b0 S% N
哈哈,大侠用的是标准的修正梯形再变形。+ l- ~5 {8 u# E2 R4 R
按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。$ d; H. ^* w  _7 y3 R/ `9 U  i5 Z
“p=3; % 加速段角度和减速段角度比值”。表述不严谨,会误解。! A; j- W5 W& l) O) }( F  p
因为推程和回程都有加速段和减速段。7 Q+ A8 \7 [6 W0 R+ m

0 @) r% V( N' v, s实际上,“加速度是时间的函数”这样理解更合适。, @1 L: Y" U; T1 l$ ^& i$ x  V5 ]
为了达到“我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多;”这一目的
- m9 Q! C. ~* Q8 p5 z9 h; @( Y设定一个系数=p/(1+p),那么:
( x: a& a; C0 ^& h7 h( ]8 H推程:用的是1/4 *系数 ,  3/4*系数 ,   1*系数。2 u# t: C4 P% t0 j5 r; M
回程:没下载大侠的程序,由于上面的误解,不好妄下结论。
, s: v% A: W% w3 X; K# M按我的理解,推程取一系列T值,回程再取一系列T值,完全可以实现LZ的设计目的。! L& T2 h/ G1 C- _
% ^  T, X  X: b$ A8 u
另外,大侠的程序好像没有体现文中所说“7段组合”。不知大侠能否把各曲线补齐。; _" v( B& T: ?/ c5 m% G  L" |/ U
要求过分了点,哈哈! M  J' \- n- \) t
给个建议,不等式两边可以约去“*p/(1+p)*ft”,把“f&&f”改成时间T,不要用角度。这样,你的程序将有极大的通用性。0 o3 z" i# S) w" X: D; I
# V4 r# k. k* M/ W) z& L
对应的中文目录
: p8 D) ], f, A( ~' @1 L

本帖子中包含更多资源

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

x

点评

你说的很对,凸轮一般计算用的是角度和升程的关系,但其实电机一般转速恒定,所以二者是通用的  发表于 2014-12-23 07:45
回复 支持 反对

使用道具 举报

发表于 2014-12-25 09:07:16 | 显示全部楼层
感谢分享啊
回复 支持 反对

使用道具 举报

发表于 2015-11-5 19:55:26 | 显示全部楼层
本帖最后由 georgemcu 于 2015-11-5 19:58 编辑 # ]3 T9 c% l! q' n* A
hoot6335 发表于 2014-12-21 18:52
8 _' H8 O$ J3 s  x哈哈,大侠用的是标准的修正梯形再变形。, W- C" v* \5 }( j! i2 @" L$ C/ W1 H+ [
按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。 ...

( I+ |' @% q; K& H. N3 C  S' [Cam design handbook,2011年看过,也受益匪浅。9 W( I) [$ y/ V! E
就是由于看了这本书,让我在那一年完成自己的第一版凸轮设计程序,在11年公司工作需要用的凸轮都可以完成!9 X' X1 m' V6 S+ X: L
- X- s) J0 T* |) q4 M2 }/ D
上个月由于遇到了凸轮设计的新问题,所以又重新阅读了多本凸轮著作。
. n, u' o& J- o- O不过对凸轮优化,感觉快要抓住了可以还是没有抓住。( F. |, I' e' V& S( b# L
意思就是没有透彻。( M6 f7 }! m9 I/ k6 K) G
hoot前辈一个对凸轮曲线的优化应该算是比较精通了吧!" c* w& y, L% h! B% Y! d# t* V

8 x4 e  Q- i# n' o( W6 U* p$ w! ?对与那些著作里提到的30几中曲线,上个月,我也是已经全部收纳成功:)6 \( L& d: ?8 V
自己做个程序,自己用!; |2 L( i5 k/ N
就像你在其他贴中说的一样,自己建的数学模型,自己写的代码,用的放心!2 O( {: v; `$ _7 b/ ^- |7 u# O
出错,立马查得到!
' s/ n, H& j0 O1 f# F3 o' f6 H" ?哈哈!
  m5 C! }9 Y* L  w
回复 支持 反对

使用道具 举报

发表于 2015-11-7 17:38:47 | 显示全部楼层
盘式凸轮算是比较简单的了,而且也有现成的软件可以使用,复杂的是三维凸轮,这个才是考验功底的
回复 支持 反对

使用道具 举报

发表于 2015-11-9 21:27:09 | 显示全部楼层
pacelife 发表于 2015-11-7 17:38
% |$ Y/ T- _! R% Y! p; u, F% o+ P盘式凸轮算是比较简单的了,而且也有现成的软件可以使用,复杂的是三维凸轮,这个才是考验功底的
4 O' r% e" H% u, ?, q5 ~' D- K
三维弧面。。。想当初2011年接触分度凸轮indexing的时候,没有看过正规的书籍,就凭网上的几篇论文,硬着头皮去研究,做INDEXING的设计程序,影响中程序做到了可以展开到平面的曲线部分,剩下只能通过手工包覆到凸轮曲面去生成槽,不过还不是弧面,没有读书多可怕,当时真的是犀利糊涂的,呵呵,不过现在也忘记了,有空等我手头上的事处理完,可以去完成我的那部分了
1 {) u3 a$ a! [: b0 O
回复 支持 反对

使用道具 举报

发表于 2015-11-12 18:01:42 | 显示全部楼层
问楼主一个问题,里面的公式有自己推导过吗?我今天自己推了一下,发现有一个地方,为什么是 -3/8beta 和 1/2beta,而不是-3/8beta 和 3/8beta, cam design hand book,第63页。具体请见附件!
# T% ]2 n3 |7 y! q. Q7 p8 l

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-23 04:28 , Processed in 0.071813 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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