完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,我正在忙于在我的Pic24FJ64GB002上实现一个PID控制器,这是代码;现在我知道这个功能还需要做很多工作(例如,整数组件的防卷绕)。但到目前为止,我的P和D组件给了我类似于我的模拟结果。目前我的功能是总结所有以前的错误,并乘以KP和比率(两个常量)。这将导致一个不断增长的积分增益,因为误差总是加起来。从我的模拟(附图)可以看出,积分分量应该达到峰值,然后下降。是否遗漏了某些需要包括在I_TERM计算中的内容,或者我是否应该限制以前用于TOT_ER的误差量?如果是这样,我将如何限制它们?我希望这是有意义的,任何帮助都将不胜感激!PS:就我所知,积分反卷积不是这个问题的解决办法,因为它只截断我的积分响应的最大和最小值,但不能消除累积误差随着时间推移到无穷大。
|
|
相关推荐
8个回答
|
|
|
它看起来对我来说是正确的。积分项将成为当误差变为0时获得正确输出所需的偏移量。否则,当误差为0(大部分)时,输出将是0,这并非您想要的。对于反卷积,只需将总误差限制为最大值和(负)最小值。那里有很多浮点运算。尝试用整数值,你真的需要误差是米的距离吗?Ruben
|
|
|
|
|
|
不只是浮动,双打。
|
|
|
|
|
|
谢谢你的快速回复Ruben。我现在更了解整体的成分,我想这可能是我想要的。我正在做一个球和横梁项目,我试图通过一个伺服马达在一个特定的点上平衡球。因此,我的工厂把球位置(米)和伺服角(度)联系起来,我画了一张基本图。所以我肯定希望PID控制器的最终输出在稳态时为零,因为我想把0-0°(图中“齿轮”上的3点钟)的输出与平衡点联系起来。我希望我的角度输出在-60°<-0°->+60°的范围内,并且我的PID输出在-1000<-0->1000的范围内(随机选择1000,只是为了说明一点)。我之所以使用双倍是因为我发现计算出的P/I/D分量与我的matlab模拟相匹配。这个匹配是因为我在使用仪表,就像在模拟中一样。那么,我应该接受由I分量引起的偏移量并简单地将偏移(稳态)缩放为匹配0°吗?在我的计算中,我能去掉加倍并使用整数错误(0-1023),并且仍然保持相同的增益值吗?对不起,信息过载,我只是知道论坛上的人在回答问题时很有见识。菲利克斯
|
|
|
|
|
|
我想这可能是我想要的吧?我正在做一个球和横梁项目,我试图通过一个伺服马达在一个特定的点上平衡球。因此,我的工厂把球位置(米)和伺服角(度)联系起来,我画了一张基本图。但这并不重要。0只是一个数字,如果杠杆臂稍微短或长或错放在伺服轮上,偏移量不是0,但无论如何,它应该同样工作。调节环路可以弥补这个缺点。但是,你不是用伺服器直接控制球的位置,而是控制运动的方向和加速度。也以非线性方式(因为伺服轮上的轮子是圆的)。这将使事情变得更困难。在你的情况下,I项将一直保持增长,直到球通过设定点。也许你需要在计算中增加球的速度,也许需要用一个前馈项来调整输出。由于偏移量受到误差的影响,偏移量在正常的PID回路中会自动调整。你可以使用一个整数值(不一定以米为单位)来计算误差,也可以使用任何标度e增益值或缩放该项。这对所有的条款都适用。当你缩放这个术语时,你应该选择缩放值2^n,因为这样很容易划分。我认为用整数值和常量来调整你的模拟也比较好,而不是反过来。
|
|
|
|
|
|
对于Ruben的信息,我很高兴地说我刚刚开始工作,它超调了很多,并且花费了一些时间来平衡设置,但是至少我让它工作了。希望我能分享一个视频!我会认真考虑您的建议,同时对控制器进行微调,以获得更好的结果。再次感谢您!
|
|
|
|
|
|
边注,除非你抛出一个明确的“-FNO短双”,浮动和双打是相同的XC32和XC16建立…几个月后,我完全惊呆了。
|
|
|
|
|
|
浮点数学与整数数学。能够有效/快速地执行浮点数学的微芯片列表,即FPU,是简短的:PIC32MZ(我不知道任何其他)。也就是说,浮点数学,浮点数学或双浮点数学,对于一个16位处理器,运行在16MIP,而没有DSP内核,需要相当多的处理时间。我注意到你的更新速率是每10mSec。你要回答的问题是,“你的PIC24F通过你所有的浮点PID数学运算需要多少时间?”如果你的PIC24F可以通过你的PID浮点运算,在10MSEC以内,那么就好了:继续前进。否则,我建议你考虑整数数学。想象一下,如果必须添加一些代码/方程式,并且您发现对于额外的代码/方程式,您几乎没有剩余的带宽?当试图驯服数字控制的闭环系统时,我发现将设置点设置为系统开始的位置非常有帮助,并且及时在控制循环之外,将输出引导到实际期望的设置点。好的是,误差自然是从零开始的。不幸的是,如果你的微型计算机几乎不能处理现有的数学问题,那么任何额外的数学问题都会让你的项目陷入困境。
|
|
|
|
|
|
在Web上搜索增量PID。大多数工业控制器使用这个。您的代码更像是一个学术性的解决方案,通常需要实际的解决方案。范围夹紧。饱和控制。斜坡。Deadband。重置。FL PT CALCS变得过大。还研究了32位固定PT数学的使用。妥协,但要快得多,尤其是在PIC24。问候。T Yorky。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475 浏览 0 评论
5794 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1098浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 10:45 , Processed in 0.875477 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1820