推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

直流电机速度环PID闭环控制

更新时间:2022-06-01 20:32:12 大小:24M 上传用户:18270334565查看TA发布的资源 标签:直流电机pid控制 下载积分:2分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

开环控制 在这个过程中,我们通过人为的调整占空比大小使得电机拥有不同的转速。这样的过程我们称之为开环控制,这么讲你们可能会难以理解开环控制的概念,我们先来思考这样一个问题: 假设说我们给定了20%的占空比用以调整电机的转速,经过测量发现在20%占空比时电机的转速大小为50转每分钟(RPM)。这时如果想要电机工作在70转每分钟,我们应该怎么做? 直觉告诉我们,想要有更快的电机转速,就应该设置更高的占空比,但高多少才能够获得目标转速70RPM却成了一个难题。这里我们可以计算1%的占空比能获得的转速,再根据目标转速反推出需要设置的占空比,但因为电压死区的存在,这样做难以获得准确的结果。所以我们想到老方法:一个一个试,不断地调整占空比、测转速,慢了就增加占空比,快了就减小占空比。 闭环控制 给定占空比 -> 测转速 -> 比较实际转速和目标转速 -> 重新调整占空比,这样的过程其实就是一个闭环控制,我们发现这个过程形成了一个回环:每次调整的占空比大小都是基于上一次结果得到的。相比开环控制,闭环控制多了信息反馈环节(测电机转速),我们根据反馈信息再做出进一步调整,接着获得调整后的反馈信息,再基于更新过的反馈信息进行新一轮的调控。 PID算法 现在我们已经知道了实现闭环控制的方法,但显然人为的去测转速、改占空比的操作太花费时间和精力了,有没有什么办法让MCU自己实现闭环控制呢?答案是有的,它就是我们接下来要介绍的PID算法。 认识符号 在讲解PID算法之前,我们先来认识几个符号: error:误差,目标值与实际值的差值,有正有负 target:目标值,我们设定的目标转速(以转速闭环为例) actual:实际值,我们测量得到的实际转速(以转速闭环为例) 我们规定误差的计算公式如下: error = target - actual (即误差 = 目标值 - 实际值,这么规定的目的是统一正负号) 增量式PID计算公式 认识完以上几个符号之后,我们就可以开始学习PID算法了,这里我们给出增量式PID算法的计算公式 增量式PID的离散化公式如下: u(k) = Kp(e(k) - e(k-1)) + Ki(e(k)) + Kd(e(k) - 2e(ek-1) + e(k-2)) 这么一长串公式让人看着有点慌张,我们试着把公式分为几个小块: P = Kp(e(k) - e(k-1)) #比例项 I = Ki(e(k)) #积分项 D = Kd(e(k) - 2e(ek-1) + e(k-2)) #微分项 把它们加起来就是原来的公式了: u(k) = P + I + D 公式看着简单多了,我们再试着深入挖掘下每个小块的内容: Kp、Ki、Kd:这三个变量是PID的调节系数,由我们指定,用以调节PID的性能 e(k)、e(k-1)、e(k-2):指的都是误差error k、k-1、k-2:表示不同的时刻。与误差error配合用以表示这个时刻的误差、上个时刻的误差以及上上个时刻的误差 u(k):PID算法的计算结果,即控制量。在电机速度闭环中可以是给定的占空比 把上面的内容代回到PID计算公式中,我们就得到PID的计算方法啦,可以发现PID算法中需要通过计算获取的变量只有一个:误差,其他剩下的就只有我们给定的系数了

部分文件列表

文件名大小
直流电机速度环PID闭环控制(CHEN)/
直流电机速度环PID闭环控制(CHEN)/CHEN/
直流电机速度环PID闭环控制(CHEN)/CHEN/CORE/
直流电机速度环PID闭环控制(CHEN)/CHEN/CORE/core_cm3.c
直流电机速度环PID闭环控制(CHEN)/CHEN/CORE/core_cm3.h
直流电机速度环PID闭环控制(CHEN)/CHEN/CORE/startup_stm32f10x_hd.s
直流电机速度环PID闭环控制(CHEN)/CHEN/CORE/variable.c1KB
直流电机速度环PID闭环控制(CHEN)/CHEN/CORE/variable.h2KB
直流电机速度环PID闭环控制(CHEN)/CHEN/OBJ/
直流电机速度环PID闭环控制(CHEN)/CHEN/OBJ/CHEN.axf
直流电机速度环PID闭环控制(CHEN)/CHEN/OBJ/CHEN.build_log.htm2KB
...

全部评论(0)

暂无评论