当前位置:文档之家› 基于STM32自平衡车系统设计

基于STM32自平衡车系统设计

第32卷第6期 2017年l2月 北京信息科技大学学报 Journal of Beijing Information Science&Technology University V()1.32 NO.6 Dec.2Ol7 

文章编号:1674—6864(2017)06—0074—05 DOI:10.16508/j.cnki.11—5866/n.2017.06.016 

基于STM32自平衡车系统设计 

王世峰 

(北京信息科技大学 自动化学院,北京100192) 

摘 要:针对两轮自平衡车的多变量、非线性、本质不稳定、高耦合的运动控制特点,提 

出了利用STM32控制两轮平衡车系统方案,通过相关控制算法来对其进行平衡控制。其主要由主 控MCU模块、姿态测量模块、蓝牙通讯模块、直流电机模块和电源模块组成。姿态测量模块将测 量的数据传送给主控MCU模块,通过卡尔曼滤波算法对采集的数据处理得到小车姿态信息,然后 

应用PID算法进行处理,将处理的控制命令发送给直流电机的驱动模块,驱动模块直接控制直流 电机的转速,产生向前或向后的加速度,来达到小车的自平衡。实验证明其工作性能良好,实现了 

其设计目标。 关 键 词:自平衡;姿态检测;PID算法;STM32F103ZErr6;卡尔曼滤波 中图分类号:TP 211 文献标志码:A 

Self-balancing vehicle system design based on STM32 

WANG Shifeng (School of Automation,Beijing Infmvnation Science&Technology University,Beijing 100192,China) Abstract:The two—wheeled self balancing vehicle is multivariable,nonlinear,unstable and high coupling in its motion contro1.A plan to control the two—wheeled balancing vehicle based on STM32 is 

put forward to achieve balance control by relevant control algorithm.It is mainly composed of main control MCU module,attitude measurement module,Bluetooth communication module,DC motor 

module and power module.The attitude measurement module measures data transmitted to the main control module MCU.Vehicle attitude information is gained from data processed through the Kalman 

filter algorithm.The PID algorithm is applied to process control commands to send to the DC motor drive 

module.The driver module directly controls the speed of DC motor,produces forward or backward acceleration to achieve self balancing of the vehicle.It is proved by experiment that the work 

performance is good and the design goal is achieved. Key words:self—balance;attitude detection;PID algorithm;STM32F103ZET6;Kalman filter 

0 引言 

控制技术的快速发展,加快了移动机器人方面 

的研究。目前,移动机器人 面临着一些新挑战。 例如面对一些空间狭窄、无法转角的空间,提出了两 轮自平衡机器人_2 概念,进而发展出了可以代步的 

两轮自平衡车 。 

根据两轮自平衡车的工作原理,本文作者设计 了一种嵌入式运动控制系统,使用运动传感器来实 现车体倾角和倾角角速度的测量,利用相应的算法 

收稿日期:2017-04-l1 作者简介:王世峰,男,硕士研究生。 来精确地计算小车实时的姿态信息,通过PID控制 

算法来实现小车的自平衡控制。 

1 系统总体架构 

本文设计的两轮平衡车系统主要南主控MCU 

模块、姿态测量模块、蓝牙通讯模块、直流电机模块、 电源模块构成。主控MCU模块和姿态测量模块是 

电气部分的核心,上面包含STM32控制芯片 、 MPU6050陀螺仪、HC-05主从一体蓝牙模块、 

TB6612FNG直流电机驱动模块等。MPU6050负责 第6期 王世峰:基于STM32自平衡车系统设计 75 

测量姿态,并以数字电信号传递给STM32单片 

机 ,STM32按照预定的控制规则分析计算,输出 控制信号到TB6612FNG直流电机驱动,从而实现控 

制电动机作出相应动作而实现平衡目的。其系统结 

构如图1所示。 

图1系统结构框图 

2硬件设计 

2.1 STM32F103ZETl6最小系统以及外扩芯片 

STM32F103ZET6芯片外围电路连接了2个不 

U5 

VCC VCC 

GND GND S61LV5121 同频率的晶体振荡器,外部高频晶振为8 MHz,用作 PLL倍频用,外部低频晶振为32 kHz,主要用于系统 

待机或低功耗时用。电路中设计的LED用于显示 

电源及程序下载状态。复位功能键可解决程序出现 意外时的问题。VREF用于设置芯片的参考电压。 

