机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12788|回复: 21

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

[复制链接]
发表于 2014-12-20 21:13:57 | 显示全部楼层 |阅读模式
目的:设计一个平面凸轮的外轮廓  A& q% t& Y5 U5 y
如下图,从动件为滚针轴承,带导轨,需要确定基圆直径,和升程曲线。) G7 n: M4 p  f( h; _( T( p
(参考书籍:凸轮算法,80年代的国产货,我也不知道书名;另一本,英文:cam design handbook): ]+ R! [! i2 K6 @) ^' }. R
% ]. b$ P" b9 ]/ |+ q8 _
0 o* U& I: s; R( N8 y
凸轮升程曲线要求运动尽可能平滑,就是加速度平滑,这样电机寿命长,当前比较好的是7段组合式加速度曲线(参考书1),如图,我们知道总升程h,总角度,需要通过计算得出每一段的加速度,速度,和行程(升程)的表达式,进而计算并绘制凸轮外轮廓。( C+ z: a( M% F$ y: d- Q2 i

5 A* @. s" V) Q  x) I/ C" x5 _公式如下! Z; ^: f' S# |* f* Y0 n

& c0 g$ k2 \4 t) G1 Q5 P) Z因为是举升,重力向下,我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多4 E1 j0 g, M' G+ ^& q( r0 @
( c) O- q2 ^6 o$ h7 H' M6 K
于是我们需要一个程序,输入角度和升程,以及加减速段的比值,输出每个角度对应的升程数值;  B6 q5 G; |: O6 A% a2 M  O, ^4 n
部分程序如下(MATLAB):
0 L( f; V4 u, U0 [rb=45;rt=31;e=0;h=85;
1 @" M) d; p( c/ z%  推程运动角;远休止角;回程运动角;近休止角;推程许用压力角;凸轮转速9 l" b8 N% E8 ?: z6 G
ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60;7 T/ X, i$ f1 d2 e5 T. s9 D
%  角度和弧度转换系数;机构尺度
" A# H9 i) ~/ H7 r% C  X/ Thd=pi/180;du=180/pi;se=sqrt(rb^2-e^2);# \9 ^/ I- I: ~; ]" P0 b1 ~  D
w=n*2*pi/60; omega=w*du;         % 凸轮角速度(°/s)
1 ~7 E2 u7 g2 I8 dp=3; % 加速段角度和减速段角度比值  \( F- l( I, g1 w
for f=1:ft+ h2 {8 I1 m7 |" O( H
    if (0<=f&&f<=1/4*p/(1+p)*ft)7 H6 `0 [$ g) O- v, e- ~/ @
        %s(f)=0.09724613*h*(4*f/ft-1/pi*sin(4*pi*f/ft));sxs=s(f);   2 T4 d) D/ }! b' G5 |$ r
        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);
- z2 I  V: Q9 ^5 F% K: t3 K        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);
* I) e0 g) W. Z: e$ 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);   * i. |& d# x7 _/ T. X1 k
    end. s5 M9 M% o% F, a$ Q
    if (1/4*p/(1+p)*ft<f&&f<=3/4*p/(1+p)*ft)" B4 Z6 c3 B, T: S
        %s(f)=(p/(1+p)*h)*(2.444016188*(f/ft)^2-0.22203094*f/ft+0.00723406);sxs=s(f);' w# N8 `$ w2 h( U3 @  M
        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);9 G4 T3 C: A3 @% Z& l5 R5 c9 r
        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);
' j$ ~, j* L9 d+ m        d2s(f)=4.888124*(2*p/(1+p)*h)/(2*p/(1+p)*ft)^2;sxd2s=d2s(f);   ) z; r$ C4 t% m  i  b7 u" x
    end
: G- v( h$ q# k3 s    if (3/4*p/(1+p)*ft<f&&f<=4/4*p/(1+p)*ft)$ P# g0 [; M; K5 s) A
        %s(f)=(p/(1+p)*h)*(1.6110155*f/ft-0.0309544*sin(4*pi*f/ft)-0.3055077);sxs=s(f);6 k8 s1 F8 J$ |3 Y' E' u! K. c
        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);! K0 `- [" T! G0 R$ c
        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);) g7 H5 u. y$ r- A6 T9 C5 o6 F
        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);   
) }( |  _1 V  q3 u     end
+ ]3 L9 h& }# ^- }/ U) [上面的程序最终会计算出,在1-155度中,每一度变化对应的升程数值s;速度ds;加速度d2s。0 u# ^/ O! j' l% x0 u
最终效果(把计算的点给autocad画图)我不用担心睡不着觉了。
0 l" K/ I8 V. t5 c$ M1 Q; Z# P" J4 C, f$ R6 X3 a

4 l1 w' k+ W* i2 Z. _! l有兴趣的可以一起聊这个曲线。
& l* [% d" e9 A* N  L* J附书1的部分目录,可以帮助找到同一本书
* P7 P1 e# H8 J- h; r; f. h6 v
1 l1 i' d; t  N- k) |* B, Y4 _
# V6 g; m) U8 N  @+ V8 Z' l; A% Q! S2 b. ]. h; `6 x# a
6 ^9 h% L5 ^# `% X5 Q' {& [1 n' X
. y) z8 K# \) U8 @

: t+ }- v* ^0 k8 B* @& O

本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2014-12-20 23:45:33 | 显示全部楼层
”当前比较好的是7段组合式加速度曲线“. m3 M  X" p2 V6 }0 m
# o0 G! @9 g0 I/ o8 T
为何是这种曲线?0 l+ b) _( i: b' v/ v* w; b' g
5 J0 Z0 C0 f2 y/ N. N4 j" V
我喜欢用正弦余弦曲线,我的速度比较慢

点评

因为中间一段加速度为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 编辑
: ~! F) S) _: R0 J: U
( N5 m& x8 p: d" C" p/ z$ c哈哈,大侠用的是标准的修正梯形再变形。9 w7 u' ~5 ]0 [3 M7 \1 |; i! }
按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。
; T) U0 u& ?' N$ c8 Z; r1 w9 F5 C7 x1 j: {“p=3; % 加速段角度和减速段角度比值”。表述不严谨,会误解。$ ?: U, \9 }- P
因为推程和回程都有加速段和减速段。  |, X* ]' K, B$ b# x/ u
  |- U4 I! i- c5 h: B& S
实际上,“加速度是时间的函数”这样理解更合适。" m+ Y8 p, U: i9 E6 }! }  ]' J) M
为了达到“我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多;”这一目的9 y$ n  Z" u8 n0 K7 q/ U2 o# d
设定一个系数=p/(1+p),那么:- p( O( V/ B' b6 t* @5 A# R
推程:用的是1/4 *系数 ,  3/4*系数 ,   1*系数。) q5 ^0 v8 f. }3 y2 |
回程:没下载大侠的程序,由于上面的误解,不好妄下结论。
5 x) b) R  l5 j8 o0 b按我的理解,推程取一系列T值,回程再取一系列T值,完全可以实现LZ的设计目的。7 R& ?- g6 w$ T5 Y& ?
7 C8 _' o5 O/ z; ^& b, i/ h
另外,大侠的程序好像没有体现文中所说“7段组合”。不知大侠能否把各曲线补齐。6 E( d9 i2 Y  E0 |- u4 K" M
要求过分了点,哈哈/ W, F. v5 z9 q# j
给个建议,不等式两边可以约去“*p/(1+p)*ft”,把“f&&f”改成时间T,不要用角度。这样,你的程序将有极大的通用性。- ~3 [9 Y9 _% [4 O& X: f" y" E

8 m# o) x* `/ h对应的中文目录
/ r( S4 N) U+ 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 编辑 + g. S0 R6 i3 _: _- j
hoot6335 发表于 2014-12-21 18:52
! @7 H' B+ [# y9 s0 {' {1 }7 v1 L/ C哈哈,大侠用的是标准的修正梯形再变形。
5 t/ ?4 x) ^) n按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。 ...

. s  Q+ q6 n( H" GCam design handbook,2011年看过,也受益匪浅。" @: n: g5 ^$ Y! R- L. A8 H$ j
就是由于看了这本书,让我在那一年完成自己的第一版凸轮设计程序,在11年公司工作需要用的凸轮都可以完成!
9 U0 m' T0 t% C+ y( r* j" W- n3 H
上个月由于遇到了凸轮设计的新问题,所以又重新阅读了多本凸轮著作。
& ?) \4 B2 U# s* b! h% S( c/ q不过对凸轮优化,感觉快要抓住了可以还是没有抓住。: m0 A7 F( D" @" M
意思就是没有透彻。8 v+ u: ^/ R2 K# O$ c; q$ ?4 r, c  d
hoot前辈一个对凸轮曲线的优化应该算是比较精通了吧!
9 A2 n5 J, z& p& {# Z* @5 ^- d
3 g+ V: I0 J; [9 Y" [- d对与那些著作里提到的30几中曲线,上个月,我也是已经全部收纳成功:)
) Y% \3 ^0 m$ D% u: @自己做个程序,自己用!6 b! k9 y% @! ~1 I- c
就像你在其他贴中说的一样,自己建的数学模型,自己写的代码,用的放心!0 }* }2 v* i4 J; g6 b1 p
出错,立马查得到!+ ?" f8 x. K4 ~/ l/ s! y
哈哈!& S1 C; W/ i7 ?5 t
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2015-11-9 21:27:09 | 显示全部楼层
pacelife 发表于 2015-11-7 17:38
9 V# G+ P( @9 B) L) P2 {  P2 \! j盘式凸轮算是比较简单的了,而且也有现成的软件可以使用,复杂的是三维凸轮,这个才是考验功底的

! {- C6 G$ J/ _0 p. f' k三维弧面。。。想当初2011年接触分度凸轮indexing的时候,没有看过正规的书籍,就凭网上的几篇论文,硬着头皮去研究,做INDEXING的设计程序,影响中程序做到了可以展开到平面的曲线部分,剩下只能通过手工包覆到凸轮曲面去生成槽,不过还不是弧面,没有读书多可怕,当时真的是犀利糊涂的,呵呵,不过现在也忘记了,有空等我手头上的事处理完,可以去完成我的那部分了7 t0 A* ^3 j0 p5 J& D
回复 支持 反对

使用道具 举报

发表于 2015-11-12 18:01:42 | 显示全部楼层
问楼主一个问题,里面的公式有自己推导过吗?我今天自己推了一下,发现有一个地方,为什么是 -3/8beta 和 1/2beta,而不是-3/8beta 和 3/8beta, cam design hand book,第63页。具体请见附件!
* F0 V3 z+ g) j. {9 \

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 08:52 , Processed in 0.063075 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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