摘要:      
      随着智能科技的不断发展,智能自动巡逻平衡车在众多领域展现出巨大的应用潜力。
      本文基于富芮坤 FR3068x-C 芯片设计了一款智能自动巡逻平衡车,采用 FreeRTOS 系统实现多线程任务管理,搭载语音对话功能,可实现唱歌、讲笑话、唤醒控制灯、控制行走、转弯、巡逻模式等丰富功能。通过超声波模块实时检测前方障碍物,实现自动避障;利用 I2C 接口实时采集温湿度数据,结合 ADC 接口采集可燃气体信息,将环境监测与安全防护紧密结合。通过 UART1 和 UART2 分别与语音模块及驱动控制芯片通讯,实时获取车况信息并精准控制车辆行动。借助 LVGL 图形库独立线程设计仪表盘,直观显示车况与环境数据。利用蓝牙上网功能,结合 lwip 网络协议栈与 TCP 协议,对接巴法云实时上传车况及控制信息,实现远程监控。本设计旨在打造一款功能强大、性能稳定、易于扩展的智能自动巡逻平衡车,为智能化设备在安防、物流、服务等领域的应用提供有力支持。
image.png

视频演示:

   【【富芮坤FR3068x-C】语音唤醒后开关灯控制】


【【富芮坤FR3068x-C】语音控制行走】


【【富芮坤FR3068x-C】语音控制行走-巡逻-唱歌】


【【富芮坤FR3068x-C】巡逻-云端查看数据】


目录

1 引言

1.1 研究背景

    在当今快速发展的智能时代,人们对智能化设备的需求日益增长。另外无论实验室、厂房、无人办公室等家里环境下都存在一定的安全问题,在没人的时候安全问题已显得尤为重要。
而自动巡逻平衡车作为一种兼具移动性和智能性的设备,可广泛应用于安防监控、物流配送、服务行业等领域。其不仅能够减轻工作人员的负担,还可以提高工作效率和准确性。
此外,通过云平台接入,可从手机端或者办公室电脑实时监控到未知信息
image.png

1.2 研究目的

本文旨在设计一款基于富芮坤 FR3068x-C 芯片的智能自动巡逻平衡车,实现多种功能,包括语音交互、自动避障、环境监测、车况信息显示以及远程监控等。通过系统化的设计和优化,使其具备高性能、高可靠性、易用性以及良好的扩展性,满足不同场景下的应用需求。
image.png

1.3 研究方法与内容

本研究采用模块化设计方法,将系统划分为硬件和软件两大部分。硬件部分主要涉及主控芯片、语音模块、避障模块、传感器、驱动芯片、显示屏、蓝牙模块以及电源管理模块等。软件部分则基于 FreeRTOS 系统,通过创建独立线程实现多任务并发运行,包括语音对话、车况采集与控制、环境数据采集、仪表盘显示和蓝牙通信与云对接等功能。通过合理的设计和反复的测试,确保系统的性能和稳定性。

2 系统功能概述

2.1 基础移动功能

平衡车能够实现基本的前进、后退、左转、右转等移动动作。用户可以通过语音指令或者手动操作来进行控制。在巡逻模式下,平衡车按照预设的路线自动行驶,无需人工干预。
如前面附上视频演示

2.2 语音交互功能

具备强大的语音对话功能,包括唱歌、讲笑话等娱乐功能,为用户提供轻松愉快的互动体验。同时,用户可以通过语音唤醒控制灯,打开或关闭车上的灯,方便在不同环境下的使用。此外,语音指令还可以直接控制平衡车的行走、转弯和巡逻模式,使操作更加便捷和智能化。
如前面附上视频演示

2.3 自动避障功能

利用超声波模块实时检测前方障碍物的距离。当距离小于设定的阈值时,平衡车能够自动识别障碍物并执行相应的避障动作,如停止、后退或转向,确保车辆的安全行驶,避免碰撞事故的发生。
如前面附上视频演示
避障使用超声波传感器,用于检测前面障碍
image.png

2.4 环境监测功能

通过 I2C 接口实时采集温湿度数据,了解周围环境的温度和湿度情况。同时,利用 ADC 接口采集可燃气体信息数据,对环境中的可燃气体进行监测,及时发现潜在的安全隐患,为安全防护提供重要依据。
传感器安装位置
image.png
巴法云端效果如下:
image.png

2.5 车况信息显示

使用 LVGL 设计的仪表盘实时显示车况信息,包括速度、电量、行驶方向等。通过清晰直观的界面,用户可以随时掌握平衡车的运行状态,便于进行监控和管理。
image.png

2.6 远程监控与数据传输

