APP下载

基于STM32的两轮可控自平衡小车设计

2021-07-17王兆康郝军迪张龙王尊

锦绣·中旬刊 2021年7期

王兆康 郝军迪 张龙 王尊

摘要:目前,国内市场上的平衡车琳琅满目,但多数功能单一,价格昂贵,平衡性与稳定性也有待提高。针对这一问题,设计了基于STM32的可控两轮自平衡小车,本文主要介绍了该设计的先进性、可靠性。通过一系列的试验表明,本文所介绍的智能小车具有控制方便、系统稳定、功能丰富、成本低廉等优点。

关键词:两轮可控自平衡小车;STM32;硬件电路;软件算法

自平衡小车自问世至今,便受到研究人士的广泛关注,迅速成为理想的控制理论研究平台,同时它也成为商家眼中的巨大商机,很多商家已将其投入运输、承载、代步等商业用途中使用,虽然仍存在很多问题,但同样创造了可观的收益。提起两轮车,人们大多都会想起摩托车、自行车甚至是两轮手推车等,其主要特点是两个轮子处于同一平面,其静态稳定性很差,而两轮可控自平衡小车在传统两轮车的基础上进行了功能上的突破,它有着极为突出的特色:两个轮子处于共轴的平行平面上,运动方式为差动式,零半径转向,根据倒立摆原理达到动态平衡状态。世界上最早对自平衡小车进行研究的是美国发明家狄恩·卡门(Dean Kamen),其所研发的第一台平衡小车售价高达7万人民币,而且其平衡性、稳定性都有着很大的提升空间,近年来中国市场上所销售的自平衡小车也都面临着相似的问题:平衡性、可靠性差,价格高昂,功能单一。如何提高平衡小车的稳定性、可靠性,降低生产成本,丰富其功能是本文所要解决的主要问题。

本文设计的自平衡小车增加了蓝牙模块和显示功能,可以通过手机安装相应的APP进行具有远程遥控并实时了解小车的状态,这大大增加了小车操作的可控性,也方便了调试。微处理器选用基于ARM内核的STM32,不仅具有低功耗和高性价比的特点,而且大大降低了生产成本,其他所需的电子器件在市面上也都较为常见且价格低廉,完全满足了设计平衡车的需求。

1 系统总体设计

本系统的主控芯片采用STM32,电源模块选用航模电池,小车的实施状况通过陀螺仪MPU-6050和加速度传感器进行采集,然后通过IIC接口发送给主控芯片STM32,所接受数据经主控芯片STM32分析后,主控芯片作出相应反应通过改变马达转速从而控制小车状态。另一方面,从手机端APP发送过来的指令也可经主控芯片STM32分析后,通过主控芯片STM32控制小车做出相应操作,结构框架如图1所示。

2 系统硬件设计

STM32主控模块:本系统所采用的主控芯片为意法半导体公司推出的ARM Cortex-M3内核的32位单片机stm32f103RB,其具有能力强、运算快、功耗低的特点,内部集成了FLASH、SRAM、PWM、SPI、IIC、USART、TIMER、AD等多种模块,被广泛用于工业控制领域。

电源供电模块:本系统所采用的供电模块为航模电池,其输出电压为12V,由于各模块对电压要求不同,因此将12V电压通过低压差线性稳压器LM2940转换成5V电压,对蓝牙模块和陀螺仪传感器进行供电;将5V电压通过低压差线性稳压器LT1117转换成3.3V电压,进而对测速模块和主控芯片STM32等进行供电。

陀螺仪传感器模块:本系统所采用的陀螺仪传感器型号为MPU-6050,其内部功能较为丰富,不仅兼具了加速度传感器和陀螺仪传感器的功能,还有开源的协处理器。另外,将额外的数字传感器接在IIC通用串行数据传输口,还可进一步的进行功能拓展。采用ICC接口实现主控芯片与陀螺仪传感器MPU-6050的通信,主要由于IIC接口的硬件连接方式相对简单,数据的传输只需借助SDA数据线和SCL时钟线两根线即可完成,而且在速度方面也毫不遜色,完全满足本系统的设计要求。

测速模块:本系统所采用的测速方法为光栅法,即将一个均匀分布有扇形槽孔的转盘安装在马达轴上,红外发射端和红外接收端分别固定在转盘的两端,在马达工作过程中,转盘一侧的红外接收端会收到相应的PULSE信号,并对单位时长内的PULSE信号进行记录,根据所记录的PULSE信号数据便可计算出马达的旋转速率。

蓝牙模块:本系统所选用的蓝牙模块为ZK-07,它是新一代的无线蓝牙数传模块,用户只需进行简单的设置与编写简单的传输程序,就能够透明传输任何大小的数据。在通信传输过程中,蓝牙模块各种参数的调节可通过AT命令实现,比如修改串口传输波特率,修改蓝牙模块名称,通信测试等。采用USARTA1接口实现蓝牙模块与主控芯片之间的通信,当自平衡小车上的ZK-07模块与手机端的蓝牙匹配成功后,数据通信功能便可得到实现,在手机APP端发送给小车相应的指令,小车上的蓝牙模块接收相应命令后便可做出相应的回应,如调整自身前进姿态,调整行驶速度以及左右转向等。

3 系统软件设计

软件设计主要包括如下内容:各类外设及模块驱动,陀螺仪传感器MPU-605驱动、加速度传感器驱动、定时器驱动、PWM外设驱动、IIC驱动、USART驱动;各外设及模块的初始化,小车车轮速度的测量,小车姿态数据的获取以及滤波,适配本系统的PID算法。软件系统的运行过程如图2所示。

4 结语

本文介绍了一种基于STM32微处理器的两轮可控自平衡小车的设计。本系统应用陀螺仪传感器、超声波模块、红外接收模块等从硬件角度构建了一个自平衡系统,以uCOS-II为软件系统进行了一系列的软件设计,并对自平衡小车系统进行了相关的功能拓展。 实验证明,该系统控制方便、系统稳定、功能丰富、成本低廉,可用于野外拍摄,商业运输等途径。

参考文献

[1]张阳.基于视觉的自平衡小车协同行进控制研究[D].重庆大学,2016.

[2]丁凤.一种新型两轮自平衡小车的建模与控制[D].华中科技大学,2012.

[3]刘博文.ARM Cortex-M3应用开发实例详解[M].电子工业出版社,2011.

[4]朱加辉.两轮自平衡小车反馈线性化及变结构控制研究[D].西安电子科技大学,2010.

[5]杨菲,周凤星.基于ARM的蓝牙通信模块的设计与实现[J].通信技术,2011.

[6]栗维克.两轮自平衡小车大范围稳定的智能控制研究[D].西安电子科技大学,2008.

[7]孟强.基于STM32的数据采集系统设计[D].南京林业大学,2014.

[8]高忠斌.模块化接收机与多通道数据采集电路设计[D].哈尔滨工程大学,2010.