直线一级倒立摆PID 控制实验报告
一、实验目的
本实验的目的是让实验者理解并掌握 PID 控制的原理和方法,并应用于直线一级倒立摆的控制,PID 控制并不需要对系统进行精确的分析,因此我们采用实验的方法对系统进行控制器参数的设置。
二、实验设备
直线一级倒立摆;安装有MATLAB 软件的PC 机;运动控制卡主机箱。
三、实验步骤及结果
1、PID 控制参数设定及仿真
对于 PID 控制参数,我们采用以下的方法进行设定:
由实际系统的物理模型:
(s) = V (s) 0.0102125s−0.267050.02725
在 Simulink 中建立如图1所示的直线一级倒立摆控制模型:
图1直线一级倒立摆 PID 控制 MATLAB 仿真模型
先设置 PID控制器为P 控制器,令K p =9,K i =0,K D =0,得到以下仿真结果:
图2 参数设置窗口
图3直线一级倒立摆P 控制仿真结果图(K p =9)
从图3中可以看出,控制曲线不收敛,因此增大控制量,令K p =50,K i =0,K D =0,得到以下仿真结果:
图4直线一级倒立摆P 控制仿真结果图(K p =50)
从图4中可以看出,闭环控制系统持续振荡,周期约为 0.6s。为消除系统的振荡,增加微分控制参数K D ,令 Kp=50, Ki =0, KD =16,得到仿真结果如下:
图5直线一级倒立摆PD 控制仿真结果图(K p =50,K D =16)
从图5中可以看出,系统稳定时间过长,大约为7秒,因此再增加微分控制参数K D ,令:K p =50, Ki =4, KD =16,仿真得到如下结果:
图6直线一级倒立摆 PID 控制仿真结果图(K p =50,K i =4,K D =16)
由于 PID 控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车会往一个方向运动。
2、PID 控制实验
1) 打开直线一级倒立摆 PID控制界面入下图6所示:
图6直线一级倒立摆 MATLAB 实时控制界面
2) 双击"PID" 模块进入 PID 参数设置,如下图7所示:
图7 参数设置窗口
把仿真得到的参数输入 PID 控制器,保存参数。
3) 编译程序,完成后使计算机和倒立摆建立连接。
4) 运行程序,检查电机是否上伺服。缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开,当小车运动到正负限位的位置时,用工具挡一下摆杆,使小车反向运动。
5) 实验结果如下图所示:
图8 直线一级倒立摆PID 控制实验结果
由图可以看出,倒立摆的摆杆角度基本在3.14-3.145(弧度)内波动,可以实现较好的稳定性。同仿真结果,PID 控制器并不能对小车的位置进行控制,小车会沿滑杆有稍微的移动。
四、实验结果分析
通过本次实验,对PID 控制理论以及倒立摆的相关知识有了一定的了解,实现了利用PID 理论来控制直线一级倒立摆。实验证明,PID 在倒立摆控制中,在精度、稳定性和抗干扰性上面都有良好的表现,并且其系统成本低、安装简单、维护调试方便,更易于扩展。本次实验也让我更加了解MATLAB 软件的操作,并加深认识信号之间的处理和图像的处理,MATLAB 的功能很强大,很多实验都可以用MATLAB 仿真,表现了MATLAB 强大的仿真及数据分析处理能力。MATLAB 作为当前控制技术界最流行的面向工程与科学计算的高级语言,他可以轻易地再现C 语言几乎全部的功能。从本次的实验看来,在线性控制系统的分析和仿真中,MATLAB 拥有非常方便快捷的数据处理能力。其实我了解MATLAB 只是一小部分,在今后的日子我会继续学习MATLAB ,经过这次实验,我对MATLAB 的认识和应用有了更加深刻的理解。
直线一级倒立摆PID 控制实验报告
一、实验目的
本实验的目的是让实验者理解并掌握 PID 控制的原理和方法,并应用于直线一级倒立摆的控制,PID 控制并不需要对系统进行精确的分析,因此我们采用实验的方法对系统进行控制器参数的设置。
二、实验设备
直线一级倒立摆;安装有MATLAB 软件的PC 机;运动控制卡主机箱。
三、实验步骤及结果
1、PID 控制参数设定及仿真
对于 PID 控制参数,我们采用以下的方法进行设定:
由实际系统的物理模型:
(s) = V (s) 0.0102125s−0.267050.02725
在 Simulink 中建立如图1所示的直线一级倒立摆控制模型:
图1直线一级倒立摆 PID 控制 MATLAB 仿真模型
先设置 PID控制器为P 控制器,令K p =9,K i =0,K D =0,得到以下仿真结果:
图2 参数设置窗口
图3直线一级倒立摆P 控制仿真结果图(K p =9)
从图3中可以看出,控制曲线不收敛,因此增大控制量,令K p =50,K i =0,K D =0,得到以下仿真结果:
图4直线一级倒立摆P 控制仿真结果图(K p =50)
从图4中可以看出,闭环控制系统持续振荡,周期约为 0.6s。为消除系统的振荡,增加微分控制参数K D ,令 Kp=50, Ki =0, KD =16,得到仿真结果如下:
图5直线一级倒立摆PD 控制仿真结果图(K p =50,K D =16)
从图5中可以看出,系统稳定时间过长,大约为7秒,因此再增加微分控制参数K D ,令:K p =50, Ki =4, KD =16,仿真得到如下结果:
图6直线一级倒立摆 PID 控制仿真结果图(K p =50,K i =4,K D =16)
由于 PID 控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车会往一个方向运动。
2、PID 控制实验
1) 打开直线一级倒立摆 PID控制界面入下图6所示:
图6直线一级倒立摆 MATLAB 实时控制界面
2) 双击"PID" 模块进入 PID 参数设置,如下图7所示:
图7 参数设置窗口
把仿真得到的参数输入 PID 控制器,保存参数。
3) 编译程序,完成后使计算机和倒立摆建立连接。
4) 运行程序,检查电机是否上伺服。缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开,当小车运动到正负限位的位置时,用工具挡一下摆杆,使小车反向运动。
5) 实验结果如下图所示:
图8 直线一级倒立摆PID 控制实验结果
由图可以看出,倒立摆的摆杆角度基本在3.14-3.145(弧度)内波动,可以实现较好的稳定性。同仿真结果,PID 控制器并不能对小车的位置进行控制,小车会沿滑杆有稍微的移动。
四、实验结果分析
通过本次实验,对PID 控制理论以及倒立摆的相关知识有了一定的了解,实现了利用PID 理论来控制直线一级倒立摆。实验证明,PID 在倒立摆控制中,在精度、稳定性和抗干扰性上面都有良好的表现,并且其系统成本低、安装简单、维护调试方便,更易于扩展。本次实验也让我更加了解MATLAB 软件的操作,并加深认识信号之间的处理和图像的处理,MATLAB 的功能很强大,很多实验都可以用MATLAB 仿真,表现了MATLAB 强大的仿真及数据分析处理能力。MATLAB 作为当前控制技术界最流行的面向工程与科学计算的高级语言,他可以轻易地再现C 语言几乎全部的功能。从本次的实验看来,在线性控制系统的分析和仿真中,MATLAB 拥有非常方便快捷的数据处理能力。其实我了解MATLAB 只是一小部分,在今后的日子我会继续学习MATLAB ,经过这次实验,我对MATLAB 的认识和应用有了更加深刻的理解。