借助蓝牙上网功能,支持 lwip 网络协议栈,使用 TCP 协议与巴法云对接。将车况信息和控制信息实时上传至巴法云,方便后台进行查看和监控。同时,也能够接收来自云端的控制指令,实现远程控制功能。
打开log窗口看到log信息,按我们软件流程如下
image.png
数据周期性上报log明细
image.png

3 系统硬件设计

3.1 核心主控芯片

选择富芮坤 FR3068x-C 作为核心主控芯片。该芯片具备高性能的 MCU core,拥有丰富的外设接口以及内置的蓝牙功能,能够满足自动巡逻平衡车的控制和通信需求,为整个系统的稳定运行提供强大的硬件支持。
如下是富芮坤芯片的详细参数说明:
image.png

3.2 语音模块

采用支持离线识别的语音模组,ASR-PRO语音模块,通过 UART1 与主控芯片通信。语音模块能够识别用户的指令,如唱歌、讲笑话、控制灯、控制行走等,并通过串口输出对应的指令信息,主控芯片接收到指令后进行解析和处理,实现语音控制功能。
安装在了平衡车侧边,结构如下:
image.png
代码逻辑如下:
image.png

3.3 超声波避障模块

选用 HC-SR04 超声波模块,用于检测前方障碍物。该模块具有测量距离远、精度高、稳定性好的特点。通过发射和接收超声波信号,计算障碍物距离,为自动避障功能提供准确的数据支持。
模块控制原理如下
image.png

3.4 温湿度传感器

选用 DHT10 支持 I2C 接口的温湿度传感器,实时采集环境温湿度信息。这些传感器具有响应速度快、精度高、稳定性好的特点,能够准确地反映周围环境的温湿度变化。
模块如下
image.png

3.5 可燃气体传感器

使用 MQ 系列传感器 MQ-2,通过 ADC 接口与主控芯片连接,检测可燃气体浓度。该系列传感器对可燃气体具有较高的灵敏度和选择性,能够在环境中可燃气体浓度超标时及时发出警报。
该传感器跟DHT10在同一个小板上

3.6 驱动控制芯片

电机控制部分单独放在STM32上去出路,驱动芯片使用L298N,通过 UART2 与主控芯片通信。驱动控制芯片能够根据主控芯片发送的指令,精确控制平衡车的行走和转向动作,保证车辆的平稳运行。
同时也分担了FR3068的负担,两者配合工作,共同完成整车的运动逻辑
image.png

3.7 显示屏

使用 FR3068x-C 板载的显示屏,搭配 LVGL 图形库设计仪表盘。显示屏能够清晰地显示车况信息和环境数据,为用户提供直观的车辆状态信息。
image.png

3.8 蓝牙模块

利用 FR3068x-C 芯片内置的蓝牙功能,无需额外的蓝牙模块。通过配置和编程,实现蓝牙通信功能,用于与手机、平板等设备连接,以及与巴法云进行数据传输。

3.9 电源管理模块

电源使用12V的锂电池供电,使用电源稳压芯片稳压到5V电平以及3.3V电平。为整个系统提供稳定可靠的电源供应。考虑到平衡车的移动性和便携性,电源模块采用锂电池供电,并配备相应的充电电路和电池保护电路,确保电池的安全和使用寿命。

4 系统软件设计

4.1 自由实时操作系统选择

基于 FreeRTOS 系统,创建多个独立线程,分别处理不同的功能模块,实现多任务并发运行。通过合理的任务调度和优先级设置,确保系统的实时性和稳定性。
另外数据结构也尤为重要,车身信息变量以及温湿度 超声波测距等等都存放在结构体中,便于调用。
系统选用RTOS层如下
image.png
车辆状态信息以及lvgl实时更新变量部分同时存放在_Blance_CarInfo_数据结构中,方便管理
image.png

4.2 语音对话功能实现

在独立线程中使用 UART1 与语音模块进行实时通讯。通过语音模块识别用户的指令,如唱歌、讲笑话、控制灯、控制行走等,并根据指令执行相应的操作。语音模块可通过串口输出对应的指令信息,主控芯片接收到指令后进行解析和处理,实现语音控制功能。
数据协议转发部分代码
image.png
接收到指令后调整姿势部分逻辑
image.png

4.3 超声波避障算法

通过超声波模块实时检测前方障碍物距离。当距离小于设定阈值时,平衡车自动执行避障动作,如停止、后退或转向。算法需要综合考虑车辆的速度、行驶方向以及障碍物的位置等因素,确保避障动作的准确性和安全性。
避障调整姿势部分逻辑
image.png

4.4 温湿度及可燃气体信息采集

