基于MATLAB的云台电机系统辨识

本文使用硬件设备为大疆M3508电机,大疆C620无刷电机调速器,大疆A型开发板,J-LINK调试器,经纬M100 TB47D电池。实验系统软件组成为MATLAB ,KEIL , J-SCOPE 。其设备连接如图1所示:

1  实验设备连接图

2实验设计

2.1 激励信号的设计

 在KEIL工程中编写程序,使其产生频率从1Hz到200Hz变化的正弦信号,每个频率点持续的周期为20。将写好的嵌入式程序下载到A型开发板,当A型开发板按键按下,电机按照给定的频率发送正弦信号,流程图如图2所示:

图2  程序流程图

2.2 数据的采集和处理

 程序下载以后,配置J-SCOPE工程,J-SCOPE的配置如图3所示:

​​​​​​​

图3  J-SCOPE的配置

用J-SCOPE记录电机的实际转速与输入的电流,同时记录时间,采集完成后将数据导出为csv格式的文件。由于J-SCOPE采集的数据为整形的数据,因此需要把浮点型的数据转换成整型。然后用MATLAB将csv文件导入。由于采集到的数据前后部分存在激励信号为零的非工作状态,会对系统的辨识结果产生影响,所以需要在MATLAB里使用find函数找到第一个不为零的索引,然后根据处理过后的数据使用MATLAB绘制,时域图像绘制如图4图5所示:

​​​​​​​

图4  输入的电流

​​​​​​​

图5  输出的转速

由时域的图像可以看到电机在高频下的振幅明显衰减。

2.3系统辨识

在MATLAB的命令行窗口输入systemIdentification打开系统辨识工具箱。选择 Import data > Time domain data ,打开导入数据对话框,在 input 和 output 选项中键入工作区的输入输出变量名,Starting time 和 Sample time 分别输入 0 和 0.001。点击 Import 将数据加入System Identification工具,然后关闭对话框。选择 Estimate > Transfer Function Models 打开传递函数对话框,设置零极点个数分别为1和2,点击 Estimate ,得到系统传递函数如下:

  

点击 Model output Frequency resp 可以显示传递函数模型的拟合结果如图6所示:

​​​​​​​

6  拟合结果图

频率响应图如图7所示:

​​​​​​​

图7 频率响应图

Model output 图像可知,该传递函数的输出结果拟合度达到80.5%,可以较好的刻画系统的动态特性

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CZU_zzjj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值