久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3758|回復: 1
收起左側

stm32 PID增量式算法控制溫度源程序

[復制鏈接]
ID:506480 發表于 2019-4-7 21:21 | 顯示全部樓層 |閱讀模式
  1. #include "pid.h"

  2. PID pid;
  3. extern u16 pidcalcms;
  4. void PIDParament_Init()  //
  5. {
  6.   pid.set =100;
  7.         pid.currpwm=0;
  8.         pid.pwm_cycle=100;    //
  9. //  pid.pid_P=8;
  10. //        pid.pid_I=4;
  11. //        pid.pid_D=5;
  12.         pid.calc_cycle=100;  
  13.         
  14.         pid.Td=2000;
  15.         pid.Ti=4000;
  16.         pid.Kp=5;
  17.         pid.Tsam=500;
  18. }

  19. /*
  20. void pid_calc()  //pid??
  21. {
  22.   //int dk;

  23.         
  24.   short PID_out;
  25.         
  26.         if(pidcalcms<pid.calc_cycle) return ;

  27.   pid.Ek=pid.set-pid.curr;//????(????-????)
  28.   PID_out=((pid.pid_P)*((pid.Ek)-(pid.Ek_1)))+ \
  29.           ((pid.pid_I)*(pid.Ek))+ \
  30.           ((pid.pid_D)*((pid.Ek)-(2*(pid.Ek_1))+(pid.Ek_2)));   //??????
  31.   pid.currpwm+=PID_out;
  32.   pid.Ek_2=pid.Ek_1;  //???????
  33.   pid.Ek_1=pid.Ek;    //??????

  34.   if(pid.currpwm>pid.pwm_cycle)  //1000    //1s??PWM??
  35.   {
  36.      pid.currpwm=pid.pwm_cycle;   //????????1000???????
  37.   }
  38.   if(pid.currpwm<=0)  //??????0??0??(????)
  39.   {
  40.       pid.currpwm=0;//   
  41.   }  //PID????
  42. pidcalcms=0;
  43. }
  44. */
  45. void pid_calc()  //pid??
  46. {
  47.   float dk1;float dk2;
  48.   float t1,t2,t3;
  49.         
  50.   //short PID_out;
  51.         
  52.         if(pidcalcms<pid.Tsam) return ;  //
  53.         pid.En=pid.set-pid.curr;  //本次誤差
  54.         dk1=pid.En-pid.En_1;   //本次偏差與上次偏差之差
  55.         dk2=pid.En-2*pid.En_1+pid.En_2;
  56.         
  57.   t1=pid.Kp*dk1;
  58.         
  59.         t2=(pid.Kp*pid.Tsam)/pid.Ti;
  60.         t2=t2*pid.En;
  61.         
  62.         t3=(pid.Kp*pid.Td)/pid.Tsam;
  63.         t3=t3*dk2;
  64.         
  65.   pid.Dout=t1+t2+t3;  //本次應該輸出的增量
  66.         pid.currpwm+=pid.Dout;  //本次應該輸出的PWM
  67.         if(pid.currpwm>pid.pwm_cycle)
  68.         {
  69.           pid.currpwm=pid.pwm_cycle;
  70.         }
  71.         if(pid.currpwm<0)
  72.         {
  73.          pid.currpwm=0;
  74.         }
  75.         pid.En_2=pid.En_1;
  76.         pid.En_1=pid.En;
  77.         
  78.   pidcalcms=0;
  79. }
  80. 注釋掉的為位控制算法
復制代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:405860 發表于 2020-3-29 15:40 | 顯示全部樓層
你好,可以分享一下這段程序的頭文件嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情在线观看一区二区三区 | 91精产国品一二三区 | 国产精品亚洲一区二区三区在线 | 国产一级淫片免费视频 | 亚洲啪啪| 久久久久网站 | 久久精品国产99国产精品 | 熟女毛片 | 亚洲一区毛片 | 婷婷在线免费 | 亚洲欧美日韩精品久久亚洲区 | 日本一级淫片免费啪啪3 | 天天色综网| 亚洲天堂二区 | av网站在线免费观看 | 视频一区二区在线观看 | 99精品免费视频 | 91国产在线视频在线 | 中文字幕av网 | 成人免费区一区二区三区 | 99精品在线观看 | 性一交一乱一伦视频免费观看 | 99精品免费在线观看 | 91久久精品国产91久久性色tv | 亚洲精品乱码久久久久久按摩观 | 在线日韩视频 | 亚洲 中文 欧美 日韩 在线观看 | 毛片免费观看 | 人人草人人干 | 韩国久久精品 | 色站综合 | 综合九九 | 黄a在线观看| 日本三级精品 | 自拍偷拍第一页 | 91精品国产乱码久久久久久久久 | 欧美激情视频一区二区三区在线播放 | 国产一区影院 | 在线精品国产 | 91久久精品一区二区二区 | 日韩一区二区三区视频在线观看 |