EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#技术风云榜#matlab机器人p560 由驱动转矩求得三相异步电机控制电压仿真 [- A. q/ D* E0 ~; o2 ?0 B2 A6 a
9 y0 p, i, X5 D8 ^%这里的每个连杆的数据是和下一个坐标系之间的关系,也就是求得的是机械手末端的坐标系
" {$ f( R B: I" H# wL{1} =link([-pi/2 0 pi/2 0 0 0.00001 0 0 0 0 0 0 0 0 0 0 0],'sta')% 0.00001是连杆质量
6 V/ U" {9 j( Z, c5 l# ~: {L{2} =link([0 149 0 432 0 0.0000001 0 0 0 0 0 0 0 0 0 0 0],'sta')
8 s- A7 ?2 K; |# e* W' h. d5 HL{3} =link([pi/2 0 pi/2 -20 0 0.0000001 0 0 0 0 0 0 0 0 0 0 0],'sta'). R7 O4 A t$ _. i ^
L{4} =link([-pi/2 433 0 0 0 0.0000001 0 0 0 0 0 0 0 0 0 0 0],'sta')
) H# r. x# m4 H- C( \1 \* D$ ZL{5} =link([pi/2 0 0 0 0 0.0000001 0 0 0 0 0 0 0 0 0 0 0],'sta')
+ v+ k J6 R+ V7 {L{6} =link([0 56 0 0 0 0.000004 0 0 0 0 0 0 0 0 0 0 0],'sta')& l1 F- a! D3 l" U$ x& k
p560m=robot(L); c=[0 0 pi/2 0 0 0];% y) }) K/ n, P: c w$ v9 N# g0 f; Y
T1=fkine(p560m,c);( F: n" a2 \* d; Q2 R, c
T2=T1-[0 0 0 500;0 0 0 -200;0 0 0 0;0 0 0 0];
2 w8 t7 x4 l; H: s5 a. ot=0:0.056:10;# f0 L" y/ V5 c" u8 @8 m U
T=ctraj(T1,T2,length(t));1 G6 S& B# S2 \! {8 j- o8 | @
p=ikine(p560m,T);9 d4 w4 m* G& `7 g* }3 v1 }% G
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%添加的求得转矩2 k: X4 G& s1 q' h) g* O! c$ k
c2=p(length(t),: ); %取出到达目标时的各个关节角度
7 K0 f4 _. d9 ?. k[q qd qdd] =jtraj(c,c2,t); %得到关节空间规划轨迹
3 M3 i0 c( V4 A7 {& @' NF=rne(p560m,q,qd,qdd); %得到控制各个关节的输出力矩;2 n; B& G. d- m. n4 d2 c+ ^
%plot(F) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%添加的求得控制输入电压
4 C8 _" a6 \% o, l! K% M. z) qU1=220/sqrt(3)%线电压) x# }. ]6 v! \0 {4 D- |" r# w
N=3%电源相数9 \# A4 f) ^% d: k
P=2%极对数6 A/ i4 T6 L$ S' @; o5 x
FN=50%电源频率
7 O4 k( ^% j- D* {9 e0 BR1=0.095%定子电阻0 q9 A8 m& x! y; z) ^
X1=0.68%定子漏电感
+ ]8 c: N& u4 z3 B9 q5 y$ p$ p" j4 W# l; uX2=0.672%转子漏电感2 o, Y0 p! h+ f3 v' W& ^ _ T
sd=2*pi*FN0 U+ c) n! y: [" ]7 t" c
ns=60*FN/P%同步转速 R2=0.1%%转子电阻
& x; l- m4 `) L( Ys=0.8%转差率7 H8 D, `+ h8 O3 U
for i=1:length(t)
* I+ r. L u1 \# F4 j. N for j=1:6
# f b6 m4 L- \+ m2 g# e U2=N*P*R2/s/sd/[(R1+R2/s)^2+(X1+X2)^2];%三相异步电机转矩公式
3 n; M6 i" L. q1 H U(i,j)=F(i,j)/U2*sqrt(3);
. ?) _; @" j& N* w q end
6 {2 b2 G, u: j; ` Y0 |
' A; W7 h0 I; Fend
: `) m$ S% J8 v& S2 Q0 mplot(U)
. e+ E/ V. G" a( R2 sylabel('电机输入电压') % for m=1:5 %%%转子电阻对转矩的影响3 ~4 c# H; c. G
% if m==1
# ^4 N( t- j) E) w% R2=0.1% G7 R2 y' ~5 b W# G
% elseif m==2" ?. \4 r1 r9 y' z- j4 ^& `5 }
% R2=0.2
) c9 p) @& r0 ?) F; T' b% elseif m==3
( y( a: G0 Z: {9 y w. U7 i% R2=0.54 L. M ]8 B B5 i. p' n
% elseif m==46 h: \1 [9 D- h& K
% R2=1.0* M! I6 e- Y# {" M6 K
% else R2=1.5 end
( ^; `: X( W& Z) F' b%
. P: C. |2 Q) w2 M%
, R! y3 b9 o9 R+ Q9 c Q m% for n=1:400
$ r+ x; {, p/ k2 b* A' W* f! G% s=n/400
' v$ M- d a4 b) N% f1 c w% t=N*P*U1*R2/s/sd/[(R1+R2/s)^2+(X1+X2)^2]
1 O1 E) T+ n& P7 C$ a* Z- g% plot(s,t) %转差率与转矩的关系. f. w; h7 P& m5 L
% hold on5 f, A2 H+ N8 J
% end
; V7 D' i& E- d+ j6 q. U% hold on
- F2 D9 O! x9 T% end ]/ ^+ N" N" L8 P# f
% xlabel('转差率')- `* ]8 i, f; D6 C1 B* [/ w
% ylabel('电机转矩')
6 T& n9 c' m+ a0 H7 L* v: {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%: Z3 T9 Z' R, h
for i=1:10:length(t)% 正常轨迹 i=1:length(t)) `; J P" ]% x1 n
x(i)=T(1,4,i)# | w+ i6 w. y5 P- D
y(i)=T(2,4,i)) L; O8 D7 f/ ]; P5 H& b( P0 c
z(i)=T(3,4,i)7 r6 A8 b( f$ c! {. d: M
end* X# D# u9 ~- {$ N# |. B
%plot3(x,y,z)%画出运动轨迹
0 a8 {+ J3 ?3 O%plot(p560m,p)
- _# q# p; b& v1 s. p%plot(p)% 画出各个关节角的变量图5 I, }1 ]4 c$ E8 i! W; v
%drivebot(p560m)
t1=t'
- m" s/ j8 n1 c- i* nB1=[t1 F]%电机输出力矩4 t( Z* u$ b8 @+ q; F' j
B2=[t1 U]%电机控制电压8 s( N- B# T. P3 _$ m) U
a1=p(:,1)
8 h: t7 Z' `* B; La2=p(:,2)
( C+ F% I6 X: Ga3=p(:,3)
' v/ v2 S- b$ ?! z. W' C# X& H" Ca4=p(:,4)
8 R7 ~) w5 B: D- }a5=p(:,5)
! @% V5 ?! u' _2 R0 Na6=p(:,6)9 t6 T+ @' g. N R; n' r
%输出到 simulink的变量 [t1,a1]
' L3 d" U' j" Q) Y( m%plot(F)
" o% h1 a @* q |