永磁直流电机速度闭环控制-基于响应曲线法的PID整定

一直以来,关于PID整定都在进行手动调试,例如试凑法、1/4衰减曲线法、齐格勒-尼柯尔斯整定法等;
虽然上述方法都可以完成对参数的整定,但是需要非常丰富的调试经验才能达到预期的目的。同时,当需要控制的系统过于庞大,影响系统的参数整定,根据经验的调试也会力不从心,那么关于PID整定的工作量无疑是巨大的。
因此,我们需要从系统内部出发,对系统进行建立数学模型,进行图形化的PID参数整定。
1.永磁有刷直流电机的数学建模
首先我们必须注意三个关键词,即永磁、有刷、直流;
永磁即电机内部的磁场是由永磁铁产生的,而非励磁绕组一类;
有刷即含有电刷的电机,此处主要与无刷电机控制方式区分;
直流即使电机工作的为一般直流电;
在这里,我不准备进行大量的公式推导,只提供永磁有刷电机的数学模型如下:
G ( s ) = K T s + 1 G(s)=\frac{K}{Ts+1} G(s)=Ts+1K
有需要的可以从网上搜索《直流电动机传递函数测定的实验研究》等相关论文看看;
其中K,T为我们需要测量的电机相关参数;
2.电机参数K、T的求取
G ( s ) = K T s + 1 G(s)=\frac{K}{Ts+1} G(s)=Ts+1K
观察此方程式,为控制系统中的一阶系统,因此可以根据一阶系统的单位阶跃特性,即:
当系统来了一个单位阶跃响应时:K为系统稳态时的输出;而T值为0.623K时的时间;
因此我们可以设计实验的方式求得参数K,T的值;
具体方法如下:
为电机通上额定电压后,测量其时间-转速的数据;例如我使用的电机为12V,那我就为电机通上12V电源,当按下一开始按键后,就使目标系统通过串口输出对应时刻的转速;
每隔20ms,传送其速度值;

printf("%d\t%0.2f\n",timeLable*20,Speed);

实验数据片段如下:

20	0.64
40	1.3
60	1.48
80	1.52
100	1.57
120	1.57
140	1.59
160	1.59
180	1.57
200	1.57
220	1.57
240	1.59
260	1.57
280	1.59
300	1.57
320	1.59

可以从代码片段中看出,系统稳定后的值在1.57~1.59间波动,那我们就使用K=1.59;
则T的值则为0.623K对应的横坐标。因此,我们将实验数据导入到Matlab中,绘制时间-速度图像,求取T值;
永磁直流电机速度闭环控制-基于响应曲线法的PID整定_第1张图片
由图中可以看出T=30.67;
则我们电机的数学模型如下:
G ( s ) = 1.59 30.67 s + 1 G(s)=\frac{1.59}{30.67s+1} G(s)=30.67s+11.59
3.PID参数的整定
最后搭建仿真框图:
永磁直流电机速度闭环控制-基于响应曲线法的PID整定_第2张图片
根据实际情况搭建,其实也可以使用pidtool(G(s))形式调试PID参数;
永磁直流电机速度闭环控制-基于响应曲线法的PID整定_第3张图片
一定要选择离散PID整定,采样时间根据实际需求确定,我在这里使用的采样时间为0.1s
永磁直流电机速度闭环控制-基于响应曲线法的PID整定_第4张图片
永磁直流电机速度闭环控制-基于响应曲线法的PID整定_第5张图片
以上是我已经调整好的参数;
4.上机实测
MCU中我使用的始增量式PID,将调整好的PI参数下载到开发板中,运行平稳符合要求,测量数据如下:
其中期望转速15r/m

Spd:0 Pulse -- Spd: 0.00 r/m 
Spd:0 Pulse -- Spd: 0.00 r/m 
Spd:24 Pulse -- Spd: 1.21 r/m 
Spd:40 Pulse -- Spd: 2.02 r/m 
Spd:53 Pulse -- Spd: 2.68 r/m 
Spd:67 Pulse -- Spd: 3.38 r/m 
Spd:79 Pulse -- Spd: 3.99 r/m 
Spd:90 Pulse -- Spd: 4.55 r/m 
Spd:101 Pulse -- Spd: 5.10 r/m 
Spd:110 Pulse -- Spd: 5.56 r/m 
Spd:121 Pulse -- Spd: 6.11 r/m 
Spd:130 Pulse -- Spd: 6.57 r/m 
Spd:140 Pulse -- Spd: 7.07 r/m 
Spd:148 Pulse -- Spd: 7.47 r/m 
Spd:158 Pulse -- Spd: 7.98 r/m 
Spd:165 Pulse -- Spd: 8.33 r/m 
Spd:171 Pulse -- Spd: 8.64 r/m 
Spd:178 Pulse -- Spd: 8.99 r/m 
Spd:185 Pulse -- Spd: 9.34 r/m 
Spd:191 Pulse -- Spd: 9.65 r/m 
Spd:196 Pulse -- Spd: 9.90 r/m 
Spd:202 Pulse -- Spd: 10.20 r/m 
Spd:206 Pulse -- Spd: 10.40 r/m 
Spd:212 Pulse -- Spd: 10.71 r/m 
Spd:218 Pulse -- Spd: 11.01 r/m 
Spd:222 Pulse -- Spd: 11.21 r/m 
Spd:227 Pulse -- Spd: 11.46 r/m 
Spd:232 Pulse -- Spd: 11.72 r/m 
Spd:236 Pulse -- Spd: 11.92 r/m 
Spd:240 Pulse -- Spd: 12.12 r/m 
Spd:242 Pulse -- Spd: 12.22 r/m 
Spd:247 Pulse -- Spd: 12.47 r/m 
Spd:251 Pulse -- Spd: 12.68 r/m 
Spd:253 Pulse -- Spd: 12.78 r/m 
Spd:256 Pulse -- Spd: 12.93 r/m 
Spd:260 Pulse -- Spd: 13.13 r/m 
Spd:260 Pulse -- Spd: 13.13 r/m 
Spd:264 Pulse -- Spd: 13.33 r/m 
Spd:268 Pulse -- Spd: 13.54 r/m 
Spd:269 Pulse -- Spd: 13.59 r/m 
Spd:272 Pulse -- Spd: 13.74 r/m 
Spd:275 Pulse -- Spd: 13.89 r/m 
Spd:276 Pulse -- Spd: 13.94 r/m 
Spd:277 Pulse -- Spd: 13.99 r/m 
Spd:278 Pulse -- Spd: 14.04 r/m 
Spd:279 Pulse -- Spd: 14.09 r/m 
Spd:281 Pulse -- Spd: 14.19 r/m 
Spd:285 Pulse -- Spd: 14.39 r/m 
Spd:286 Pulse -- Spd: 14.44 r/m 
Spd:288 Pulse -- Spd: 14.55 r/m 
Spd:290 Pulse -- Spd: 14.65 r/m 
Spd:292 Pulse -- Spd: 14.75 r/m 
Spd:292 Pulse -- Spd: 14.75 r/m 
Spd:293 Pulse -- Spd: 14.80 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:293 Pulse -- Spd: 14.80 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 
Spd:294 Pulse -- Spd: 14.85 r/m 
Spd:295 Pulse -- Spd: 14.90 r/m 

你可能感兴趣的:(stm32,经验)