2021-08-16 23:21:27 索炜达电子 1477
项目编号:E227
文件大小:3.9M
源码说明:带中文注释
开发环境:C编译器
简要概述:
某米扫地机器人STM32代码; 程序驱动包含I2C、PWM、SPI、多路ADC与DMA、编码器输入捕获、外部中断、通信协议、IAP升级、PID、freertos操作系统等 代码注释清晰、代码规范 stm32f103ev工程 硬件驱动包括陀螺仪姿态bmi160、电源管理bq24773等
************************************************** 文件夹说明 *************************************************
USER文件夹 main函数
SYSTEM文件夹 必要的延时函数 调试串口 源文件初始化
HARDWARE文件夹 硬件初始化源文件
application_Robot 机器人行为相关的文件
application_Share 机器人共享相关的文件(一般为算法)
application_Motor 机器人电机应用相关文件
application_Key 机器人按键应用相关文件
application_Led 机器人LED应用相关文件
application_Led 机器人adc获取与处理应用相关文件
application_PowerChip 机器人电池管理芯片与充电应用相关文件
application_Bmi160 机器人BMI160 陀螺仪芯片 应用相关文件
application_Drop 机器人掉落传感器应用相关文件
application_UltraSonic 机器人超声波传感器应用相关文件
application_GarBox 机器人垃圾盒应用相关文件
CORE文件夹 STM32启动文件 和内核函数文件
FWLIB文件夹 STM32库文件
FreeRTOS_CORE
FreeRTOS 文件夹 freertos内核函数
Usmart文件夹 usmart调试函数源码
testfunction文件夹 测试函数
readme 说明文档
************************************************** 硬件连接说明 *************************************************
一、普通IO输出
PE6 - 电源控制IO 高电平关机
PE2 - 风机电源控制IO 高电平使能
PE8 - VA+电源控制IO 高电平使能
PC8 - VCC+电源控制IO 高电平使能
PA11 - V+电源控制IO 高电平使能
PC6 - 超声波发送IO 高电平使能
PC12 - 边刷控制引脚 1 正转
PA8 - 滚刷控制引脚 0 正转
PE4 - 右轮控制引脚 0 正转
PE7 - 左轮控制引脚 0 正转
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事件引脚 有充电座时 变为高电平 无时变低
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 - 左驱动轮电流检测 adc1_ch11
PC2 - 右驱动轮电流检测 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
************************************************** 片内资源 *************************************************
TIM6 BMI160数据获取
TIM7 超声波计数
文件列表: