机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12367|回复: 21

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

[复制链接]
发表于 2014-12-20 21:13:57 | 显示全部楼层 |阅读模式
目的:设计一个平面凸轮的外轮廓
0 r& |4 O% q" O4 n4 i如下图,从动件为滚针轴承,带导轨,需要确定基圆直径,和升程曲线。
( E/ p# ^9 c: h(参考书籍:凸轮算法,80年代的国产货,我也不知道书名;另一本,英文:cam design handbook)
! R5 o3 \' q4 ?2 ~# i% a* A' T+ m. O( Y; W

+ z# U- x7 p* @+ G7 ?" x凸轮升程曲线要求运动尽可能平滑,就是加速度平滑,这样电机寿命长,当前比较好的是7段组合式加速度曲线(参考书1),如图,我们知道总升程h,总角度,需要通过计算得出每一段的加速度,速度,和行程(升程)的表达式,进而计算并绘制凸轮外轮廓。
& c( }. Z# {/ A" U8 _& o$ h3 k# o& o+ z# m
公式如下
& Z8 W" Q  v( D9 a% Q  _* o0 A/ n5 e* d$ \( q4 V, a1 T
因为是举升,重力向下,我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多! a9 ?/ E) p/ B
* p( }% w$ W- s& k; {7 ?. x0 p
于是我们需要一个程序,输入角度和升程,以及加减速段的比值,输出每个角度对应的升程数值;
% U0 H/ O% v9 M& K部分程序如下(MATLAB):% |/ R! d0 F. {5 J' o. j
rb=45;rt=31;e=0;h=85;7 b! {) R0 l& s  i1 z& W; S
%  推程运动角;远休止角;回程运动角;近休止角;推程许用压力角;凸轮转速8 r; j8 M. r$ e
ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60;
2 X' ]! M8 u  E3 j" e* D%  角度和弧度转换系数;机构尺度7 r: `) X. W0 }' {, t$ T
hd=pi/180;du=180/pi;se=sqrt(rb^2-e^2);
0 r4 `! K- x4 T2 v3 b: Mw=n*2*pi/60; omega=w*du;         % 凸轮角速度(°/s)
; X" G* b8 E5 y7 G4 h3 n% F, qp=3; % 加速段角度和减速段角度比值' C2 v) p8 l% g
for f=1:ft
# d5 S! A  }9 L' o# P! O2 U    if (0<=f&&f<=1/4*p/(1+p)*ft)7 r) v3 f7 s. I: L7 \3 |
        %s(f)=0.09724613*h*(4*f/ft-1/pi*sin(4*pi*f/ft));sxs=s(f);   
: _" _4 ?( h, I+ \        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); ' j5 X( @# n' e1 d1 P3 ?
        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);; s6 `' Z) L5 N
        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);   
, n/ N$ q6 R& \7 a; j( n    end8 y' I7 J% L; S; N3 ]( Q
    if (1/4*p/(1+p)*ft<f&&f<=3/4*p/(1+p)*ft)' J! Q5 C5 k& B; ^# d; j
        %s(f)=(p/(1+p)*h)*(2.444016188*(f/ft)^2-0.22203094*f/ft+0.00723406);sxs=s(f);
; U0 X- z$ \3 [1 {9 }1 `6 O! q        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);
+ [- [! R8 M6 y( F/ t        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);  ?2 c, C# f3 h4 ]; v9 [; T
        d2s(f)=4.888124*(2*p/(1+p)*h)/(2*p/(1+p)*ft)^2;sxd2s=d2s(f);   
  z6 h; R- l9 A; T7 @1 U    end
0 }: D7 _- {& b0 {7 d( N& {    if (3/4*p/(1+p)*ft<f&&f<=4/4*p/(1+p)*ft)
3 l; Y6 \9 p* i' p- [- V        %s(f)=(p/(1+p)*h)*(1.6110155*f/ft-0.0309544*sin(4*pi*f/ft)-0.3055077);sxs=s(f);
  |$ `% W# J) Y( u9 `# S        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; J7 d6 A, y, 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);1 J9 |' m/ B; ^& q, z+ \! B
        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);   ; w* q7 h) m$ F' Z9 |: V
     end3 u7 N5 M6 Y/ |, c4 w
上面的程序最终会计算出,在1-155度中,每一度变化对应的升程数值s;速度ds;加速度d2s。
( W  r! }+ `5 m" b9 f! m1 b3 H最终效果(把计算的点给autocad画图)我不用担心睡不着觉了。# O: S- i% }- i+ z; \7 C9 U# K" |
) w) E$ W4 k& @& w& B/ L

0 X1 s& c# k- L! v有兴趣的可以一起聊这个曲线。
! l5 c& ?# X. m/ U附书1的部分目录,可以帮助找到同一本书
6 p0 D+ M& Q8 n* Y4 a: b+ `$ M! @2 E/ v# p# X& @* d& U1 B
, E+ [2 o2 C! d  W& u; S

# Q7 c9 @! g( Q. a9 H
, k& J8 P) s5 J4 ]( Y: ~
# k5 ^; @" |+ P
- z4 p7 A6 C. a" i6 ^3 z

本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2014-12-20 23:45:33 | 显示全部楼层
”当前比较好的是7段组合式加速度曲线“
6 s5 F0 M; b) H. S) c  S6 `
5 ?2 Q1 K: }( C' u0 Q6 B6 p. }0 j为何是这种曲线?4 N/ \; e7 ]6 @
& {+ m5 V% P" p0 B1 i# _
我喜欢用正弦余弦曲线,我的速度比较慢

点评

因为中间一段加速度为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 编辑 # H; [4 l! _( L  H. Y$ \9 j2 l
9 k+ B( O9 T8 z. Q& {' P6 `
哈哈,大侠用的是标准的修正梯形再变形。6 M* y' G% y1 Q& F, {
按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。
0 U9 a* E4 W4 a& x- q! ]) G“p=3; % 加速段角度和减速段角度比值”。表述不严谨,会误解。$ Y* Z2 a$ S: x5 N1 s, C! w
因为推程和回程都有加速段和减速段。
& s: m' y3 z+ d5 `1 M1 L( k4 J5 R# W1 `9 R8 E
实际上,“加速度是时间的函数”这样理解更合适。
! E3 S' }" u9 I  x为了达到“我们希望加速段比较长,减速段比较短,就是加速段的角度比减速段的多;”这一目的
2 L! u( @8 M$ n5 C. H设定一个系数=p/(1+p),那么:
, r% Z+ f* Z3 \! R* Q" I. `4 K推程:用的是1/4 *系数 ,  3/4*系数 ,   1*系数。
" m  z" `+ {: Z3 x  w" r回程:没下载大侠的程序,由于上面的误解,不好妄下结论。* J% `. d8 h0 Y0 C' ~3 ^/ M+ t# C
按我的理解,推程取一系列T值,回程再取一系列T值,完全可以实现LZ的设计目的。: N' c! A1 d* R: q

2 Y6 h6 n3 B) d# r% N. G" o0 U另外,大侠的程序好像没有体现文中所说“7段组合”。不知大侠能否把各曲线补齐。
& p+ G  M" m) B4 e! V; ]要求过分了点,哈哈0 f( x4 H+ g* f0 P, y/ {9 ^# U
给个建议,不等式两边可以约去“*p/(1+p)*ft”,把“f&&f”改成时间T,不要用角度。这样,你的程序将有极大的通用性。9 R: V, _1 Y& n
5 p0 ~$ Y6 Z( J) a0 p4 D2 K
对应的中文目录
8 v: ~( W" X% t# {9 f

本帖子中包含更多资源

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

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 @( d) ]' Y1 r) X+ z5 a
hoot6335 发表于 2014-12-21 18:52
! P! P2 D9 a# s% }) v$ I4 h- m哈哈,大侠用的是标准的修正梯形再变形。! L) u- T( P0 t$ N- R) g9 {
按照机构的设定“ft=155;fs=20;fh=155;fx=30;alpha_p=35;n=60”。 ...
5 G9 ?1 y" V9 Y. |
Cam design handbook,2011年看过,也受益匪浅。/ ^, m! R( _# l" r; D5 ?
就是由于看了这本书,让我在那一年完成自己的第一版凸轮设计程序,在11年公司工作需要用的凸轮都可以完成!6 s6 S3 \; ?, P5 I# A' s

- L, a7 P3 D. b' [$ [上个月由于遇到了凸轮设计的新问题,所以又重新阅读了多本凸轮著作。
" g0 h, \8 k2 F9 e8 Q  D$ C! F不过对凸轮优化,感觉快要抓住了可以还是没有抓住。* F0 P. m$ z0 I) Z, r% y7 n
意思就是没有透彻。
, s2 E7 e3 d- A5 rhoot前辈一个对凸轮曲线的优化应该算是比较精通了吧!
, Z/ P: t$ V/ c: Z2 I7 b8 A1 @6 e3 s* e7 V/ G7 Z& {& u
对与那些著作里提到的30几中曲线,上个月,我也是已经全部收纳成功:)) S6 i5 _; a! q. T4 g* H1 `
自己做个程序,自己用!
# ~' Q+ x- M# U% }( \' x就像你在其他贴中说的一样,自己建的数学模型,自己写的代码,用的放心!
4 Q# {9 U4 A9 t9 P! J, a出错,立马查得到!6 I+ }& d, `8 y, {0 h- A0 I/ S; V0 i
哈哈!
' w. L" j" B- P4 v' U6 j* n
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

9 x) |$ S9 P  [- s& t) q三维弧面。。。想当初2011年接触分度凸轮indexing的时候,没有看过正规的书籍,就凭网上的几篇论文,硬着头皮去研究,做INDEXING的设计程序,影响中程序做到了可以展开到平面的曲线部分,剩下只能通过手工包覆到凸轮曲面去生成槽,不过还不是弧面,没有读书多可怕,当时真的是犀利糊涂的,呵呵,不过现在也忘记了,有空等我手头上的事处理完,可以去完成我的那部分了
. h) a  ?* K+ t' |
回复 支持 反对

使用道具 举报

发表于 2015-11-12 18:01:42 | 显示全部楼层
问楼主一个问题,里面的公式有自己推导过吗?我今天自己推了一下,发现有一个地方,为什么是 -3/8beta 和 1/2beta,而不是-3/8beta 和 3/8beta, cam design hand book,第63页。具体请见附件!2 T: Z' U8 _/ R$ e6 H- e5 n% a

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-17 04:32 , Processed in 0.077092 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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