机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12925|回复: 21

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

[复制链接]
发表于 2014-12-20 21:13:57 | 显示全部楼层 |阅读模式
目的:设计一个平面凸轮的外轮廓
# P7 W) h. o: d" G! D" \* E( I如下图,从动件为滚针轴承,带导轨,需要确定基圆直径,和升程曲线。0 N9 T( }" [& q6 ~( x4 B$ f- [6 r' {
(参考书籍:凸轮算法,80年代的国产货,我也不知道书名;另一本,英文:cam design handbook)9 N9 n3 v- J" L0 v3 J  s- V; p
' r, r5 n$ s, m9 k& }& F+ b! e" r
. ?- |5 O0 L6 B9 m. P
凸轮升程曲线要求运动尽可能平滑,就是加速度平滑,这样电机寿命长,当前比较好的是7段组合式加速度曲线(参考书1),如图,我们知道总升程h,总角度,需要通过计算得出每一段的加速度,速度,和行程(升程)的表达式,进而计算并绘制凸轮外轮廓。4 F. E. k! R0 ~% |
4 m& s: e. ]- a0 {3 k2 p4 M9 M
公式如下
1 o. Y; B+ ~! o8 i2 U/ m: B4 o6 N9 Q0 h% s4 v
因为是举升,重力向下,我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多8 g8 I. f  J( e& v7 |8 N, w
5 x7 r! B+ J  R; l+ o& W0 Z
于是我们需要一个程序,输入角度和升程,以及加减速段的比值,输出每个角度对应的升程数值;- o/ u: q: `, c2 O/ U
部分程序如下(MATLAB):
( q. K/ Y$ h3 }& {) v4 lrb=45;rt=31;e=0;h=85;1 Q3 G$ w1 `# M
%  推程运动角;远休止角;回程运动角;近休止角;推程许用压力角;凸轮转速
$ d( G% p% k% k; E6 ^, Sft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60;  J1 u8 Z% g- h% h8 T
%  角度和弧度转换系数;机构尺度& ^0 F! a7 |6 R0 M2 X1 I# Q
hd=pi/180;du=180/pi;se=sqrt(rb^2-e^2);; F, ^0 s# L! D0 K
w=n*2*pi/60; omega=w*du;         % 凸轮角速度(°/s)
; I# i1 M9 G0 G9 d# tp=3; % 加速段角度和减速段角度比值% E/ o9 w: f% t0 E
for f=1:ft& z6 x, |$ J9 E5 M" q$ B: A
    if (0<=f&&f<=1/4*p/(1+p)*ft)) B  g4 }3 D+ A/ V
        %s(f)=0.09724613*h*(4*f/ft-1/pi*sin(4*pi*f/ft));sxs=s(f);   
& l! L7 I6 z& O% y4 ~# 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); 1 ~, B& ~+ g- l" q: m9 c7 `0 d
        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);( o' A* T8 s" @: s
        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);   ! C; p; z& ]6 Q+ ]8 y4 N4 H; P
    end
- b" V6 F: e! F+ X1 g    if (1/4*p/(1+p)*ft<f&&f<=3/4*p/(1+p)*ft)
) k* L$ [2 X, ^4 R4 x7 B1 ], U        %s(f)=(p/(1+p)*h)*(2.444016188*(f/ft)^2-0.22203094*f/ft+0.00723406);sxs=s(f);
7 V2 T/ r5 U, @5 k- x/ s7 `. 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);+ i) j# j+ r6 n! o* ?; P+ i
        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);
5 h& }; ?4 l( F5 ~6 B        d2s(f)=4.888124*(2*p/(1+p)*h)/(2*p/(1+p)*ft)^2;sxd2s=d2s(f);   
1 z* a" f8 N3 e: {1 Q& G    end
& S6 z' _/ y$ P+ V    if (3/4*p/(1+p)*ft<f&&f<=4/4*p/(1+p)*ft)
# L) ^) v( y) I1 Z- p# o! @' n        %s(f)=(p/(1+p)*h)*(1.6110155*f/ft-0.0309544*sin(4*pi*f/ft)-0.3055077);sxs=s(f);2 _3 \4 z6 j  |$ d
        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);) w) ^3 n5 G! J% D* L
        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);' k3 e6 c6 L3 n7 g; H' x
        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);   ! U" k7 k! l8 o* `
     end
& C3 y7 y. h+ n" }) y上面的程序最终会计算出,在1-155度中,每一度变化对应的升程数值s;速度ds;加速度d2s。& _/ y) }9 Z. Z& A) l$ w
最终效果(把计算的点给autocad画图)我不用担心睡不着觉了。& E! ]- I/ a& M$ r
, |/ I9 |+ x+ u9 e
& A; {3 b* V% Q) {8 E- J6 x  c: q
有兴趣的可以一起聊这个曲线。
! D! t5 u% u, `( g7 c0 z. {. O附书1的部分目录,可以帮助找到同一本书/ |0 i7 O, o% q) l' \

) ?+ A, f& E7 e4 ?* a4 N. \7 \+ G  G+ `/ }' l, r6 G1 M- q" Y3 J9 m
8 o  y" B8 n$ j) M
% T7 S4 i8 K" I/ P( _1 k) c

