f4 stm32 神经网络_用STM32F407玩控制—神经网络PID控制

本文介绍了RBF神经网络PID控制方法,该方法克服了BP神经网络PID控制中kp、ki、kd需小于1的限制,适用于更多应用场景。文中详细阐述了RBF神经网络PID控制的原理,并展示了在STM32F407上实现的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在玩51单片机时就想玩神经网络PID控制,但51单片机的数据存储器地址空间很小,就普通的应用,要增加一个变量尚且“抖抖哗哗”,更遑论玩神经网络PID控制,那可需要非常多的变量,而玩STM32F407就不存在这方面问题了。转入正题,大部分书上的神经网络PID控制,讲的是BP神经网络PID控制,举的例子都是非线性系统,通常仿真效果都不错,但BP神经网络PID控制有一个限制,就是kp、ki、kd小于1,这就限制了它的应用范围,如果kp、ki、kd>1,那就得改进,而刘金琨的《先进PID控制 MATLAB仿真》一书中讲了一种RBF神经网络PID控制,它突破了前者的限制,其原理如图1所示,图中RBF NN1神经网络根据偏差e、Jacobian等信息计算Δkp、Δki、Δkd,RBF NN2神经网络用于系统辨识,然后算出Jacobian信息并传递给RBF NN1,PID控制器的实际PID参数为:kp=kp0+Δkp、ki=ki0+Δki、kd=kd0+Δkd,剩下的过程就是普通PID控制了,C语言中实现径向基神经网络(RBF NN)并不难,只需照抄计算公式就行,如果说有什么注意要点的话,那就是要细心、细心、再细心,我们在STM32F407中做的神经网络PID控制,其效果如图2所示,从图中可以看出,这是一个大纯滞后系统,系统中也加入有白噪声,我们可以看出控制效果还是相当好,此外,一般说来,神经网络PID控制对初始PID值的选取不是很敏感,当然也不能偏的太多。

这个专题就到此结束了,本来还想玩实时PID参数优化、预测控制等APC内容,但由于:1玩电脑头颈很累,2也兴趣转移,所以就不想再玩下去了,以后再说了。

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值