班长,到底什么是 pid? 你 刚才是怎么调的?感觉自动控制一下子变得又准又稳。 p 是 比例控制, i 是 积分控制, d 是 微分控制。举个烧锅炉的例子,假如想稳定在一百度, p 会检测差多少,差二十摄氏度就猛烧,差五摄氏度就反应迟钝,而 i 就是 消除余差, 比如现在卡在九十八摄氏度,它就会慢慢地补到一百摄氏度。地呢,就是防止烧过头的温度升得太快,会提前收火。调的时候有顺序吗?当然有,先调屁,让系统动起来,震荡了就加地,稳一稳,有鱼叉就上挨消除掉。
粉丝29.0万获赞124.5万

有小伙伴要格普黑影三十五套机的主场贝特瑞。那必须交代答案,这个有点难, 反正我是没有搞明白怎么测试出来这么奇葩的数字组合,让这套机手感这么好。我呢?黑影三师自主就豆腐渣, 言归正传,放大自己截图啊,他们爽面多了加水,水多了加面,就活落出这么一个数字排列组合了。 你说这六个拳击好好屁直掉楼高,我们二十还默认别瞎飞,咋没都成狗呢?你们对比一下,默认看着差距贼大。 截完图咱们来看微让你们失望了,白卷一交一了百了,黑羊蛋都二飞的还贼溜。 绿锅啥玩意?抽旱烟不加过滤嘴?还是隔着活性炭抽雪茄滑块?莫引绿了个波子。眼瞅这数据有变化,啥也没看懂。

今天我们用一个简单的例子说明 p id 是怎么来的,为什么要用 p id? 三个参数的作用是什么?首先看这个例子,如图所示,有一杯水,水中有一个温度传感器和加热棒,假如我们要把这杯水的温度维持在八十摄氏度,你会怎么做? 最容易想到的方法就是当温度低于八十摄氏度开始加热,当温度达到八十摄氏度,停止加热。写成公式是这样的, 其实这就是一个比例系数 p 比较大的纯比例调节。后面我会解释为什么这么说,之所以能想到这个方法,就是因为这个方法简单有效,也就是响应速度快。 接下来我们看一下使用这个方法后的温度随时间变化曲线。通过绿色的温度变化曲线可以看出,实际温度波动很大,这个曲线是不会 收敛的,这是比例系数偏大时的一个特点。如何减小波动让曲线收敛呢?是的,解决方法就是随着温度的升高不断减小加热功率, 进一步归纳就是让加热功率随温度的差值变化。写成公式是这样的,这就是纯比例调节的公式。 下面我来解释一下为什么说公式一是公式二的一种特殊情况。具体解释可以看绿色的文字说明,可以暂停视频观看,不想看解析的可以直接忽略。 我们已经知道了比例系数开辟比较大式的曲线,当开辟比较小的时候,曲线又是怎么样的呢? 我们取比例系数、 kp 等一并得到相应的曲线,如右图所示。为了方便解析,我把曲线分成了如图所示的三段, 在第一段曲线中,零时刻水的初始温度为零,摄氏度,温差 et 等于目标温度八十,减去实际温度零等于八十。由于我们取 kp 为一,因此 kp 乘以 et 等于八十,也就是加热功率 ut 为百分之八十。 接下来,随着温度的升高,温差 et 逐渐减小,加热功率 ut 也逐渐减小,温度上升越来越慢。再看第二段曲线,这时温度已经达到了比较高的值,温差也已经变得越来越小, 相应的加热功率右替也已经变得越来越小,小的都已经无法维持当前的温度了,因此温度出现了下跌。但是温度一下低,温差异体变大,加热功率右替也变大,温度 又出现了上升,温度会不断上升下降,产生震荡。温度震荡一段时间后,最终到了第三阶段,系统达到稳态,于是出现了稳态误差。对于纯比例调节来说,稳态误差就是一个硬伤,是没办法消除的。 为什么纯比例调节无法消除稳态误差呢?我们先假设可以消除,也就是稳态,温度等于设定温度,此时温差异体等于零,加热功率右替就等于零。 但是对于一个存在散热的系统,也就是加热水杯来说,如果不加热是无法维持八十摄氏度的温度的, 因此温度会下降,系统不再是稳态。那如何才能消除稳态误差呢?大家可以去尝试各种各样的想法,但是最优的方法就是增加积分项,当年能想到用积分的也绝对是牛人。