, b  q  M% H; g' D$ q# g  Q3 @+ d! Q; r6 w, K" n

本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2014-12-20 23:45:33 | 显示全部楼层
”当前比较好的是7段组合式加速度曲线“3 p5 i/ \# a1 y- C# Z: d9 x

- |& `/ A8 {/ E& Z为何是这种曲线?
3 w0 ]" _0 t/ P+ Y# O, a9 A1 ^$ S0 q, w, S- K
我喜欢用正弦余弦曲线,我的速度比较慢

点评

因为中间一段加速度为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 编辑   f8 y; r4 L4 o, C; Q
7 C3 y' M( \* V( Q
哈哈,大侠用的是标准的修正梯形再变形。
  x; V; [8 u1 i8 ]按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。  \* }  E1 Z3 }5 @
“p=3; % 加速段角度和减速段角度比值”。表述不严谨,会误解。
6 A8 z* b: _& L' A3 C% Z( P因为推程和回程都有加速段和减速段。1 U- W. M$ s0 z+ H2 t7 l

4 ]8 C5 H: \0 |0 F, G实际上,“加速度是时间的函数”这样理解更合适。! m" V3 p% L9 u  s2 U1 q6 U
为了达到“我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多;”这一目的
$ V6 n- L. n" O# t* ]! Q0 A4 h设定一个系数=p/(1+p),那么:
% U0 G) I) `' ]+ m# b! e& q4 ]8 O' o推程:用的是1/4 *系数 ,  3/4*系数 ,   1*系数。' w; T$ E# ~2 q. {
回程:没下载大侠的程序,由于上面的误解,不好妄下结论。0 t' i2 A( ]" ^$ P# t2 ^
按我的理解,推程取一系列T值,回程再取一系列T值,完全可以实现LZ的设计目的。
7 @, p* Y7 W: s9 g' x5 W0 F1 X2 u* ~$ z% x6 d( {- z
另外,大侠的程序好像没有体现文中所说“7段组合”。不知大侠能否把各曲线补齐。! V; C& d: ~) O* c9 s6 l) f
要求过分了点,哈哈* ?" Q, {( }0 i; j
给个建议,不等式两边可以约去“*p/(1+p)*ft”,把“f&&f”改成时间T,不要用角度。这样,你的程序将有极大的通用性。
5 D0 ^3 y8 n' Y" r$ c$ z% b" k1 u
/ F9 H0 h4 J8 }: }对应的中文目录% ?3 E+ Q/ H2 {  d; C! U& L7 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 编辑
, w0 |' E1 a0 K1 [. u& G. a
hoot6335 发表于 2014-12-21 18:52 8 f# K+ [6 A) _' N* ?
哈哈,大侠用的是标准的修正梯形再变形。! f6 `6 @' b& y& e5 i2 G" V
按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。 ...

% M% j% F! Z( N2 nCam design handbook,2011年看过,也受益匪浅。
8 r- j2 z; g/ x( H! ~# H就是由于看了这本书,让我在那一年完成自己的第一版凸轮设计程序,在11年公司工作需要用的凸轮都可以完成!3 ]7 @% P! c$ o- J& j  [; v; ?

; G5 \/ Z& A+ F0 q* {上个月由于遇到了凸轮设计的新问题,所以又重新阅读了多本凸轮著作。
, B/ y. U$ h5 o$ _" V8 O不过对凸轮优化,感觉快要抓住了可以还是没有抓住。' w0 w1 n5 c2 t& e4 Y1 u% @) D: W. {
意思就是没有透彻。
3 R" k' ^4 p' H. whoot前辈一个对凸轮曲线的优化应该算是比较精通了吧!" r7 J5 m/ _% c" f
$ k+ C( z0 \0 q
对与那些著作里提到的30几中曲线,上个月,我也是已经全部收纳成功:)& g/ l2 X' @- C1 f0 }+ _% `! ?
自己做个程序,自己用!
% l$ X& K( B: q  ], S  K+ S就像你在其他贴中说的一样,自己建的数学模型,自己写的代码,用的放心!1 ^, V" H1 Y) G3 n
出错,立马查得到!+ N' Y" T' @# W$ @8 m
哈哈!( R* d1 q* B7 H' e) b4 d" I5 K
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2015-11-9 21:27:09 | 显示全部楼层
pacelife 发表于 2015-11-7 17:38 - o. D! Z- L( ^8 ?# Y% h( L: m
盘式凸轮算是比较简单的了,而且也有现成的软件可以使用,复杂的是三维凸轮,这个才是考验功底的
  `% T: V9 |, U, b1 v: ~6 @! T
三维弧面。。。想当初2011年接触分度凸轮indexing的时候,没有看过正规的书籍,就凭网上的几篇论文,硬着头皮去研究,做INDEXING的设计程序,影响中程序做到了可以展开到平面的曲线部分,剩下只能通过手工包覆到凸轮曲面去生成槽,不过还不是弧面,没有读书多可怕,当时真的是犀利糊涂的,呵呵,不过现在也忘记了,有空等我手头上的事处理完,可以去完成我的那部分了% x6 y2 W& H: J- L; m" X
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 14:51 , Processed in 0.058815 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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