占华林,邹丽彬,欧阳烨
(江西科技师范大学,江西南昌,330013)
基于MPU6050六轴传感器平衡小车的设计
占华林,邹丽彬,欧阳烨
(江西科技师范大学,江西南昌,330013)
两轮自平衡小车是通过使用陀螺仪、加速度计等常用的姿态传感器来监测车身所处的俯仰状态和状态变化率,经数字控制中心处理与计算,再发出适当的指令给驱动电动机产生前进或后退的加速度,以保持车体前后平衡的状态。本设计选用STM32单片机作为主控制器,用MPU6050六轴传感器和两个陀螺仪传感器来检测车的状态,通过TB6612FNG控制小车的两个电机,让小车不断地处于新旧交替的平衡状态,实现了两轮小车的硬件控制系统。
两轮自平衡小车;陀螺仪;MPU6050六轴传感器;加速度计
最近几年,电子信息技术突飞猛进,移动机器人研究与开发越来越变得智能,已成为自然科学最活跃的领域之一,移动机器人也已经走进寻常百姓家。两轮自平衡机器人正是在这样大背景下提出来的,但两轮自平衡机器人最显著的特点是:采用了两轮共轴、左右轮各自独立驱动的工作方式(也称为差分式驱动方式),车体整个重心位于车轮平衡轴的正上方,通过TB6612FNG控制小车的两个电机,从而控制平衡车轮的前后移动来保持车身的平衡,并且还能达到在直立平衡的情况下行驶的功能。
早在八十年代,日本电信大学山藤一雄教授就提出了两轮自平衡机器人的构想。这个基本的构想就是用高速信号处理器来侦测平衡的改变,然后以调整双轮前后移动来保持机器的平稳。2002年,两轮自平衡车发生很大变化,卡门尝试使用电子机械传感器代替生物传感器,如使用精密的陀螺仪来代替人类的前庭与耳蜗等平衡器官,用电机驱动代替手工驱动,如以电动马达与车轮代替人类的双脚,发展出所谓的“动态稳定"概念。
基于以上的背景,本文选用STM32单片机作为主控制器,用MPU6050六轴传感器和两个陀螺仪传感器来检测车的状态,通过TB6612FNG控制小车的两个电机,让小车不断地处于新旧交替的平衡状态,实现了两轮小车的硬件控制系统。
图1 系统方案框架图
两轮平衡小车控制系统的电路,首先通过MPU6050六轴传感器和两个陀螺仪传感器来检测车的状态,然后STM32单片机为主控制器,输出控制信号到各个电路子模块,构成循环控制系统,最后达到两轮小车的平衡。
从系统方案框架图可以得出如下子模块。
(1)单片机最小系统。
(2)MPU-6050六轴传感器、陀螺仪传感器和加速度传感器。
(3)速度检测:检测电机霍尔测速输出脉冲频率。
(4)电机驱动:驱动两个电极运行功率电路(控制电路占空比)。
(5)电源:电源电压转转换,稳压,滤波电路。
图2 软件设计流程图
3.1 单片机最小系统
STM32系列单片机基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能要求不同,将STM32单片机分成两个不同的系列:STM32F101“基本型”系列和STM32F103“增强型”系列。目前,增强型系列时钟频率达到72MHz,是同类产品中性价比较高的产品。
3.2 MPU6050六轴传感器
MPU6050六轴传感器将陀螺仪和加速计封装在一起,通过IIC总线给出六个维度的ADC值;其次,芯片本身提供一个IIC从接口,供用户接第三方的IIC器件,一般选择是接一个电子罗盘,如HMC5883L,构成一个9轴的输出的姿态模组。
3.3 蓝牙模块
在智能机泛滥的时代,为了增加小车的适应性,以及节省成本,我们选择使用蓝牙透传模块。
软件的实现的主要功能包括有:
(1)陀螺仪、加速度计等常用传感器信号的采集、处理。
(2)脉冲宽度调制信号(PWM) 输出到电机。
(3)车模运行控制:方向控制、直立控制、速度控制、启动停止控制。
(4)车模运行流程控制:程序初始化、车模启动与结束、车模平衡状态监控。
(5)车模状态信息显示与控制参数设定:状态显示、上位机监控、参数设定等。
上电,单片机程序开始初始化。初始化的工作包括有两部分,第一部分是由单片机控制的各个子模块的初始化。第二部分是应用程序初始化,是对于车模控制程序中应用到的变量值和单片机内容寄存器进行初始化。如果一旦处于可控范围则启动车体直立控制、速度控制以及蓝牙遥控。程序在主循环中不停地接收由传感器发送的监控数据,再通过串口发送到上位机进行监控。同时,通过车模倾角是否超过一定范围确定车模是否跌倒。超过的一定范围,则认为车体跌倒,车体停止运行。然后重新进入车体直立判断过程。
通过实物测试,本文采用的STM32单片机作为主控制器,用MPU6050六轴传感器和两个陀螺仪传感器来检测车的状态,通过TB6612fNG控制小车两个电机,来使小车保持平衡状态,达到最大爬坡角度15℃、启动停止灵敏、车体重量轻、续航距离长等特点。
[1]张伟民.两轮自平衡小车控制研究[J].控制理论与应用.2011.
[2]张志强.基于STM32的双轮平衡车[J].电子设计工程.2011.
[3]薛伦生.基于单片机控制的小车平衡系统设计[J].电子测量技术.2009.
Design of balance car based on MPU6050 six axis sensors
Zhan Hualin, Zou Libin, Ouyang Ye
(Jiangxi Science and Technology Normal University,Nanchang Jiangxi,330013)
Two wheel self balancing trolley monitors the pitch state and the rate of state change through the attitude sensors such as gyroscopes and accelerometers,via the digital control center processing and calculation,and then sends the appropriate instructions to the motor driven by the acceleration forward or backward in order to maintain the balance of the body.This project uses STM32 microcontroller as the main controller, detects the status of the car using MPU6050 six sensors and two axis gyroscopes sensors and controls two motors by TB6612FNG,lets the car constantly in a state of balance between the old and the new,thus reals the two wheel car hardware control system.
Two wheel self balancing trolley; gyroscope; MPU6050 six axis sensor; accelerometer