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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32智能小車編碼器源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:349706 發表于 2018-6-11 19:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
小車電池被拆了沒法調試,有錯請指正!
待修好再上傳更完善的,求大佬點評指正!

單片機源程序如下:
  1. #include "contral.h"
  2. #include "stm32f10x.h"
  3. #include "motor.h"

  4. int Target_velocity=50;                                                                   //設定速度控制的目標速度為50個脈沖每10ms

  5. /**************************************************************************
  6. 函數功能:TIM3中斷
  7. 入口參數:無
  8. 返回  值:無
  9. **************************************************************************/
  10. void TIM3_IRQHandler(void)
  11. {                
  12.         static int time=0;
  13.         time ++;
  14.         if(time==10)
  15.         {
  16.                 if (TIM_GetITStatus(TIM3, TIM_IT_Update)!= RESET)  //檢查指定的TIM中斷發生與否:TIM 中斷源
  17.                         {
  18.                         Encoder=transfer(encoder);
  19.                         Led_Flash(100);                                //LED閃爍;指示單片機正常運行       
  20.                                
  21.                         Moto=Incremental_PI(Encoder,Target_velocity);  //===速度PI控制器
  22.                         Xianfu_Pwm();                                  //===PWM限幅
  23.                         Set_Pwm(Moto);
  24.                                
  25.                         TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //清除TIMx的中斷待處理位:TIM 中斷源
  26.                         }
  27.                 time=0;
  28.         }
  29. }
  30. /**************************************************************************
  31. 函數功能:增量PI控制器
  32. 入口參數:編碼器測量值,目標速度
  33. 返回  值:電機PWM
  34. 根據增量式離散PID公式
  35. pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]
  36. e(k)代表本次偏差
  37. e(k-1)代表上一次的偏差  以此類推
  38. pwm代表增量輸出
  39. 在我們的速度控制閉環系統里面,只使用PI控制
  40. pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)
  41. **************************************************************************/
  42. int Incremental_PI (int Encoder,int Target)                //Target是目標值
  43. {        
  44.          float Kp=20,Ki=30;       
  45.          static int Bias,Pwm,Last_bias;
  46.          Bias=Encoder-Target;                //計算偏差
  47.          Pwm+=Kp*(Bias-Last_bias)+Ki*Bias;   //增量式PI控制器
  48.          Last_bias=Bias;                           //保存上一次偏差
  49.          return Pwm;                         //增量輸出
  50. }

  51. /**************************************************************************
  52. 函數功能:限制PWM賦值
  53. 入口參數:無
  54. 返回  值:無
  55. **************************************************************************/
  56. void Xianfu_Pwm(void)
  57. {       
  58.         int Amplitude=7100;    /*PWM滿幅是7200 限制在7100*/
  59.     if(Moto<-Amplitude) Moto=-Amplitude;       
  60.         if(Moto>Amplitude)  Moto=Amplitude;       
  61. }

  62. /**************************************************************************
  63. 函數功能:絕對值函數
  64. 入口參數:int
  65. 返回  值:unsigned int
  66. **************************************************************************/
  67. int myabs(int a)
  68. {                   
  69.           int temp;
  70.                 if(a<0)  temp=-a;  
  71.           else temp=a;
  72.           return temp;
  73. }

  74. /**************************************************************************
  75. 函數功能:賦值給PWM寄存器
  76. 入口參數:PWM
  77. 返回  值:無
  78. **************************************************************************/
  79. void Set_Pwm(int moto)
  80. {
  81.                         if(moto>0)                AIN2=1,                        AIN1=0;
  82.                         else                 AIN2=0,                        AIN1=1;
  83.                         PWM1=myabs(moto);
  84. }

復制代碼

所有資料51hei提供下載:
小車.rar (406.8 KB, 下載次數: 54)



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

使用道具 舉報

沙發
ID:423055 發表于 2018-11-24 22:46 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天堂资源最新在线 | 国产精品一区二区三区久久久 | 国产精品观看 | 国产美女特级嫩嫩嫩bbb片 | 国产黄色大片在线观看 | 久草福利 | aa级毛片毛片免费观看久 | 孰女乱色一区二区三区 | 狠狠操av | 黄色三级免费 | 亚洲人人| 日韩精品一区二区三区中文在线 | 一区二区三区视频在线 | 国产色99精品9i | 九七午夜剧场福利写真 | 99久久免费精品国产免费高清 | 操视频网站 | 欧美一区免费 | 91精品一区二区三区久久久久 | 国产成人免费视频网站高清观看视频 | 精品一区二区三区四区 | 狠狠涩 | 一区二区在线不卡 | 天天操综合网站 | 久久久青草婷婷精品综合日韩 | 国产免费xxx | 欧美一级片在线看 | 九一视频在线观看 | 一a级片 | www.四虎.com| 久久国产精品免费视频 | 亚洲成人中文字幕 | 久久国产精品一区二区 | 欧美日本韩国一区二区 | 亚洲欧美激情精品一区二区 | 伊人精品久久久久77777 | 99久久免费精品 | 日日淫| www.国产精品| 中文字幕在线看 | 欧美一区二区三区视频 |