c语言实现 增量式pid算法电机调速

本文介绍了增量式PID控制的概念及其特点,强调了其在避免积分环节计算和手动-自动切换时的优势。提供了C语言实现增量式PID算法的简要步骤,包括参数初始化、核心算法和主函数,并指出实际应用中测量电机速度的重要性,通常利用STM32或DSP进行实验,并通过调节PWM占空比来控制电机速度。
摘要由CSDN通过智能技术生成

增量式pid概念:

增量式PID控制,数字PID控制算法的一种基本形式,实质是将当前时刻的控制量和上一时刻的控制量做差,以差值为新的控制量,是一种递推式的算法。

增量式pid特点: 

增量式PID控制主要是通过求出增量,将原先的积分环节的累积作用进行了替换,避免积分环节占用大量计算性能和存储空间。

增量式PID控制的主要优点为:

①算式中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;

②计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;

③手动—自动切换时冲击小。当控制从手动向自动切换时,可以作到无扰动切换   

由于增量式需要对控制量进行记忆,所以对于不带记忆装置的系统,只能使用位置式PID控制方式进行控制。

以下是代码大致实现过程: 

1.定义一个结构体变量

struct {
    float SetSpeed;              //定义速度期望值
    float ActualSpeed;            //定义实际值     
    float err_0;                  //定义速度偏差值
    float err_1;                  //定义上一个速度偏差值
    float err_2;                 //定义上上一个速度偏差值
    float Kp,
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值