为了两轮自平衡车后续功能的开发,对数据存储的 要求,在设计最小系统硬件时额外添加了部分外扩 

存储芯片,其中包括一个8 MB的外扩Flash w25X16,一个1 MB的外扩SRAM IS61LV51216芯 

片,一个8 kB的EEPROM AT2408C。最小系统如图 

2所示,部分外扩存储芯片电路,如图3所示。 

图2 STM32F103最小系统图 

VCC 

图3部分外扩存储芯片图 

2.2电源模块 TB6612FNG电机驱动模块采用12 V锂电池作 

为两轮自平衡车的动力源。采用LM2596S将12 V 转换成5 V电源。单片机电源电路采用AMS1117- 

3.3稳压芯片将电压降到3.3 V,为单片机供电。电 

源模块电路如图4所示。 2.3姿态测量模块 

姿态采集装置采用MPU6050。采用的 MPU6050是9轴运动处理传感器,可完成对3轴加 

速度、3轴角速度、3轴姿态角度的测量。MPU6050 中的3个16位的ADC用来将芯片测量的模拟电信 

号转化为稳定可输出的数字电信号,通过I2C接口 可以输出一个9轴的数字电信号。可选外部时钟输 

入32.768 kHz或19.2 MHz。MPU6050引脚功能如 

表1所示。 Ol 2 3 4 5 6 7 8 9 O1 2 34 5 6 7 日】E_T E一巳 舵 M=2 能 枷川 枷 枷 旺 皿哑呲 O●2 3 4 5 6 7 8 9m¨ BH m 的 的的的 ~~一一一~~~~~~~~~PPPP P P P P PPPPPP

 76 北京信息科技大学学报 第32卷 

U4 rN OUT GNDOUT AMSI117 ,一 …~ 【330 ̄tF - —— ——————————— 

图4电源模块电路 

表1 MPU6050引脚功能表 名称 功能 VCC 模块电源,接3.3 V或5 V直流电源 RX 串行数据输入端,1TrL电平 TX 串行数据输出端,TTL电平 GND 地线 SCL 1 C时钟线 SDA I C数据线 C21 Cap 104 

2.4直流减速电机模块 

SK3530是直流减速电机,减速比1:30。直流 减速电机接线方法,从白线到蓝线依次为:白线接A 

相;绿线接B相;红线接3.3 V至5V电源;黑线接 

GND;黄线和蓝线为电机2根接线柱的线,接 TB6612FNG电机驱动的A01、A02或B01、B02。 

电机正反转控制:正转A相超前B相90度,即 

A相进入下降沿,B相是高电平,反转时A相落后B 相9O度,即A相进入下降沿,B相是低电平。通常 

用法:A相接人单片机的10中断口,B相接人单片 机的普通10口。 

SK3530在6 V和12 V电压下的参数,如表2 所示。 

P1 8 6 4 

l I4eader 表2 SK3530在6 V和l2 V电压下的参数 

2.5直流电机驱动模块 

本设计采用TB6612FNG直流电机驱动模块,有 

4种电机状态:正转、反转、停止、制动。PWM最高 支持100 kHz,可以独立双向控制2个直流电机。 

TB6612FNG的使用方法:STBY连接ARM单片 

机的IO,低电平时,电机停止转动,通过对AINI、 

AIN2、BIN1、BIN2四个端口赋高低电平来控制正反 

转,VM口需要连接12 V以内直流电源,VCC接5 V 

直流电源,GND为接地端。A01、A02、B0I、B02分 

别接2个电机的2个脚,PWMA接单片机的PA6 

口,PWMB接单片机的PA7口。 

驱动1路AIN1、AIN2和驱动2路BIN1、B1N2 

真值表如表3所示。TB6612FNG模块内部电路如 图5所示。 

表3驱动1路AIN1、AIN2和驱动2路BIN1、BIN2真值表 

2.6蓝牙通讯模块 手机端发出的姿态控制信号,由平衡车的HC. 

O5主从一体蓝牙模块控制。HC-05主从一体蓝牙 模块主要用于短距离的无线通讯。蓝牙模块是由监 

牙芯片、PCB板、外围电路元件等几部分构成。HC 

VCC 

:LC1上C2 ∞ L .1 —L0.1gF_】10 ̄tF 

GND GND GND 

l 2 

4 5 J 6 . 7 I R 9 10 8 . 1 1 I 1 2 

图5 TB6612FNG模块内部电路图 P2 1 2 3 4 5 6 

相关主题