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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32F103C8T6單片機PID控制程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:1061970 發表于 2023-3-12 21:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
適合于  STM32 單片機   型號   F103C8T6    PID控制程序

單片機源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "PWM.h"
  5. #include "stm32f10x_tim.h"
  6. #include "key.h"
  7. #include "pid.h"

  8. //捕獲TIM4通道二PB7的頻率和占空比
  9. //PA8輸出PWM驅動脈沖
  10. //按鍵一設置初始轉速為3000;按鍵二 增加1000轉速 按鍵3 降低1000轉速
  11. extern void TIM3_PWM_Init(u16 arr,u16 psc);
  12. extern void TIM4_PWMINPUT_INIT(u16 arr,u16 psc);
  13. extern u16 PWM0_TEMP;
  14. extern u16 period;
  15. extern u16 duty ;
  16. extern u8 CollectFlag ;
  17. float SetSpeed;            //定義設定值
  18. float ActualSpeed;        //定義實際值
  19. float err;                //定義偏差值
  20. float err_next;            //定義上一個偏差值
  21. float err_last;            //定義最上前的偏差值
  22. float incrementSpeed;
  23. float Kp,Ki,Kd;
  24. unsigned int rpm_set;

  25. int main(void)
  26. {
  27.          u8 b,c;       
  28.          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);       

  29.          PID_init();
  30.         KEY_Init();
  31.         SystemInit();
  32.         delay_init();                             //延時初始化
  33.         NVIC_Configuration();          //中斷配置
  34.         uart_init(9600);                                //串口初始化
  35.         DIR_Init();
  36.         TIM4_PWMINPUT_INIT(0xffff,72-1);   //pwm輸入初始化以1M的頻率捕捉
  37.   TIM1_PWM_Init(1000-1,20);             //pwm頻率調節
  38.   //TIM_SetCompare1(TIM1,2000);            //初始轉速設定
  39.          delay_ms(300);
  40.          delay_ms(1000);
  41.          rpm_set=3000;                             //設轉速給定
  42.    TIM3_Int_Init(50000,72-1);               //pid運算進中斷速率設置
  43. //TIM_SetCompare1(TIM1,800);                  
  44.                 while(1)
  45.         {   
  46.                 b=KEY_Scan(0);
  47.                         delay_ms(100);
  48.                   if(1)
  49.                         { //USART_SendData(USART1,'a');
  50.                                 //USART_SendData(USART1,(u8)err);
  51. //                                printf("duty          = %d%% \r\n",duty*100/period);                                //打印占空比
  52. //                                printf("s         = %dr/min\r\n",3750000/period);//打印周期另一種叫法
  53.                        
  54.                                 if(period<1.0)
  55.                                         printf("#%f",0.0);
  56.                           else printf("n=%d\n",3750000/period);    //打印速度值
  57.                        
  58.                         }
  59.             if(b==1) rpm_set=3000;                  //設轉速
  60.                        
  61.                         if(b==2) rpm_set=rpm_set+1000;
  62.                         if(b==3) rpm_set=rpm_set-1000;
  63.                         if(rpm_set>=9000) rpm_set=9000;
  64.                         if(rpm_set<=1000) rpm_set=1000;
  65.    
  66.         }         
  67. }
復制代碼

Keil代碼下載:
STM32F103C8T6PID控制程序.7z (198.01 KB, 下載次數: 67)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区在线免费观看 | 伊人免费观看视频 | 亚洲免费一区二区 | 欧美99 | 国产伦精品一区二区三区视频金莲 | 国产xxxx搡xxxxx搡麻豆 | 国产日韩视频在线 | 欧美日韩亚洲一区二区 | 2021天天躁夜夜看 | 天天看片天天干 | 美国av片在线观看 | 色婷婷av久久久久久久 | 亚洲综合资源 | 深夜福利亚洲 | 国产精品久久久久aaaa九色 | 成年免费大片黄在线观看一级 | 欧美成ee人免费视频 | 日日天天 | 午夜精品一区二区三区在线视频 | 自拍中文字幕 | 亚洲精选久久 | 久久久久久综合 | 久久精品视频网站 | 91成人免费观看 | 国产一区二区三区 | 亚洲天堂影院 | 最新免费黄色网址 | 亚洲国产精品一区二区第一页 | 国产精品久久av | 国产探花在线观看视频 | 中文字幕av在线播放 | 美日韩免费视频 | 亚洲精品在线免费观看视频 | 亚洲情视频| 中文字幕在线观看第一页 | 亚洲高清在线 | 午夜ww| 91免费在线 | a视频在线 | 激情毛片 | 精品国产一区二区三区在线观看 |