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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3285|回復: 2
打印 上一主題 下一主題
收起左側

STM32 PID算法測試C語言程序實現 0.96寸OLED顯示

[復制鏈接]
跳轉到指定樓層
樓主


單片機源程序如下:
  1. #include "PID.h"

  2. /*以電機調速為例*/

  3. struct _pid{
  4.         float SetSpeed;       //設定值
  5.         float ActualSpeed;    //實際值
  6.         float err;            //偏差值
  7.         float err_last;       //上一個偏差值
  8.         float err_last_last;  //最上一個偏差值
  9.         float Kp, Ki, Kd;     //比例、積分、微分系數
  10. }pid;

  11. void PID_init()               //初始化
  12. {
  13.         pid.SetSpeed = 0.0;
  14.         pid.ActualSpeed = 0.0;
  15.         pid.err = 0.0;
  16.         pid.err_last = 0.0;
  17.         pid.err_last_last = 0.0;
  18.   pid.Kp = 0.2;               //可修改
  19.         pid.Ki = 0.015;             //可修改
  20.         pid.Kd = 0.2;               //可修改
  21. }

  22. float PID_realize(float Speed)
  23. {
  24.         float incrementSpeed;        //當前值
  25.         pid.SetSpeed = Speed;        //用戶設定值
  26.         pid.err = pid.SetSpeed - pid.ActualSpeed;   //偏差值
  27.         incrementSpeed =pid.Kp*(pid.err - pid.err_last) + pid.Ki*pid.err + pid.Kd*(pid.err - 2 * pid.err_last_last + pid.err_last);
  28.         pid.ActualSpeed += incrementSpeed;   //實際輸出值
  29.         pid.err_last = pid.err_last_last;
  30.         pid.err_last_last = pid.err;
  31.         return pid.ActualSpeed;
  32. }
復制代碼
  1. /**********************PID算法測試C語言實現**************************/

  2. //  0.96寸OLED顯示   IIC通訊
  3. //              --------------------
  4. //              GND   電源地
  5. //              VCC   接5V或3.3v電源
  6. //              SCL   接PA5(SCL)
  7. //              SDA   接PA7(SDA)  
  8. //              --------------------
  9. #include "stm32f10x.h"
  10. #include "oled.h"
  11. #include "PID.h"

  12. int main(void)
  13.   {
  14.                 u32 count=0;

  15.                 OLED_Init();                        //初始化OLED  
  16.                 OLED_Clear();
  17.                 PID_init();
  18.         
  19.                 OLED_ShowChar(16,0,'P',16);
  20.                 OLED_ShowChar(24,0,'I',16);
  21.                 OLED_ShowChar(32,0,'D',16);
  22.                 OLED_ShowCHinese(44,0,0);
  23.                 OLED_ShowCHinese(60,0,1);
  24.                 OLED_ShowCHinese(76,0,2);
  25.                 OLED_ShowCHinese(92,0,3);
  26.                
  27.                 OLED_ShowCHinese(0,4,4);
  28.                 OLED_ShowCHinese(16,4,5);
  29.                 OLED_ShowCHinese(32,4,6);
  30.                 OLED_ShowChar(48,4,':',16);
  31.                
  32.                 OLED_ShowCHinese(0,6,7);
  33.                 OLED_ShowCHinese(16,6,8);
  34.                 OLED_ShowCHinese(32,6,9);
  35.                 OLED_ShowChar(48,6,':',16);
  36.                
  37.                 OLED_ShowChar(86,5,'.',12);
  38.                 OLED_ShowChar(86,7,'.',12);
  39.                
  40.                 OLED_ShowNum(56,5,(int)setspeed,5,12);  //顯示設定值整數部分
  41.                 OLED_ShowNum(93,5,(int)(setspeed*10)%10,1,12);  //顯示設定值小數部分
  42.                 OLED_ShowNum(99,5,(int)(setspeed*100)%10,1,12);
  43.                 OLED_ShowNum(105,5,(int)(setspeed*1000)%10,1,12);
  44.                 OLED_ShowNum(111,5,(int)(setspeed*10000)%10,1,12);
  45.         while(count<1000)
  46.         {
  47.           float Speed = PID_realize(setspeed);
  48.                 OLED_ShowNum(56,7,Speed,5,12);    //顯示當前值整數部分
  49.                 OLED_ShowNum(93,7,(int)(Speed*10000)%10000,4,12);  //顯示當前值及小數點后4位
  50.         }
  51. }
復制代碼


所有資料51hei提供下載:
PID算法測試.7z (184.24 KB, 下載次數: 141)


評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:186249 發表于 2019-8-29 23:56 | 只看該作者
這個怎么樣,下來看看
回復

使用道具 舉報

板凳
ID:423971 發表于 2020-4-16 23:23 | 只看該作者
感謝樓主 學習了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一区二区三区在线观看 | 久久亚洲一区二区 | 99在线资源 | 99综合| 中文字幕在线精品 | 成人免费福利 | 国产精品免费看 | 色婷婷av一区二区三区软件 | 一区二区三区视频免费观看 | 羞羞视频在线观看 | 美女久久久久久久久 | 国产成人黄色 | 高清视频一区二区三区 | 精品免费视频 | 午夜影院在线观看 | 欧美精品区 | 日韩在线一区二区 | 免费黄色特级片 | 99精品国产一区二区三区 | 在线国产一区二区三区 | 91免费观看视频 | 欧美日韩精品中文字幕 | 在线观看免费黄色片 | 综合国产第二页 | aaa在线观看 | 日本a视频 | 不卡一区二区三区四区 | xxxxx免费视频 | 亚洲一区二区免费视频 | 欧美阿v | 高清久久 | 亚洲看片网站 | 国产精品永久久久久久久www | 欧美456 | 国产网站久久 | 国产亚洲网站 | 自拍偷拍中文字幕 | 高清国产一区二区 | 一级黄色生活视频 | 91视频. | 国产成人久久精品一区二区三区 |