找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 16|回复: 0
打印 上一主题 下一主题
收起左侧

基于stm32单片机的扫地机器人程序设计

[复制链接]
跳转到指定楼层
楼主
ID:1155697 发表于 2025-7-11 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一款基于smt32的扫地机器人设计,重点可以学习该项目的路径规划,防撞设计以及电池管理。该项目未采用全志的深度学习开发板。

文件夹说明
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 超声波计数


原理图: 无
仿真: 无
代码(仅供参考): STM32实现小米智能扫地机器人.7z (3.54 MB, 下载次数: 0)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表