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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

模擬剎車系統(tǒng)程序+PCB電路圖,stm32單片機主控

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:272776 發(fā)表于 2019-7-13 22:27 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
模擬剎車系統(tǒng),stm32主控,帶iic模式oled屏,驅(qū)動一個電機,模擬汽車運動,實踐表明,很穩(wěn)定。需要自己下載去打板,資料很詳細(xì),程序、pcb、模塊資料等等一應(yīng)俱全。

1、采用STM32的原因是因為驅(qū)動簡單,自帶ADC,pwm輸出,功耗也低。
2、L9110是電機驅(qū)動芯片,供電之后,給正反轉(zhuǎn)引腳加pwm或者高低電平就行,而且隔離了控制端與電機端,能對控制端起到保護作用。
3、AO3401是PMOS管,在電路里面用了兩個,構(gòu)成防反接電路。
4、四線制swd下載方式,請自行百度,不再贅述。
5、為什么單獨開了個串口不用,是因為在調(diào)試程序的過程中可以用他來返回調(diào)試信息,能更快的填好程序。
6、XL-1509-5V是開關(guān)電源芯片,選用他的原因是,它價格低,,使用簡單,保證一個電感和電容即可穩(wěn)定輸出5V電源。
7、OLED是四線制iic通訊方式,程序簡單,驅(qū)動快速,能顯示中英文,字符等等,不管是在功能上還是接線方式上都比1602和12864簡單。


Altium Designer畫的STM32模擬剎車系統(tǒng)電路原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "bsp_usart.h"
  3. #include "bsp_adc.h"
  4. #include "bsp_pwm_output.h"
  5. #include "TIM2.h"
  6. #include "UltrasonicWave.h"
  7. #include "bsp_systick.h"
  8. #include "OLED_I2C.h"
  9. #include "bsp_i2c_gpio.h"
  10. #include "bsp_buzz.h"


  11. void KaiJi_Init(void);
  12. void  OLED_deal(void);
  13. extern float UltrasonicWave_Distance;
  14. extern uint8_t modeflage;
  15. /**
  16.   * @brief  主函數(shù)
  17.   * @param  無
  18.   * @retval 無
  19.   */
  20. int main(void)
  21. {               
  22.     SystemInit();
  23.                 USART_Config();
  24.                 GENERAL_TIM_Init();
  25.                 ADCx_Init();
  26.                 NVIC_Configuration();
  27.                 TIM2_Configuration();
  28.                 UltrasonicWave_Configuration();
  29.           i2c_Init();//I2C總線的GPIO初始化
  30.            OLED_Init();//oled初始化
  31.           Buzz_GPIO_Config();
  32.           KaiJi_Init();
  33.         printf("\r\n ---智能剎車系統(tǒng)----\r\n");
  34.        
  35.         while (1)
  36.         {       
  37.                
  38. //                KaiJi_Init();
  39.                
  40.                 OLED_deal();
  41.                 ADC_deal();
  42.                 UltrasonicWave_StartMeasure();
  43.                 ZDSC_Init();
  44.                 SHACHE_Init();
  45.           Buzz_serve();
  46.          
  47.         }
  48. }
  49. /*********************************************END OF FILE**********************/
  50. //開機顯示函數(shù)
  51. void KaiJi_Init(void)
  52. {
  53.         int i;
  54.         for(i=3;i<7;i++){OLED_ShowCN((i-1)*16,0,i);}
  55.   OLED_ShowStr(12,3,(unsigned char*)"Name:",2);
  56.         for(i=0;i<3;i++){OLED_ShowCN((i+4)*16,3,i);}
  57.         OLED_ShowStr(12,6,(unsigned char*)"Date:",2);
  58.         OLED_ShowStr(52,6,(unsigned char*)"2019/4/15",2);
  59.         Systick_delay_ms(2500);
  60.         OLED_CLS();
  61. }


  62. void  OLED_deal(void)
  63. {
  64.         int i;
  65. char j=10;
  66.         for(i=7;i<13;i++){OLED_ShowCN((i-6)*16,0,i);}
  67.           //定義三個數(shù)組,作為傳感器值緩沖
  68.                 char buffer1[5]={0},buffer2[5]={0};
  69.                 //用sprintf函數(shù)將測量值轉(zhuǎn)換為字符形式
  70.           sprintf(buffer1,"%.2f",UltrasonicWave_Distance);
  71.                 sprintf(buffer2,"%d",(TIM_GetCapture2(TIM1))/90);
  72. //                printf("%s\r\n%d\r\n",buffer2,(7200-TIM_GetCapture2(TIM1))/72);
  73. //                printf("\r\n%d\r\n",TIM_GetCapture2(TIM1));
  74.                 if(modeflage==1)
  75.                 {
  76.                
  77.                 //distance from  the car in front 簡稱DFCF,表示離前車的距離
  78.                 OLED_ShowStr(0,2,(unsigned char*)"DFCF:",2);
  79.                 //顯示溫度測量值
  80.                 OLED_ShowStr(40,2,buffer1,2);
  81.                 //顯示單位cm
  82.                 OLED_ShowStr(72,2,(unsigned char*)"CM  ",2);
  83.                 //顯示運行模式,具體作用函數(shù)在ZDSC_Init();里面:
  84.                 OLED_ShowStr(0,4,(unsigned char*)"MODE:",2);
  85.                 OLED_ShowStr(72,4,"      ",2);

  86.                 //顯示速度
  87.                 OLED_ShowStr(0,6,(unsigned char*)"SPEED:",2);
  88.                 //顯示模擬速度量0->80
  89.                 if(TIM_GetCapture2(TIM1)<720)
  90.                   {
  91.                         OLED_ShowStr(48,6,buffer2,2);
  92.                   OLED_ShowStr(56,6,"         ",2);
  93.                   }
  94.                 else
  95.                         {
  96.                          OLED_ShowStr(48,6,buffer2,2);
  97.                          OLED_ShowStr(64,6,"        ",2);
  98.                    }
  99.                 }
  100.                 if(modeflage==0)
  101.                 {
  102.                 //顯示        警告信息
  103.     OLED_ShowStr(0,2,"   ",2);
  104.                 OLED_ShowStr(24,2,(unsigned char*)"Warning!!!",2);
  105.                 //顯示即將撞車
  106.           OLED_ShowStr(0,4,"   ",2);
  107.                 OLED_ShowStr(20,4,(unsigned char*)"Crash Soon!",2);       
  108.           //顯示緊急制動
  109.                 OLED_ShowStr(0,6,(unsigned char*)"EmergencyBraking",2);
  110.                 }
  111. }
