久久久久久久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天堂 | 久久精品免费一区二区三 | 亚洲精品av在线 | 精品视频一区二区三区在线观看 | 精品视频导航 | 男女羞羞视频在线免费观看 | 91不卡| 亚洲综合字幕 | 羞羞视频网站免费观看 | 黄色毛片在线看 | 日韩中文电影 | 精品久久久久久久久久久下田 | 99精品久久 | 91aiai| 精品久久久久久久 | 99精品视频免费观看 | 本道综合精品 | 一区中文字幕 | 久久亚洲欧美日韩精品专区 | 九九久久精品视频 | 亚洲精品乱码久久久久久按摩 | 中文字幕亚洲区一区二 | 国产偷录视频叫床高潮对白 | 久久久久久久久久久久久久久久久久久久 | 97超碰免费| 久久99蜜桃综合影院免费观看 | 中文字幕成人av | 久久草视频| 国产欧美一区二区三区在线看蜜臀 | 日本大香伊一区二区三区 | 涩在线| 超碰在线免费av | 亚洲免费在线观看视频 | 欧美日韩一区在线 | 久久国产精品视频 | 国产成人免费在线 |