倒立摆C语言双闭环控制程序,基于双闭环pid控制的一阶倒立摆控制系统设计

41528d3028836879cd698677c3999917.gif基于双闭环pid控制的一阶倒立摆控制系统设计

1 本科生课程设计 题 目: 基于双闭环PID控制的一阶倒立摆控制系统设 计 姓 名: 学 号: 系 别: 电气工程系 专 业: 电气工程与自动化 年 级: 07级 指导教师: 2010 年 4 月 28 日2 目 录 1、系统模型的建立………………………………………………… 3. 2、模型验证……………………………………………….………. 4. 3、设计的内外环的 PID 控制器……………………………………… 10. 4、SIMULIN 仿真…………………………………………………. 13. 5、检测系统的鲁棒性……………………………………………… 16. 6、遇到问题………………………………………………………… 19. 7、心得体会…………………………………………………………20. 8、结论………………………………….…………………………21. 9、参考文献…………………………………………………………22.3 1.系统模型的建立 如图 01所示的“一阶倒立摆控制系统”中,设计一个能通过检测小车的位 置与摆杆的摆动角,来适当控制电动机驱动力的大小的控制系统。 图01 1)对模型的理论分析建立一阶倒立摆的精确模型(实际模型)如下所示: 2).点进行线性化后得到(近似模型):若只考虑摆角在工作点等零附近的细微变化,这是可以将模型线性化,得到近似 模型,将 J=m(l^2)/3,M=1kg 代入即可得到要求的关于参数 m、l 的模型,让后再 进行线性化表达式在模型验证中。4 二.模型验证 1)子系统的建立 实际模型图 1 Fcn:(((4*m*(l^2))/3)*u[1]+l*m*((4*m*(l^2))/3)*sin(u[3])*(u[2]^2)- 10*(m^2)*(l^2)*sin(u[3])*cos(u[3]))/(((4*m*(l^2))/3)*(1+m)-(m^2)*(l^2)*power(cos(u[3]),2)) Fcn1:(m*l*cos(u[3])*u[1]+(m^2)*(l^2)*sin(u[3])*cos(u[3])*(u[2]^2)- 10*(1+m)*m*l*sin(u[3]))/((m^2)*(l^2)*power(cos(u[3]),2)-(1+m)*(4*m*(l^2))/3) 线性模型图 2 Fcn2:(30*(1+m*u[2]-3*u[1])/(l*(4+m) Fcn3:(5*u[1]-30*m*u[2])/(4+m) 做完以上之后点击鼠标左键不放对图形进行选定,接着右击 creat subsystem 如 下图所示:5图 3 2)模型的封装: 倒立摆的振子质量m和倒摆长度L作为子系统的参数: 图 4 双击函数模块:图 56欲改变其中的任一个参数只要点击其中二者之一的函数方块就行,在其中的 m,l 改就行了。有两种实现的方法:一种是利用示波器观察如下图所示,另一种是采用绘图 程序实现。 1)示波器实现如图 6:图 6 示波器显示结果如图7所示7 图 7 2)用程序实现: %Inerted pendulum %Model test in open loop %Signals recuperation %将导入到xy.mat中的仿真试验数据读出 load xy.mat t=signals(1,: ); %读取时间信号 f=signals(2,: ); %读取作用力F信号 x=signals(3,: ); %读取精确模型中的小车位置信号 q=signals(4,: ); %读取精确模型中的倒摆摆角信号 xx=signals(5,: ); %读取简化模型中的小车位置信号 qq=signals(6,: ); %读取简化模型中的倒立摆摆角信 号 %Drawing control and x(t) response signals %画出在控制力的作用下的系统响应曲线 %定义曲线的纵坐标、标题、坐标范围和曲线的颜色等特征 figure(1) %定义第一个图形 hf=line(t,f (:)); %连接时间-作用力曲线 grid on; xlabel( Time (s) ) %定义横坐标 ylabel( Force (N) ) %定义纵坐标 axis([0 1 0 0.12]) %定义坐标范围8 axet=axes( Position ,get (gca, Position ),. XAxisLocation , bottom ,. YAxisLocation , right , Color , None ,. XColor , k , YClor , k ); %定义曲线属性 ht=line(t,x, color , r , parent ,axet); %连接时间-小车位置曲线 ht=line(t,xx, color , r , parent ,axet); %连接时间-小车速度曲线 ylabel( Evolution of the x position (m) ) %定义坐标名称 axis([0 1 0 0.1]) %定义坐标范围 title( Response x and x in meter to a f (t)pulse of 0.1 N )%定义 曲线标题名称 gtext ( \leftarrow f (t) ),gext( x (t) \rightarrow ),gtext ( \leftarrow x (t) ) %drawing control and theta (t)response singals figure (2) hf=line (t, f (:)); grid on xlabel( Time ) ylabel( Force i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值