哈喽,大家好,今天咱们用一杯水把 pid 温控里最基础的逻辑讲明白,全程不绕弯,新手也能听懂。咱们先从最直观的人工调节水温开始说,看完你就明白为什么机器控温需要那么多讲究。首先,假设咱们的目标是把一杯二十五摄氏度的冷水 加热到五十摄氏度,并保持住人工。怎么操作呢?很简单,先打开加热器,然后眼睛盯着温度计,手随时控制开关。刚开始水温太低,咱们就一直开着加热, 等温度计显示快到五十摄氏度的时候,就赶紧关,要是凉了一点,再打开加热一会,反复开关,慢慢把温度稳住。这个过程里有三个关键动作, 使用温度计检测当前水温,对比目标温度,得到温度偏差,手动开关加热调整温度。这其实就是最原始的反馈控制, 先获取当前状态,再根据和目标的差距做出调整。核心就是有反馈有调整。那如果把人工操作换成机器,最直接的做法是什么呢?就是咱们今天要讲的第一个自动控制方式, 般般控制,它的逻辑和人工操作的核心差不多。假设目标温度五十摄氏度,再设一个小范围,比如四十九摄氏度到五十一摄氏度,当水温低于四十九摄氏度,机器就全力开加热。当水温高于五十一摄氏度,机器就彻底关加热。就这么开关循环 反复折腾,试图把温度稳定在五十摄氏度左右。听起来是不是很方便?我们不妨编辑代码,实操下看看控制效果。 首先计算目标温度与当前温度的偏差,然后根据偏差的大小决定开关管的开与关。如果偏差大于一摄氏度,开关管开,如果偏差小于零下一摄氏度, 开关管关闭。让我们实测看下最终效果。斑斑控制温度波动大,没法稳定在五十摄氏度,总是在四十九摄氏度以下开加热,冲到五十一摄氏度以上关加热像坐过山车一样,控温精度特别差。 因此我们需要更精准的控制方式。比例控制,它解决的核心问题就是扳扳控制,要么全开,要么全关的极端操作,让调节变得更温柔更精准。怎么理解比例控制呢?比例控制的逻辑不是开或关,而是加热功率随温差变化。 当前水温跟目标温差越大,加热功率就越大,温差越小,加热功率就越小。比如刚开始水温二十五摄氏度和五十摄氏度差二十五摄氏度,就用最大功率加热。等水温到四十摄氏度,差十摄氏度,就把功率调到三分之一。 等水温到四十八摄氏度差二摄氏度,就用很小的功率慢慢加热,一点点逼近五十摄氏度,而不是一下子关掉。我们不妨编写代码验证下与半半控制的区别。 比例控制是将温度偏差乘以比例系数 k p 计算 p w m 占空比控制开关管,从而达到输出不同功率的效果。 从最终的控温效果看,与瓣瓣控制对比,温度不会大幅波动,能精准逼近目标,加热器也不用频繁开关,而且面对水这种大惯性系统,不会出现明显的超调,控温效果会好很多。其实说到这里,大家可能不知道,这种根据偏差大小调整控制力度的比例控制思想, 早在几百年前就已经被应用了。瓦特改良蒸汽机时核心的离心式调速器,本质就是一种原始的机械比例控制装置。当时的蒸汽机面临着负荷变化时转速不稳的问题,瓦特的调速器能根据蒸汽机的转速偏差 成比例地调整蒸汽阀门的开度,让转速稳定下来。总结一下,咱们从人工调节看懂了反馈控制的核心, 然后我知道了斑斑控制是最基础的自动控制,但精度差、波动大,而比例控制通过比例调节让控温更精准、更稳定,这也是 pid 温控里最基础最核心的一步。下一期咱们再讲比例控制的小不足,以及如何用比例积分控制进一步优化。我是零一,记得关注哦!


