基于STM32与μC/GUI的多路PID控制器

MIO PID Control Based on STM32

大学时代的东西,再发。

简而言之,就是一个2入3出的PID控制器(还记得大学的过程控制课程不?)。

系统复位后,首先进入的是曲线显示界面,点击 PID_Set 按键即进入 PID 窗口 主面板,然后再点击此页面的 PID_Set 按键弹出参数设定对话框,此时光标的焦点自动 设定到第一组的 Kp 参数编辑框中,系统对 Kp 值的范围设定为 0~999.999,默认 Kp值被设定为 1.0,此时要改变 Kp的值只需要点击虚拟数字键盘对应数字即可。

同样的完成 Ki、Kd、Set、加权 E,因为系统是两输入三输出,因此可以将 6 组设定值分为 3 组,其中Set 和权重 E值只需要设定两组,每完成一组设定可以点击 Next 和 Previous 来设定下一组参数,完成所有六组参数设定后点击OK,系统将自动调回到曲线显示窗口,开始运行。

随后系统将采用默认周期 500 毫秒开始工作,并系统在程序上有上下限限制。 最后可以进行输出参数设定,设定输出更新周期,输出方式以及 PWM 拟合匹配等。此步骤亦可以省略,默认输出更新周期 1秒,开关量输出,开启缓冲池。并将缓冲池的数据用曲线形式在 TFT的界面上显示出来。

在实时曲线窗口中有一个系统的运行和关闭按键,直接点击运行/停止按钮即可完成系统的运行与停止切换。操作结束后会按键上面的文字会显示此刻系统的状态。

使用了RTOS:μC/OS-II,各个task分配如下:

Architecture

硬件的几大块如下图,其中lm335作为Analog输入传感器,输出为PWM。

Architecture

硬件是买的STM32板子,然后直接外扩了需要的器件:

Architecture

因为用到了曲线显示,因此Porting了μC/GUI 3.98。而GUI方面,有主要由两个界面组成:

第一个界面用于设定

Architecture

第二个用于实时显示

Architecture


代码放到了github上面:https://github.com/tonyho/MIO_PID_Controller

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值