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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32循跡小車電路原理圖+代碼

  [復制鏈接]
跳轉到指定樓層
樓主
ID:268247 發表于 2019-1-4 22:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
STM32紅外避障&紅外尋跡
一、功能實現

1、紅外避障:單片機通過安裝在小車前端兩側的紅外避障模塊檢測障礙物與小車間的距離,加以判斷實現避障功能。

  • 紅外尋跡:單片機通過安裝在小車底盤兩側的紅外尋跡模塊檢測黑線與小車的相對位置,加以判斷實現尋跡功能。
2、元器件選擇
2.1單片機型號選擇

單片機選擇STM32F103C8T6,此款單片機有48個引腳,72M主頻,64K Flash、20K RAM,3個普通定時器,1個高級定時器,2個SPI,2個I2C,3個串口,1個USB,1個CAN,37個可使用IO口,2個12位10通道ADC。

如此豐富的內設硬件資源足以應付大多數場合使用,相對于STM32F103同系列其他單片具有機性價比高,網絡資源多、例程豐富,適合STM32入門初探與產品設計應用。


單片機資料網盤下載:http://pan.baidu.com/s/1hrGMLA8

2.2紅外避障模塊選擇

紅外數字反射傳感器,一種集發射與接收于一體的光電傳感器,發射光經過調制后發出,接收頭對反射光進行解調輸出,因而有效的避免了可見光的干擾。透鏡的使用,也使得這款傳感器最遠可以檢測80厘米距離。可以應用于機器人避障、走迷宮機器人、流水線計件、多功能提醒器。

資料下載鏈接:http://pan.baidu.com/s/1miR2bbU

2.3紅外尋跡模塊選擇

采用TCRT5000紅外反射傳感器,一種集發射與接收于一體的光電傳感器,它由一個紅外發光二極管和一個NPN紅外光電三極管組成。檢測反射距離1mm-25mm適用,傳感器特設M3固定安裝孔,調節方向與固定方便易用,使用寬電壓LM393比較器,信號干凈,波形好,驅動能力強,超過15mA。可以應用于機器人避障、機器人進行白線或者黑線的跟蹤,可以檢測白底中的黑線,也可以檢測黑底中的白線,是尋線機器人的必備傳感器。流水線計件、電度表脈沖數據采樣、傳真機碎紙機紙張檢測等眾多場合。

資料下載鏈接:http://pan.baidu.com/s/1i5FwN4L

2.4電機驅動模塊

資料下載鏈接:http://pan.baidu.com/share/link?shareid=457085&uk=2302102993

2.5智能小車底盤選擇


3、原理圖


準備好以上模塊后就可以組裝出一套具有尋跡避障功能的STM32智能小車了。

4、連線

按照GPIO口分配表進行連線

STM32F103單片機最小系統

L298N電機驅動模塊

注意,全部模塊都要共地(GND要連在一起)




