基于Renesas R7FA8D1BH (Cortex®-M85)自适应蓝牙控制智能小车

目录

概述

1 系统框架结构

2 系统硬件介绍

2.1 电机驱动控制结构

2.1.1 PWM控制小车接口介绍

2.1.2 小车运行方向控制原理

2.2 外围传感器接口

2.2.1 I2C接口设备

2.2.2 IO接口

2.2.3 UART接口

2.2.4 其他接口

2.3 障碍物监测接口

2.4 测速模块接口

3 系统软件架构

3.1 MCU驱动层

3.2 设备驱动层

3.3 应用层程序

3.4 微信小程序程序设计

3.5 OLED UI定义

4 系统测试

4.1 传感器UI数据测试视频

4.2 运动控制视频


源代码下载地址: 

https://www.firebbs.cn/forum.php?mod=viewthread&tid=37943

开发文档写地址:

https://zhuanlan.zhihu.com/p/852031299

测试视频-1:数据传输测试视频

【野火】第二期瑞萨RA MCU创意氛围赛:自适应蓝牙控制智能小车-01

测试视频-2:小车运行控制视频

【野火】第二期瑞萨RA MCU创意氛围赛:自适应蓝牙控制智能小车-02

测试视频-3:App小车运行控制视频

【野火】第二期瑞萨RA MCU创意氛围赛:自适应蓝牙控制智能小车-03

概述

当下是一个智能化的时代,万物互联是时代的需要。基于这样的需要应运而生了许多新的技术,以支持这样的需求。在一些比较特殊的领域,单靠人力解决这些问题的成本是很高的,例如:狭窄的甬道、微小的洞穴、火灾现场、甚至是战场。这时如果使用智能机器人进行环境探测或者现场勘探,付出的代价成本会小很多。如今出现了无人机,无人小车,无人舰艇等等。这些设备的诞生都是为了解决特殊领域的需求。

本系统是一款硬件上基于野火Renesas R7FA8D1BH (Cortex®-M85)开发板,设计的一款智能控制小车。其可实现采集现场环境的温度、湿度、光照强度,同时使用超声波雷达扫描环境的参数,以了解特殊环境的地形特性,并通过蓝牙实时的发送给微信小程序App,以实现对小车运行轨迹的控制。

1 系统框架结构

本系统分为2个部分,其分别为:

1)下位机智能小车控制系统;

2)微信小程序App

该系统的主要功能如下:

1)使用Renesas R7FA8D1BH (Cortex®-M85)开发板作为主控板卡,该板块实时读取温湿度传感器,光照传感器的数据。同时通过超声波测距模块扫描环境参数。

2)控制OLED显示器,对读取的温度、湿度、光照、测距数据进行处理,将这些数据实时的显示在OLED屏幕上。

3)控制蓝牙模块,实时接收蓝牙模块接收到的从微信小程序发送的。

4)发送命令给小车运行控制模块,实现小车运行轨迹的控制。

5)实时接收和处理微信小程序App发送的控制命令,同时将这些命令转发给小车运行控制模块,实现小车的控制

6)实时上传温度、湿度、光照、测距数据给微信小程序App

2 系统硬件介绍

2.1 电机驱动控制结构

系统使用4路独立的PWM控制两组电机,用于控制小车的运行方向,其控制方法如下:

传动系统的实物结构图:

2.1.1 PWM控制小车接口介绍

左侧车轮控制: 1) 使用GPT1生成PWM控制P105接口 2) 使用GPT2生成PWM控制P102接口

右侧车轮控制 1) 使用GPT6生成PWM控制PA11接口 2) 使用GPT4生成PWM控制P804接口

2.1.2 小车运行方向控制原理

1)前进功能:

P105:输出PWM

P102:停止输出PWM

PA11:输出PWM

P804:停止输出PWM

2)后退功能

P105:停止输出PWM

P102:输出PWM

PA11:停止输出PWM

