智能车电机增量式PID控制算法

Pid_Inc Right;
Pid_Inc Left;int16 PulseRight=0;
int16 PulseLeft=0;int16 P_SET=0;
int16 I_SET=0;
int16 D_SET=0;void Pid_Inc_Init()
{Right.P = P_SET;                      //p参数Right.I = I_SET;                      //i参数Right.D = D_SET;                      //d参数Right.Err = 0.0;                    //偏差值Right.Err_Last = 0.0;               //定义上上个偏差值Right.Err_Next = 0.0;               //定义上一个偏差值Right.Set_Speed = 0;                //设定的速度Right.Actual_Speed = 0.0;           //定义实际速度Right.Out = 0.0;                    //电机输出Right.increment = 0.0;              //定义增量Right.proportion = 0.0;             //PID比例项Right.integration = 0.0;            //PID积分项Right.differential = 0.0;           //PID微分项Left.P = P_SET;                      //p参数Left.I = I_SET;                      //i参数Left.D = D_SET;                      //d参数Left.Err = 0.0;                    //偏差值Left.Err_Last = 0.0;               //定义上上个偏差值Left.Err_Next = 0.0;               //定义上一个偏差值Left.Set_Speed = 0;                //设定的速度Left.Actual_Speed = 0.0;           //定义实际速度Left.Out = 0.0;                    //电机输出Left.increment = 0.0;              //定义增量Left.proportion = 0.0;             //PID比例项Left.integration = 0.0;            //PID积分项Left.differential = 0.0;           //PID微分项}void Pid_Deal(Pid_Inc *pid)
{pid->Err = pid->Set_Speed - pid->Actual_Speed;
//偏差 = 期望 - 实际pid->proportion = pid->P * (pid->Err - pid->Err_Next);                     //比例pid->integration = pid->I * pid->Err;                                      //积分pid->differential = pid->D * (pid->Err - 2*pid->Err_Next + pid->Err_Last);  //微分pid->increment = pid->proportion + pid->integration + pid->differential;   //增量 = 比例 + 积分 + 微分pid->Out += pid->increment;
//输出pid->Err_Last = pid->Err_Next;
//上上次偏差赋值pid->Err_Next = pid->Err;
//上次偏差赋值}

智能车增量式PID算法相关推荐

  1. 基于自适应算法和增量式PID算法的模拟直升飞机控制系统

    基于自适应算法和增量式PID算法的模拟直升飞机控制系统 文章目录 基于自适应算法和增量式PID算法的模拟直升飞机控制系统 控制系统硬件 单片机系统 传感器系统介绍 直升机模拟系统介绍 系统模块介绍 A ...

  2. LabVIEW增量式PID算法控制房间温度变化的简单例子的程序

    PID相关的基础知识可以查看我之前写的博客: PID算法的基础知识 基于PID算法的房间温度控制 增量式PID算法控制房间温度变化的简单例子 LabVIEW简单的PID控制程序 前面板

  3. 三菱PLC增量式PID算法FB(带死区设置和外部复位控制)

    关于PID废话不多说,各种位置式增量式资料和公式网上也非常多.PID从提出和发展目前已经一个世纪过去了,还在不断研究创新,足见它的重要性.本篇博文给出三菱FX系列增量型PID的源代码.(三菱系列的优化 ...

  4. 增量式PID算法控制房间温度变化的简单例子及python程序

    房间控制逻辑图 增量式PID控制器算法 T--采样周期 Ti--积分时间 TD--微分时间 加热器模型 房间模型

  5. 力控液位控制增量式PID算法

  6. 入门智能车 | 带你认识PID闭环控制 - 增量式PID实现电机速度闭环

    带你认识PID闭环控制 - 增量式PID实现电机速度闭环 闭环控制是指控制论的一个基本概念.指作为被控的输出量以一定方式返回到作为控制的输入端,并对输入端施加控制影响的一种控制关系.带有反馈信息的系统 ...

  7. 位置式\增量式PID、模糊PID、BRF-PID的Matlab实现以及封装

    位置式\增量式PID.模糊PID.BRF-PID的Matlab实现以及封装 位置式\增量式PID.模糊PID.BRF-PID的Matlab实现以及封装 简要 Model类 Strategy 类 PID ...

  8. 增量式速度pid调节策略_增量式PID是什么?不知道你就落伍了

    目录 1 什么是增量式PID? 2 举个例子 2.1 位置式PID 2.2 增量式PID 3 伪算法 4 C语言实现 5 总结 在之前一篇博客中( 简易PID算法的快速扫盲 )简单介绍了PID算法的基 ...

  9. 三菱FX3U PLC 位置式PID算法(ST语言)

    三菱PLC自带的PID不必多说,大家可以自行查看指令说明.关于FX3U 增量式PID可以参看专栏的另一篇博客 三菱PLC增量式PID算法FB(带死区设置和外部复位控制)_RXXW_Dor的博客-CSD ...

最新文章

  1. 用sisotool设计调节参数_工业净化车间施工的重要参数
  2. tp 扫码点餐 源码_同城跑腿系统小程序源码搭建平台模式案例
  3. Linux定制登录欢迎语
  4. 【javascript 动态添加数据到 HTML 页面】
  5. linux usermod -aG命令:将用户添加到某个组group
  6. SAP C4C Adapt menu debugging
  7. 2020 WTM 继续向前
  8. Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1
  9. Ps快捷切图psd文件及将psd内容转化为CSS样式工具(PxCook)
  10. [转] 公务员80分申论万能模板(转给需要的人)
  11. stm32L151低功耗学习——Alarm闹钟周期唤醒(10s/10min/10h)
  12. Android 获取wifi列表
  13. 安装爱剪辑计算机丢失,windows10系统下安装“爱剪辑”软件的方法
  14. CPU温度过高解决方法
  15. 易语言dd驱动模拟按键模块_DD虚拟键盘虚拟鼠标
  16. 好东西大家分享: 怎么画数据流图
  17. 指向 类成员函数 的 函数指针
  18. 算法题21 最快过桥问题
  19. 《程序员之禅》一一10.10 淡泊宁静
  20. 使用YOLOv3训练BDD100K数据集之标签格式转换

热门文章

  1. reaver 使用方法
  2. [ZYNQ随笔] uboot移植中bitstream比特流加载问题:zynq_validate_bitstream: Bitstream is not validated yet
  3. 吐血安利数十款宝藏网站
  4. 自动化规范检查软件如何发展而来?
  5. gdb中的信号(signal)相关调试技巧
  6. ubuntu中解压.tgz
  7. Windows下使用python解压tgz文件
  8. Python爬虫爬取豆瓣不同分类书籍详细信息
  9. 中国液化天然气(LNG)市场运营模式及发展潜力预测报告2022-2028年
  10. 管理员身份运行cmd;cmd命令切换到指定文件夹目录;cmd命令窗口中复制粘贴