欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6040|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

GD32單片機(jī)藍(lán)牙接口的2路直流電機(jī)驅(qū)動(dòng)板設(shè)計(jì) 含pcb源碼等全套資料

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
資料包:


實(shí)物照片:


功能及說(shuō)明
  • 基本功能
  • 兩路直流電機(jī)驅(qū)動(dòng),可調(diào)速和正反轉(zhuǎn)控制。
  • 兩路正交編碼器接口,可用于電機(jī)速度反饋。
  • 1路USB轉(zhuǎn)串口,用于電路的參數(shù)設(shè)定。
  • 6軸運(yùn)動(dòng)處理器件MPU6050,可用于平衡小車的開(kāi)發(fā)。
  • 藍(lán)牙4.0接口模塊,可通過(guò)手機(jī)上的app(TTC-BLE)對(duì)電機(jī)進(jìn)行加速、減速、正反轉(zhuǎn)控制。
  • DC12V供電。
  • 1個(gè)USB指示燈、1個(gè)藍(lán)牙模塊指示燈、2個(gè)用戶指示燈(用戶程序控制)
  • 1個(gè)輕觸開(kāi)關(guān),供用戶程序使用。
  • 各部分電路說(shuō)明
  • 供電接口
本模塊采用DC12V供電,供電接口有2針2.54端子,并配有船型手動(dòng)電源開(kāi)關(guān)。
2、USB接口
USB接口為USB轉(zhuǎn)串口,選擇的芯片為CH340E,串口連接到單片機(jī)的USART0口,供用戶程序使用,并帶有LED指示燈。
3、單片機(jī)調(diào)試口和boot設(shè)定
GD32F330CBT6單片機(jī)采用的SWD調(diào)試口,開(kāi)發(fā)環(huán)境MDK或IAR,開(kāi)發(fā)工具為ST-LINK V2,資料中的程序兩種開(kāi)發(fā)環(huán)境都支持。電路中將BOOT0腳引出,可通過(guò)跳線開(kāi)關(guān)去選擇單片機(jī)的啟動(dòng)程序地址,可通過(guò)跳線選擇BOOT0腳后,用USART0對(duì)用戶程序進(jìn)行升級(jí),具體操作參見(jiàn)單片機(jī)的數(shù)據(jù)手冊(cè)。
4、電機(jī)驅(qū)動(dòng)電路
本電路中具有2路電機(jī)驅(qū)動(dòng)接口,同時(shí)可以接2路正交編碼器,可對(duì)電機(jī)轉(zhuǎn)速和方向?qū)崟r(shí)反饋;驅(qū)動(dòng)芯片采用RZ7889,一款 DC 雙向馬達(dá)驅(qū)動(dòng)電路,它適用于玩具等類的電機(jī)驅(qū)動(dòng)、自動(dòng)閥門電機(jī)驅(qū)動(dòng)、電磁門鎖驅(qū)動(dòng)等。它有兩個(gè)邏輯輸入端子用來(lái)控制電機(jī)前進(jìn)、后退及制動(dòng)。該電路具有良好的抗干擾性,微小的待機(jī)電流、低的輸出內(nèi)阻,同時(shí),他還具有內(nèi)置二極管能釋放感性負(fù)載的反向沖擊電流。工作電壓3-15V。電機(jī)驅(qū)動(dòng)用到單片機(jī)的TIMER15和TIMER16,編碼器檢測(cè)用到單片機(jī)的TIMER1和TIMER2,具體操作參見(jiàn)程序。
56軸運(yùn)動(dòng)傳感器電路
MPU-6050是世界上第一款集成 6 軸MotionTracking設(shè)備。它集成了3軸MEMS陀螺儀,3軸MEMS加速度計(jì)。 MPU-6050也可以通過(guò)其I2C接口連接非慣性的數(shù)字傳感器,比如壓力傳感器。MPU-6050對(duì)陀螺儀和加速度計(jì)分別用了三個(gè)16位的ADC,將其測(cè)量的模擬量轉(zhuǎn)化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運(yùn)動(dòng),傳感器的測(cè)量范圍都是用戶可控的,陀螺儀可測(cè)范圍為±250, ±500, ±1000, ±2000°/秒( dps),加速度計(jì)可測(cè)范圍為±2, ±4,±8, ±16g。
可以采用本電路中的6軸運(yùn)動(dòng)傳感器和2路直流電機(jī)控制做兩輪平衡小車的開(kāi)發(fā)。
6藍(lán)牙接口
藍(lán)牙接口采用的是深圳市昇潤(rùn)科技有限公司的HY-254101 V1藍(lán)牙4.0模塊。使用簡(jiǎn)單,無(wú)需任何藍(lán)牙協(xié)議棧應(yīng)用經(jīng)驗(yàn)。支持藍(lán)牙主機(jī)、藍(lán)牙從機(jī)、藍(lán)牙主從一體,共 3 種版本。用戶接口使用通用串口設(shè)計(jì),全雙工雙向通訊,最低波特率支持 9600bps。通過(guò)AT命令對(duì)模塊進(jìn)行控制,再配上手機(jī)端的TCC-BLE軟件可以和模塊進(jìn)行實(shí)時(shí)通信控制。模塊的詳細(xì)資料參照附件中資料。
7狀態(tài)指示
本模塊供有4個(gè)LED指示燈,分別是2個(gè)用戶程序控制用指示燈、CH340E驅(qū)動(dòng)指示燈、藍(lán)牙模塊指示燈。

