两轮自平衡车实验平台的设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MPU6050初始化 MPU6050_init(0
读取MPU6050数据 IIC_6050()
VCC_5 V
图 3 电机驱动电路
VCC_3.3 V
进入卡尔曼滤波器得到倾角 Kalman()
倾角PID控制 PID()
10
4.7 uF
Q2
VCC_3.3 V
D10
1 IO 2 GND
O5
11
10 uF
21
AT 指令改变一些出厂的基本设置,如名字和密码等。HC-06
主要用来接收安卓手机发送的指令,接收到之后,把指令通过
串口发送给主控芯片,再由单片机控制电机,根据不同的指令
PA0 10 PA1 11
PA2 12
PA3 13 PA4 14
PA5 15 PA6 16 PA7 17
PA8 29
TX
30
RX
31
控制过程 :角速度和加速度经过闭环控制之后产生一个结果,
其运算结果用来改变 PWM 脉冲的占空比,进而分别控制了左
电机和右电机的转速。在两个电机之间加入二极管主要是为了
保护电路的安全运行。
表 1 引脚状态电机制动
电机A
IN1
IN2
电机B
IN3
IN4
正转
1
0
正转
1
0
反转
0
1
反转
0
1
停止
0
0
停止
0
0
——
9
1 uF
5 BOOT1 100 kΩ
图 2 STM32F103 微处理器的最小系统电路
2015年 / 第11期 物联网技术 89
智能处理与应用
Intelligent Processing and Application
来实现小车的左转、右转、前进和后退。HC-06 原理图如图 5
所示。
+5 V+12 V 100 uF 0.1 uF
收稿日期:2015-09-22 基金项目:2013年南京航空航天大学金城学院教育教学改革研究
项目(2 013 -Y- 0 4);2 014南京航空航天大学金城学院 “ARM控制器实用技术”精品课程(2014-J-05);2015 年南京航空航天大学金城学院嵌入式重点实验室建设 基金(20150006)
DOI:10.16667/j.issn.2095-1302.2015.11.038
智能处理与应用
Intelligent Processing and Application
两轮自平衡车实验平台的设计
王 恒,沈梦娇
(南京航空航天大学金城学院 自动化系,江苏 南京 211156)
摘 要:两轮自平衡小车具有重要的应用与理论研究意义。文中设计了两轮自平衡小车的实验平台,系统分为5个模块:电
STM32F103C8T6
VDD JNRST JTD1 JTMS JTCK
JTDO NRST
+5 V
JP1
12 34 56 78 9 10 11 12 13 14 15 16 17 18 19 20
JLINK
ຫໍສະໝຸດ Baidu
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
PB8 PB9 PB10 PB11 PB12 PB13 PB14 PB15
USB_DM 32
USB_DP 33
JTMS PB13 DIO 34
PA14 37
PA15 38
PC13 2 PC14 3 PC15 4
U2A
PA0-WKUP PA1 PA2 PA3 PA4 PA5 PA6 PA7
PA8 PA9 PA10 PA11 PA12 PA13 PA14 PA15
PC13-TAMPER-RTC PC14-OSC32_IN PC15-OSC32_OUT
VDDA 9 VDDA
VSSA 8
STM32F103C8T6
1 4.7U VDDA
6
22
7
22
11
1.5 kΩ
10
1.5 kΩ
GND GND GND GND
J6 2 1
JMP3
+5 V
JI0
1 2 3 4 5
CON5
VDD
8
10 kΩ
4
BOOT0
100 kΩ
6
7
0.1 uF 0.1 uF
8
0.1 uF
图 1 系统功能框图
智能处理与应用
Intelligent Processing and Application
2 硬件电路设计 2.1 电源管理模块
系统主要使用的电平为 12 V,5 V,3.3 V 共三种电平, 其中 STM32F103C8T6、MPU6050、HC-06 主要采用 3.3 V 供 电,电机驱动模块用 12 V 和 5 V 供电。所以,本设计总电源 使用 12 V 的锂电池供电,采用 LM2576 将锂电池进行降压为 5 V,再利用 LM1117 把得到的 5V 电平降为 3.3 V。 2.2 STM32F103 微处理器模块
1
1
——
1
1
2.4 姿态传感器模块
为了得到高精度的角度检测,系统采用 Invensense 公司
的 MPU6050,该姿态传感器同时集成了 3 轴加速度和 3 轴陀
螺仪,自带 16 位 AD 转换,加速度测量范围为 ±16 g(实际
应用仅为 ±2 g 范围),倾角角度测量范围不到1度。所以不需
要分别使用加速度计和陀螺仪,以及相应的 ADC 电路,但此
5 OSC_IN 6 OSC_OUT
44 BOOT0
7 NRST
VDD
USB_DM
VDD USB_DP
D1 LED0
3 330 1 kΩ
PA8 VDD
U2B BAT 1 VBAT
VDD VDD VDD
24 36 48
VDD_1 VDD_2 VDD_3
VSS_1 VSS_2 VSS_3
23 35 47
12 1 kΩ 0.1 uF
LED
22
4.7 kΩ
23
4.7 kΩ
3 EN BY 4
3.3 V LDO
0.01 uF
VCC_5 V J2CON4
14
SCL SDA
1 2 3 4
VCC_3.3 V
22
100 uF MB
Motor
MA Motor
23
0.1 uF
CMSIS 架构的固件库开发平台,软件版本为 MDK V4.12,它 支持常见的 ARM7,ARM9 和 ARM 最新内核的 CM3 系列微 处理器。
开始
STM32初始化 SystemInit(),Delay_init(),
NVIC_Configuration()
20
21
U1
PB1 PB0 PB6 PB5
1 7 10 12
IN1 IN2 IN3 IN4
PA0 PA1
6 11
ENA ENB
VSS VS
9 4
OUT1 OUT2 OUT3 OUT4
2 3 13 14
8
GND
ISENA ISENB
1 15
L298N
D12 D13 D14 D15 D16 D17 D18 D19
中图分类号:TP242.3
文献标识码:A
文章编号:2095-1302(2015)11-0088-04
0引言 两轮自平衡小车(two-wheeled self-balanced vehicle)或两
轮自平衡机器人(two-wheeled self-balanced robot)是一种类似 人类直立姿态的平衡控制系统,其核心问题是如何保证在各工 况下运动姿态的平衡控制及导航 [1]。两轮自平衡小车或机器人 系统是一个高阶次、不稳定、多变量、非线性、强耦合的系统 [2]。 其系统设计不仅要考虑机械结构的运动学设计 [3] ,也要考虑动 力学设计 [2]、能量设计 [4]、控制系统的参数辨识、控制系统的 滤波处理 [5] 等,然后建立相应的控制策略,设计确实可行的控 制器 [6],实现自平衡小车在各工况下的运动平衡控制。
自平衡小车的驱动电机为两个无刷直流电机(电机 A 为 左侧电机,电机 B 为右侧电机)。采用 L298N 芯片作为电机 驱动电路的主芯片,小车的不同状态运动通过电机的三种转 动方式(正转,反转,停止)实现,具体如表 1 所列。电机驱 动电 路原 理图如图 3 所 示。L298N 的 VSS 接 5 V 电源,VS 接 12 V 电 源。IN1、IN2、IN3、IN4 分 别 接 STM32 的 PB1、 PB0、PB6 和 PB5,ENA 接 PA0,ENB 接 PA1, 此接法不是 唯一的,可以根据程序中的端口设置进行相应的更改。具体的
源管理模块,微处理器模块,电机驱动模块,姿态传感器数据采集模块,以及蓝牙无线通讯模块。本设计从硬件电路,软件
设计对系统的5个模块分别进行了详细设计。最后,制作了两轮自平衡小车的原型,并给予了初步运动控制验证。该实验平台能
够初步实现自平衡功能,后续的研究将着重于对控制算法在该平台的验证研究。
关键词:两轮自平衡小车;数据融合;卡尔曼滤波;STM32
法后,再驱动电机控制模块运动以保持平衡,而蓝牙通讯模
块则通过手机设备控制系统的运行,同时,系统运行的数据
也可以上传到手机或电脑上。
电源管理模块 (LM2576, LM1117)
左、右电机驱动模块 (L298N)
姿态传感器数据采集模块 (MPU6050)
微处理器模块 (STM32F103C8T6)
蓝牙无线通讯模块 (HC-06)
两轮自平衡小车在实践应用上,可用于军事领域中的侦 查、排雷、单兵载人等,或作为日常生活中的短途交通工具 [7]。 然而,目前两轮自平衡小车更多的是其理论研究的意义,它是 检验各种控制理论控制性能的一个较好的实验平台 [8]。目前国 内不少院校都对两轮自平衡小车进行了研究,主要为哈尔滨工 业大学赵杰团队 [8],西安电子科技大学屈胜利团队 [9],北京工 业大学阮晓刚团队 [1, 2] 等。国外也对两轮自平衡小车有研究, 如 Sayidmarie[10] 等对两轮自平衡机器人上坡的平衡控制进行 了研究,Slavov[11] 等人基于线性二次型控制(linear-quadratic regulator,LQR)对两轮机器人进行了研究,Larimi[12] 等构建 了反作用轮系辅助的两轮小车的新型的稳定算法,Kim[13] 等建 立了两轮自平衡移动机器人的动态模型等。这说明两轮自平衡 小车不仅仅在应用需求上,尤其在学科理论需求上,对其研 ————————————————
PD0-OSC_IN PD1
BOOT0
NRST
VDD
18 PB0 19 PB1 20 BOOT1 39 JTDO PB3 40 JNRST PB4 41 PB5 42 PB6 43 PB7
45 PB8 46 PB9 21 PB10 22 PB11 25 PB12 26 PB13 27 PB14 28 PB15
系 统 采用 STM32F103C8T6 意 法半 导 体(ST) 的 32 位 ARM Cortex-M3 内核的微处理器。该处理器正常工作主频为 72 MHz,具有 12 bit 分辨率的 ADC,以及 16 bit 电机控制 PWM 定时器,2 个 I2C 接口(SMBus/PMBus)。该处 理 器可 应用于电机驱动,应用控制,医疗手持设备,游戏,GPS 平 台等多种场合,所以,本设计采用 STM32F103C8T6 具有一定 的合理性。其最小系统电路图如图 2 所示。 2.3 电机驱动模块
结合陀螺仪的快速响应特性和加速度传感器的长时间稳定特
性,得到小车的倾角。然后通过 PID 算法使小车能够处在一
个相对平衡的位置,从而保持直立的姿态。系统控制参数的
选择采用系统辨识的方法,在 Matlab 仿真平台得到系统的优
化参数,并写入编写好的 C 语言软件,通过 HC-06 蓝牙模块
可以使用 Android 手机控制小车实现前进、后退、左转、右转
等动作模式。
1 系统设计
本设计采用模块化设计思想,系统总体功能框图如图 1
所示,分为五个模块,分别为:电源管理模块,微处理器模块,
电机驱动模块,姿态传感器数据采集模块,以及蓝牙无线通
讯模块。电源管理模块负责整个系统的供电,微处理器模块
为系统的控制与数据处理核心,姿态数据采集模块为采集小
车的姿态(包括加速度和角速度),然后通过微处理器控制算
处数据不能简单采集使用,还需要经过微处理器卡尔曼滤波
融合算法才可得到倾角。姿态传感器模块电路如图 4 所示。
2.5 蓝牙无线通讯模块
自平衡小车系统可以通过无线方式和上位机或者手机进
行通讯,实现手机控制小车运行,并同时把数据上传到手机上。
本设计采用的是蓝牙模块 HC-06,此模块波特率可变,串口
电压为 3.3 V 或者 5 V,可以进行主从机切换,并且可以通过
88 物联网技术 2015年 / 第11期
究都具有重要的意义。因此,作为进行各种平衡控制理论研
究的第一步,对两轮自平衡小车的实验平台的研制具有非常重
要的意义。
本文主要设 计了两轮自平衡小车的实验平台。设 计采
用 STM32F103C8T6 为核心处理器进行控制,姿态检测选用
MPU6050 运动处理传感器,数据融合采用卡尔曼滤波算法,
读取MPU6050数据 IIC_6050()
VCC_5 V
图 3 电机驱动电路
VCC_3.3 V
进入卡尔曼滤波器得到倾角 Kalman()
倾角PID控制 PID()
10
4.7 uF
Q2
VCC_3.3 V
D10
1 IO 2 GND
O5
11
10 uF
21
AT 指令改变一些出厂的基本设置,如名字和密码等。HC-06
主要用来接收安卓手机发送的指令,接收到之后,把指令通过
串口发送给主控芯片,再由单片机控制电机,根据不同的指令
PA0 10 PA1 11
PA2 12
PA3 13 PA4 14
PA5 15 PA6 16 PA7 17
PA8 29
TX
30
RX
31
控制过程 :角速度和加速度经过闭环控制之后产生一个结果,
其运算结果用来改变 PWM 脉冲的占空比,进而分别控制了左
电机和右电机的转速。在两个电机之间加入二极管主要是为了
保护电路的安全运行。
表 1 引脚状态电机制动
电机A
IN1
IN2
电机B
IN3
IN4
正转
1
0
正转
1
0
反转
0
1
反转
0
1
停止
0
0
停止
0
0
——
9
1 uF
5 BOOT1 100 kΩ
图 2 STM32F103 微处理器的最小系统电路
2015年 / 第11期 物联网技术 89
智能处理与应用
Intelligent Processing and Application
来实现小车的左转、右转、前进和后退。HC-06 原理图如图 5
所示。
+5 V+12 V 100 uF 0.1 uF
收稿日期:2015-09-22 基金项目:2013年南京航空航天大学金城学院教育教学改革研究
项目(2 013 -Y- 0 4);2 014南京航空航天大学金城学院 “ARM控制器实用技术”精品课程(2014-J-05);2015 年南京航空航天大学金城学院嵌入式重点实验室建设 基金(20150006)
DOI:10.16667/j.issn.2095-1302.2015.11.038
智能处理与应用
Intelligent Processing and Application
两轮自平衡车实验平台的设计
王 恒,沈梦娇
(南京航空航天大学金城学院 自动化系,江苏 南京 211156)
摘 要:两轮自平衡小车具有重要的应用与理论研究意义。文中设计了两轮自平衡小车的实验平台,系统分为5个模块:电
STM32F103C8T6
VDD JNRST JTD1 JTMS JTCK
JTDO NRST
+5 V
JP1
12 34 56 78 9 10 11 12 13 14 15 16 17 18 19 20
JLINK
ຫໍສະໝຸດ Baidu
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
PB8 PB9 PB10 PB11 PB12 PB13 PB14 PB15
USB_DM 32
USB_DP 33
JTMS PB13 DIO 34
PA14 37
PA15 38
PC13 2 PC14 3 PC15 4
U2A
PA0-WKUP PA1 PA2 PA3 PA4 PA5 PA6 PA7
PA8 PA9 PA10 PA11 PA12 PA13 PA14 PA15
PC13-TAMPER-RTC PC14-OSC32_IN PC15-OSC32_OUT
VDDA 9 VDDA
VSSA 8
STM32F103C8T6
1 4.7U VDDA
6
22
7
22
11
1.5 kΩ
10
1.5 kΩ
GND GND GND GND
J6 2 1
JMP3
+5 V
JI0
1 2 3 4 5
CON5
VDD
8
10 kΩ
4
BOOT0
100 kΩ
6
7
0.1 uF 0.1 uF
8
0.1 uF
图 1 系统功能框图
智能处理与应用
Intelligent Processing and Application
2 硬件电路设计 2.1 电源管理模块
系统主要使用的电平为 12 V,5 V,3.3 V 共三种电平, 其中 STM32F103C8T6、MPU6050、HC-06 主要采用 3.3 V 供 电,电机驱动模块用 12 V 和 5 V 供电。所以,本设计总电源 使用 12 V 的锂电池供电,采用 LM2576 将锂电池进行降压为 5 V,再利用 LM1117 把得到的 5V 电平降为 3.3 V。 2.2 STM32F103 微处理器模块
1
1
——
1
1
2.4 姿态传感器模块
为了得到高精度的角度检测,系统采用 Invensense 公司
的 MPU6050,该姿态传感器同时集成了 3 轴加速度和 3 轴陀
螺仪,自带 16 位 AD 转换,加速度测量范围为 ±16 g(实际
应用仅为 ±2 g 范围),倾角角度测量范围不到1度。所以不需
要分别使用加速度计和陀螺仪,以及相应的 ADC 电路,但此
5 OSC_IN 6 OSC_OUT
44 BOOT0
7 NRST
VDD
USB_DM
VDD USB_DP
D1 LED0
3 330 1 kΩ
PA8 VDD
U2B BAT 1 VBAT
VDD VDD VDD
24 36 48
VDD_1 VDD_2 VDD_3
VSS_1 VSS_2 VSS_3
23 35 47
12 1 kΩ 0.1 uF
LED
22
4.7 kΩ
23
4.7 kΩ
3 EN BY 4
3.3 V LDO
0.01 uF
VCC_5 V J2CON4
14
SCL SDA
1 2 3 4
VCC_3.3 V
22
100 uF MB
Motor
MA Motor
23
0.1 uF
CMSIS 架构的固件库开发平台,软件版本为 MDK V4.12,它 支持常见的 ARM7,ARM9 和 ARM 最新内核的 CM3 系列微 处理器。
开始
STM32初始化 SystemInit(),Delay_init(),
NVIC_Configuration()
20
21
U1
PB1 PB0 PB6 PB5
1 7 10 12
IN1 IN2 IN3 IN4
PA0 PA1
6 11
ENA ENB
VSS VS
9 4
OUT1 OUT2 OUT3 OUT4
2 3 13 14
8
GND
ISENA ISENB
1 15
L298N
D12 D13 D14 D15 D16 D17 D18 D19
中图分类号:TP242.3
文献标识码:A
文章编号:2095-1302(2015)11-0088-04
0引言 两轮自平衡小车(two-wheeled self-balanced vehicle)或两
轮自平衡机器人(two-wheeled self-balanced robot)是一种类似 人类直立姿态的平衡控制系统,其核心问题是如何保证在各工 况下运动姿态的平衡控制及导航 [1]。两轮自平衡小车或机器人 系统是一个高阶次、不稳定、多变量、非线性、强耦合的系统 [2]。 其系统设计不仅要考虑机械结构的运动学设计 [3] ,也要考虑动 力学设计 [2]、能量设计 [4]、控制系统的参数辨识、控制系统的 滤波处理 [5] 等,然后建立相应的控制策略,设计确实可行的控 制器 [6],实现自平衡小车在各工况下的运动平衡控制。
自平衡小车的驱动电机为两个无刷直流电机(电机 A 为 左侧电机,电机 B 为右侧电机)。采用 L298N 芯片作为电机 驱动电路的主芯片,小车的不同状态运动通过电机的三种转 动方式(正转,反转,停止)实现,具体如表 1 所列。电机驱 动电 路原 理图如图 3 所 示。L298N 的 VSS 接 5 V 电源,VS 接 12 V 电 源。IN1、IN2、IN3、IN4 分 别 接 STM32 的 PB1、 PB0、PB6 和 PB5,ENA 接 PA0,ENB 接 PA1, 此接法不是 唯一的,可以根据程序中的端口设置进行相应的更改。具体的
源管理模块,微处理器模块,电机驱动模块,姿态传感器数据采集模块,以及蓝牙无线通讯模块。本设计从硬件电路,软件
设计对系统的5个模块分别进行了详细设计。最后,制作了两轮自平衡小车的原型,并给予了初步运动控制验证。该实验平台能
够初步实现自平衡功能,后续的研究将着重于对控制算法在该平台的验证研究。
关键词:两轮自平衡小车;数据融合;卡尔曼滤波;STM32
法后,再驱动电机控制模块运动以保持平衡,而蓝牙通讯模
块则通过手机设备控制系统的运行,同时,系统运行的数据
也可以上传到手机或电脑上。
电源管理模块 (LM2576, LM1117)
左、右电机驱动模块 (L298N)
姿态传感器数据采集模块 (MPU6050)
微处理器模块 (STM32F103C8T6)
蓝牙无线通讯模块 (HC-06)
两轮自平衡小车在实践应用上,可用于军事领域中的侦 查、排雷、单兵载人等,或作为日常生活中的短途交通工具 [7]。 然而,目前两轮自平衡小车更多的是其理论研究的意义,它是 检验各种控制理论控制性能的一个较好的实验平台 [8]。目前国 内不少院校都对两轮自平衡小车进行了研究,主要为哈尔滨工 业大学赵杰团队 [8],西安电子科技大学屈胜利团队 [9],北京工 业大学阮晓刚团队 [1, 2] 等。国外也对两轮自平衡小车有研究, 如 Sayidmarie[10] 等对两轮自平衡机器人上坡的平衡控制进行 了研究,Slavov[11] 等人基于线性二次型控制(linear-quadratic regulator,LQR)对两轮机器人进行了研究,Larimi[12] 等构建 了反作用轮系辅助的两轮小车的新型的稳定算法,Kim[13] 等建 立了两轮自平衡移动机器人的动态模型等。这说明两轮自平衡 小车不仅仅在应用需求上,尤其在学科理论需求上,对其研 ————————————————
PD0-OSC_IN PD1
BOOT0
NRST
VDD
18 PB0 19 PB1 20 BOOT1 39 JTDO PB3 40 JNRST PB4 41 PB5 42 PB6 43 PB7
45 PB8 46 PB9 21 PB10 22 PB11 25 PB12 26 PB13 27 PB14 28 PB15
系 统 采用 STM32F103C8T6 意 法半 导 体(ST) 的 32 位 ARM Cortex-M3 内核的微处理器。该处理器正常工作主频为 72 MHz,具有 12 bit 分辨率的 ADC,以及 16 bit 电机控制 PWM 定时器,2 个 I2C 接口(SMBus/PMBus)。该处 理 器可 应用于电机驱动,应用控制,医疗手持设备,游戏,GPS 平 台等多种场合,所以,本设计采用 STM32F103C8T6 具有一定 的合理性。其最小系统电路图如图 2 所示。 2.3 电机驱动模块
结合陀螺仪的快速响应特性和加速度传感器的长时间稳定特
性,得到小车的倾角。然后通过 PID 算法使小车能够处在一
个相对平衡的位置,从而保持直立的姿态。系统控制参数的
选择采用系统辨识的方法,在 Matlab 仿真平台得到系统的优
化参数,并写入编写好的 C 语言软件,通过 HC-06 蓝牙模块
可以使用 Android 手机控制小车实现前进、后退、左转、右转
等动作模式。
1 系统设计
本设计采用模块化设计思想,系统总体功能框图如图 1
所示,分为五个模块,分别为:电源管理模块,微处理器模块,
电机驱动模块,姿态传感器数据采集模块,以及蓝牙无线通
讯模块。电源管理模块负责整个系统的供电,微处理器模块
为系统的控制与数据处理核心,姿态数据采集模块为采集小
车的姿态(包括加速度和角速度),然后通过微处理器控制算
处数据不能简单采集使用,还需要经过微处理器卡尔曼滤波
融合算法才可得到倾角。姿态传感器模块电路如图 4 所示。
2.5 蓝牙无线通讯模块
自平衡小车系统可以通过无线方式和上位机或者手机进
行通讯,实现手机控制小车运行,并同时把数据上传到手机上。
本设计采用的是蓝牙模块 HC-06,此模块波特率可变,串口
电压为 3.3 V 或者 5 V,可以进行主从机切换,并且可以通过
88 物联网技术 2015年 / 第11期
究都具有重要的意义。因此,作为进行各种平衡控制理论研
究的第一步,对两轮自平衡小车的实验平台的研制具有非常重
要的意义。
本文主要设 计了两轮自平衡小车的实验平台。设 计采
用 STM32F103C8T6 为核心处理器进行控制,姿态检测选用
MPU6050 运动处理传感器,数据融合采用卡尔曼滤波算法,