樊圆圆 蔡骏 乔启鸣 吴亚联
摘 要:基于LiteOS的全向轮平衡车设计由搭载微处理器的车体和手机客户端组成。用全向轮替换普通轮胎,提高其灵敏性、可操作性;将微处理器和电机控制部分相结合,保证车体正常运行;利用多种模块检测车体的速度、所处环境的温湿度等信息;利用无线通信模块将车体数据发送到互联网,实现“物联网”;利用车体内置的GPS模块对车体进行实时定位,从而提高其安全性;所配备的手机客户端可实时查询车体信息,并进行“人车交互”。
关键词:平衡车;全向轮;HUAWEI LiteOS;物联网
中图分类号:TP242.6 文献标识码:A 文章编号:2095-1302(2018)07-00-03
0 引 言
随着社会经济的发展,汽车已普及到人们的日常生活中。人们也因为有了这些代步工具,出行变得更加便捷。改革开放以来,汽车以每年8%的速度增长[1],其带来的经济效益毋庸置疑,但负面影响也不可忽视。如何做到兼顾环保和可持续发展,是值得深思的问题之一。
如今,交通工具正朝着环保、节能、小型、便捷等方向发展,双轮平衡车的设计研究成为当今代步工具领域的热点。国内外有很多这方面的研究,目前对于平衡车这块的研究主要是用不同组合的微处理器和传感器,通过数据融合得到准确的位姿信息,由此来优化“自平衡”。目前,市场上所出现的平衡车,仅仅是在不断完善代步的功能,并无其他拓展功能,且其体积小,车体丢失的概率较大。
为了使平衡车更智能化,同时提高其灵活性、安全性,研究了此款优化版平衡车,并融入了“互联网+”的概念。本文主要阐述了基于HUAWEI轻型物联网系统LiteOS和STM32的全向轮平衡车,为改善出行方式提供新思路。
1 系统功能分析与总体设计
1.1 系统功能分析
本文初步设计了一款用于代步的全向轮平衡车。具体实现以下几个功能:
(1)平衡运行:使用者踏上车体后,车体维持平衡,稳步前行,另外,当使用者发生身体发生倾斜要跌倒时,车体立即停止前行,保障使用者的人身安全;
(2)速度控制:使用者可身体前倾或者后倾来加速或者减速,身体左倾或者右倾来左转弯或者右转弯;
(3)GPS定位:利用车体内的GPS模块可实现车体的实时定位;
(4)温湿度检测:可以检测出车体所处环境的温湿度;
(5)蓝牙通信:与手机终端建立蓝牙通信,利用蓝牙串口实时传输车体信息;
(6)无线通信:将车体数据通过WiFi上传至服务器,实时提供车体信息,同时接收服务器指令,完成相应任务;
(7)远程控制:通过下载车体数据,使用者可通过手机APP实时查询车体的位置、速度、温湿度等信息,同时下达相关命令,远程控制车体。
1.2 系统结构设计框图
结合代步及拓展功能进行分析,本全向轮平衡车的核心是由STM32F103微处理器、双路电机驱动器、无线通信模块等传感器共同组成[2]。其中,STM32微处理器对各传感器收集到的数据进行处理,控制各模块正常运作[3]。通过双路电机驱动器,控制车体的启动和停止;利用平衡维持模块中的陀螺仪和加速度计,可较准确地测量载体的运动角速度和加速度,通过车体的倾角来判断是否加减速、转弯或者发送跌倒信息;利用蓝牙模块和WiFi模块进行蓝牙通信和数据传输,保障远程控制的可行性;通过DHT11传感器来检测平衡车所在环境的温湿度。该系统结构如图1所示。
2 硬件模块设计与实现
2.1 电机驱动模块
电机驱动模块用来驱动平衡车的双轮运转,保证小车正常运行,是整个系统的动力来源。
本模块使用的是包含4通道逻辑驱动电路的电机驱动芯片——L298n模块。通过将32单片机的 PWM 输出引脚连接到电机驱动模块,利用陀螺仪检测出小车的角速度和加速度,由32单片机内部进行相关计算,输出一个占空比可变的矩形波来控制 L298n电机驱动模块,进而控制平衡小车的电动机的转速。电机控制输入源于所控制的PD值转变为电机所控制的值;而电机控制输出就是将单片机计算得到的PWM波形的占空比传输到电机驱动中。
2.2 WiFi模块
WiFi模块即无线通信模块,可将用户的平衡车连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能。联网后,利用HUAWEI LiteOS实时操作系统实时控制系统,从而保障各功能的正常运行[4]。
本系统使用ESP8266模块,是由上海乐鑫信息科技设计的低功耗WiFi芯片[5]。在SSCOM中向路由器发送指令 AT 来进行相关配置,如连接和打开WiFi,建立与TCP服务器的连接,从而实现联网功能。在联网过程中,实时上传车体数据,即可在云平台查看车体信息,同时下载数据包,执行由客户端发送的命令。
2.3 平衡系统模块
2.3.1 陀螺仪模块
陀螺仪模块不仅能判断物体运动的角速度,还可分辨出物体的运动方向。简言之,当陀螺仪旋转时,由于陀螺仪和两轮电动平衡小车系统是一个刚性结构,因此,陀螺仪的角速度反应了小车系统的角速度。
本系统使用MPU6050模块来测量角速度信号,通过对角速度积分[6],得到角度值。但随着时间的推移,积分运算产生的误差较大,所以单独使用陀螺仪来计算角速度倾角是不够的,为了维持小车的稳定性需加上加速度计。
2.3.2 加速度计模块
为减少上述陀螺仪模块的误差,需要结合加速度计采集的角速度信号,才能稳定地维持车体平衡。本系统的加速度计采用MMA7361模块。如果车体沿着某个方向倾斜,MMA7361的相应轴就会输出对应的变化电压,同时传输到单片机中,并利用单片机的A/D 转换器读取输出信号,以检测其運动方向。结合倾角和运动方向来判断用户是否需要转弯或改变出行速度,从而根据用户的需求对车体的运行做出进一步改变。当单片机通过倾角判断车体将跌倒时,会控制电机停止运行。
2.4 蓝牙模块
本模块使用奥松机器人蓝牙4.0模块。蓝牙可利用单片机进行串口通信,即车体与手机终端建立通讯,从而实现客户端实时查询车体信息的功能。该模块具有集成度高、成本低、功耗低、蓝牙射频性能优越等特点。
2.5 GPS模块
GPS模块用于对车体进行实时定位,从而提高其安全性和防盗性。本系统使用野火GPS模块,其性能高、功耗低,可通过串口向单片机及手机客户端输出GPS定位信息。
2.6 温湿度检测模块
本模块使用DHT11传感器检测温湿度,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。该产品具有品质卓越、超快响应、抗干扰能力强、性价比高等优点。
3 系统软件设计与实现
3.1 初始化界面设计
本文设计的手机客户端界面主要显示来自车体内部核心处理器STM32传输的数据。首先判断车体是否上线,当车体开机后,下载并解析来自服务器的数据,其次显示其实时状态,显示界面共分为4个子界面,分别为导航定位、运行状态、环境监测和命令交互。该部分程序的实现基于C++语言编程完成。其整体设计和基本算法的架构流程如图2所示。
3.2 串口屏各功能界面设计
3.2.1 导航定位
此功能提供了定位导航服务,使用者打开手机客户端便可接收车体此时的GPS信息,当车体遗失时,可做进一步的追踪,由此提高系统的安全性、防盗性。同时,可结合手机自带软件“高德地图”进行导航。其整体设计的架构流程如图3所示。
3.2.2 运行状态
此选项提供车体此时的设备状态,同时对车体所处的环境进行监测。使用者可实时了解到车体的运行速度、电量及其所在环境的温湿度。同时,对超速、低电量以及高温状态做出相应的警示。其整体设计的架构流程如图4所示。
3.2.3 蓝牙通信
当车体未连接互联网时,手机客户端可利用蓝牙与车体建立通信,从而显示设备状态。其整体设计流程如图5所示。
3.2.4 命令交互
此功能可满足用户的不同要求,如自动开机、自主到达指定位置和调节速度等。通过此功能,当使用者忘记平衡车的具体位置时,可让其自主回到使用者身边,一定程度上提供了便利,智能引导操作流程如图6所示。
4 创新点分析
4.1 全向轮的使用
为平衡车安装全向轮。全向轮转弯半径很小,能够实现全方位移动,不仅能像常见的轮子那样前后移动和转弯,还能横向移动以及原地转圈,灵活快速,易于控制,停车更加方便。
4.2 HUAWEI LiteOS实时操作
本系统采用HUAWEI LiteOS实时操作系统,并行四个优先级从高到低的任务:电机控制任务、传感器信号采集任务、蓝牙串口任务及发送报文到服务器任务。各任务周期运行,并进行进程通信,电机控制任务对陀螺仪采集到的數据进行速度环、角度环计算,进而实现控制车体平衡,对服务器下发数据和蓝牙串口数据实现车体的行进控制。此操作系统实时性强,实现了物联网状态下的智能化。
4.3 安全性
利用车体的定位系统,可掌握其实时位置。当车体遗失时,可进行定位追踪,同时利用其交互功能,可让车体发出警报,引起周围人注意,提高系统的安全性和防盗性。
5 结 语
本文完成了基于LiteOS的全向轮平衡车的系统设计,实物如图7所示。以STM32微处理器为核心,利用硬件各模块搭建了一个自平衡系统,以HUAWEI LiteOS做为实时系统,进行软件设计,同时对整个平衡系统进行了扩展。实验证明,本系统易于操作、功能丰富、成本低廉,可广泛用在实际生活中的多类场所。
参考文献
[1]刘修龙.基于CCD的自平衡小车的设计[D]. 开封:河南大学,2014
[2]刘火良.杨森.STM32库开发实战指南[M]. 北京:机械工业出版社,2013
[3]张志强.基于STM32的双轮平衡车[J].电子设计工程,2011(7):103-106.
[4]华为技术有限公司.HUAWEI LiteOS Kernal开发指南[Z].华为专有和保密信息,2016.
[5] ESP8266串口WiFi模块的基本使用[EB/OL]http://www.shaoguoji.cn/2017/01/15/ESP8266-usage/,2017-11-28
[6]张吉昌. 单轴双轮自平衡代步车的研究与设计[D].青岛:中国海洋大学,2009.
[7]胡建,颜钢锋.基于自抗扰控制算法的两轮自平衡分析[J]. 机电工程,2014,31(2):159-164.
[8]薛凡,孙京诰,严怀成. 两轮平衡车的建模与控制研究[J]. 化工自动化及仪表,2012,39(11):1450-1454.