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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

mini四軸飛行器、遙控器電路原理圖、PCB文件與STM32單片機源程序

  [復制鏈接]
跳轉到指定樓層
樓主
最近在搞四軸,搜了一些資料,跟大家分享下。開源分享飛豬源程序,設計資料僅供參考!


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


遙控器部分:





mini四軸飛行器的STM32單片機源程序如下:
  1. #include "control.h"
  2. #include "BSP.H"
  3. #include "rc.h"
  4. #include "imu.h"
  5. #include "uart1.h"
  6. PID PID_ROL,PID_PIT,PID_YAW;
  7. u8 ARMED = 0;
  8. extern vs16 QH,ZY,XZ;

  9. float Get_MxMi(float num,float max,float min)
  10. {
  11.         if(num>max)
  12.                 return max;
  13.         else if(num<min)
  14.                 return min;
  15.         else
  16.                 return num;
  17. }

  18. void CONTROL(float rol_now, float pit_now, float yaw_now, float rol_tar, float pit_tar, float yaw_tar)       
  19. {                                                //當前姿態角,,,目標姿態角
  20.         u16 moto1=0,moto2=0,moto3=0,moto4=0;
  21.         vs16 throttle;
  22. //        u8 moto[8];
  23.        
  24.         float rol = rol_tar + rol_now;
  25.         float pit = pit_tar + pit_now;
  26.         float yaw = yaw_tar + yaw_now;
  27.        
  28.         throttle = Rc_Get.THROTTLE - 1000;        //1000<遙控油門值<2000
  29.         if(throttle<0)        throttle=0;
  30.        
  31.         PID_ROL.IMAX = throttle/10;                        //積分限幅,積分值不超過當前油門值的一半
  32.         PID_ROL.IMAX = Get_MxMi(PID_ROL.IMAX,1000,0);        //限制積分結果為,0到1000       
  33.         PID_PIT.IMAX = PID_ROL.IMAX;
  34.        
  35.         PID_ROL.pout = PID_ROL.P * rol;
  36.         PID_PIT.pout = PID_PIT.P * pit;
  37. //////////////////、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、       
  38.         /////////////0.1  0.1   30  30
  39.         if(rol_tar*rol_tar<1 && pit_tar*pit_tar<1 && rol_now*rol_now<100 && pit_now*pit_now<100 && throttle>300)
  40.         {                        //防止角度大了,積分超調//目標姿態角水平,姿態角幾乎水平,油門值不太低
  41.                 PID_ROL.iout += PID_ROL.I * rol;
  42.                 PID_PIT.iout += PID_PIT.I * pit;
  43.                 PID_ROL.iout = Get_MxMi(PID_ROL.iout,PID_ROL.IMAX,-PID_ROL.IMAX);                //對輸出的積分限幅
  44.                 PID_PIT.iout = Get_MxMi(PID_PIT.iout,PID_PIT.IMAX,-PID_PIT.IMAX);
  45.         }
  46.         else if(throttle<200)
  47.         {                        //油門值較小時,積分項清零
  48.                 PID_ROL.iout = 0;
  49.                 PID_PIT.iout = 0;
  50.         }
  51. //////////////////、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、       

  52. //        rc_roll_d = rol_tar - getlast_roll;
  53. //        getlast_roll = rol_tar;
  54. //        PID_ROL.dout = PID_ROL.D * (MPU6050_GYRO_LAST.X+rc_roll_d*300);//角速度+控制誤差微分
  55. //       
  56. //        rc_pitch_d = pit_tar - getlast_pitch;
  57. //        getlast_pitch = pit_tar;
  58. //        PID_PIT.dout = PID_PIT.D * (MPU6050_GYRO_LAST.Y+rc_pitch_d*300);//角速度+控制誤差微分
  59.        
  60.         PID_ROL.dout = PID_ROL.D * MPU6050_GYRO_LAST.X;               
  61.         PID_PIT.dout = PID_PIT.D * MPU6050_GYRO_LAST.Y;
  62. /////////////////////////////////////////////////////////////////////
  63.         PID_YAW.pout = PID_YAW.P * yaw;
  64.         //若 *yaw_now;鎖尾模式。。。
  65.         //若 *yaw;  非鎖尾模式。。!
  66. /////////////////////////////////////////////////////////////////////
  67.         vs16 yaw_d;
  68.         /////////////////////////////////////////////////////////////////////
  69.         if(1480>Rc_Get.YAW || Rc_Get.YAW>1520)        //給遙控加死區(偏航角的死區)
  70.         {
  71.                 yaw_d = MPU6050_GYRO_LAST.Z + (Rc_Get.YAW-1500)*10;        //用Z軸角速度及目標偏航角值進行四軸運動的預判
  72.                 GYRO_I.Z = 0;
  73.         }
  74.         else
  75.                 yaw_d =  MPU6050_GYRO_LAST.Z;
  76.        
  77.         PID_YAW.dout = PID_YAW.D * yaw_d;
  78. /////////////////////////////////////////////////////////////////////       
  79.         PID_ROL.OUT = PID_ROL.pout + PID_ROL.iout + PID_ROL.dout;
  80.         PID_PIT.OUT = PID_PIT.pout + PID_PIT.iout + PID_PIT.dout;
  81.         PID_YAW.OUT = PID_YAW.pout + PID_YAW.iout + PID_YAW.dout;
  82.        
  83.         if(throttle>200)        //油門值大于200才起飛        (遙控油門值大于1200)
  84.         {               
  85. //                moto1 = throttle  - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT;
  86. //                moto2 = throttle  - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT;
  87. //                moto3 = throttle  + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT;
  88. //                moto4 = throttle  + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT;

  89. //                moto4 = throttle  - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT;
  90. //                moto3 = throttle  - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT;
  91. //                moto2 = throttle  + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT;
  92. //                moto1 = throttle  + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT;               
  93.                
  94.                
  95. //                moto1 = throttle -  25 + QH + ZY - XZ - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT;
  96. //                moto2 = throttle -  25 + QH - ZY + XZ - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT;
  97. //                moto3 = throttle -  25 - QH + ZY + XZ + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT;
  98. //                moto4 = throttle +  75 - QH - ZY - XZ + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT;
  99.                
  100.                 moto4 = throttle + QH + ZY - XZ - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT;
  101.                 moto3 = throttle + QH - ZY + XZ - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT;
  102.                 moto2 = throttle - QH + ZY + XZ + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT;
  103.                 moto1 = throttle - QH - ZY - XZ + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT;
  104.                
  105. //                moto1 = throttle;
  106. //                moto2 = throttle;
  107. //                moto3 = throttle;
  108. //                moto4 = throttle;
  109.         }
  110.         else
  111.         {
  112.                 moto1 = 0;
  113.                 moto2 = 0;
  114.                 moto3 = 0;
  115.                 moto4 = 0;
  116. ……………………

  117. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
mini四軸飛行器、遙控器電路原理圖、PCB、源程序.zip (11.03 MB, 下載次數: 921)



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

使用道具 舉報

沙發
ID:243748 發表于 2017-12-23 12:34 來自手機 | 只看該作者
學習了,謝謝分享
回復

使用道具 舉報

板凳
ID:243748 發表于 2017-12-23 14:52 來自手機 | 只看該作者
非常強大的資料,正準備做一個玩下
回復

使用道具 舉報

地板
ID:243748 發表于 2017-12-23 14:55 來自手機 | 只看該作者
非常強大的資料,正準備做一個玩下
回復

使用道具 舉報

5#
ID:243748 發表于 2017-12-23 23:57 來自手機 | 只看該作者
樓主gy 521陀螺儀模塊能用嗎?
回復

使用道具 舉報

6#
ID:243748 發表于 2017-12-28 00:31 來自手機 | 只看該作者
照樓主的資料搭好線了,但遙控板屏沒顯示,也無任何反應,接單片機的燈也沒亮,樓主可以幫解答一下嗎?
回復

使用道具 舉報

7#
ID:307841 發表于 2018-4-14 11:04 | 只看該作者
謝謝,真的不錯
回復

使用道具 舉報

8#
ID:106268 發表于 2018-4-18 17:15 | 只看該作者
謝謝分享
回復

使用道具 舉報

9#
ID:321825 發表于 2018-5-4 09:15 | 只看該作者
謝謝你的分享,值得學習下載!
回復

使用道具 舉報

10#
ID:288712 發表于 2018-5-5 11:39 | 只看該作者
謝謝分享
回復

使用道具 舉報

11#
ID:324874 發表于 2018-5-8 11:02 | 只看該作者
不錯的資料,謝謝分享
回復

使用道具 舉報

12#
ID:164336 發表于 2018-5-9 12:28 | 只看該作者
樓主分享的很好,不知道能不能下載
回復

使用道具 舉報

13#
ID:164336 發表于 2018-5-10 08:45 | 只看該作者
現在飛行器超過250g的重量,都要實名登記,所以玩250克以下的,應該會越來越多,且不限于兒童,謝謝樓主,謝謝版主分享!
回復

使用道具 舉報

14#
ID:336390 發表于 2018-5-23 12:24 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

15#
ID:294865 發表于 2018-5-23 16:17 | 只看該作者
謝謝,真的不錯
回復

使用道具 舉報

16#
ID:344633 發表于 2018-6-12 08:59 | 只看該作者
你也為你發出來我就能看得懂了嗎,差的太多了哎--
回復

使用道具 舉報

17#
ID:340774 發表于 2018-6-21 20:59 | 只看該作者
下載下來看看,謝謝分享
回復

使用道具 舉報

18#
ID:330923 發表于 2018-7-5 21:31 | 只看該作者
請問需要買哪些東西啊啊
回復

使用道具 舉報

19#
ID:171883 發表于 2018-7-6 18:03 | 只看該作者
正想自己做一個                                                                        
回復

使用道具 舉報

20#
ID:81459 發表于 2018-7-9 15:17 | 只看該作者
學習了,謝謝分享
回復

使用道具 舉報

21#
ID:30541 發表于 2018-7-21 12:35 | 只看該作者
謝謝,真的不錯
找了很久 手上剛好有元器件 下來學習
回復

使用道具 舉報

22#
ID:103965 發表于 2018-7-26 10:09 | 只看該作者
非常強大的資料,資料很全,學習一下
回復

使用道具 舉報

23#
ID:120065 發表于 2018-7-27 08:52 | 只看該作者
謝謝樓主資料分享,正在學習中。
回復

使用道具 舉報

24#
ID:380389 發表于 2018-8-1 14:13 來自手機 | 只看該作者
收藏學習一下
回復

使用道具 舉報

25#
ID:350791 發表于 2018-8-1 15:54 | 只看該作者
好東西
回復

使用道具 舉報

26#
ID:350791 發表于 2018-8-2 09:58 | 只看該作者
謝謝樓主資料分享,正在學習中。
回復

使用道具 舉報

27#
ID:164146 發表于 2018-8-5 00:33 | 只看該作者
厲害,謝謝樓主分享
回復

使用道具 舉報

28#
ID:284894 發表于 2018-8-20 11:34 | 只看該作者
用的什么電機啊
回復

使用道具 舉報

29#
ID:368865 發表于 2018-8-22 19:19 | 只看該作者
非常強大的資料,正準備做一個玩下
回復

使用道具 舉報

30#
ID:250004 發表于 2018-9-20 09:25 | 只看該作者

非常強大的資料,正準備做一個玩下
回復

使用道具 舉報

31#
ID:366000 發表于 2018-10-7 17:03 | 只看該作者
謝謝大佬哈哈哈
回復

使用道具 舉報

32#
ID:406609 發表于 2018-10-11 15:20 | 只看該作者
非常強大 最近在學習四軸呢 這個好像是小馬哥的那套吧。非常贊!
回復

使用道具 舉報

33#
ID:406609 發表于 2018-10-11 15:37 | 只看該作者
這電源這塊是怎么回事。

無標題.png (48.92 KB, 下載次數: 234)

四軸原理圖

四軸原理圖
回復

使用道具 舉報

34#
ID:413583 發表于 2018-10-22 17:19 | 只看該作者
想看看好不好,沒黑幣
回復

使用道具 舉報

35#
ID:166530 發表于 2018-10-28 09:50 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

36#
ID:416017 發表于 2018-10-31 14:58 來自手機 | 只看該作者
pcb可以拿來練習一下,謝謝樓主
回復

使用道具 舉報

37#
ID:419332 發表于 2018-12-16 22:18 | 只看該作者
學習一下
回復

使用道具 舉報

38#
ID:367145 發表于 2018-12-24 20:05 | 只看該作者
各位,有誰照著這個資料做成功的嗎?我也想做一個。
回復

使用道具 舉報

39#
ID:318672 發表于 2018-12-30 21:55 來自手機 | 只看該作者
不錯,收藏了
回復

使用道具 舉報

40#
ID:472769 發表于 2019-1-25 11:35 | 只看該作者
謝謝分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91视视频在线观看入口直接观看 | 欧美国产日韩一区二区三区 | 欧美一区二区三区在线视频 | 一区二区免费在线观看 | www中文字幕| 免费精品| 国产免费一区二区三区最新6 | 色综合久| 黄视频在线网站 | 成人国产精品免费观看 | 国产在线精品一区二区 | 国产精品日韩在线观看一区二区 | 操久久 | 成人免费在线电影 | 国产精品五月天 | 蜜臀网| 国产精品欧美一区二区三区 | 性一交一乱一透一a级 | 青娱乐一区二区 | 国产一区二区三区在线看 | 亚洲欧美日韩精品久久亚洲区 | 九一在线 | 美女拍拍拍网站 | 免费一区| 国产成人精品一区二区三 | 欧美福利在线 | www.欧美| 久久精品中文 | 日韩另类视频 | 成人在线观看免费 | 91免费看片| 国产免费一区二区三区免费视频 | 精品欧美一区二区在线观看视频 | 久久午夜影院 | 综合精品 | 日本黄色影片在线观看 | 亚洲精品一区二区三区蜜桃久 | 国产精品亚洲综合 | 免费看a | 欧美日韩一区二区三区四区 | 欧州一区二区 |