机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 13072|回复: 21

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

[复制链接]
发表于 2014-12-20 21:13:57 | 显示全部楼层 |阅读模式
目的:设计一个平面凸轮的外轮廓
; X& t! P( O! K. r! q$ I如下图,从动件为滚针轴承,带导轨,需要确定基圆直径,和升程曲线。
* b+ a! X0 C( k  r( ~(参考书籍:凸轮算法,80年代的国产货,我也不知道书名;另一本,英文:cam design handbook)! M+ F" ?4 W1 L

/ M7 M; q  C+ m' x, A* {9 A4 w9 n1 a) y! Z  g6 ?, b
凸轮升程曲线要求运动尽可能平滑,就是加速度平滑,这样电机寿命长,当前比较好的是7段组合式加速度曲线(参考书1),如图,我们知道总升程h,总角度,需要通过计算得出每一段的加速度,速度,和行程(升程)的表达式,进而计算并绘制凸轮外轮廓。/ q3 z: q3 d; N( @" D' ?( W

( C7 x; d- q8 O: T: \( U1 v公式如下' i4 k1 j. A9 m1 c

  ^4 E" Y% W5 ?! F$ m' P因为是举升,重力向下,我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多
, C3 b$ K0 b1 `' u# u" V  d6 X4 h/ ?+ u$ }0 k  g5 u3 m
于是我们需要一个程序,输入角度和升程,以及加减速段的比值,输出每个角度对应的升程数值;
$ I: ?9 c, J& J- f- T& V' f部分程序如下(MATLAB):9 `* }, L# B! y
rb=45;rt=31;e=0;h=85;
/ |( F9 J; |- V  W%  推程运动角;远休止角;回程运动角;近休止角;推程许用压力角;凸轮转速
  ^* p! ?0 e1 ]  B7 [. eft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60;4 }( \9 {$ `& U: o/ T0 w3 D( w, m0 M/ a
%  角度和弧度转换系数;机构尺度! ?# s$ C- ~  i5 N8 @3 V  R
hd=pi/180;du=180/pi;se=sqrt(rb^2-e^2);
; s# T; l7 i9 _9 G0 bw=n*2*pi/60; omega=w*du;         % 凸轮角速度(°/s)
7 u! U6 C3 n. d6 Qp=3; % 加速段角度和减速段角度比值! X$ ^* l" w. w: r
for f=1:ft
+ {+ E1 e" {  x& |: r    if (0<=f&&f<=1/4*p/(1+p)*ft)5 E4 ~2 J# z8 d' d- S) Z
        %s(f)=0.09724613*h*(4*f/ft-1/pi*sin(4*pi*f/ft));sxs=s(f);   9 `3 e- ?9 y: g" v, b1 O+ q
        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);
6 _& M; l- G* e9 V" J5 Q' L        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);/ a5 J4 l8 N, f& ?+ M& @6 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);   / A2 `0 Z& k# H, h5 k$ }/ K3 n
    end
  E5 M" g: f0 k; g7 T  q# ?    if (1/4*p/(1+p)*ft<f&&f<=3/4*p/(1+p)*ft)
4 |# ~: s. [: N( }& m! g        %s(f)=(p/(1+p)*h)*(2.444016188*(f/ft)^2-0.22203094*f/ft+0.00723406);sxs=s(f);
: s0 F1 r& L: d' q, Z* l8 f0 v        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);
( U3 c  v$ Z6 \& B5 I. o        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);
$ ~6 n. L5 @2 Y7 Q2 L6 o        d2s(f)=4.888124*(2*p/(1+p)*h)/(2*p/(1+p)*ft)^2;sxd2s=d2s(f);   
9 o  N( m+ N( D    end
" S4 X' Y0 N9 y6 w2 t  ~4 n    if (3/4*p/(1+p)*ft<f&&f<=4/4*p/(1+p)*ft)/ O- z1 x2 j5 a
        %s(f)=(p/(1+p)*h)*(1.6110155*f/ft-0.0309544*sin(4*pi*f/ft)-0.3055077);sxs=s(f);
. p% K# Y6 k# }7 R$ Q& D) Y        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);2 W& b: h  D2 U6 _  D
        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);, _/ N' _0 H$ F: i' v. |
        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);   7 P6 _* l  ^% S/ [. K# e4 s2 u
     end
% E  l1 W# x$ o( I- P/ O/ L# f上面的程序最终会计算出,在1-155度中,每一度变化对应的升程数值s;速度ds;加速度d2s。
3 D% q" |& ]7 L; A- V6 S最终效果(把计算的点给autocad画图)我不用担心睡不着觉了。% R4 @! M" Z4 p5 |& @% C3 h
# p& B) d3 O' w8 W+ r
% y; H& B( F/ `3 ^0 m6 K
有兴趣的可以一起聊这个曲线。! w  _' B/ j0 P! I4 E
附书1的部分目录,可以帮助找到同一本书
3 d5 T( I2 W# d& z' T& Z  z/ R$ V- W# y* U. P3 ]. W4 X" V, A

* [9 a5 i/ E( [, f9 H( m. ]4 _" O# A) A! R6 A: N5 h
' ^0 Z9 t7 q( j; s
/ ?. u/ ?: ]+ X  G* @
$ y- r0 t& [. Y) h2 v

本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2014-12-20 23:45:33 | 显示全部楼层
”当前比较好的是7段组合式加速度曲线“
5 a  @' T' h) T, D& \  y. h, P; |8 R' H9 s( ^
为何是这种曲线?
5 X9 y( C- L7 p* v; d  K0 o/ I3 \$ u% ^9 r
我喜欢用正弦余弦曲线,我的速度比较慢

点评

因为中间一段加速度为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 编辑
6 y1 v' R3 {  J7 i* q' ~
0 g5 B1 S! T* y8 G, V3 ~哈哈,大侠用的是标准的修正梯形再变形。
# p% S9 F3 t/ c6 F2 t- f7 G按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。
# E: d  f$ o0 f“p=3; % 加速段角度和减速段角度比值”。表述不严谨,会误解。* e; x" _4 U  t. {( i% D
因为推程和回程都有加速段和减速段。0 p/ u1 ]: g8 d3 v  I/ u, C' e

" q. x0 K( ^2 S8 Y6 P& b实际上,“加速度是时间的函数”这样理解更合适。
2 J$ G7 A+ z1 k为了达到“我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多;”这一目的% R' q+ [+ {/ l2 O1 t3 W4 i
设定一个系数=p/(1+p),那么:
6 {. E. E5 N% T$ R& }6 n+ E推程:用的是1/4 *系数 ,  3/4*系数 ,   1*系数。
$ p0 j  l6 f/ j. Q" [" W4 z回程:没下载大侠的程序,由于上面的误解,不好妄下结论。. P1 Q. l: J/ N% Z
按我的理解,推程取一系列T值,回程再取一系列T值,完全可以实现LZ的设计目的。4 E4 S1 ?5 N) T: e) F" f. c- J

1 y  j4 W1 n) J, T另外,大侠的程序好像没有体现文中所说“7段组合”。不知大侠能否把各曲线补齐。
6 K. v/ A! g4 ^( o要求过分了点,哈哈
3 @, z% Y  O0 ^给个建议,不等式两边可以约去“*p/(1+p)*ft”,把“f&&f”改成时间T,不要用角度。这样,你的程序将有极大的通用性。
8 n2 B* q- J& F, E5 E5 V3 J9 R5 {& K5 F* l, t
对应的中文目录! L1 S: F, v6 `; t

本帖子中包含更多资源

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

x

点评

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

使用道具 举报

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

使用道具 举报

发表于 2015-11-5 19:55:26 | 显示全部楼层
本帖最后由 georgemcu 于 2015-11-5 19:58 编辑
7 G7 b, r2 {; B5 p
hoot6335 发表于 2014-12-21 18:52 : T) d2 x: a9 g% l* w# Q7 k* y+ T
哈哈,大侠用的是标准的修正梯形再变形。
* f3 B+ T3 o5 W2 I1 a2 U按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。 ...
0 |+ o% ~% m* `2 C8 k; H$ g
Cam design handbook,2011年看过,也受益匪浅。- u, g9 |- h+ v3 R
就是由于看了这本书,让我在那一年完成自己的第一版凸轮设计程序,在11年公司工作需要用的凸轮都可以完成!
# d5 l' d% ^+ `' g
* G, o% ^1 _8 s$ X5 |/ o上个月由于遇到了凸轮设计的新问题,所以又重新阅读了多本凸轮著作。4 R2 l9 y; K4 C$ J9 G
不过对凸轮优化,感觉快要抓住了可以还是没有抓住。: z. z$ [4 B: t& u
意思就是没有透彻。, K( @3 E! }% Y! A4 R! l1 ~
hoot前辈一个对凸轮曲线的优化应该算是比较精通了吧!
- J1 Z' v6 A, c- H, A$ n  S  P3 l* o
对与那些著作里提到的30几中曲线,上个月,我也是已经全部收纳成功:)3 `9 p6 H1 U/ l5 U. v' R$ C4 `
自己做个程序,自己用!
- g( h  D% `- O9 u: V7 |/ b- |就像你在其他贴中说的一样,自己建的数学模型,自己写的代码,用的放心!
) L! d4 T6 r' ]- u! [出错,立马查得到!0 W+ Z' Y2 _& d. \+ {2 }; d
哈哈!
. s9 E: A" b$ Q2 X3 @. D
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2015-11-9 21:27:09 | 显示全部楼层
pacelife 发表于 2015-11-7 17:38
5 R- ~0 P8 G: Z& D盘式凸轮算是比较简单的了,而且也有现成的软件可以使用,复杂的是三维凸轮,这个才是考验功底的

; A5 `( o1 W) l% x5 p6 ?8 S三维弧面。。。想当初2011年接触分度凸轮indexing的时候,没有看过正规的书籍,就凭网上的几篇论文,硬着头皮去研究,做INDEXING的设计程序,影响中程序做到了可以展开到平面的曲线部分,剩下只能通过手工包覆到凸轮曲面去生成槽,不过还不是弧面,没有读书多可怕,当时真的是犀利糊涂的,呵呵,不过现在也忘记了,有空等我手头上的事处理完,可以去完成我的那部分了9 \, U. Y8 J+ e
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-22 18:53 , Processed in 0.068691 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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