單片機(jī)源程序如下:

  1. #include "gd32f3x0.h"
  2. #include "systick.h"
  3. #include <stdio.h>
  4. #include "config.h"



  5. unsigned char rtemp[6] = {'1','2','3','4','5','6'};
  6. unsigned char pbuf[20];
  7. signed short temper;
  8. signed short ax,ay,az;
  9. signed short gx,gy,gz;

  10. /************************************************************************
  11. ** 函 數(shù) 名:   main
  12. ** 功能描述:   主函數(shù)
  13. ** 輸入?yún)?shù):   無(wú)
  14. ** 輸出參數(shù):   無(wú)
  15. ** 返 回 值:   無(wú)        
  16. ** 作    者:   王超
  17. ** 日    期:   2018.4
  18. **------------------------------------------------------------------------
  19. ** 修    改:
  20. ** 修改日期:
  21. *************************************************************************/
  22. void Rcu_Periph_Clk_Init(void)
  23. {
  24.   rcu_periph_clock_enable(RCU_GPIOA);
  25.   rcu_periph_clock_enable(RCU_GPIOB);
  26.   rcu_periph_clock_enable(RCU_GPIOC);
  27.   rcu_periph_clock_enable(RCU_GPIOD);
  28.   rcu_periph_clock_enable(RCU_GPIOF);
  29.   rcu_periph_clock_enable(RCU_USART0);
  30.   rcu_periph_clock_enable(RCU_USART1);
  31.   rcu_periph_clock_enable(RCU_TIMER15);
  32.   rcu_periph_clock_enable(RCU_TIMER16);
  33.   rcu_periph_clock_enable(RCU_TIMER1);
  34.   rcu_periph_clock_enable(RCU_TIMER2);
  35.   rcu_periph_clock_enable(RCU_TIMER5);
  36. }
  37. /************************************************************************
  38. ** 函 數(shù) 名:   UserGpio_Config
  39. ** 功能描述:   IO口初始化
  40. ** 輸入?yún)?shù):   無(wú)
  41. ** 輸出參數(shù):   無(wú)
  42. ** 返 回 值:   無(wú)        
  43. ** 作    者:   王超
  44. ** 日    期:   2018.4
  45. **------------------------------------------------------------------------
  46. ** 修    改:
  47. ** 修改日期:
  48. *************************************************************************/
  49. void UserGpio_Config(void)
  50. {
  51.   gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_4);//KEY  
  52.   gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_5);//STA2 LED
  53.   gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5);
  54.   gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_6);//STA1 LED
  55.   gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
  56.   
  57.   //MOTO 互補(bǔ)PWM 死區(qū)
  58.   gpio_af_set(GPIOB, GPIO_AF_2, GPIO_PIN_6);
  59.   gpio_af_set(GPIOB, GPIO_AF_2, GPIO_PIN_7);
  60.   gpio_af_set(GPIOB, GPIO_AF_2, GPIO_PIN_8);
  61.   gpio_af_set(GPIOB, GPIO_AF_2, GPIO_PIN_9);   
  62.   gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_6);
  63.   gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_6);
  64.   gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_7);
  65.   gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_7);
  66.   gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_8);
  67.   gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_8);
  68.   gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_9);
  69.   gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_9);
  70.   //MOTO 編碼器
  71.   gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_4);
  72.   gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_5);
  73.   gpio_af_set(GPIOB, GPIO_AF_2, GPIO_PIN_3);
  74.   gpio_af_set(GPIOA, GPIO_AF_2, GPIO_PIN_15);
  75.   gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_15);
  76.   gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_3);
  77.   gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_4);
  78.   gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_5);
  79. }
  80. /************************************************************************
  81. ** 函 數(shù) 名:   main
  82. ** 功能描述:   主函數(shù)
  83. ** 輸入?yún)?shù):   無(wú)
  84. ** 輸出參數(shù):   無(wú)
  85. ** 返 回 值:   無(wú)        
  86. ** 作    者:   王超
  87. ** 日    期:   2018.4
  88. **------------------------------------------------------------------------
  89. ** 修    改:
  90. ** 修改日期:
  91. *************************************************************************/
  92. int main(void)
  93. {  
  94.   systick_config();
  95.   Rcu_Periph_Clk_Init();
  96.   
  97.   UserGpio_Config();
  98. //  Usart0_Init();//USART0初始化  
  99. //  printf("USART0 Init successfully!");
  100.   
  101.   MotoCtrlPwmInit();
  102.   Encoder_M1_Init();
  103.   Encoder_M2_Init();
  104.   Timer5_Init();
  105.   
  106.   MPU_Init();
  107.   delay_1ms(20);
  108.   temper = MPU_Get_Temperature();
  109.   
  110.   Bluetooth_Init();
  111.   //BluetoothATCmdSend("AT\r\n");
  112.         
  113.   while(1)
  114.   {
  115.         
  116.     //MPU_Get_Accelerometer(&ax,&ay,&az);
  117.     //MPU_Get_Gyroscope(&gx,&gy,&gz);
  118.     //temper = TIMER_CNT(TIMER2);
  119.     //temper = MPU_Get_Temperature();
  120.   }
  121. }
  122. /************************************************************************
  123. ** 函 數(shù) 名:   Delay_us
  124. ** 功能描述:   us級(jí)延時(shí)
  125. ** 輸入?yún)?shù):   us 延時(shí)時(shí)間
  126. ** 輸出參數(shù):   無(wú)
  127. ** 返 回 值:   無(wú)        
  128. ……………………

  129. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載(內(nèi)含原理圖與pcb及gd32單片機(jī)源碼等全套開(kāi)發(fā)資料):
藍(lán)牙接口的2路直流電機(jī)驅(qū)動(dòng)板.zip (14.85 MB, 下載次數(shù): 71)



評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:401247 發(fā)表于 2019-10-12 10:39 | 只看該作者
很好的資料    求教程
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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