P804:输出PWM

3)左转功能

P105:停止输出PWM

P102:输出PWM

PA11:输出PWM

P804:停止输出PWM

4)右转功能

P105:输出PWM

P102:停止输出PWM

PA11:停止输出PWM

P804:输出PWM

2.2 外围传感器接口

2.2.1 I2C接口设备

I2C接口挂载设备:

1)SHT20: 测试环境的温度和湿度

2)ISL29035:检测小车周围的光照强度

3)OLED:显示器,用以显示实时的数据,包括温度、湿度、光照强度,MCU内部的参数等

2.2.2 IO接口

1)IO接口1: DS18B20接口

2)INPUT IO: 按键接口,用于实现UI切换功能

2.2.3 UART接口

UART: 蓝牙模块接口,用于和蓝牙模块进行数据交互

2.2.4 其他接口

模拟信号接口: 探测外围模拟器件信号数据

MCU内部模块:

1) 温度传感器: 监控MCU内部温度数据

2)RTC: 系统工作的实时时钟数据

传感器系统实物结构图:

2.3 障碍物监测接口

输出端口:P7_10用于触发HC_SR04的测速功能

输入端口:P7_09接收信号脉冲,用于计算距离数据

硬件实物图:

2.4 测速模块接口

系统使用两路光电编码器分别用于测试两组电机的转动速度,以使用PID速度控制,其硬件接口图如下:

3 系统软件架构

系统软件分为三层:其具体功能模块如下

系统代码框架结构:

3.1 MCU驱动层

1)SCI-I2C接口: 主要实现MCU I2C接口的驱动层,该层代码通过FSP软件进行配置

2)SCI-UART接口: 主要实现MCU UART接口的驱动层,该层代码通过FSP软件进行配置

3)   TIMER接口: 主要实现MCU Timer接口的驱动层,该层代码通过FSP软件进行配置

4 )ADC接口: 主要实现MCU ADC接口的驱动层,该层代码通过FSP软件进行配置

5)   RTC接口: 主要实现MCU RTC接口的驱动层,该模块为系统提供实时时钟功能,该层代码通过FSP软件进行配置

3.2 设备驱动层

系统的设备层驱动主要有如下这些模块:

1)oled_drv: OLED驱动程序

2)ds18b20_drv: DS18B20驱动程序

3)key: 按键驱动程序,主要用于UI的页面切换功能

4)bluetooth: 蓝牙模块驱动程序

5)ISL29035_drv: ISL29035驱动程序,用于监测环境光照数据

6)SHT20_drv: SHT20驱动程序,用于监测实施的温湿度数据

7)hc_sr04_drv: 超声波模块驱动程序,用于测试障碍物的距离

8)motor_speed: 电机速度控制驱动程序

3.3 应用层程序

1)app_ui模块: UI页面模块,用于定义每个页面显示数据的内容

2)app_state模块: 状态机控制,用于实现UI切换

3)app_main模块:主功能实现,包括传感器数据获取,数据处理

4)app_bluetooth: 蓝牙模块数据处理模块

5)app_motor: 小车运行控制

6)app_motoPID: 小车运行的PID控制模块

3.4 微信小程序程序设计

小程序的UI分为三个部分:

1) 传感器数据显示模块

2)工作模式配置模块:

自动模式: 通过超声波测距模块判断运行状态

手动模式:通过微信App控制小车的运行状态

3)小车方向控制模块:通过5个按钮控制小车的运行轨迹

3.5 OLED UI定义

第一组UI定义

第二组UI定义

4 系统测试

4.1 传感器UI数据测试视频

https://www.bilibili.com/video/BV1do1yYrEEc/?spm_id_from=333.999.0.0

4.2 运动控制视频

https://www.bilibili.com/video/BV1gh12YME8B/?spm_id_from=333.999.0.0

https://www.bilibili.com/video/BV1dc1mY2EbP/?spm_id_from=333.999.0.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值