通过 I2C 接口实时采集温湿度传感器的数据,获取环境温湿度信息。使用 ADC 采集可燃气体传感器的数据,获取可燃气体浓度信息。将采集到的环境数据发送给其他线程,以便在仪表盘上显示或上传至云端。
main函数中配置了初始化后,周期性采集
image.png
周期性上报按对应数据格式来创建不同指针指向,防止数据出错现象出现
image.png

4.5 车辆控制与驱动通信

使用 UART2 与驱动控制芯片通讯,实时采集车况信息,如电机转速、电池电量等。根据采集到的信息和用户的控制指令,发送相应的控制指令给驱动控制芯片,实现平衡车的行走、转向等动作。通过超声波模块检测前方障碍物距离,当距离小于设定阈值时,自动执行避障动作。
数据获取后解析逻辑如下
image.png
超声波采集部分做了滤波算法,防止瞬间的抖动和数据跳变导致姿势调整误判
image.png
避障和姿势调整部分逻辑如下,根据测速值判断是否卡电机,根据超声波值判断是否接近障碍
image.png

4.6 仪表盘设计

在独立线程中使用 LVGL 设计仪表盘界面,显示车况信息(如速度、电量、行驶方向等)和环境数据(如温湿度、可燃气体浓度等)。根据实时数据更新仪表盘上的显示内容,为用户提供直观的车辆状态信息。
lvgl画面仪表盘显示全在fr_lv_instrument_panel中实现,绘制效果逻辑如下:
image.png
数据更新时,在refresh_timer_cb中获取到对应id即可重新更新到
image.png

4.7 蓝牙通信与巴法云对接

使用蓝牙上网功能,基于 lwip 层,通过 TCP 协议与巴法云进行对接。实时将车况信息和控制信息上报至巴法云,便于后台查看和监控车辆状态。同时,也可接收来自云端的控制指令,实现远程控制功能。
LwIP是Light Weight (轻型)IP协议,有无操作系统的支持都可以运行。LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。如下是lwip层位置
image.png
Tcp连接以及周期上报在同个线程中,蓝牙连接网络存在多次尝试连接过程,这部分逻辑在app_tcpModelInfo.c文件中来实现功能
image.png
云端上报字段对应变量存放mTcpInfo列表中,按顺序一条条周期上报,单独使用一个线程完成
image.png

5 系统集成与测试

5.1 系统集成

将硬件和软件部分进行集成,确保各个模块之间的正常通信和协作。通过连接器和线缆将各个硬件组件连接起来,并加载相应的软件程序,使系统能够正常运行。

包括调试期间查看通讯抓串口打印,确保通讯数据正常

5.2 功能测试

对平衡车的各项功能进行逐一测试,包括语音对话、自动避障、环境监测、车况信息显示和远程监控等。通过实际操作和模拟测试环境,验证功能的正确性和可靠性。

5.3 性能测试

测试平衡车的性能指标,如行驶速度、续航时间、避障响应时间、环境数据采集精度等。通过对比设计目标和实测数据,评估系统的性能表现,找出可能存在的问题并进行优化。

5.4 稳定性测试

进行长时间的稳定性测试,观察系统在长时间运行过程中的表现,如是否会出现死机、数据丢失、通信中断等问题。通过稳定性测试,确保系统能够在各种复杂环境下稳定运行。

6 结论与展望

6.1 研究成果总结

本项目基于富芮坤 FR3068x-C 设计了一款智能自动巡逻平衡车,实现了语音对话、自动避障、环境监测、车况信息显示和远程监控等多种功能。通过硬件和软件的精心设计与优化,使平衡车具备高性能、高可靠性、易用性和良好的扩展性,满足了不同场景下的应用需求。

6.2 存在问题与未来改进方向

在调试过程中,发现系统存在一些不足之处,如语音识别的准确率有待进一步提高,环境数据采集的精度和实时性需要优化,远程监控的延迟问题亟待解决等。未来,将针对这些问题进行深入研究和改进,同时探索更多的功能拓展,如图像识别、人脸识别、室内导航等,进一步提升平衡车的智能化水平和应用场景。

此外本次项目中使用的超声波传感器,使得小车只检测到前面环境情况是否有障碍,后续可以考虑使用激光雷达方式,检测到周边360度障碍情况。进一步做优化算法

6.3 应用前景展望

基于富芮坤 FR3068x-C 的智能自动巡逻平衡车具有广泛的应用前景。在安防领域,可以用于巡逻监控、警戒预警等;在物流领域,可以实现货物搬运、货物跟踪等;在服务行业,可以提供导游导览、餐厅服务等。随着技术的不断发展和完善,智能自动巡逻平衡车期待会在各个领域发挥越来越重要的作用,为人们的生活和工作带来更多的便利和惊喜。