找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32電機(jī)調(diào)速PID參考源程序

  [復(fù)制鏈接]
ID:307656 發(fā)表于 2018-4-13 22:09 | 顯示全部樓層 |閱讀模式
STM32電機(jī)調(diào)速PID程序參考
0.jpg
單片機(jī)源程序如下:
  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驅(qū)動(dòng)脈沖
  10. //按鍵一設(shè)置初始轉(zhuǎn)速為3000;按鍵二 增加1000轉(zhuǎn)速 按鍵3 降低1000轉(zhuǎn)速
  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;            //定義設(shè)定值
  18. float ActualSpeed;        //定義實(shí)際值
  19. float err;                //定義偏差值
  20. float err_next;            //定義上一個(gè)偏差值
  21. float err_last;            //定義最上前的偏差值
  22. float incrementSpeed;
  23. float Kp,Ki,Kd;
  24. unsigned int rpm_set;
  25. //Mini STM32開發(fā)板范例代碼8

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

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


復(fù)制代碼

所有資料51hei提供下載:
捕獲.rar (289.75 KB, 下載次數(shù): 729)


回復(fù)

使用道具 舉報(bào)

ID:316065 發(fā)表于 2018-5-25 14:11 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:317046 發(fā)表于 2018-6-2 15:37 | 顯示全部樓層
挺不錯(cuò)的
回復(fù)

使用道具 舉報(bào)

ID:341045 發(fā)表于 2018-6-2 20:50 | 顯示全部樓層
謝謝分享         
回復(fù)

使用道具 舉報(bào)

ID:372171 發(fā)表于 2018-7-15 21:05 | 顯示全部樓層
這個(gè)資料我正好需要,謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:372171 發(fā)表于 2018-7-15 21:06 | 顯示全部樓層
謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:262182 發(fā)表于 2018-7-16 14:55 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:371270 發(fā)表于 2018-7-17 14:23 | 顯示全部樓層
不錯(cuò)謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:373608 發(fā)表于 2018-7-28 21:28 | 顯示全部樓層
太需要你這資料了
回復(fù)

使用道具 舉報(bào)

ID:386220 發(fā)表于 2018-8-18 15:09 | 顯示全部樓層
很好的資源
回復(fù)

使用道具 舉報(bào)

ID:386220 發(fā)表于 2018-8-18 15:13 | 顯示全部樓層
我很需要這個(gè)資源,求樓主發(fā)我郵箱1464531300@qq.com,學(xué)習(xí)學(xué)習(xí)PID控制,謝謝了!
回復(fù)

使用道具 舉報(bào)

ID:140642 發(fā)表于 2018-8-21 11:29 | 顯示全部樓層
不錯(cuò)不錯(cuò),最近正需要這方面的東西
回復(fù)

使用道具 舉報(bào)

ID:391589 發(fā)表于 2018-8-30 13:48 | 顯示全部樓層
51黑好資料。求樓主發(fā)我郵箱837690912@qq.com,學(xué)習(xí)學(xué)習(xí)PID控制,謝謝了!
回復(fù)

使用道具 舉報(bào)

ID:490931 發(fā)表于 2019-3-24 20:10 | 顯示全部樓層
對(duì)應(yīng)的io接口可以說一下嗎
回復(fù)

使用道具 舉報(bào)

ID:520812 發(fā)表于 2019-5-8 15:54 | 顯示全部樓層
樓主可以給我發(fā)一份嗎
回復(fù)

使用道具 舉報(bào)

ID:440845 發(fā)表于 2019-5-10 11:35 | 顯示全部樓層
請(qǐng)問資料里有上面那些頭文件么
回復(fù)

使用道具 舉報(bào)

ID:433086 發(fā)表于 2019-5-18 14:55 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:505027 發(fā)表于 2019-5-23 10:17 | 顯示全部樓層
正好需要,感謝樓主的分享
回復(fù)

使用道具 舉報(bào)

ID:550084 發(fā)表于 2019-7-12 16:59 | 顯示全部樓層
謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:537568 發(fā)表于 2019-7-20 20:38 | 顯示全部樓層
謝謝
回復(fù)

使用道具 舉報(bào)

ID:593177 發(fā)表于 2019-8-1 09:20 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:614587 發(fā)表于 2019-9-21 22:29 | 顯示全部樓層
新人報(bào)道,下載來學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

ID:261860 發(fā)表于 2019-9-22 08:14 | 顯示全部樓層
謝謝分享。。。。
回復(fù)

使用道具 舉報(bào)

ID:388992 發(fā)表于 2019-10-16 17:11 | 顯示全部樓層
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:620291 發(fā)表于 2019-11-11 21:24 | 顯示全部樓層
很好的資源
回復(fù)

使用道具 舉報(bào)

ID:524128 發(fā)表于 2019-12-14 00:24 | 顯示全部樓層
這是個(gè)單環(huán)pid,實(shí)際意義不大
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表