野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 210|回复: 0

【野火】第二期瑞萨RA MCU创意氛围赛+自适应蓝牙控制智...

[复制链接]
发表于 2024-10-8 20:35:23 | 显示全部楼层 |阅读模式
本帖最后由 mftang2024 于 2024-10-10 20:41 编辑

概述
当下是一个智能化的时代,万物互联是时代的需要。基于这样的需要应运而生了许多新的技术,以支持这样的需求。在一些比较特殊的领域,单靠人力解决这些问题的成本是很高的,例如:狭窄的甬道、微小的洞穴、火灾现场、甚至是战场。这时如果使用智能机器人进行环境探测或者现场勘探,付出的代价成本会小很多。如今出现了无人机,无人小车,无人舰艇等等。这些设备的诞生都是为了解决特殊领域的需求。
本系统是一款硬件上基于野火Renesas R7FA8D1BH (Cortex®-M85)开发板,设计的一款智能控制小车。其可实现采集现场环境的温度、湿度、光照强度,同时使用超声波雷达扫描环境的参数,以了解特殊环境的地形特性,并通过蓝牙实时的发送给微信小程序App,以实现对小车运行轨迹的控制。

微信截图_20241008211625.png

1 系统框架结构
1728285924433.png

本系统分为2个部分,其分别为:
1)下位机智能小车控制系统;
2)微信小程序App

该系统的主要功能如下:
1)使用Renesas R7FA8D1BH (Cortex®-M85)开发板作为主控板卡,该板块实时读取温湿度传感器,光照传感器的数据。同时通过超声波测距模块扫描环境参数。
2)控制OLED显示器,对读取的温度、湿度、光照、测距数据进行处理,将这些数据实时的显示在OLED屏幕上。
3)控制蓝牙模块,实时接收蓝牙模块接收到的从微信小程序发送的。
4)发送命令给小车运行控制模块,实现小车运行轨迹的控制。
5)实时接收和处理微信小程序App发送的控制命令,同时将这些命令转发给小车运行控制模块,实现小车的控制
6)实时上传温度、湿度、光照、测距数据给微信小程序App

2 系统硬件介绍
1728273351907.png

2.1 电机驱动控制结构
系统使用4路独立的PWM控制两组电机,用于控制小车的运行方向,其控制方法如下:
传动系统的实物结构图:
1728274035795.png

2.1.1 PWM控制小车接口介绍
左侧车轮控制:

1) 使用GPT1生成PWM控制P105接口
2) 使用GPT2生成PWM控制P102接口

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

2.1.2 小车运行方向控制原理
1728295207924.png
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: 系统工作的实时时钟数据

1728273276129.png

传感器系统实物结构图:
1728274084917.png


2.3 障碍物监测接口

输出端口:P7_10用于触发HC_SR04的测速功能
输入端口:P7_09接收信号脉冲,用于计算距离数据
1728275021051.png

硬件实物图:
1728277322606.png


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


3 系统软件架构
系统软件分为三层:其具体功能模块如下
1728277619794.png


3.1 MCU驱动层

1728278390386.png

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: 电机速度控制驱动程序

1728279003447.png


3.3 应用层程序

1)app_ui模块: UI页面模块,用于定义每个页面显示数据的内容
2)app_state模块: 状态机控制,用于实现UI切换
3)app_main模块:主功能实现,包括传感器数据获取,数据处理
4)app_bluetooth:  蓝牙模块数据处理模块
5)app_motor: 小车运行控制
6)app_motoPID: 小车运行的PID控制模块
1728279652746.png

3.4 微信小程序程序设计
小程序的UI分为三个部分:
1) 传感器数据显示模块
2)工作模式配置模块:
自动模式: 通过超声波测距模块判断运行状态
手动模式:通过微信App控制小车的运行状态
3)小车方向控制模块:通过5个按钮控制小车的运行轨迹

1728280515647.png


3.5 OLED UI定义

第一组UI定义
1728286317257.png
第二组UI定义
1728286433199.png


4 系统测试

4.1 传感器UI数据测试视频
【野火】第二期瑞萨RA MCU创意氛围赛:自适应蓝牙控制智能小车-01_哔哩哔哩_bilibili


4.2 运动控制视频
【野火】第二期瑞萨RA MCU创意氛围赛:自适应蓝牙控制智能小车-02_哔哩哔哩_bilibili


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


源代码下载地址

renesas_r7fa8d1bh_board.zip

6.68 MB, 下载次数: 14

源代码文件

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-10-16 08:30 , Processed in 0.078517 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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