2021-08-16 23:21:27 索煒達電子 1475
項目編號:E227
文件大?。?.9M
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述:
某米掃地機器人STM32代碼; 程序驅(qū)動包含I2C、PWM、SPI、多路ADC與DMA、編碼器輸入捕獲、外部中斷、通信協(xié)議、IAP升級、PID、freertos操作系統(tǒng)等 代碼注釋清晰、代碼規(guī)范 stm32f103ev工程 硬件驅(qū)動包括陀螺儀姿態(tài)bmi160、電源管理bq24773等
************************************************** 文件夾說明 *************************************************
USER文件夾 main函數(shù)
SYSTEM文件夾 必要的延時函數(shù) 調(diào)試串口 源文件初始化
HARDWARE文件夾 硬件初始化源文件
application_Robot 機器人行為相關(guān)的文件
application_Share 機器人共享相關(guān)的文件(一般為算法)
application_Motor 機器人電機應用相關(guān)文件
application_Key 機器人按鍵應用相關(guān)文件
application_Led 機器人LED應用相關(guān)文件
application_Led 機器人adc獲取與處理應用相關(guān)文件
application_PowerChip 機器人電池管理芯片與充電應用相關(guān)文件
application_Bmi160 機器人BMI160 陀螺儀芯片 應用相關(guān)文件
application_Drop 機器人掉落傳感器應用相關(guān)文件
application_UltraSonic 機器人超聲波傳感器應用相關(guān)文件
application_GarBox 機器人垃圾盒應用相關(guān)文件
CORE文件夾 STM32啟動文件 和內(nèi)核函數(shù)文件
FWLIB文件夾 STM32庫文件
FreeRTOS_CORE
FreeRTOS 文件夾 freertos內(nèi)核函數(shù)
Usmart文件夾 usmart調(diào)試函數(shù)源碼
testfunction文件夾 測試函數(shù)
readme 說明文檔
************************************************** 硬件連接說明 *************************************************
一、普通IO輸出
PE6 - 電源控制IO 高電平關(guān)機
PE2 - 風機電源控制IO 高電平使能
PE8 - VA+電源控制IO 高電平使能
PC8 - VCC+電源控制IO 高電平使能
PA11 - V+電源控制IO 高電平使能
PC6 - 超聲波發(fā)送IO 高電平使能
PC12 - 邊刷控制引腳 1 正轉(zhuǎn)
PA8 - 滾刷控制引腳 0 正轉(zhuǎn)
PE4 - 右輪控制引腳 0 正轉(zhuǎn)
PE7 - 左輪控制引腳 0 正轉(zhuǎn)
4選1模擬adc通道控制引腳
PD9
PD11
二、PWM輸出IO
PB3 - LED_CTL2 - RI1 RI10 RI4 RI17 (紅燈) TIM2 CHANNEL2 都是高電平點亮
PB10 - LED_CTL - RI2 RI11 RI5 RI18 (白燈) TIM2 CHANNEL3
PB11 - LED_CTL1 - RI3 RI12 RI6 RI19 (黃燈) TIM2 CHANNEL4
PA1 - 風機控制IO TIM5_CH2高電平全速
PB0 -TIM3_CH3 右輪 占空比越少 越快
PB1 -TIM3_CH4 左輪
PD13 -TIM4_CH2 滾刷 占空比越大 越快
PD14 -TIM4_CH3 邊刷
PD15 -TIM4_CH4 防跌落
三、普通輸入IO
PB4 - KEYI2 (電平0為按下)
PD7 - KEYI1 (電平0為按下)
PC7 EXTI7 - 超聲波距離傳感器 距離為低電平時間
PD1 EXTI1 - 右輪懸空傳感器 懸空后是高電平
PD2 EXTI2 - 左輪懸空傳感器
PD8 EXTI8 - 左邊碰撞傳感器 碰撞后是高電平
PD10 EXTI10 - 右邊碰撞傳感器 碰撞后是高電平
PE13 EXTI13 - 電源芯片事件引腳
PE3 EXTI3 - 電源芯片ACOK事件引腳 有充電座時 變?yōu)楦唠娖?無時變低
PC13 垃圾盒是否在位 高電平垃圾盒被取出
四、ADC輸入
PA0 - 4選1通道檢測 adc1_ch0
PA2 - 電池溫度檢測 adc1_ch2 1700~2000
PA3 - 邊刷電流檢測 adc1_ch3
PA4 - 防跌落右前 adc1_ch4
PA5 - 放電電流IBAT adc1_ch5
PA6 - BAT電池電壓 adc1_ch6
PA7 - 防跌右后 adc1_ch7
PC0 - 風機電流檢測 adc1_ch10 要檢測adc電壓 需要開啟VCC+電源 見iooutput.c
PC1 - 左驅(qū)動輪電流檢測 adc1_ch11
PC2 - 右驅(qū)動輪電流檢測 adc1_ch12
PC3 - 滾刷電流檢測 adc1_ch13
PC4 - 防跌左后 adc1_ch14
PC5 - 防跌左前 adc1_ch15
模擬通道芯片
1:沿邊傳感器 0-2000
2:電池ID 3790-3820
3:充電電流 0-1000
4:充電座電壓 2900-3200
五、捕獲輸入
PC9 - TIM8_CH4 風機編碼器
PE9 - TIM1_CH1 左輪編碼器
PE11 - TIM1_CH2 右輪編碼器
六、SPI(陀螺儀 BMI160)
* -------------CS PB12------------------------
* -------------SCK PB13------------------------
* -------------MISO PB14------------------------
* -------------MOSI PB15------------------------
七、IIC(與電源芯片bq24733通信)
PB6 SCL
PB7 SDA
************************************************** 片內(nèi)資源 *************************************************
TIM6 BMI160數(shù)據(jù)獲取
TIM7 超聲波計數(shù)
文件列表: