本文使用硬件设备为大疆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%,可以较好的刻画系统的动态特性。