pid算法matlab仿真程序和c程序,pid算法matlab仿真程序和c程序.doc
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相关推荐
- 小型温控系统c语言程序,pid算法温度控制c语言程序 - 全文
温度控制PID自整定原理介绍 整定PID(三模式)控制器 整定温度控制器涉及设置比例.积分和微分值,以得到对特定过 程的可能的最佳控制.如果控制器不包含自动整定算法,或者自 动整定算法未提供适合特定应 ...
- 【老生谈算法】matlab实现磁悬浮系统建模及其PID控制器设计——磁悬浮
磁悬浮系统建模及其PID控制器设计MATLAB 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab磁悬浮系统建模及其 ...
- 基于MATLAB的离散系统的数字PID控制仿真
基于MATLAB的离散系统的数字PID控制仿真 1 设计要求 2 方案设计 2.1 设计思路及总体方案框图 2.2 PID算法的基本原理 2.3 PID算法的离散化 3 总体方案的选择与设计 3.1 ...
- 神经网络pid控制器MATLAB,基于BP神经网络的PID控制器及其MATLAB仿真.pdf
基于BP神经网络的PID控制器及其MATLAB仿真.pdf 2009 NO.10 中国新技术新产品 China New Technologies and Products 高新技术 基于BP 神经网络 ...
- Kalman滤波算法详细推导及简单匀速直线运动程序仿真(matlab)
Kalman滤波算法详细推导及简单匀速直线运动程序仿真(matlab) 起初只是知道Kalman滤波的核心公式和会用,没有仔细研究,最近老师让讲Kalman算法,所以系统的学习了该算法,并结合匀速直线 ...
- 模糊PID控制器MATLAB仿真探讨,基于Matlab的模糊自整定PID控制器仿真研究
1. 引言 传统的PID控制因其算法可靠简单,鲁棒优良,可靠度高,在工业过程中得到了广泛的应用,特别适用于建立一个精确的数学模型确定控制系统的确定性控制.李文宇等对PID控制进行了研究,并取得了一定的 ...
- matlab pid buck,基于MATLAB的BUCK电路设计与PID闭环仿真
文章编号:1009-2552( 2015) 10-0155-04 DOI:10. 13274/j. cnki. hdzj. 2015. 10. 042 基于 MATLAB 的 BUCK 电路设计与 P ...
- 基于PCA 人脸识别/人脸识别算法/人脸检测程序源码MATLAB ELM+PCA人脸识别 PCA人脸识别matlab代码 基于PCA算法的人脸识别
1.基于PCA的人脸识别代码 2.MATLAB ELM+PCA人脸识别 2.基于PCA的人脸识别(matlab)(采用PCA算法进行人脸识别,通过抽取人脸的主要成 分,构成特征脸空间,识别时将测试图像 ...
- 西门子SMART200程序 PID的控制写法,突破8路,PID直接做成子程序
西门子SMART200程序 PID的控制写法,突破8路,PID直接做成子程序,无密码,直接调用. YID:6810655441338032工控技术窝
- 西门子SMART200程序 PID的控制写法,突破8路
西门子SMART200程序 PID的控制写法,突破8路,PID直接做成子程序,无密码,直接调用. YID:6810655441338032工控技术窝
最新文章
- linux输入ls命令报错,Linux命令基础2-ls命令
- linux内核I2C子系统学习(三)
- 安装包镜像_创建 macOS Catalina cdr格式镜像安装包
- mysql5.5.21安装图解_Windows系统安装MySQL5.5.21图解教程
- 启动马达接线实物图_星三角降压启动电路图实物接线图
- [20160606]windows下使用bbed的疑问.txt
- osgb转obj工具_在ArcGIS Pro中OSGB数据转换及发布服务流程
- linux内存管理(十一)-页回收总览
- 04_数字的处理方法(保留小数点两位、将数字转化为千分位格式)
- matlab单机无限大系统_单机无穷大系统暂态仿真(完整).docx
- 微信公众号订阅号与微信服务号区别
- 低功耗实例——isolation cell及level shifter的选择
- Linux进程间通信——使用信号量
- android 实现果冻动画效果,利用css3实现弹性果冻按钮动画特效
- java结束程序是什么语句,在Java程序中,每条功能执行语句的最后都必须用结束。...
- 【RTX51 Tiny初级】09_K_TMO与K_IVL的区别和使用场合
- 合泰HT1632C点阵LED芯片 的emuSPI驱动(即软件GPIO模拟方式)
- QQ跳转加好友、加QQ群链接代码生成制作
- Android性能优化:定性和定位Android图形性能问题——以后台录屏进程为例
- 分享:笔记本电脑有杂音解决技巧
热门文章
- jquery系列教程5-动画操作全解
- maven本地仓库中存在jar包,但编译不成功,显示jar包不存在
- Spring @AutoWired实现原理
- js-JavaScript高级程序设计学习笔记2
- 动态SQL实现批量删除指定数据库的全部进程
- [转载] Python程序将十进制转换为二进制,八进制和十六进制
- [转载] Python字典中items()和iteritems()区别
- [转载] 生成对角矩阵 numpy.diag
- [转载] 整理总结 python 中时间日期类数据处理与类型转换(含 pandas)
- [转载] 了解Node.js-to-Angular 套件组件