pid算法matlab仿真程序和c程序.doc

1 增量式 PID 控制算 法 Matlab 仿真程序 设一被控对象 G(s) =50/(0.125s^2+7s),用增量式 PID 控制 算法编写仿真程序(输入分别为单位 阶跃、正弦信号,采样时间为 1ms, 控制器输出限幅:[-5,5],仿真曲线包 括系统输出及误差曲线,并加上注释、 图例) 。程序如下 clear all; close all; ts=0.001; sys=tf(50,[0.125,7, 0]); dsys=c2d(sys,ts, z ); [num,den]=tfdata(dsys, v ); u_1=0.0;u_2=0.0; y_1=0.0;y_2=0.0; x=[0,0,0] ; error_1=0; error_2=0; for k=1:1:1000 time(k)=k*ts; S=2; if S==1kp=10;ki=0.1;kd=15; rin(k)=1; %Step Signal elseif S==2kp=10;ki=0.1;kd=15; %Sine Signalrin(k)=0.5*sin(2*pi*k*ts); end du(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller u(k)=u_1+du(k); %Restricting the output of controller if u(k)>=5 u(k)=5; end if u(k)=110u(k)=110; end if u(k)=10u(k)=10; end if u(k) #include typedef struct PID{double Command; // 输入指令double Proportion; //比例系数double Integral; //积分系数double Derivative; //微分系数double preErr; //前一拍误差double sumErr; // 误差累积 }PID; double PIDCale(PID *p,double feedback) {double dErr,Err;Err=p->Command-feedback; //当前 误差p->sumErr+=Err; // 误差累加dErr=Err-p->preErr; // 误差微分p->preErr=Err; return(p->Proportion*Err // 比例项+p->Derivative*dErr //微分项+p->Integral*p->sumErr); //积分项 } void PIDInit(PID *p) {memset(p,0,sizeof(PID)); // 初始化 } typedef struct motor{

pid算法matlab仿真程序和c程序,pid算法matlab仿真程序和c程序.doc相关推荐

  1. 小型温控系统c语言程序,pid算法温度控制c语言程序 - 全文

    温度控制PID自整定原理介绍 整定PID(三模式)控制器 整定温度控制器涉及设置比例.积分和微分值,以得到对特定过 程的可能的最佳控制.如果控制器不包含自动整定算法,或者自 动整定算法未提供适合特定应 ...

  2. 【老生谈算法】matlab实现磁悬浮系统建模及其PID控制器设计——磁悬浮

    磁悬浮系统建模及其PID控制器设计MATLAB 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab磁悬浮系统建模及其 ...

  3. 基于MATLAB的离散系统的数字PID控制仿真

    基于MATLAB的离散系统的数字PID控制仿真 1 设计要求 2 方案设计 2.1 设计思路及总体方案框图 2.2 PID算法的基本原理 2.3 PID算法的离散化 3 总体方案的选择与设计 3.1 ...

  4. 神经网络pid控制器MATLAB,基于BP神经网络的PID控制器及其MATLAB仿真.pdf

    基于BP神经网络的PID控制器及其MATLAB仿真.pdf 2009 NO.10 中国新技术新产品 China New Technologies and Products 高新技术 基于BP 神经网络 ...

  5. Kalman滤波算法详细推导及简单匀速直线运动程序仿真(matlab)

    Kalman滤波算法详细推导及简单匀速直线运动程序仿真(matlab) 起初只是知道Kalman滤波的核心公式和会用,没有仔细研究,最近老师让讲Kalman算法,所以系统的学习了该算法,并结合匀速直线 ...

  6. 模糊PID控制器MATLAB仿真探讨,基于Matlab的模糊自整定PID控制器仿真研究

    1. 引言 传统的PID控制因其算法可靠简单,鲁棒优良,可靠度高,在工业过程中得到了广泛的应用,特别适用于建立一个精确的数学模型确定控制系统的确定性控制.李文宇等对PID控制进行了研究,并取得了一定的 ...

  7. matlab pid buck,基于MATLAB的BUCK电路设计与PID闭环仿真

    文章编号:1009-2552( 2015) 10-0155-04 DOI:10. 13274/j. cnki. hdzj. 2015. 10. 042 基于 MATLAB 的 BUCK 电路设计与 P ...

  8. 基于PCA 人脸识别/人脸识别算法/人脸检测程序源码MATLAB ELM+PCA人脸识别 PCA人脸识别matlab代码 基于PCA算法的人脸识别

    1.基于PCA的人脸识别代码 2.MATLAB ELM+PCA人脸识别 2.基于PCA的人脸识别(matlab)(采用PCA算法进行人脸识别,通过抽取人脸的主要成 分,构成特征脸空间,识别时将测试图像 ...

  9. 西门子SMART200程序 PID的控制写法,突破8路,PID直接做成子程序

    西门子SMART200程序 PID的控制写法,突破8路,PID直接做成子程序,无密码,直接调用. YID:6810655441338032工控技术窝

  10. 西门子SMART200程序 PID的控制写法,突破8路

    西门子SMART200程序 PID的控制写法,突破8路,PID直接做成子程序,无密码,直接调用. YID:6810655441338032工控技术窝

最新文章

  1. linux输入ls命令报错,Linux命令基础2-ls命令
  2. linux内核I2C子系统学习(三)
  3. 安装包镜像_创建 macOS Catalina cdr格式镜像安装包
  4. mysql5.5.21安装图解_Windows系统安装MySQL5.5.21图解教程
  5. 启动马达接线实物图_星三角降压启动电路图实物接线图
  6. [20160606]windows下使用bbed的疑问.txt
  7. osgb转obj工具_在ArcGIS Pro中OSGB数据转换及发布服务流程
  8. linux内存管理(十一)-页回收总览
  9. 04_数字的处理方法(保留小数点两位、将数字转化为千分位格式)
  10. matlab单机无限大系统_单机无穷大系统暂态仿真(完整).docx
  11. 微信公众号订阅号与微信服务号区别
  12. 低功耗实例——isolation cell及level shifter的选择
  13. Linux进程间通信——使用信号量
  14. android 实现果冻动画效果,利用css3实现弹性果冻按钮动画特效
  15. java结束程序是什么语句,在Java程序中,每条功能执行语句的最后都必须用结束。...
  16. 【RTX51 Tiny初级】09_K_TMO与K_IVL的区别和使用场合
  17. 合泰HT1632C点阵LED芯片 的emuSPI驱动(即软件GPIO模拟方式)
  18. QQ跳转加好友、加QQ群链接代码生成制作
  19. Android性能优化:定性和定位Android图形性能问题——以后台录屏进程为例
  20. 分享:笔记本电脑有杂音解决技巧

热门文章

  1. jquery系列教程5-动画操作全解
  2. maven本地仓库中存在jar包,但编译不成功,显示jar包不存在
  3. Spring @AutoWired实现原理
  4. js-JavaScript高级程序设计学习笔记2
  5. 动态SQL实现批量删除指定数据库的全部进程
  6. [转载] Python程序将十进制转换为二进制,八进制和十六进制
  7. [转载] Python字典中items()和iteritems()区别
  8. [转载] 生成对角矩阵 numpy.diag
  9. [转载] 整理总结 python 中时间日期类数据处理与类型转换(含 pandas)
  10. [转载] 了解Node.js-to-Angular 套件组件