|
stm 32 單片機 PID溫控板 附件有 完整電路圖及程序(位置+增量 );花了一點米 弄到的,分享給有需要的朋友。現在也在學習PID ,因為項目的時間有限,只能買資料來學。
祝大家學習進步。!!
部分單片機代碼:
完整的自行下載附件。
僅供學習參考。
- #include "pid.h"
- PID pid; //存放PID算法所需要的數據
- void PID_Calc() //pid計算
- {
- float DelEk;
- float ti,ki;
- // float Iout;
- // float Pout;
- // float Dout;
- float td;
- float kd;
- float out;
- if(pid.C10ms<(pid.T)) //計算周期未到
- {
- return ;
- }
-
- pid.Ek=pid.Sv-pid.Pv; //得到當前的偏差值
- pid.Pout=pid.Kp*pid.Ek; //比例輸出
-
- pid.SEk+=pid.Ek; //歷史偏差總和
-
- DelEk=pid.Ek-pid.Ek_1; //最近兩次偏差之差
-
- ti=pid.T/pid.Ti;
- ki=ti*pid.Kp;
-
- pid.Iout=ki*pid.SEk*pid.Kp; //積分輸出
- td=pid.Td/pid.T;
-
- kd=pid.Kp*td;
-
- pid.Dout=kd*DelEk; //微分輸出
-
- out= pid.Pout+ pid.Iout+ pid.Dout;
-
- //////////////////////////////////////////////////////////
-
- if(out>pid.pwmcycle)
- {
- pid.OUT=pid.pwmcycle;
- }
- else if(out<0)
- {
- pid.OUT=pid.OUT0;
- }
- else
- {
- pid.OUT=out;
- }
- //pid.OUT+=; //本次的計算結果
- pid.Ek_1=pid.Ek; //更新偏差
-
- pid.C10ms=0;
- }
復制代碼
1.png (3.37 KB, 下載次數: 83)
下載附件
文件目錄
2023-2-3 00:46 上傳
2.png (35.47 KB, 下載次數: 78)
下載附件
程序目錄
2023-2-3 00:46 上傳
|
-
3.png
(50.35 KB, 下載次數: 148)
下載附件
2023-2-3 00:46 上傳
pcb
-
-
新增溫控項目程序和pcb.7z
2023-2-3 01:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.52 MB, 下載次數: 553, 下載積分: 黑幣 -5
附件資料
評分
-
查看全部評分
|