嵌入式软件工程师学习项目-扫地机器人

1、扫地机器人

该项目为某大厂开源的前期项目,代码写的特别规范,很适合初学者入门学习。系统软硬件方案为stm32f103+freeRtos。

实现了避障、防跌落、充电等功能。涉及到的外设也比较全IIC、SPI、UART、ADC、PWM、定时器中断等,而且代码还支持bootloader升级。同时还可以学习实时操作系统freeRTOS,任务调度、内存管理、任务间通信等。

************************************************** 文件夹说明 *************************************************

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 超声波计数

部分代码截图如下:

*******************

注:免费项目禁止商用获利

#通信硬件人社招/春招/实习投递现状##嵌入式#
嵌入式学习免费专栏 文章被收录于专栏

分享嵌入式软件开发相关资料,专栏永久免费,嵌入式学习技术交流

全部评论
大佬请问能否分享这个项目源码吗
2 回复
分享
发布于 04-14 02:05 广东
求代码
1 回复
分享
发布于 04-19 21:19 广东
滴滴
校招火热招聘中
官网直投
大佬,求项目,已关注收藏😍
1 回复
分享
发布于 04-22 09:30 陕西
已获取,谢谢了
1 回复
分享
发布于 04-25 23:37 广东
求项目代码
点赞 回复
分享
发布于 04-15 12:33 浙江
大佬,求源码
点赞 回复
分享
发布于 04-15 19:43 北京
老哥求代码
点赞 回复
分享
发布于 04-15 23:40 广东
大佬,求源码
点赞 回复
分享
发布于 04-16 07:16 广东
大佬求源码
点赞 回复
分享
发布于 04-16 13:13 上海
大佬有源码吗,求一份,谢谢
点赞 回复
分享
发布于 04-16 14:42 江苏
大佬求源码学习下
点赞 回复
分享
发布于 04-16 17:02 广东
大佬关注了,能发一份源码嘛?
点赞 回复
分享
发布于 04-16 17:03 江苏
佬 关注了 求份代码学习
点赞 回复
分享
发布于 04-16 23:07 广东
大佬关注你了,分享一下😍
点赞 回复
分享
发布于 04-17 01:04 河南
大佬求源码
点赞 回复
分享
发布于 04-17 12:40 安徽
大佬,求这个项目的github链接
点赞 回复
分享
发布于 04-17 16:44 浙江
大佬求源码
点赞 回复
分享
发布于 04-17 22:01 江苏
求源码
点赞 回复
分享
发布于 04-17 22:26 广东
大佬,求一份源码,谢谢了
点赞 回复
分享
发布于 04-18 10:37 北京
大佬求源码
点赞 回复
分享
发布于 04-18 13:02 日本

相关推荐

24 78 评论
分享
牛客网
牛客企业服务