调市 pid 前,调市 pid 后。 哈喽大家好,我是欧杰,一套适合自己穿越级的 pid, 能够完美的解决他的虚假或者抖动问题。 当然在欧姐教大家调试 pid 之前,我们需要先聊一聊什么是 pid 的工作原理,这样能够更好的帮助大家调试 pid。 首先我们要知道穿衣机有三种姿态服务一样 横滚与偏横,这三个姿态呢分别对应着三套 pid。 那么什么是 pid? 我们来假设一下,假设 p 值是老大,低值是老二。我们推扶阳杆的时候向前推十度,穿越级就会 向前倾斜十度,倾斜十度的这个力就是劈直来决定的。那么什么是地直地直呢?就是倾斜弯十度这个分界线,地直就在这边顶着,如果说你的劈直过高或者低直过低, 那他就会发生什么。老大,嗯,超过去了,就超到了十三十四度,把地址又顶回去,顶回当然没那么准嘛,就顶到八九度,保又,嗯,又顶,这样反复就造成了一个洗脚的问题。那么什么是爱之?爱之其实就是他的一个抗风的力度, 如果说我们抓着穿越机去拧它,你会发现很大的阻力,所以如果说在大风天的情况下,我们就可以增加他的艾滋。当然装机工艺对调试 app 的影响也是非常大的,如果说 如果你的装机工艺不好的话,造成了不必要的震动,传递到非控,就会导致你的 pid 非常难调,所以 oj 将会出一套完整的 fpv 教程,从装机到调餐到调试 pid, 手把手带领大家,我最希望大家都能拥有一台不虚假不抖动的完美穿越机,让我们一起快乐爽飞起来吧,拜拜!

做看一下 pid 的 参数啊, pid 的 参数,这是 pid 的 参数。首先第一步啊,肯定是新建一个 plc 啊,新建一个 plc, 然后呢?呃,我们要添加一个星块,添加一个星块, 这个快的名称,我们在组织快里面,这个看到没有,我们一般把 pid 放在这个 cyclic interrupt 循环中段 o b 里面, 而不是放在其他地方。一般我们就把 pid 放在这个 o b 里面啊, 让我插入以 分页符 这个 插入循环中断 o b, 循环中断 o b 添加新快。 电脑怎么回事?下午要去看一下电脑添加啊,循环中断 o b 叫 click 啊, click, click 啊, interrupt 这个它呢?这个 o b 呢?就是它是以固定的时间间隔启动, 它的时间间隔不受扫描周期影响,精度呢更高。它是以 是一个 b 的, 这种紫色的都是不需,它是直接运行的,就是你不需要再把这个 clicker, 不 需要再把这一个循环中断 o b 就 要用到。

一二三,录制这个视频是分享一下怎么使敲代码去实现,用这个 woofer plus 来录制波形, 就是这个,就是这个 woofer plus 上位机使用的协议是 just float 啊,使用这个协议, 我使用的单片机是庆恒威的 c x 三二 v 点零三。好,现在开始啊,先写串口,确保串口,确保串口能够使用。 my u a r t。 呃, 发送缓冲区给它死了,然后 发送字节计数, 发送字节总数, 再来一个数组 p。 啊, 我的串口已经出使画了啊,已经出使画完了, 是九六零零波特率。然后写一下这个终端函数 减小于这个总数减一,小于这个总数减一, 那么它就加加 t 一 data。 这个是计算器啊,等于上啊,拖住啊,下,不写住它 等于零。好, 这个发送中断函数就写完了,这个计数小于总数的时候,它就加加,因为它这个东西是个,它是个时针来的嘛。 再写一个 u a r t 发送函数, 然后,然后把发送糖度。 嗯,先把它等于零, 然后点 x 等于零,总数等于发送的至解总数等于这个长度, 然后它等于返回,把它的存进来的存,它存进来的是一个地址啊,把这个地址的值给到它, 然后就触发触发发送。 ok, 调用这个,调用这个函数,它就会触发一次发送中断,就会进来这里,直到它,直到这个数 跟这个数相等就结束。来试一下,在这个一百毫秒这里,点应该是五五 a a 一 二二一二三,然后少点什么, 翻译一下。 呃, u a, 发送去 取这个数组的手手位。不行,等下等下,别说我录视频是 发送啊,有了五五 a 幺幺二二,改一下试试。 ok, 有 了。是是,那么现在到现在为止,说明我的窗口是有用的。 接下来就开始写这个 just flow 的 协议。 if not defy v o f a h defy。 抱歉,有点强迫症。 um d e f i c h。 我需要三个通道 通道数,然后 captify u n i 一个联合体最 u s t just flow just flow f data。 这边没有包含这个头文件了, 我包含这个头文件的目的是使用这个安赛特八的这个类型 u n t 八这个类型如果不包含的话,它就会爆脱。 联合体联合体一个 data 加 f 就是 代表它是 flow 类型的,一个 flow 类型的数据它在大面积里面占四个字节, 那么我这里又有一个四个字节,所以总的来说,这一个类型这个 just flow 的 类型它只占,这就是占四个字节。我再定义一个数组 加一。为什么要加一呢?为什么加一?因为我需要三个通道加一。这个是因为看这里 啊,看这里,它需要有一个最后一个四个字节,用来做一个帧尾,帧尾四个字节,所以要加一。 ok, 放在 nba 函数里面吧,便宜一下。好, ok, 那 么也是从这里开始啊, 我定一个,定一个变量 flow 类型的 value 等于一点一吧,然后这 它的 d 零点 flow 等于它,等于它 到这样子,这样子,如果, 如果它大于大于五百吧,五百点零,它就变回一点一, 这里加等于五五点零。 这第通道这通道一通道零的数据,这通道一的数据,这通道二的数据,三个通道 这里加十五,这加二十五。后面还有个真伪 帧率是第三个点, bit 零零 s 零零 一二三八八零 t f, 好 像是看一下, 对对对,八零七 f, 如果你发出去不对的,呃,这里有个,这里有个注意的事项啊,他这里写的是小端小端,速度小端,小端大端。这个如果你 发送它没办法解析的话,你就把这个反过来,把 tf 放在上面,把 f 放在这里,这里就是零 s 零零,这下面也是零 s 零零,这样来试一下啊,把它撤回去, ok, 先。呃, just 取 数组是连续的内存,记住了啊, 取这第零位,然后这里是四个字节,这里四个字节四个字节,这里四个字节四四十六十六, 没问题啊。然后我这里是一百毫秒电,用一次的一百毫秒执行一次的下载,打开这个 just flow 通道,三九六零的波特率, 这里选择一百,这里点 hex。 好, 打开 新建一个,这边拖过来,然后填充 或再点一下这个凹凸,你看它就有了,它就有图形了。关闭, 如果我,我只要一个通道,我就把这个先把这个注入掉,这里就变成一一一一四个字节,四个字节, 这里就选择八点一下载,你看就有了,看到没有就不变变化了吧, 你看我这里加十加二十五吧,你看它变化的快一点, 看到了吧,也就是说这三三三三 一个 float, float 占四个字节,它是联合体,它们是共用一块内存的,把这个搞清楚之后, 你这里就明白了,你这里就明白了。好,这个这个视频就到此为止。

我们来讲一下这一款火烈威的文控表, dc 幺零四零,他的自诊断我们怎么去设定? 首先我们这个表因为有一些场合他控制不准,那我们要通过这里有一个自诊断,也叫自动演算去调整,他的一个 就是精准度,让它能够通过自动去换算它里面的 pid 值。那首先我们比如说设定是一百度到现在这时候它在工作,我们是怎么去给它开启自动演算?首先 set 键按五秒钟,首先我们按一下 set 键,按一下就好了,这个 a t 是 no, 我 们把它改成 yes, 确定一下,那这时候这个 at 灯一直在亮,那这时候工作的时候不要去动参数,一直等到这个 at 灯不亮了,有可能会上下两个回合,大概在半个小时到一两个小时之间完成了,它就可以有一个新的参数,就能够让我们的温度控制的更准,这个就是自动演算自整定的功能。