直流伺服电机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:
机器人某关节由直流伺服电动机驱动,电机参数如下:
4422min max 0.04322/0.058108.1510/(/)100, 1.035,0.010.0215/(/)
1.426,9.58()a a m a b K N m A J Kg m B N m rad s L mH R n K V rad s J Kg m J Kg m Jeff --==⨯=⨯==Ω====
系统的结构角频率为25/rad s ,试设计控制系统并求出位置控制系统的阶跃
响应。 解答:
电枢绕组电压平衡方程为:
a
a a
b a Ri dt di L k u +=-θ
电机轴的转矩平衡方程为:
L
m m m m a m n B J J τθθτ+++= )(
负载轴的转矩平衡方程为:
L L L L L B J θθτ +=
电动机输出转矩为:
a
a m K ττ=
联立可得传递函数为:
]
)([)
()
(2b a eff a eff a eff
a a eff a
a m K K B R J R f L s L J s s K s U s ++++=
θ
由于电机的电气时间常数远远小于其机械时间常数且电机的电感一般很小(10mH ),
电阻约1 Ω,所以可以忽略电枢电感La 的影响,上式可简化为:
)
1()()()(+=
++=s T s K
K K B R J sR s K s U s m b a eff a eff a a a m θ
单位位置控制系统的闭环控制框图为:
单位反馈位置控制未引入速度反馈系统闭环传递函数:
a p
b a eff a eff a a p d L K nK s K K B R s J R K K s s +++=)()()
(2θθ
式中:
无阻尼自然频率为:
eff
a a p n J R K nK =
ω
阻尼比为:
eff
a a p
b a eff a J R K nK K K B R 2+=
ξ
引入速度反馈后,闭环系统传递函数为:
a p v
b a eff a a p d L K nK s nK K K s J R K nK s s +++=)()()
(2θθ
式中:
为了安全起见,希望系统具有临界阻尼或过阻尼,即ξ≥ 1,
2
22
2n n n s s ωξωω++=2
22
2n n n w s w s w ++=ξeff
a a p n J R K nK =
ωeff
a a p v
b a eff a J R K nK nK K K B R 2)(++=
ξ
a
b
a eff a eff a a p v nK K K B R J R K nK K --≥
2
建立单关节控制系统模型时,为了简化,忽略了齿轮轴承和连杆等零件的变形,把它们当作刚体处理。因此式(7-12)只适应机械传动系统刚性高,共振频率很高的场合。此时机械结构的自然频率与控制系统的主导极点相比较可以忽略。如果机械结构的自然频率不是很高,为了防止激起结构振荡和系统共振,闭环系统无阻尼自然频率wn 必须限制在关节结构共振频率的一半之内。
系统结构共振频率:
eff
eff r J K =
ω
一般等效刚度keff 大致不变,而惯量随负载位姿变化大。
如果测得惯量0J 时的结构共振频率为0ω,则惯量为eff J 时的共振频率为:
eff
r J
J 00ωω=
由于
r n ωω5.0≤
则
a r eff a nK J R 4K 02p ω≤
<
a
b
a eff a eff a a p v nK K K B R J R K nK K --≥
2
由此可以求得:
忽略m J ,当L J 取max J 时,eff J =9.6×4-10 当L J 取min J 时,eff J =1.5×4-10
eff J =5.6×4-10。 故:≤p K 208,取为200,29.30≥v K 取为32。
将其带入到引入速度反馈的闭环传递函数当中,可得:
a
p v b a eff a a p d L K nK s nK K K s J R K nK s s +++=
)()()
(2θθ
110023591
)()(2++=
s s s s d L θθ
阶跃响应为:
系统稳定,动态响应良好。 Matlab 源代码:
clear num=[1];
den=[0.0067 0.164 1]; sys=tf(num,den);
figure(1)
step(sys)
% Compute steady value
Finalvalue=polyval(num,0)/polyval(den,0); [z,p,k]=zpkdata(sys,'v');
% Check system stabilit
ii=find(real(p)>0);
np=length(ii);
if np>0
disp('the system is not stable')
else
disp('the system is stable')
end