如何在STM32中实现模糊自整定PID算法?

2019-07-14 22:32发布

最近在做模糊PID的相关研究,发现在matlab上似乎比较方便,但是怎么在STM32单片机里面写成C语言的形式呢?
大家有没有做过相关的研究呢?
下面是MATLAB做的fuzzy参数
23.jpg
21.jpg
22.jpg



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
打马过草原
1楼-- · 2019-07-15 13:42
梦醒没你 发表于 2015-5-22 14:19
实际模糊控制的算法计算过程是离线完成的,你只要在matlab里面生成模糊控制表,在单片机中只要查表操作就可以完成模糊PID控制了。

有些问题没有解决,想要问一下前辈:
查表的问题,比如我E 是 NB ; EC是 NB ,查表得到Kp是PB ,这个PB接着是不是进行解模糊(这里用重心法)呢? 另一方面,我查表后输出的语言变量既然都是可以通过解模糊把实际值算出来(比如刚刚的Kp得到PB,PB用重心法算到一个值0.2),那么我 KP KI KD 三张表里面的 语言变量 NB NM NS ZO PS PM PB 都可以用一个值来代替了,在单片机就是建个二维数组。可以这么想吗?
感谢相遇
2楼-- · 2019-07-15 14:58
推荐一本书:
本书以基于模型的设计为主线,讲述了M代码和Embedded MATLAB代码的快速编写与调试、浮点Simulink/Stateflow模型的建立、调试与验证以及用户驱动模块的创建;详细介绍了基于模型设计的全过程,主要包括:需求的验证与跟踪、模型的系统测试与设计验证、浮点到定点模型的转换、模型嵌入式C代码的自动生成以及软件/处理器/硬件在环测试。整个过程满足DO~178B航空电子规范,可显著提高工作效率、降低开发成本,并且增加了代码的安全性与鲁棒性,避免了产品开发的潜在市场风险。
里面的用matlab建模之后,可以自动生成C代码部分可以参考一下。
谁来救我
3楼-- · 2019-07-15 15:25
感谢相遇 发表于 2015-5-22 14:43
推荐一本书:
本书以基于模型的设计为主线,讲述了M代码和Embedded MATLAB代码的快速编写与调试、浮点Simulink/Stateflow模型的建立、调试与验证以及用户驱动模块的创建;详细介绍了基于模型设计的全过程,主要包括:需求的验证与跟踪、模型的系统测试与设计验证、浮点到定点模型的转换、模型嵌入式C代码的自动生成以及软件 ...

请问是什么书呢
swx954068967
4楼-- · 2019-07-15 19:51
谁来救我 发表于 2015-6-1 21:50
请问是什么书呢

应该是这本《基于模型的设计及其嵌入式实现 》
LQH9249
5楼-- · 2019-07-15 22:56
 精彩回答 2  元偷偷看……
籽籽2016
6楼-- · 2019-07-16 00:00
大神解决了吗

一周热门 更多>