單片機源程序如下:
  1. /* 包含頭文件 ----------------------------------------------------------------*/
  2. #include "stm32f1xx_hal.h"
  3. #include "pwm.h"
  4. #include "gpio.h"
  5. #include "delayus.h"
  6. #include "direction.h"
  7. #include "avoid.h"
  8. #include "track.h"
  9. /* 擴展變量 ------------------------------------------------------------------*/
  10. /* 私有函數原形 --------------------------------------------------------------*/
  11. /* 函數體 --------------------------------------------------------------------*/
  12. /**
  13.   * 函數功能: 系統時鐘配置
  14.   * 輸入參數: 無
  15.   * 返 回 值: 無
  16.   * 說    明: 無
  17.   */
  18. void SystemClock_Config(void)
  19. {
  20.   RCC_OscInitTypeDef RCC_OscInitStruct;
  21.   RCC_ClkInitTypeDef RCC_ClkInitStruct;

  22.   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;  // 外部晶振,8MHz
  23.   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  24.   RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
  25.   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  26.   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  27.   RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;  // 9倍頻,得到72MHz主時鐘
  28.   HAL_RCC_OscConfig(&RCC_OscInitStruct);

  29.   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
  30.                               |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  31.   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;       // 系統時鐘:72MHz
  32.   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;              // AHB時鐘:72MHz
  33.   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;               // APB1時鐘:36MHz
  34.   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;               // APB2時鐘:72MHz
  35.   HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2);

  36.          // HAL_RCC_GetHCLKFreq()/1000    1ms中斷一次
  37.         // HAL_RCC_GetHCLKFreq()/100000         10us中斷一次
  38.         // HAL_RCC_GetHCLKFreq()/1000000 1us中斷一次
  39.   HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);  // 配置并啟動系統滴答定時器
  40.   /* 系統滴答定時器時鐘源 */
  41.   HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
  42.   /* 系統滴答定時器中斷優先級配置 */
  43.   HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
  44. }


  45. /**
  46.   * 函數功能: 主函數.
  47.   * 輸入參數: 無
  48.   * 返 回 值: 無
  49.   * 說    明: 無
  50.   */
  51. int main(void)
  52. {
  53.   /* 復位所有外設,初始化Flash接口和系統滴答定時器 */
  54.   HAL_Init();
  55.   /* 配置系統時鐘 */
  56.   SystemClock_Config();
  57.         
  58. /**************GPIO******************************************************************/
  59.         GPIOA_Init();//初始化L298N接口
  60.         GPIOB_Init();//初始化尋跡和紅外避障模塊接口

  61. /***************PWM******************************************************************/        
  62.          /* 通用定時器初始化并配置PWM輸出功能 */
  63.   GENERAL_TIMx_Init();
  64.   
  65.   /* 啟動通道PWM輸出 */
  66.   HAL_TIM_PWM_Start(&htimx,TIM_CHANNEL_1);
  67.   HAL_TIM_PWM_Start(&htimx,TIM_CHANNEL_2);
  68.         TIM3->CCR1=TIM3->CCR2=1000;//調車速,范圍0~1000,數值越大速度越快
  69.         
  70. /* 無限循環 */
  71.   while (1)
  72.   {        
  73.                 Avoid();//避障
  74. //                Track();//尋跡
  75.         }

  76. }
復制代碼

所有資料51hei提供下載: STM32尋跡避障-資料.7z (3.64 MB, 下載次數: 397)


此商品已被刪除

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:311215 發表于 2019-1-7 14:16 | 只看該作者
請問樓主原理圖是用什么軟件
回復

使用道具 舉報

板凳
ID:316690 發表于 2019-1-15 13:40 | 只看該作者
jetty-9 發表于 2019-1-7 14:16
請問樓主原理圖是用什么軟件

Altium Designer吧
回復

使用道具 舉報

地板
ID:526143 發表于 2019-5-7 18:59 | 只看該作者
這個怎么修改
回復

使用道具 舉報

5#
ID:191393 發表于 2020-5-8 15:41 | 只看該作者
感謝分享
回復

使用道具 舉報

6#
ID:747352 發表于 2020-5-9 03:50 | 只看該作者
感謝分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文av网站 | 成人国产网站 | 亚洲电影一区二区三区 | 成人免费区一区二区三区 | 国产日韩欧美一区二区 | 国产精品污www一区二区三区 | 日本小电影在线 | 久久精品视频亚洲 | 午夜国产羞羞视频免费网站 | 日本大香伊一区二区三区 | 欧美黄色一区 | 天天综合永久入口 | 农村妇女毛片精品久久久 | av色站| 国产亚洲一区二区三区在线观看 | 亚洲精品国产区 | 爱爱免费视频 | 欧美精品久久久久久久久久 | 一区二区影视 | 欧美三级视频在线观看 | 中文字幕成人免费视频 | 91热在线 | 91丨九色丨国产在线 | 国产无人区一区二区三区 | 色综合一区二区 | 免费成年网站 | 日本黄色免费片 | 成人在线免费电影 | 成人a网 | 精品国产91亚洲一区二区三区www | 国产日韩欧美综合 | 玖玖视频国产 | www在线| 午夜看看 | 高清一区二区三区 | 欧美成人精品一区二区男人看 | 日本视频免费观看 | 国产精品视频999 | 北条麻妃视频在线观看 | 国产91在线播放精品91 | 一级片在线观看 |