运动控制第三篇之直流电机参数辨识

前言

在博客<运动控制第一篇之直流电动机建模> 中,已经介绍了电机模型形式。但是在实际系统中,若电机添加负载或者其他应用中,电机的模型就会发生转变。仅仅通过电机厂家提供的参数建立模型在精度上是无法满足需求的。所以,我们要对电机进行系统辨识。

本文将忽略系统辨识的理论知识,直接介绍如何通过matlab实现电机参数辨识过程。
实验环境:

  • 直流电机以及支持的硬件设备
  • matlab 2012B

电机模型

若电机的负载是一个普通的惯性环节,则我们可以将其和电机建立在一个模型中。在博客<运动控制第一篇之直流电动机建模> 中,我们已经知道电机的模型如下图所示。
在这里插入图片描述
将负载和电机看做为一个整体,则可以忽略负责的作用。那么,可以将上图转化为传递函数为:

M ( s ) = K T l T m s + T m s + 1 M(s)=\frac{K}{T_lT_ms+T_ms+1} M(s)=TlTms+Tms+1K
其中,
{ K = 1 C e T l = L R T m = J R C m 2 \left\{ \begin{aligned} K&=\frac{1}{C_e}\\ T_l&=\frac{L}{R}\\ T_m&=\frac{JR}{C_m^2} \end{aligned} \right. KTlTm=Ce1=RL=Cm2JR

所以,我们可以知道 T l T_l Tl 是不会随着负载变化而变换的,且其一般很小。所以,一般可以直接根据电机参数计算得出。通过查询电机手册,可以获得
{ L = 6.7 m H R = 10.4 Ω \left\{ \begin{aligned} L&=6.7 \rm{mH} \\ R&=10.4 \rm \Omega \end{aligned} \right. {LR=6.7mH=10.4Ω

所以,可以计算出电磁常数
T l = L R = 0.00064423 s T_l=\frac{L}{R}=0.00064423s Tl=RL=0.00064423s

辨识死区与K

根据终值定理,开环电机的阶跃响应的终值为:
lim ⁡ t → + ∞ c ( t ) = lim ⁡ s → 0 s ⋅ 1 s ⋅ M ( s ) = K {\lim_{t \to +\infty} {c(t)}}={\lim_{s\to 0}s \cdot \frac1 s \cdot M(s)}=K t+limc(t)=s0limss1M(s)=K
所以,在理想的电机模型中, K K K 就是电机稳定速度与电压的斜率。因此,第一步,需要检测电机的稳定特性。
我采用的方法是,将电机由负额定电压逐渐增加到正额定电压。具体来说,就是将电机的占空比由-40%逐渐增加到40%,让电机在每个整数占空比稳定旋转1min,最后输出电机的稳定旋转的速度。得到的曲线如下图所示:
在这里插入图片描述
其中,横轴为占空比,纵轴为电机转速。
选取线性比较好的区域,拟合电机的特性线性曲线为:
在这里插入图片描述
则根据上文分析可知,电机的死区就是两条直线与坐标横轴的焦点,而K值就是两条直线的斜率。通过matlab拟合曲线,可以轻易求出电机的死区为[-8,8];K=46;

辨识机电惯性

通常在电机系统中, T m > > T l T_m>>T_l Tm>>Tl。因此,我们可以将电机传递函数近似改写成:
M ( s ) = K T l T m s + T m s + 1 = K T l T m s + ( T m + T l ) s + 1 = K ( T l s + 1 ) ( T m s + 1 ) M(s)=\frac{K}{T_lT_ms+T_ms+1}=\frac{K}{T_lT_ms+(T_m+T_l)s+1}=\frac{K}{(T_ls+1)(T_ms+1)} M(s)=TlTms+Tms+1K=TlTms+(Tm+Tl)s+1K=(Tls+1)(Tms+1)K
因此,本系统近似为:
M ( s ) = K ( T l s + 1 ) ( T m s + 1 ) = 46 ( 0.00064423 s + 1 ) ( T m s + 1 ) M(s)=\frac{K}{(T_ls+1)(T_ms+1)}=\frac{46}{(0.00064423s+1)(T_ms+1)} M(s)=(Tls+1)(Tms+1)K=(0.00064423s+1)(Tms+1)46

然后,通过Matlab中的系统辨识工具(System Identification Tool),即可以完成机电惯性 T m T_m Tm的辨识。

  • 4
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 直流电机参数辨识是指通过实际测试,测量直流电机的各项参数并将其转化为模型中需要的参数,如电动势常数、转矩常数、自电感等,从而建立直流电机的模型。 Matlab作为一个强大的计算工具,提供了丰富的函数和工具箱,大大方便了直流电机参数辨识的过程。具体辨识过程如下: 1.实验测量:通过实验测量直流电机的电动势、电感、电流、转速等参数。 2.数据处理:对测试数据进行处理,比如进行滤波,去噪等,同时选取合适的采样时间,使得数据具有可靠性和准确性。 3.数据拟合:使用Matlab提供的函数对实验数据进行拟合,从而得到直流电机的参数,如电动势常数、转矩常数、自电感等。 4.模型验证:通过对辨识得到的直流电机模型进行仿真验证或实际应用验证,比如控制实验等,来验证模型的准确性和可靠性。 总之,Matlab的强大计算能力和丰富的工具箱,为直流电机参数辨识提供了极大的帮助,使得辨识过程更加简单高效。 ### 回答2: 直流电机是一种常见的电机类型,它广泛应用于各种场合中。在实际应用中,为了能够更好地控制和优化直流电机的性能,需要对其参数进行辨识MATLAB是一种常用的工具软件,它能够提供丰富的工具和函数来处理直流电机参数辨识相关问题。 在进行直流电机参数辨识时,我们需要使用到一些相关的测量工具和传感器来采集数据,例如用电流表、伏特表和转速传感器等测量电机的输入电流、绕组电压和转子转速等数据。 接着,我们可以使用MATLAB中的函数和工具来处理采集到的数据,从而计算出直流电机的各种参数,例如电机的电感、电阻、转动惯量、摩擦力矩等。我们还可以使用MATLAB中的拟合函数来拟合出直流电机的转速-电流特性曲线、转速-电压特性曲线和电流-电压特性曲线等信息,这些信息对于控制和优化电机的性能和效率非常重要。 总的来说,MATLAB直流电机参数辨识方面具有很大的作用,它能够提供便捷和高效的工具和函数,帮助我们更好地了解和掌握直流电机的技术特性和参数,从而有效提升电机的性能和效率。 ### 回答3: 直流电机是现代工业生产中使用最广泛的一种电动机。在直流电机参数辨识中,我们需要进行实验并收集电机运行的数据,然后使用matlab进行数据分析和处理,得出电机的各项参数。 首先,我们需要使用实验仪器来获取电机的控制信号和反馈信号。控制信号是指驱动电机转动的电压和电流,反馈信号是指反映电机运行状态的电压和电流信号。这些信号可以通过电路板和传感器来采集和处理。 接着,我们需要使用matlab中的信号处理工具箱来处理数据。这些工具箱包括滤波器、谐波分析、数据拟合等功能,可以对原始数据进行处理和分析,提取电机的参数信息。例如,可以使用傅里叶变换对电机的振动频率进行分析,进而得出电机的惯性参数。 最后,我们需要使用matlab中的系统辨识工具箱进行参数辨识。该工具箱具有模型建立、参数估计和模型验证等功能,可以根据实验数据挖掘出电机的各项参数,包括电阻、电感、电动势等参数。这些参数可以用于模拟电机行为、分析电机性能和优化电机控制。 综上所述,matlab直流电机参数辨识需要进行实验数据采集、信号处理和系统辨识等过程,可以帮助我们更好地了解和掌握电机的工作原理和性能表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值