针对stm32中可以如下实现:

 p->IncrementVal = (p->Kp * (p->err - p->err_next))
+ (p->Ki * p->err)
+ (p->Kd * (p->err - * p->err_next + p->err_last)); p->err_last = p->err_next; //更新err_2
p->err_next = p->err; //更新err_1

这样就得到了误差相当于的pwm占空比的增量,其中,kd=0;

1、kp相当于位置式pid的Kd微分量

2、ki当于位置式pid的Kp比例量

增量式pid计算是误差的增量还是减量,不是最终的pwm占空比的数值

然后可以:

 pwm_info.duty_cycle += p->IncrementVal;

更新pwm的占空比,增加或减少,用于更新加热丝的功率。

之后用stm的pwm占空比函数更新即可达到pid的控制。

最新文章

  1. 如何开发FineReport的自定义控件?
  2. Android View.setId(int id) 用法
  3. Flipboard-BottomSheetlayout 源码分析
  4. 【JS】falsy与truthy
  5. [ZigBee] 1、 ZigBee简介
  6. [转]SecureCRT连接主机时,无法从键盘输入
  7. CAS 与.net 集成的 “循环重定向”问题分析
  8. 【转】linux下mkisofs制作光盘映像cdrecord刻录光盘
  9. spring mvc mybatis
  10. c++中static的使用
  11. (ArcGIS API For Silverlight )QueryTask 跨层查询,和监控完整的查询!
  12. cocos2d-x3.x Vector
  13. [Android]SDK安装
  14. 深入浅出Lua虚拟机
  15. OpenMP基础----以图像处理中的问题为例
  16. foot
  17. php国家或者编码英文字母排序
  18. win10开机自启动
  19. [UE4]Retainer Box
  20. PHP用户登录解析

热门文章

  1. Jenkins+Gitlab+Ansible自动化部署(二)
  2. winform 程序隐藏窗口运行
  3. 洛谷P3928 SAC E#1 - 一道简单题 Sequence2
  4. webpack.config.js====插件purifycss-webpack,提炼css文件
  5. IO流----File,递归,字节流,字符流
  6. swift 基础-1
  7. 20170405JDBC数据查询
  8. C# 对接腾讯企业邮接口----get/post请求
  9. [LoadRunner]录制启动时报“The JVM could not be started……”错误解决方案
  10. NullPointerException检测