直线一级倒立摆实验报告.docx
《直线一级倒立摆实验报告.docx》由会员分享,可在线阅读,更多相关《直线一级倒立摆实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
直线一级倒立摆实验报告
倒立摆实验报告
班级:
机械103班
实践小组名称:
第三小组
实践小组组员:
序号
姓名
学号
1
邓敏
0915020127
2
潘光兴
0915020091
3
罗耀新
1007200082
4
岑志聪
1007200093
5
罗卓仪
1007200094
6
陈上富
1007200095
7
刘辰熙
1007200090
实验项目:
1、编码器原理及使用实验
2、MatlabSimulink环境下电机控制实现
指导老师:
向建化
2012/11/27
1.MatlabSimulink环境下电机控制实现
1.1、实验目的:
1、了解机理法建模的基本步骤;
2、了解实现倒立摆的基本操作;
3、学习与认识如何调节倒立摆系统上的交流伺服电机;
4、学会对倒立摆进行基本调试;
5、掌握控制系统稳定性分析的基本方法;
1.2实验要求:
1、采用机理法建立直线一级倒立摆的数学模型;
2、分析倒立摆的稳定性,并在MATLAB中仿真验证;
1.3实验设备:
1、倒立摆各系列;
1.4实验原理:
将运动控制器当前轴设定成速度控制模式,用户需要设定最大速度和加速度两个参数。
在该模式下,开始运动时将以设定的加速度连续加速到设定的最大速度,运动方向由速度的符号确定,即正速度产生正向运动,而负速度产生负向运动。
通过这种模式实现对交流伺服电机的调节。
1.5实验步骤:
1、打开MATLAB/Simulink仿真环境;
2、在窗口的左上角点击按钮新建一个“Model”窗口;
3、在“SimulinkLibraryBrowse”窗口中,打开“GoogolEducationProducts\GT-400-SVBlockLibrary”;
4、拉“SetCurrentAxis’sAccandVel”模块到刚才新建的“untitled”窗口中;
5、双击“SetAccVel”模块,打开如下窗口,参数设置如下:
“Axisnumber”:
选择轴号为“1”,即小车电机所使用的轴。
“Backvelocity”:
此参数设定小车限位后反方向运动的速度,单位为米/秒。
“Backposition”:
此参数设定小车限位后反方向运动,单位为脉冲数。
6、从“Simulink\Souces”中拉两个“Constant”到“untitled”窗口中;
7、按下图连接三个模块:
8、设置两个“Constant”模块参数如下:
设置小车的运动速度参数为0.2米/秒,加速度为0.1米/秒
。
9、在“GoogolEducationProducts\GT-400-SVBlockLibrary”中拉一个“GT400-SVInitialization”模块到窗口中;
10、选择仿真模式为“External”;
11、将文件保存为“MoterTest”,点击菜单“Simulation\SimulationParameters”设置参数。
修改“Simulationtime”和“Solveroptions”,其中仿真时间“inf”表示无穷长,步长设置为0.005s。
点击“Real-TimeWorkshop”打开如下所示窗口:
12、点击“Browse”修改设置为”Real-TimeWindowsTarget”;
13、点击“OK”;
14、点击“”编译程序;
15、打开电控箱电源;
16、连接程序;
17、运行程序;
18、观察滑块的运动轨迹,记录实验结果;
19、修改最大速度和加速度分别为2和1,观察滑块的运动轨迹,记录实验结果;
六、实验结果:
第一次:
小车运动速度较慢;
第二次:
小车运动速度明显加快;
2.编码器原理及使用实验
2.1.1编码器原理
旋转编码器是一种角位移传感器,它分为光电式、接触式和电磁感应式三种,其中光电式脉冲编码器是闭环控制系统中最常用的位置传感器。
旋转编码器有增量编码器和绝对编码器两种,图2-1为光电式增量编码器示意图,它由发光元件、光电码盘、光敏元件和信号处理电路组成。
当码盘随工作轴一起转动时,光源透过光电码盘上的光栏板形成忽明忽暗的光信号,光敏元件把光信号转换成电信号,然后通过信号处理电路的整形、放大、分频、记数、译码后输出。
为了测量出转向,使光栏板的两个狭缝比码盘两个狭缝距离小1/4节距,这样两个光敏元件的输出信号就相差π/2相位,将输出信号送入鉴向电路,即可判断码盘的旋转方向。
光电式增量编码器的测量精度取决于它所能分辨的最小角度α(分辨角、分辨率),而这与码盘圆周内所分狭缝的线数有关。
α=
其中n——编码器线数。
由于光电式脉冲编码盘每转过一个分辨角就发出一个脉冲信号,因此,根据脉冲数目可得出工作轴的回转角度,由传动比换算出直线位移距离;根据脉冲频率可得工作轴的转速;根据光栏板上两条狭缝中信号的相位先后,可判断光电码盘的正、反转。
绝对编码器通过与位数相对应的发光二极管和光敏二极管对输出的二进制码来检测旋转角度。
与增量编码器原理相同,用于测量直线位移的传感器是光栅尺。
由于光电编码器输出的检测信号是数字信号,因此可以直接进入计算机进行处理,不需放大和转换等过程,使用非常方便,因此应用越来越广泛。
2.1.2角度换算
对于线数为的编码器,设信号采集卡倍频数为,则有角度换算关系为:
式中∅——为编码器轴转角;
N——编码器读数
对于电机编码器,在倒立摆使用中需要把编码器读数转化为小车的水平位置,以下转换关系:
式中——小车位移;
——同步带轮直径
2.1.3编码器使用实验
本实验对象为倒立摆系统上的光电式旋转编码器,在充分理解以上实验原理的基础上进行下列实验。
实验一摆杆角度检测实验
按以下实验步骤完成在MATLAB下的摆杆角度检测实验,注意,在使用之前请仔细阅读倒立摆的相关使用手册和熟悉MATLAB部分知识,确定MATLAB已经安装好实时控制工具箱和VC编译环境(参见《固高MATLAB实时控制软件用户手册》)。
1)打开MATLAB以及Simulink环境:
2)在窗口的左上角点击“”建立一个新窗口:
3)在Simulink窗口中,打开“GoogolEducationProducts\GT-400-SVBlockLibrary”如下图所示:
4)在“GetCurrentAxis’sPosition”上点击鼠标左键并将模块拉到(以下简称为“拉”)刚才新建的窗口“untitled”中:
5)双击“GetPos”模块,打开如下窗口,并选择轴号为“2”,即第一级摆杆连接的编码器,此编码器固定于小车上。
6)从“Simulink\Sinks”中拉一个“Scope”到“untitled”窗口中:
7)连接两个模块(移动鼠标到“<“上,鼠标箭头变成“+”,按下鼠标左键并移动到“>”上,松开鼠标):
8)在“GoogolEducationProducts\GT-400-SVBlockLibrary”中拉一个“GT400-SVInitialization”模块到窗口中:
9)选择上图中上方的“Normal”为“External”:
10)将文件保存为“EncoderTest”,点击菜单“Simulation\SimulationParameters”设置参数:
11)点击“Browse”修改设置为”Real-TimeWindowsTarget”
12)点击“OK”
13)点击“”编译程序,在Command窗口中会有编译信息显示:
14)打开电控箱电源;
15)点击“”连接程序;
16)点击“”运行程序;
17)双击“Scope”模块观察数据:
18)手动逆时针转动摆杆一圈,观察显示结果,在数据超出显示范围时,点击“”进行缩放。
从图中可以看出,编码器读数为2400,等于编码器的线数(600)的四倍(板卡4倍频),顺时针或逆时针转动摆杆,观察读数和摆杆实际角度。
19)记录实验结果,分析实验数据并完成实验报告。
备注:
具体模型请参见EncoderTest.mdl,其路径如下:
“matlabroot\toolbox\GoogolTech\InvertedPendulum\”,也可以在Simulink环境中打开模型:
进入MATLABSimulink实时控制工具箱“GoogolEducationProducts”打开“InvertedPendulum\BasicExperiments”中的“EncoderTestExperiment”如下图所示:
系统模型如下:
2.2MatlabSimulink环境下电机控制实现
本实验对象为倒立摆系统上的交流伺服电机。
将运动控制器当前轴设定成速度控制模式,用户需要设定最大速度和加速度两个参数。
在该模式下,开始运动时将以设定的加速度连续加速到设定的最大速度,运动方向由速度的符号确定,即正速度产生正向运动,而负速度产生负向运动。
在运动过程中,这两个运动参数可以随时修改。
实验步骤如下:
1)打开MATLAB/Simulink仿真环境;
2)在窗口的左上角点击“”新建一个“Model”窗口:
3)在“SimulinkLibraryBrowse”窗口中,打开“GoogolEducationProducts\GT-400-SVBlockLibrary”,如下图所示:
4)拉“SetCurrentAxis’sAccandVel”模块到刚才新建的“untitled”窗口中:
5)双击“SetAccVel”模块,打开如下窗口,参数设置如下图:
“Axisnumber”:
选择轴号为“1”,即小车电机所使用的轴。
“Backvelocity”:
此参数设定小车限位后反方向运动的速度,单位为米/秒。
“Backposition”:
此参数设定小车限位后反方向运动,单位为脉冲数。
6)从“Simulink\Souces”中拉两个“Constant”到“untitled”窗口中:
7)按下图连接三个模块:
8)设置两个“Constant”模块参数如下:
9)在“GoogolEducationProducts\GT-400-SVBlockLibrary”中拉一个“GT400-SVInitialization”模块到窗口中:
10)按上图选择仿真模式为“External”。
11)将文件保存为“MoterTest”,点击菜单“Simulation\SimulationParameters”设置参数。
12)点击“Browse”修改设置为”Real-TimeWindowsTarget”
13)点击“OK”如下图所示:
14)点击“”编译程序,在Command窗口中会有编译信息显示:
15)打开电控箱电源;
16)点击“”连接程序;
17)点击“”运行程序;
18)观察小车的运动轨迹,记录实验结果。
修改最大速度和加速度两个参数,观察小车的运动轨迹,记录实验结果并完成实验报告。
参考模型:
进入MATLABSimulink实时控制工具箱“GoogolEducationProducts”,打开“InvertedPendulum\BasicExperiments”中的“ServoMotorControlExperiment”如下图所示:
实验总结:
我们共做了MatlabSimulink环境下电机控制实现、编码器原理及使用实验,由于事先已经将参数设计好并经过精心的仿真修改,所以实验耗时并不长,我们在听完老师的详细解说后便开始了此次实验。
首先我们将每个倒立摆起始位置都定在了中间,并严格保证运行中不碰边,随后将仿真所得参数输入。
观察现象。
极点配置法我们做得很成功,输入参数后从起摆到稳定时间适中,稳态后震荡比LQR大,但振荡频率要小,这应该得益于设计方法的科学和仿真的应用。
我们的实验现象与仿真相同。
通过这两个实验,我们懂得了硬件最然需要不断尝试,但不是盲目的调试,而是需要有理论作为指导,指明调整的方向,这样设计系统就会事半功倍。
同时Matlab软件的使用也大大提高了设计系统的速度。
这些都是我们在试验中的收获
最后再一次感谢老师的耐心讲解与精心的教诲,我们会继续努力的。