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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3848|回復(fù): 1
收起左側(cè)

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

[復(fù)制鏈接]
ID:506480 發(fā)表于 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;  //本次應(yīng)該輸出的增量
  66.         pid.currpwm+=pid.Dout;  //本次應(yīng)該輸出的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. 注釋掉的為位控制算法
復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区不卡 | 国产欧美一区二区三区在线看蜜臀 | 精品日韩一区 | 久久久91精品国产一区二区三区 | 国产免费福利小视频 | 91在线播| 欧美综合视频 | 亚洲欧美一区二区三区国产精品 | 久久久99精品免费观看 | 丁香久久 | 国产高清性xxxxxxxx | 久久久av中文字幕 | 免费一区 | 在线婷婷 | 激情 婷婷 | 91高清在线观看 | 国产69精品久久久久777 | 在线观看第一区 | 红桃成人在线 | 天天天久久久 | 国产成人精品久久二区二区91 | 蜜桃视频在线观看免费视频网站www | 日韩国产一区二区三区 | 最新中文字幕在线播放 | 欧美性受xxxx | 91社影院在线观看 | 福利精品 | 性生生活大片免费看视频 | 久久精品久久精品久久精品 | 在线观看亚洲精品视频 | 亚洲精品一区二区三区 | 国产精品欧美一区二区三区不卡 | 精品久久久久久久人人人人传媒 | 亚洲美女视频 | 国产一级片精品 | 欧美日韩综合精品 | 精品免费国产一区二区三区四区 | 国产午夜精品久久久 | 日韩欧美专区 | 日韩视频专区 | 国产在线不卡 |