復(fù)制代碼

所有資料51hei提供下載:
剎車系統(tǒng)pcb+程序.7z (7.39 MB, 下載次數(shù): 39)
資料.7z (5.34 MB, 下載次數(shù): 30)

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久福利电影 | 日韩三级在线 | 亚洲日本成人 | 免费黄网站在线观看 | 精品少妇一区二区三区日产乱码 | 日本久久精品视频 | 国产一区二区高清在线 | 羞羞视频在线观看免费观看 | 国产一区二区免费在线 | 国产精品久久久久久久久久久久 | 国产精品久久av | 一区二区不卡 | 亚州精品天堂中文字幕 | 久久99精品久久久久久琪琪 | 欧美日韩中文国产一区发布 | 久久一区二区免费视频 | 成人国产在线观看 | 久久久人| 欧美高清视频一区 | 91久久国产综合久久 | 国内毛片毛片毛片毛片 | 国产黄色av网站 | 亚洲国产精品久久久 | 久久久久99 | 成人 在线 | av性色| 欧美精品久久久 | 欧美国产精品 | 在线观看免费av网站 | 亚洲精品一区在线观看 | 国产欧美精品 | av资源中文在线天堂 | 成人在线视频一区 | 欧美日韩亚洲国产 | 精品国产乱码久久久久久老虎 | 91一区二区 | 精品欧美一区二区在线观看欧美熟 | 国产精品久久久久久久久婷婷 | 国产成人精品a视频一区www | 亚洲精品亚洲人成人网 | 欧美极品一区二区 |