基于单片机的两轮平衡车设计

合集下载

1万8字 基于STM32单片机的两轮平衡车设计

1万8字 基于STM32单片机的两轮平衡车设计

论文题目:基于STM32单片机的两轮平衡车设计摘要本文主要讲述了如何使用微控制器STM32F103C8T6实现控制两个直流步进电机使平衡车能够达到平衡状态且可用手机蓝牙遥控。

本文首先对毕业设计进行方案的论证和选择。

本设计选择了ST公司的STM32F1系列单片机作主控MCU,采用编码直流无刷步进电机,TB6612FNG芯片作步进电机驱动,姿态传感器MPU6050作陀螺仪,0.96寸OLED液晶屏作显示屏,蓝牙模块作为特殊的通信串口与手机APP进行通信,锂电池电源在直流稳压后提供各个模块的所需的工作电压,使平衡车能够直立平衡。

然后本文介绍了STM32和系统的硬件电路设计方案,对直流稳压电路、姿态传感器、步进电机、OLED屏显示电路、驱动电路设计进行分析介绍,对STM32系统的设计流程、卡尔曼滤波算法及PID算法(步进电机控制算法)的原理和实现进行详细的说明,进行上位机程序的调试和工作的逻辑进行讲解。

最后本文讲述了毕业设计的机械安装与整机性能测试部分。

本设计在机械安装全部完成后,对上位机和通电后实际情况进行性能测试,通过观察数据和现象来判断平衡车系统的性能效果,在不同状态和场合下测试平衡车的抗干扰以及运动能力。

关键词:STM32,平衡,步进电机,互补滤波,PIDAbstractThis paper mainly describes how to use the microcontroller STM32F103C8T6 to realize the control of two dc stepper motors so that the balance car can reach the balance state and the bluetooth remote control of mobile phones.This article first carries on the demonstration and the choice to the graduation project project. This design chose the ST's STM32F1 series single chip microcomputer as main control MCU, using encoding brushless dc stepper motor, TB6612FNG chip for step motor drive, position sensors MPU6050 gyroscope, 0.96 inch OLED display LCD screen, bluetooth module as a special communication serial communication with the phone APP, lithium battery power after the dc voltage to provide various modules of the working voltage, you need to make balance of the car can upright balance.Then this paper introduces the STM32 and system design of hardware circuit, the dc voltage circuit, posture sensor, stepper motor, OLED display circuit, drive circuit design analysis is introduced, design process of the STM32 system, kalman filtering algorithm and PID algorithm (stepper motor control algorithm) of detail, the principle and implement of PC logic of the program debugging and work.Finally, this paper describes the graduation design of mechanical installation and machine performance testing part. After the mechanical installation is completed, the design tests the performance of the upper computer and the actual situation after electrification, judges the performance effect of the balance car system by observing data and phenomena, and tests the anti-interference and movement ability of the balance car in different states and occasions.Key words:STM32, Balance, Stepper motor, Complementary filter, PI目录摘要 (Ⅰ)Abstract (Ⅱ)第一章绪论 (1)1.1平衡技术的发展 (1)1.2 设计意义和应用背景 (1)1.2.1设计意义 (1)1.2.2 应用背景 (2)1.3主要工作及结构安排 (2)第二章系统方案设计 (3)2.1平衡原理 (3)2.2平衡小车的性能要求 (4)2.3系统总体设计框图 (4)2.4系统方案论证及选型 (5)2.4.1主控芯片MCU的选型 (5)2.4.2直流步进电机的选型 (5)2.4.3电机驱动的选型 (5)2.4.4解姿态算法的选型 (6)2.5本章小结 (6)第三章系统硬件设计 (7)3.1 STM32C8T6的核心板 (7)3.1.1 STM32最小系统 (8)3.1.2启动模式BOOT[1:0] (9)3.1.3 USB转TTL电路 (9)3.1.4 SWD接口 (11)3.2直流稳压电路 ....................................................................................... 错误!未定义书签。

基于STM单片机的平衡车设计研究

基于STM单片机的平衡车设计研究

基于STM单片机的平衡车设计研究一、引言1. 平衡车原理平衡车是一种基于倒立摆的原理进行设计的交通工具。

它通过两个电动机驱动车轮,通过控制车轮的转速和方向来实现平衡车的前后倾斜和转向。

在使用平衡车时,通过重心的变化和倾斜传感器的检测,来控制电动机的转速和方向,从而保持平衡车的稳定状态。

基于STM单片机的平衡车设计,利用STM单片机的强大性能和丰富的外设接口,对平衡车进行智能化控制和调节,提高了平衡车的稳定性和性能。

2. STM单片机原理STM单片机是一种基于ARM内核的嵌入式处理器,具有强大的计算能力和丰富的外设接口。

它可以方便地与各种传感器和执行器进行连接和通信,实现智能控制和调节。

在基于STM单片机的平衡车设计中,通过连接倾斜传感器、加速度传感器和编码器等传感器,利用STM单片机的计算能力和通信能力,实现对平衡车的智能控制和稳定调节。

1. 硬件设计在基于STM单片机的平衡车设计中,需要搭建一个完整的硬件系统,包括电动机驱动模块、倾斜传感器模块、加速度传感器模块、编码器模块等。

通过这些硬件模块与STM单片机进行连接,实现对平衡车的智能控制和稳定调节。

在基于STM单片机的平衡车设计中,需要编写相应的控制程序,实现对平衡车的智能控制和稳定调节。

通过对倾斜传感器和加速度传感器的数据进行采集和处理,结合编码器的反馈信息,实现对电动机的速度和方向的控制,从而保持平衡车的稳定状态。

3. 系统调试在完成硬件设计和软件设计后,需要对整个系统进行调试和测试。

通过对传感器数据的采集和处理,以及对电动机的控制和调节,不断优化和调整系统的控制算法和参数,达到平衡车稳定运行的效果。

四、基于STM单片机的平衡车设计应用与展望1. 应用基于STM单片机的平衡车设计在智能交通工具、科技展示和娱乐器械等领域有着广泛的应用。

它不仅可以为人们提供便捷的出行方式,还可以作为科技展示品和娱乐器械,受到了越来越多人的关注和喜爱。

2. 展望随着科技的不断发展,基于STM单片机的平衡车设计将会越来越智能化和多样化。

基于STC单片机的两轮平衡车设计

基于STC单片机的两轮平衡车设计

的速度信息,通过 PID 算法将 PWM 输出并加以融合,从而实现小车的速度与方向控制。
关键词:STC8A8K64S4A12;角度检测;PID 算法;互补滤波
中图分类号:TP368.1;TP242
文献标识码:A
文章编号:1003-5168(2021)09-0015-03
Design of Two-Wheel Balancing Car Based on STC Single Chip
采用重力加速度陀螺仪传感器 MPU-6050 获取重力加速度和角度数据,通过互补滤波对获取的数据进行数据
融合从而得到小车姿态。经过 PID 算法处理后,系统输出 PWM(脉冲宽度调制)控制信号到电机驱动芯片
BTN7971B,以控制小车的两个电机的正反转和转速,使小车保持平衡状态。同时,使用旋转编码器获取小车
1 硬件系统的组成
小车硬件电路分为主控板和驱动电路版,上面分别 集成了各个模块,通过接口和尼龙柱连接,安装效果如图 1 所示。小车的供电可以选择电池或者超级电容,超级电 容具有快速充放电的特性,使用超级电容时,要配备单独 的稳压模块将快速下降的电压稳定在某一值。
设计车辆模型的电路时,人们需要根据接口和处理 数据量选择合适的单片机,并逐步设计其他模块,形成完 整的系统。系统的输入与输出包括五部分。一是 I2C 数 字接口(2 路 IO 模拟 I2C 数字接口),用于连接 MPU-6050
收稿日期:2021-02-13 作者简介:戴庆(1999—),男,本科在读,研究方向:计算机科学与技术。
Copyright©博看网 . All Rights Reserved.
·16·
基于 STC 单片机的两轮平衡车设计
模块;二是 PWM 接口,控制车模电机双方向运行,这里使 用的是 H 桥驱动,所以需要 4 路;三是串行通信接口 SCI (UART,即通用异步收发器),用于程序的下载和调试以 及蓝牙遥控;四是外部中断,用于编码器测速;五是 IO 接 口,连接一些 IO 设备,如超声波、红外传感器等。

基于单片机的智能两轮自平衡车的设计

基于单片机的智能两轮自平衡车的设计

TECHNOLLGY APPLICATION基于单片机的智能两轮自平衡车的设计■■沈阳工学院:赵一澎■■唱红■■夏靖坤■何金■刘莹1.■引言如今移动机器人面临的环境和任务越来越繁杂,在这种情况下,就需要移动机器人必须能够适应一些复杂的环境和危险的任务。

因此开展对两轮自平衡小车的研究,这项研究在该领域的科研水平具有很重要的现实意义。

1.1 两轮自平衡小车的研究意义在面临一些复杂环境和艰巨的任务时,移动机器人通常会碰到一些狭隘的危险工作,在面对这样如此艰难的环境,研究者们针对移动机器人如何灵活快捷的执行任务的问题进行了深度的研究。

正是在这样一个背景下两轮自平衡小车的概念被提出来。

两轮自平衡小车的优点在于可以适应复杂的环境和控制任务,可以保持车身的平衡,在安防或者军事上会有更广阔的应用前景。

1.2 两轮自平衡小车的技术1.2.1 数学建模建立系统的模型,建立的重点在于动力学方面,两轮自平衡小车的结构主要由车身和双轮子两部分构成。

对两轮自平衡小车的建模方法,采用经典的力学方法,对小车进行受力分析,可分为车轮模型和车身模型两部分,最后通过对两者的稳定型和能观性的分析判断出系统的最优状态方程。

1.2.2 姿态检测两轮自平衡小车通过检测小车的姿态来对小车进行控制。

加速度计和陀螺仪等惯性传感器可以实时、准确的检测两轮自平衡车的倾角。

因此,采用陀螺仪和加速度两个传感器相结合,通过融合的算法对于两轮自平衡小车来说是实现有效控制的关键所在。

1.2.3 控制算法控制技术是运动控制的核心,两轮自平衡车属于本质不稳定系统,利用传统的PID技术进行可行性分析,传感器将车体的运动速度和倾角等信息传递给系统控制器,是车轮转速与角度值保持一致,系统控制器将最终命令传递给电机驱动器来完成系统的闭环控制。

2.■系统概述两轮自平衡小车的组成很简单,保持小车平衡和运动都是通过控制两个车轮完成的。

在未对系统进行控制时,小车处于静止的状态,此时的车身的状态可能会出现前倾或后倾。

基于单片机的两轮自平衡车控制系统设计

基于单片机的两轮自平衡车控制系统设计

基于单片机的两轮自平衡车控制系统设计摘要两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定;本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合;系统选用STC公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID 算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态;整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态;通过蓝牙,还可以控制小车前进,后退,左右转;关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法Design of Control System of Two-Wheel Self-Balance Vehicle based onMicrocontrollerAbstractTwo-wheel self-balance vehicle is a kind of highly unstable two-wheel robot. The characteristic of two-wheel vehicle is the nature of the instability as traditional inverted pendulum, and effective control must be exerted if we need to make it stable. This paper presents a design scheme of two-wheel self-balance vehicle. We need using gravity accelerometergyroscope sensor MPU6050 for the inclination angle of vehicle, and using complementary filter for the data fusion of gyroscope and accelerometer. We choose an 8-bit microcontroller named STC12C5A60S2 from STC Company as main controller of the control system. The main controller output control signal, which is based on the data from the sensors, to the motor drive chip named TB6612FNG for controlling two motors of vehicle, and keeping the vehicle in balance. After the completion of the control system, the vehicle can achieve autonomous balance under the conditions of unmanned intervention, the vehicle can adjust automatically and restored to a stable state quickly in the case of giving appropriate interference as well. In addition, we can control the vehicle forward, backward and turn around. Key words: Two-Wheel Self-Balance Vehicle; Accelerometer; Gyroscope; Data fusion;Complementary filter; PID algorithm1 绪论自平衡小车的研究背景近几年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前机器人研究领域的一个重要组成部分,并且其应用领域日益广泛,其所需适应的环境和执行的任务也更复杂,这就对移动机器人提出了更高的要求;比如,户外移动机器人需要在凹凸不平的地面上行走,有时机器人所需要运行的地方比较狭窄等;如何解决机器人在这些环境中运行的问题,已成为现实应用中所需要面对的一个问题;两轮自平衡小车就是在这些的需求下所产生的;这种机器人相对于其他移动机器人的最显着特点是:采用了两轮共轴、各自独立驱动的方式工作,车身重心位于车轮轴上方,通过车轮的前后滚动来保持车身的动态平衡,并可以在直立平衡状态下完成前进、后退、左右转等任务;正是由于其特殊的构造,两轮自平衡小车适应地形变化的能力较强,且运动灵活,可以胜任一些复杂环境中的工作;两轮自平衡车自面世以来,一直受到世界各国机器人爱好者和研究者的关注,这不仅是因为两轮自平衡车具有独特的外形和结构,更重要的是因为其自身的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高的研究价值;早在1987年,日本电信大学教授山藤一雄就提出了两轮自平衡机器人的概念;这个基本的概念就是用数字处理器来侦测平衡的改变,然后以平行的双轮来保持机器的平稳;本世纪初;美国发明家狄恩·卡门与他的DEKA公司研发出了可以用于载人的两轮自平衡车,并命名为赛格威,投入市场后,引发了自平衡车的流行;由于两轮自平衡车有着活动灵活,环境无害等优点,其被广泛应用于各类高规格社会活动中,目前该车已用于奥运会、世博会、机场、火车站等大型场合;自平衡小车研究意义由于两轮自平衡小车具有结构特殊、体积小、运动灵活、适应地形变化能力强、能够方便的实现零半径回转、适合在拥挤和危险的空间内活动、可以胜任一些复杂环境里的工作;因此两轮自平衡车有着广泛的应用前景,其典型应用包括代步工具、通勤车、空间探索、危险品运输、高科技玩具、控制理论测试平台等方面;目前自平衡车的应用如自平衡的代步车正在流行开来;因此两轮自平衡车的研究很有意义;论文的主要内容本论文主要叙述了基于单片机的两轮自平衡车控制系统的设计与实现的整个过程;主要内容为两轮自平衡小车的平衡原理,直立控制,蓝牙控制;整个内容分为六章,包括绪论、课题任务与关键技术、系统原理概述、系统硬件设计、系统软件设计和系统的机械安装及调试;第一章主要讲解了课题的研究背景及意义,国内外研究现状;第二章主要讲解了设计的主要任务与所需的关键技术;第三章主要讲解了两轮自平衡小车控制系统的直立控制原理,转向控制原理;第四章主要讲解了系统的硬件设计,介绍了自平衡小车控制系统的硬件构成,主控芯片STC12C5A60S2的结构及组成,以及稳压电源模块,倾角测量模块,直流电机驱动模块,蓝牙控制模块和两轮测速模块的设计;第五章主要讲解了软件设计的算法功能与框架,主要描述了控制系统的程序实现以及PID算法的使用;第六章主要讲解了系统的调试与参数整定;最后总结与展望,总结本设计的各个模块,并对两轮自平衡小车的优化方向进行简要的阐述;2 课题任务与关键技术主要任务本文研究并设计了一种基于单片机的两轮自平衡小车控制系统,实现了两轮小车的自主直立控制与蓝牙控制功能;系统采用STC12C5A60S2单片机作为核心控制单元,通过增加各种传感器,设计相应电路并编写相应程序完成平衡控制与蓝牙控制;系统需要利用加速度计和陀螺仪获得车体的倾角和角速度,并对数据进行互补滤波融合;通过编码器获得两轮的速度信息;根据获得的数据信息对速度和倾角进行闭环控制;加入蓝牙通信控制,将所有输出数据进行叠加,输出至驱动芯片,实现对小车的控制;关键技术系统设计两轮自平衡车的系统设计包括:车身机械结构设计,硬件系统设计和软件系统设计;在机械结构上必须保持小车重心的稳定性,才能避免控制系统过于复杂;硬件系统必须包含自平衡车所需的所有电子系统与电气设备;软件系统则负责车身平衡控制与目标效果的实现;数学建模模型的建立有助于控制器的设计,以及控制系统各项参数的大概确定;模型的建立主要使用牛顿力学定律;姿态检测两轮自平衡车是一个本质不平衡的系统,控制系统对小车的精确控制依赖于姿态检测系统对车身姿态及运动状态的精确检测;目前,一般采用由陀螺仪和加速度计等惯性传感器组成的姿态检测系统对车身倾角进行实时、准确的检测;但是由于惯性传感器自身固有的特性,随着温度、震动等外界变化,会产生不同程度的噪声与漂移,因此必须采用一些滤波算法,对加速度计和陀螺仪所采集的数据进行融合,使测量角度更加真实稳定;控制算法两轮自平衡车所实现的平衡是一种动态的平衡;在遇到外界干扰时,需要通过控制算法来快速将小车恢复至平衡状态;传统的PID算法在各类工业场合有着广泛的应用,完全可以满足本控制系统的要求,因此本控制系统设计采用PID控制算法;3 系统原理分析控制系统任务分解根据系统要求,小车必须能够在没有外界干预的情况下依靠两个同轴安装的车轮保持平衡,并完成前进,后退,左右转等动作;相对于四轮车,控制系统的任务更为复杂,为了能解决该问题,首先将复杂的问题分解成简单的几个问题进行讨论;对系统要求进行分析,可知维持小车直立,并在受到外界干扰后迅速恢复稳态,完全依赖于一对直流电机对车轮的驱动;因此本控制系统的设计可以从对电机的控制着手,控制电机的转速以及转向来实现对小车的控制;小车的控制任务可以分解成以下三个基本任务:(1)控制小车直立:通过控制两个电机的转向保持小车的直立状态;(2)控制小车车速:通过控制两个电机的转速实现车速控制;(3)控制小车转向:通过控制两个电机的转速差实现转向控制;以上三个任务都是通过控制小车两个车轮的驱动电机完成的;直流电机的控制最终取决于电机两端输入的电压大小,将电机近似认为处于线性状态,因此上述三个基本任务可以等效成三种不同控制目标的电压,将这三种电压进行叠加后,便可以得到最终所需的电压,并将其施加在电机上以达到所追求的控制效果;在这三个任务中,保持小车平衡是关键,三个任务执行的优先级为:平衡控制>速度控制>转向控制;由于小车同时受到三种控制的影响,从平衡控制角度来看,其他两个控制就成为了它的干扰;因此对小车速度、方向的控制应该尽量保持平滑,以减少对平衡控制的干扰;上述三种控制各自独立进行,它们各自假设其他两个控制都已经达到稳定;比如控制小车加速和减速的时候,平衡控制一直在起作用,它会自动改变小车的倾角,使小车实现加速和减速;控制原理生活中有很多直立控制的例子,例如一个正常人可以经过简单的练习,让一根直木棒在水平的掌心中保持直立;这需要两个条件:一是托着木棒的手掌可以移动;二是眼睛可以观察到木棒的倾斜角和倾斜趋势角加速度;可以通过手掌的移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立;这两个条件缺一不可,这就是控制中的负反馈机制;单,因为小车有两个车轮着地,因此车体只会在一个平面内发生倾斜;控制车轮转动便可抵消倾斜的趋势从而保持车体直立;数学模型二轮自平衡小车在建模时可以将其简化为倒立摆,便于进行受力分析并建立其数学模型,从而更好的设计控制系统;图 单摆模型与倒立摆模型通过对单摆模型的观察可知,当物体离开平衡位置后会受到重力与线的合作用力,驱使重物回复至平衡位置,并进行周期运动,由于空气阻力的存在,单摆最终会停在平衡位置;可以得出,单摆保持平衡的条件有两点:(1) 受到与位移方向相反的回复力作用;(2) 受到和运动速度相反的阻尼力作用;如果没有阻尼力的作用,单摆会在平衡位置左右晃动无法停止,如果阻尼力过小,单摆会在平衡位置震荡,如果阻尼力过大,则单摆的回复时间将变长,因此存在一个临界阻尼系数,使得单摆停止在平衡位置所需时间最短;车体垂直,车车体向前倾车体向后倾斜,图 通过车轮控制车体平衡倒立摆在偏离平衡位置时,受到的合力与位移方向相同,因此倒立摆不能像单摆一样稳定在垂直位置,并且会加速偏离平衡位置直至倒下;为了让倒立摆能像单摆一样平衡在稳定位置,只能通过增加额外受力使回复力与位移方向相反;控制车轮做加速运动,以小车作为参考系,重心受到一个额外的惯性力,与车轮加速度大小相同,方向相反;因此倒立摆所受到的回复力为F =mgsinθ−macosθ 3-1根据控制系统的特性,角θ需要控制在很小的范围内,并且假设控制车轮加速度与角θ成正比,比例系数为k 1,因此上式可近似处理为F =mgθ−mk 1θ 3-2此时,只要k 1>g ,回复力的方向便和位移方向相反,此时小车可以恢复到平衡位置;为使小车能在平衡位置尽快的稳定下来,还需要有阻尼力,阻尼力与角速度方向相反,大小成正比;式3-2可变为 F =mgθ−mk 1θ−mk 2θ′ 图 小车受力分析mgsinθ−macosθmgθ m3-3式中,k1,k2均为比例系数,θ为小车倾角,θ′为角速度;只要满足k1>g,k2>0,便可以将小车维持在直立状态;k2是小车回到垂直位置的阻尼系数,选取合适的阻尼系数可以保证小车可以尽快稳定在垂直位置;因此为了控制小车稳定,需要精确的测量小车倾角θ的大小和角速度θ′的大小,并以此控制车轮的加速度;4 系统硬件设计本控制系统主要由以下几个模块组成:STC12C5A60S2单片机最小系统、电源管理模块、车身姿态感应模块、电机驱动模块、速度检测模块、蓝牙模块,各模块关系图如下所示:图硬件设计总体框图STC12C5A60S2单片机介绍本控制系统采用STC12C5A60S2单片机作为控制核心;该单片机是深圳宏晶科技有限公司的典型单片机产品,采用了增强型8051内核,片内集成了60KB程序Flash、1KB数据FlashEEPROM、1280字节RAM、2个16位定时/计数器、44根I/O口线、两个全双工异步串行口UART、高速同步通信端口SPI、8通道10位ADC、2通道PWM/可编程计数器阵列/捕获/比较单元PWM/PCA/CCU、MAX810专用复位电路和硬件看门狗等资源;STC12C5A60S2具有在系统可编程ISP功能和在系统调试ISD功能,可以省去价格较高的专门编程器,开发环境的搭建非常容易,并且该单片机所有指令和标准的8051内核完全兼容,具有良好的兼容性和很强的数据处理能力;STC12C5A60S2系列单片机的内部结构框图如下所示,该单片机中包含中央处理器CPU、程序存储器Flash、数据存储器SRAM、定时/计数器、UART 串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块;STC12C5A60S2单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统;图 STC12C5A60S2系列内部结构框图图单片机最小系统电源管理模块电源管理模块为整个硬件电路提供所需的电源,其稳定性是整个硬件电路可靠运行的基础;为了减少各个模块之间的相互干扰,电源模块由若干相互独立的稳压电路模块组成;整个系统由三节的18650锂电池串联供电;选择LM2596S作为稳压芯片,整个系统的供电模块如下图所示;图系统供电模块示意图LM2596S开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性;该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件;该器件还有其他一些特点:在特定的输入电压和输出载荷的条件下,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;可以用仅80uA的待机电流;可实现外部断电;具有自我保护电路;该器件完全可以满足系统需要;稳压电路原理图如下图所示;图稳压电路原理图车身姿态感应模块在第三章原理分析中可知,为了控制小车稳定,需要精确的测量小车倾角θ的大小和角速度θ′的大小,并以此控制车轮的加速度,以此消除小车的倾角;因此小车倾角以及倾角的角速度的测量成为了控制小车直立的关键;测量小车倾角和角速度可以通过加速度传感器和陀螺仪实现;本控制系统的设计使用了整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时的轴间差的问题,减少了大量的封装空间;MPU6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量,和所有设备寄存器之间的通信采用400kHz 的I2C 接口;为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪的可测范围为±250,±500,±1000,±2000°/秒dps,加速度计可测范围为±2,±4,±8,±16g;量程越大,测量精度越低;MPU6050实物及坐标轴示意图如下图所示;加速度计MPU6050的加速度计部分可以测量出各轴方向上的加速度,并经过AD 转换后可输出数字信号;加速度检测的基本原理如下图所示;++++X++X图 MPU6050实物图与对应坐标轴示意图 加速度检测的基本原理通过微机械加工技术在硅片上加工形成了一个机械悬臂;它与相邻的电极形成了两个电容;由于加速度使得机械悬臂与两个电极之间的距离发生了变化,从而改变了两个电容的参数;通过集成的开关电容放大电路测量电容参数的变化,形成了与加速度成正比的电压输出;只需要测量出一个轴上的加速度,便可计算出小车的倾角;如下图所示,设小车前进方向是小车直立时MPU6050的Y 轴正向;当小车前倾时,小车重心在Y 轴上所受的力便是重力在Y 轴上的分力,为mgsinθ,因此MPU6050在Y 轴上所获得的加速度为 gsinθ;似乎只需要获得加速度数据就可以获得小车的倾角,但在实际小车的运行过程中,由于小车本身的运动所产生的加速度会产生很大的干扰信号叠加在上述测量信号上,使得输出信号无法准确的反映小车的倾角,如下图所示;小车运动所产生的振动加速度使得输出电压在实际倾角电压附近波动,可以使用低通滤波将其过滤,但也会使得信号无法实时反映小车的倾角变化,从而影响对小车的控制,使得小车无法保持平衡;图 小车受力分析图 加速度计信号波动陀螺仪陀螺仪可以用来测量物体的旋转角速度,它利用了旋转坐标系中的物体会受到克里利奥力的原理,在器件中利用压电陶瓷做成振动单元;当器件旋转时会改变振动频率从而反映出物体旋转的角速度;将MPU6050安装在小车上时,可以测量出小车倾斜的角速度,将角速度信号进行积分便可得到小车的倾角;如下图所示;由于陀螺仪输出的是车模的角速度,不会受到车体振动的影响,因此该信号中的噪声很小,小车的倾角数据又是由所测角速度积分得来,进一步使信号变得平滑,从而使得角度信号更加稳定;但是在实际情况中,测量所得的角速度信号存在微小的误差,经过积分运算之后,会形成累计误差,并会随着时间的延长逐步增加,最终导致电路饱和,无法形成正确的角度信号;如下图所示;测t图 小车的角速度和角图 角度积分漂如上所述,加速度计对加速度很敏感,所获得的数据会由于小车的运动产生高频噪声;而陀螺仪所测得的数据受到车体振动影响很少,但是随着时间延长,容易存在积分漂移;因此可以使用互补滤波,使得这两个传感器正好能弥补相互的缺点;简而言之,互补滤波就是在短时间内采用陀螺仪得到的角度作为最优,定时对加速度转化而来的角度进行取平均值处理来校正陀螺仪所得到的角度;具体实现方法如下图所示;利用加速度计所获得的角度信息θg 与陀螺仪积分后的角度θ进行比较,将比较的误差信号经过比例T g 放大之后与陀螺仪输出的角速度信号叠加之后再进行积分;从上图的框图可以看出,对于加速度计给定的角度θg ,经过比例、积分环节之后产生的角度θ必然最终等于θg ;由于加速度计获得的角度信息不会存在积累误差,所以最终将输出角度θ中的积累误差消除了;加速度计所产生的角度信息θg 中会叠加很强的噪声信号;为了避免该噪声信号对于角度θ的影响,比例系数T g 应该非常小;这样,加速度的噪声图 互补滤波原理框图信号经过比例、积分后,在输出角度信息中就会变得很小;由于存在积分环节,所以无论T g多小,最终输出角度θ必然与加速度计测量的角度θg相等,但是这个调节过程会随着T g的减小而延长;为了避免输出角度θ跟着θg过长,可以采取以下两个方面的措施:(1)仔细调整陀螺仪的放大电路,使得它的零点偏置尽量接近于设定值,并且稳定;(2)在控制电路和程序运行的开始,尽量保持小车处于直立状态,这样一开始就使得输出角度θ和θg相等;此后,加速度计的输出只是消除积分的偏移,输出角度不会出现很大的偏差;电机驱动模块本控制系统采用了TB6612FNG作为直流电机驱动器件,该器件具有很高的集成度,同时能提供足够的输出能力,运行性能和能耗方面也具有优势,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件;TB6612FNG是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机;该器件每通道输出最高的连续驱动电流,启动峰值电流达2A/连续脉冲/单脉冲;4种电机控制模式:正转/反转/制动/停止;PWM支持频率高达100kHz;待机状态;片内低压检测电路与热停机保护电路;工作温度:-20~85℃;SSOP24小型贴片封装;如上图所示,TB6612FNG 的主要引脚功能:AIN1/AIN2、BIN1/BIN2、PWMA/PWMB 为控制信号输入端;AO1/AO2、BO1/BO2为2路电机控制输出端;STBY 为正常工作/待机状态控制引脚;VM~15V 和VCC~分别为电机驱动电压输入和逻辑电平输入端;TB6612FNG 是基于MOSFET 的H 桥集成电路,其效率高于晶体管H 桥驱动器,并且外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸;对于PWM 信号,它支持高达100kHz 的频率;TB6612FNG 在本控制系统中的电路连接如下图所示;如上图所示,AIN1/AIN2,BIN1/BIN2以及STBY 连接直单片机的普通I/O 口,STBY 控制器件的工作状态,AIN1/AIN2和BIN1/BIN2的输入决定电机的正反转;单片机的PCA 模块产生PWM 输出作为电机转速的控制手段,连接至TB6612FNG 的PWMA/PWMB;电路采用耐压值25V 的10uF 电解电容和的电容进行电源滤波,使用功率MOSFET 对VM 和VCC 提供电源反接保护;TB6612FNG 图 TB6612FNG 芯片功能示意图图 TB6612FNG 电路连接示意图的逻辑真值表如下图所示;表1 TB6612FNG逻辑真值表输入输出H H H/L H L L制动L H H H L H反转L H L H L L制动H L H H H L正转H L L H L L制动L L H H OFF停止H/L H/L H/L L OFF待机速度检测模块本系统采用安华高公司的L15D11型光电编码器作为车速检测元件,其精度达到车轮每旋转一周,旋转编码器产生448个脉冲,可满足控制精度的要求;图光电编码器由于光电管器件直接输出数字脉冲信号,因此可以直接将这些脉冲信号连接到单片机的计数器或外部中断端口;编码器每个光电管输出两个脉冲信号,它们波形相同,相位相差90°;如果电机正转,第二个脉冲落后90°;如果电机反转,第二个脉冲超前90°;可以通过这个关系判断电机是否正反转,但是在实际电路中,只检测一路脉冲信号,通过该信号得到电机。

基于STM32的两轮自平衡小车控制系统设计

基于STM32的两轮自平衡小车控制系统设计

基于STM32的两轮自平衡小车控制系统设计本文主要对两轮自平衡小车的姿态检测算法、PID控制算法两方面进行展开研究。

用加速度传感器和陀螺仪传感器融合而成的姿态传感系统与互补滤波器组合得到自平衡小车准确而稳定的姿态信息,然后PID调节器则利用这些姿态信息输出电机控制信号,控制电机的转动,从而使小车得以平衡。

标签:STM32;自平衡小车;控制系统;控制算法1 研究意义应用意义:两轮平衡车是一种新型的交通工具,它与电动自行车和摩托车车轮前后排列方式不同,而是采用两轮并排固定的方式,就像一种两轮平行的机器人一样。

两轮自平衡控制系统是一种两轮左右平行布置的,像传统的倒立摆一样,本身是一个自然不稳定体,必须施加强有力的控制手段才能使之稳定。

两轮平衡车具有运动灵活、智能控制、操作简单、节省能源、绿色环保、转弯半径为0等优点。

因此它适用于在狭小空间内运行,能够在大型购物中心、国际性会议或展览场所、体育场馆、办公大楼、大型公园及广场、生态旅游风景区、城市中的生活住宅小区等各种室内或室外场合中作为人们的中、短距离代步工具。

具有很大的市场和应用前景。

理论研究意义:车体状态运算主要是将各传感器测量的数据加以融合得出车体倾斜角度值、倾斜角速度值以及行车速度等。

平衡控制运算根据车体状态数据,计算保持平衡需要的行车速度和加速度,或者转弯所需要的左右电机速度变化值,向电机控制驱动模块发送控制指令。

运算模块相当于两轮自平衡电动车的大脑,它主要负责的工作是:控制电机的起停,向控制模块发出加速、减速、电机正反转和制动等速度控制信号,接收电机Hall信号进行车速度计算,并通过RS 一232串口向PC发送车速数据以供存储和分析。

另外,还负责接收车体平衡姿态数据,进行自平衡运算。

现有的自平衡车结构种类繁多,但车体都归根于由三层的基本结构组成,从上到下依次是电池层、主控层、电机驱动层。

电池层用于放置给整个系统供电的6V锂电池,主控层由主控芯片系统和传感器模块组成,电机驱动层接受单片机信号,并控制电机。

基于51单片机的双轮平衡车设计方案

基于51单片机的双轮平衡车设计方案

摘要本设计采用两块Cygnal公司推出的C8051F005单片机分别作为“双轮直立自平衡机器人”(以下命名为Sway)和人机交互上位机的控制核心。

车体倾斜角度检测采用AD公司推出的双轴加速度传感器ADXL202及反射式红外线距离传感器。

利用PWM技术动态控制两台直流电机的转速。

上位机与机器人间的数据通信采用迅通生产的PTR2000超小型超低功耗高速无线收发数传MODEM。

人机交互界面采用240*128图形液晶点阵、方向摇杆及按键。

基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了Sway的平衡控制与数据交换。

本设计的主要特色:1.高速(25MIPS)低功耗的SOC单片机为各种复杂算法的实现提供了保障,丰富的片内外设为高速数据采集及PWM调制信号的生成提供了方便,片内温度传感器方便对温度的采集。

片内JTAG功能为程序的调试及对系统的现场编程提供了方便。

2.高效的H型PWM电路提高了电源的利用率,实现了电机的平滑变速。

3.双轴加速度传感器及光电传感器的使用提高了车体倾斜角度检测的精度,差分算法的应用提高了系统的抗干扰能力。

4.优化的软件算法,智能化的自动控制使车体运动准确平稳。

5.高速的无线数据传输给各种远程数据采集和智能控制提供了保障。

6.大屏幕液晶(蓝屏)显示及360度方向摇杆为人机交互提供了良好的界面。

一、硬件方案的选择与论证根据设计要求,系统可以划分为几个基本模块,如下图所示。

对各模块的实现,分别有以下一些不同的设计方案。

车体系统模块组成无线控制上位机模块组成1、MCU主控制器方案一:采用89S52单片机作为主控制器。

优点:价格低廉,程序资源丰富,技术比较成熟。

缺点:运算速度慢,很难担任复杂算法的计算工作;程序储存空间小,不能储存大规模程序代码;数字外设少,片内没有模数转换器,不能直接进行数据采集。

方案二:采用PHILIPS公司出品的LPC2119ARM7内核处理器。

优点:处理速度快(指令速度可达60MIPS),可以担任大部分复杂算法的计算工作;片内外设非常丰富,可以进行实时数据采集,多种数据通信方式可供选择。

基于单片机的两轮自动平衡小车设计

基于单片机的两轮自动平衡小车设计
15 senseB 8 GND

6 11 enableA
enableA
vVcCcC6I l 4. V Vs s s
D D8 D。 Dl{1
VCC 6

o UT C 0 U TC 0 U TB 0 U T
.......LI
in4007

L298N
VC C6

D2 D3 D |D
参 考 文
P13 一
5K
P23
D6
5 IN 1 0 U T1 2
P22
7 IN 2 0 U T2 3
P21
10 1N 3 o U T3 13
P20 只2



12 IN 4 o U T4 14
1 senseA
应用技一
是将 控制 直立 和方 向 的控制 信号 叠加 在一起 加 载 电 机上 .只要 电机处 于线 性状 态就 可 以同 时完成 上面 两个 任务 。速 度是 通过 调节 车模倾 角 来完 成 的 ,不 同的倾角 会 引起小 车 的加减 速 。从 而达 到对 于速度 的控制。两轮 自平衡小车的系统方程式如下 :
图 3 陀 螺 仪 电 路接 口图
3.2 加速度传感器 电路设计 MMA736 1是三 轴小 量程 的加速 传感 器 ,用 于检
测 物件 运 动 和方 向 .它 根 据 物件 运 动 和方 向改变 输 出信号 的电压值 。三轴 的信号在不运动或不被重力 作用的状态下 ,其输 出电压为 1.65 V。如果 沿着某 一 个方 向活 动 ,或 者受 到 重力 作 用 ,输 出 电压就 会 根 据其 运 动方 向 以及 设 定 的传 感 器 灵敏 度 而 输 出相 应的电压值 。采用单片机的片内 A/D转换器就可 以 检 测其 运 动 方 向 。但 是 小 车 运动 所 产 生 的加 速度 会 产生很大的干扰信号叠加在上述测量信号上 ,使得 输 出信号无法准确反映车模的倾角 ,因此 ,采用加 角速度传感 器和陀螺可使小车的直立控制取得 良好 的效果 (见 第 92页 图 4)。 3.3 电机驱 动 电路 的设计

单片机控制单轴双轮自动平衡小车设计

单片机控制单轴双轮自动平衡小车设计

毕业设计(论文)题目:单片机控制单轴双轮自动平衡小车设计系别:电气工程系专业:电气工程及其自动化班级:电气121学号:学生姓名:指导教师:2016年月摘要两轮自平衡车由于其特有的灵活性以及便捷性越来越受到人们的关注,在人们的日常生活中也作为代步工具被越来越多的人群接受。

本设计采用了基于ARM CORTEX-M3内核的STM32单片机,使平衡车姿态调整速度更快,数据处理更准确,运动性能更佳。

并且放弃分别采用陀螺仪和加速度传感器来获取小车的姿态信息,而是直接采用了全球首例9轴运动处理传感器MPU-6050,通过DMP获取四元数,以算出角度,并通过PID控制实现小车的直立平衡行走。

采用蓝牙模块实现和小车之间的通讯工作,设计最终实现了小车的平衡站立、前进、倒退功能。

实现小车的平衡直立行走,其实就是要对电机进行适时的控制,电机作为机电转换装置,遍布于国民经济的各个领域以及人们日常生活的方方面面,所以对电机的完美控制更显得极其重要,也是本设计的主要目的之一。

STM32F10x系列芯片是新型的32位嵌入式微处理器,具有优秀的数据处理能力,速度更快,在对本设计中的小车模型进行速度调整时,能展现出更灵敏的反应速度,更重要的是,它还具有较好的移植性,在很好的实现本设计任务的同时,利于将来更多功能的扩展。

关键词: 平衡车;MPU6050;STM32;PID控制AbstractMore and more people have paid attention to The Two-wheeled Self-balancing Robot due to its unique flexibility and convenience. People had accept it as transport in people's daily life. This study is just based on the purpose ofexplore the The Two-wheeled Self-balancing Robot.This design bases on STM32 microcontroller which based onthe CORTEX-M3 ARM core.because of that , the robot adjust faster, data processingmore accurate ,performance better . At the same time,we directly using the world's first 9 axis motion processing sensor MPU-6050 instead of the gyro and accelerationmeter sensors to get the car's attitude information . to calculate the angleThrough the DMP. Andto achieve the car's upright balance walkingthrough the PID control. Using Bluetooth module to achieve communication with the car. The Designed will achieve the balance of the car stand, forward, backward function. To achieve the balance of the car upright walking, in fact, is to timely control of the motor, electric motor is an electric machine conversion device which through all areas of the national economy and people's daily life, so the perfect control of the motor is more important and is one of the main objectives of this design.stm32f10x series chip is new 32-bit embedded microprocessor , it has excellent performance, good portability and improve the efficiency of the DC motor control, and we have modular the l system, which will be conducive to the balance of the car after the function expansion.KeyWord:Self-balancing Robot MPU6050 STM32 PID controller目录1 绪论 (1)2 平衡车总体设计方案 (2)2.1 系统平衡原理分析 (2)2.2 系统整体设计 (3)3 系统硬件电路设计 (5)3.1 系统硬件选型 (5)3.2 最小系统设计 (6)3.3 姿态检测电路设计 (7)3.4 电源稳压模块 (7)3.5 电机驱动模块设计 (8)4 系统软件部分设计 (9)4.1 软件系统总体结构 (9)4.2 单片机初始化 (9)4.3 姿态检测系统软件设计 (10)4.3.1 MPU6050姿态获取方法 (10)4.3.2 卡尔曼滤波算法 (11)4.4 平衡PID控制软件实现 (12)4.4.1 直立环PD控制 (12)4.4.2 速度环PI控制 (13)5 系统调试 (15)5.1 角度矫正 (15)5.2 卡尔曼滤波调试 (15)5.3 PID参数的整定 (15)5.3.1 PD控制调试 (15)5.3.2 PI控制调试 (15)6 结论 (17)致谢 (18)附录1 程序 (19)附录2 电路图 (24)参考文献 (24)1 绪论近几年,不管是独轮车还是双轮平衡车都越来越受到人们的关注,随着时间发展,科技的进步,双轮平衡车也变得越来越智能化。

基于STM32单片机红外遥控两轮自平衡小车的设计

基于STM32单片机红外遥控两轮自平衡小车的设计
本设计使用过的电机驱动包括4路PWM输入、5V输入、7.4V电源输入、两路电 机输出和一个电源指示灯。控制引脚具体解释:
GND1:5V电源地;
EN:5V使能引脚(5V工作,0V关闭,禁止悬空);
PWM1:控制电机1的转速;
DR1:控制电机1的转向;
PWM2:控制电机2的转速;
DR2:控制电机2的转向;
系统的整体设计框图如图2-2所示:
图2-2系统整体框图
3
3.1
STM32F1系列屈于中低端的32位ARM微控制器,其内核是Cortex-M3㈡。
STM32F103是一款常用的中等容量增强型、低功耗、32位基于ARM核心的带64K或128K字节闪存的微控制器,拥有USB、CAN、7个定时器(3个16位定时器、1个16位带死区控制和紧急刹车、2个看门狗定时器、系统时间定时器:24位自减型计数器)、2个ADC、9个通信接口(2个I2C接口、3个USART接口、2个SPI接口、CAN接 口USB 2.0全速接口)等众多资源。这款芯片运行时的最高频率可达到72MHz,其供 电电压为2.0V至3.6V,拥有64K或128K字节的闪存程序存储器,带有4个片选的静 态存储器控制器15o该芯片还具有看门狗定时器,系统时间定时器,低功耗空闲和CRC计算单元,使得STM32F103芯片在众多嵌入式控制应用系统提供高灵活、超有效的解 决方案。
2.3
程序是系统稳定运行的大脑神经,如果一个单片机控制系统没有可以用來控制的 程序,那么再好的电路也是没有实际意义的。
程序的编写过程中需要注意以下儿点:
1、程序的编写一定要按照预先搭建好的电路进行,操作一定要针对与被操作的对 象。
2、程序的编写应该做到以尽量少的编程语言去实现更复杂的控制内容,只有这样, 编写的程序才能够简洁完整。

基于单片机的两轮自平衡车控制系统设计

基于单片机的两轮自平衡车控制系统设计

基于单片机的两轮自平衡车控制系统设计文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]基于单片机的两轮自平衡车控制系统设计摘要两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。

本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合。

系统选用STC公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态。

整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态。

通过蓝牙,还可以控制小车前进,后退,左右转。

关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法Design of Control System of Two-Wheel Self-Balance Vehicle based onMicrocontrollerAbstractTwo-wheel self-balance vehicle is a kind of highly unstable two-wheel robot. The characteristic of two-wheel vehicle is the nature of the instability as traditional inverted pendulum, and effective control must be exerted if we need to make it stable. This paper presents a design scheme of two-wheel self-balance vehicle. We need using gravityaccelerometer gyroscope sensor MPU6050 for the inclination angle of vehicle, and using complementary filter for the data fusion of gyroscope and accelerometer. We choose an 8-bit microcontroller named STC12C5A60S2 from STC Company as main controller of the control system. The main controller output control signal, which is based on the data from the sensors, to the motor drive chip named TB6612FNG forcontrolling two motors of vehicle, and keeping the vehicle in balance. After the completion of the control system, the vehicle can achieve autonomous balance under the conditions of unmanned intervention, the vehicle can adjust automatically and restored to a stable statequickly in the case of giving appropriate interference as well. In addition, we can control the vehicle forward, backward and turn around. Key words: Two-Wheel Self-Balance Vehicle; Accelerometer; Gyroscope; Data fusion;Complementary filter; PID algorithm1 绪论自平衡小车的研究背景近几年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前机器人研究领域的一个重要组成部分,并且其应用领域日益广泛,其所需适应的环境和执行的任务也更复杂,这就对移动机器人提出了更高的要求。

基于飞思卡尔单片机的两轮车控制系统设计

基于飞思卡尔单片机的两轮车控制系统设计

基于飞思卡尔单片机的两轮车控制系统设计
1.前言
本文以飞思卡尔的小车模型为对象,设计了以飞思卡尔单片机
MC9S12XS128 为核心,自主循迹的两轮车自平衡控制系统。

实验证明该方案在摄像头导航的两轮车系统中具有准确、快速、稳定的自主寻迹效果。

2.系统设计与原理
本系统以飞思卡尔公司生产的MC9S12XS128 单片机为控制核心,主要由电源管理模块、路径检测模块、车速检测块、加速度检测模块、角速度检测模块、直流电机驱动模块、液晶显示模块、串口调试等功能模块构成。

在电源管理模块为系统提供稳定电源的基础上,单片机把加速度和角速度检测模块获得的小车姿态信息、路径信息检测模块获得的小车前进方向信息、车速检测模块返回的车速信息通过PID 算法控制直流电机驱动模块,以使得小车在保持直立的前提下快速地行驶。

液晶显示模块可以实时地显示系统相关参数,串口调试模块把接收到单片机的数据送往上位机,方便相关参数及波形的实时观察和调试。

系统框图如图1 所示。

3.系统硬件设计
3.1 主控制器模块
本系统的主控制器是飞思卡尔公司生产的16 位MC9S12XS128 单片机,它负责对智能车所采集到的信号进行处理并向各个功能模块发送控制信号。

MC9S12XS128 单片机最高总线频率可达40MHz,片内资源包括8KRAM、8K。

基于单片机的两轮自动平衡小车系统的设计

基于单片机的两轮自动平衡小车系统的设计

第30卷第12期2020年12月长春大学学报JOURNAL OF CHANGCHUN UNIVERSITYVol.30No.12Dec.2020基于单片机的两轮自动平衡小车系统的设计杜丽敏,王岩(长春大学电子信息工程学院,长春130022)摘要:通过对倒立摆模型的受力分析,使两轮小车保持自平衡运行状态。

硬件上采用STM32F103ZET6单片机为核心控制器,利用MPU6050检测小车的速度和加速度,选择L298N驱动两个两相直流电机,采用霍尔测速码盘获得电机的转速,通过电磁检测电路实现电磁轨迹跟踪。

软件上采用PI和PD构成串级控制算法,MPU6050采集到的小车姿态数据经卡尔曼滤波进行数据处理。

最终实现了平衡车的稳定控制,完成了小车直立和行走功能。

关键词:两轮自动平衡小车;STM32F103ZET6;MPU6050;串级控制器;卡尔曼滤波中图分类号:TP273文献标志码:A文章编号:1009-3907(2020)12-0019-06两轮自动平衡车凭借其运动灵活、体积小巧、经济环保等优点逐渐被人们喜欢,并且在人们的生产生活中起着越来越重要的作用。

两轮自动平衡小车采用倒立摆工作原理,使小车保持平衡状态,其系统具有非线性、强耦合、不稳定等特点⑴。

因此,两轮自平衡车不仅在市场中有很大的价值和前景,在验证或校验控制算法和控制理论上更有一个很好的实验平台[2]。

文献[3-4]设计了基于LQR的最优控制器,该控制算法具有较快的动态响应速度,对于干扰具有良好的鲁棒性;文献[5]针对和LQR两种控制方法进行了对比分析,证明了前者在欠驱动系统的控制中具有一定的参考价值;文献[6]针对两轮平衡小车给出了硬件设计方案,以及基于PID的控制算法,实验中验证了设计方案的可行性。

本文主要研究了PID控制算法在两轮自动平衡小车中的应用。

首先,构建以STM32F103ZET6单片机为核心的两轮直立小车控制系统;其次,对两轮自动平衡小车进行了数学建模,验证了PD控制算法可以使小车保持直立稳定状态,进而基于PID设计了串级控制算法;最后将所设计的控制算法应用在了实物中,实现了小车的直立和行走功能。

毕业设计任务书-(基于单片机的两轮平衡车控制系统设计)

毕业设计任务书-(基于单片机的两轮平衡车控制系统设计)

任务书填写要求
1.毕业设计任务书由指导教师根据各课题的具体情况填写,经学生所在学院的负责人审查、负责人签字后生效。

此任务书应在毕业设计开始前一周内填好并发给学生;
2.任务书内容必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,不得随便涂改或潦草书写,禁止打印在其它纸上后剪贴;
3.任务书内填写的内容,必须和学生毕业设计完成的情况相一致,若有变更,应当经过所在专业及学院领导审批后方可重新填写;
4.任务书内有关“学院”、“专业”等名称的填写,应写中文全称,不能写数字代码。

学生的“学号”要写全号(如020*******,为10位数),不能只写最后2位或1位数字;
5.有关年月日等日期的填写,应当按照国标GB/T 7408—94《数据元和交换格式、信息交换、日期和时间表示法》规定的要求,一律用阿拉伯数字书写。

如“2004年3月15日”或“2004-03-15”。

毕业设计任务书
毕业设计任务书。

基于STM32单片机的双轮自平衡小车系统的设计

基于STM32单片机的双轮自平衡小车系统的设计

基于STM32单片机的双轮自平衡小车系统的设计本文介绍了基于STM32F103C8T6 单片机的双轮自平衡小车系统的设计,以MPU6050 三轴陀螺仪加速计为传感器的姿态感知系统,通过卡尔曼滤波对传感器的数据进行滤波融合,采用PID 算法实现小车两轮自平衡,使用TB6612 电机驱动模块实现小车的驱动电机,综合实现小车的直立行走。

通过蓝宙的线性CCD 实现小车的循迹功能。

标签:姿态感知;卡尔曼滤波;PID控制;MPU6050三轴陀螺仪加速计;TB6612电机驱动;线性CCD1 电路设计1.1 MPU6050三轴陀螺仪加速计模块子系统框图1.2 TB6612电机驱动模块子系统框图1.3 线性CCD模块子系统框图2 程序设计2.1 程序功能描述(1)实现直立平衡控制(2)平衡的基础上实现行走(3)进而实现循迹功能2.2 程序设计思路首先写程序要有整体思路,小车最先应该让电机先转,然后达到平衡的目的,利用MPU6050三轴陀螺仪加速计为传感器的姿态感知系统,通过卡尔曼滤波对传感器的数据进行滤波融合,采用PID算法实现小车两轮自平衡,使用TB6612电机驱动模块实现小车的驱动电机,综合实现小车的直立行走,差速转向。

进而写出线性CCD的部分程序。

所以程序中应该有平衡部分,速度控制部分,转向控制部分,然后应该根据芯片与电路的链接方法,写出芯片的初始化程序。

3 测试分析与结论3.1 根据直立控制调试,由此可以得出结论见表1,表2(1)可以确定得到kp=500,kd=1.7是P、D 参数的最大值;(2)对每个系数乘以0.6,取整得到kp=300,kd=1,为理想的值。

(3)小车的机械中值在0°。

3.2 根据速度控制调试,由此可以得出结论见表3(1)kp=80,ki=kp/200是速度控制P、I参数的理想值;(2)kp=80,ki=kp/200是正极性。

3.3 根据转向控制调试,由此可以得出结论见表4(1)kp=0.6为它的正极性;(2)kp=1是转向控P参数的理想值。

两轮自平衡小车设计报告

两轮自平衡小车设计报告

沈阳工业大学信息科学与工程学院第五届创新杯大学生电子设计竞赛双轮自平衡小车摘要:本作品采用STM32单片机作为主控制器,用一个陀螺仪传感器来检测车的状态,通过TB6612控制小车两个电机,来使小车保持平衡状态,通过手机蓝牙与小车上蓝牙模块连接以控制小车运行状态。

关键字:智能小车;单片机;陀螺仪;蓝牙模块。

一、系统完成的功能根据老师的指导要求,在规定的时间内,由团队合作完成两轮自平衡小车的制作,使小车在一定时间内能够自助站立并且自由行走,以及原地转圈,上坡和送高处跃下站立。

二、系统总体设计原理框架图图2.1 系统总体框图三.系统硬件各个组成部分介绍3.1.STM32单片机简介(stm32rbt6)主控模块的STM32单片机是控制器的核心部分。

该单片机是ST意法半导体公司生产的32位高性能、低成本和低功耗的增强型单片机,它的内核采用ARM 公司最新生产的Cortex—M3架构,最高工作频率可达72MHz,256K的程序存储空间、48K的RAM,8个定时器/计数器、两个看门狗和一个实时时钟RTC,片上集成通信接口有两个I2C、3个SPI、5个USART、一个USB、一个CAN、两个和一个SDIO,并集成有3个ADC和一个DAC,具有80个I/0端口。

STM32单片机要求2.0~3.6V的操作电压(VDD),本设计采用5.0V电源通过移动电源给单片机供电。

3.2.陀螺仪传感器陀螺仪可以用来测量物体的旋转角速度。

本设计选用MPU-6050。

MPU-60X0 是全球首例9 轴运动处理传感器。

它集成了3 轴MEMS 陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。

扩展之后就可以通过其I2C 或SPI 接口输出一个9 轴的信号(SPI 接口仅在MPU-6000 可用)。

MPU-60X0 也可以通过其I2C 接口连接非惯性的数字传感器,比如压力传感器MPU-60X0 对陀螺仪和加速度计分别用了三个16 位的ADC,将其测量的模拟量转化为可输出的数字量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2016年第8淛y信息疼甲文章编号=1009 -2552 (2016)08 -0025 -04 DOI:10.13274/ki.hdzj.2016. 08. 007基于单片机的两轮平衡车设计孙传开,罗飞(华南理工大学自动化科学与工程学院,广州510640)摘要:采用单片机MC9S12XS128作为控制器,结合陀螺仪ENC-03、三轴加速度计MMA7260 芯片,设计一个运行稳定、体积小、可匀速运动的两轮自平衡车。

通过介绍平衡车的平衡原理、系统架构以及软硬件设计,阐明两轮自平衡车的设计要点。

最后,通过系统理论分析以及实验 测试表明了这种设计方式的合理性和应用的可行性。

关键词:单片机;两轮自平衡;加速度计;陀螺仪;飞思卡尔中图分类号:TP368. 1文献标识码:AD e s ig n o f tw o-w h e e l c a r s y s te m b a s e d o n m ic r o c o n tr o lle rS U N C h u a n-k a i,L U O F e i(School of Automation Science and Engineering,South China University of Technology,Guangzhou510640,China) Abstract :This article mainly discusses design ol a small two-wheel sell-balancing car which can run stably in uniform motion,with microcontroller MC9S12XS128 as the controller and integrating an ENC-03 gyroscope as well as three-axis accelerometer MMA7260 chip.By introducing the balance principle of two-wheeled car control system,the overall structure of instrument and hardware as well as software design,it explains the design point of two-wheeled car control system.Finally,through the theoretical analysis and experimental tests it shows the feasibility and rationality of this design approach.Key words:microcontroller;two-wheeled car system;accelerometer;gyroscope;freescale0引言从交通工具到机器人研究,两轮车一直都广受 人们的关注,它不但可以大幅减少硬件成本而且对 空间以及能源的占用量也很少,具有很高的使用价 值和很大的应用前景。

本文的目的就是研究设计一 种基于陀螺仪和加速度计的性能可靠,运行稳定的 两轮自平衡车。

1平衡车原理两轮平衡车是类似倒立摆的一种非线性、自然 不稳定的系统,想要系统保持稳定需要使得系统的 重心与两个轮子保持在同一垂线上。

姿态传感器可 以用来实时地获得系统的姿态信息,控制系统的角 度。

本文采用的姿态传感器是陀螺仪和加速度计。

陀螺仪可以输出被测系统在某一方向上的角度 变化速率,通过对速率的积分处理可获得系统的角 度变化。

由于陀螺仪易受外界噪声干扰,尤其是受温度影响时容易产生温飘,导致通过积分获得的角 度存在积累误差。

所以,只使用陀螺仪是不行的。

加速度计是一种可以测量由物体运动或者地球 引力产生的加速度。

图1所示为三轴加速度传感 器,在静止状态时y轴、Z轴输出为〇,*轴输出为重 力加速度g;当传感器向图1方向倾斜时,重力加速 度g就会沿着z轴方向产生一个加速度分量,当传 感器将加速度分量转换成z轴电压后,电压的大小 和倾斜角度的关系式为:AU = ^gsin^ (1)式中,为传感器输出电压,&为加速度传感器的 敏感系数,g为重力加速度,^为倾角。

事实上,当两轮车稳定时倾角变化范围很小,此收稿日期:2015 -09 -07基金项目:惠州产学研结合项目(2012B050013004)作者简介:孙传开(1990 -),男,硕士研究生,研究方向为信号处理与控制。

一25—时可以将siM ^ ^。

据此,在倾角变化时可快速求 出倾角。

但是,当系统以加速度运动时,该加速度值就会在Z轴方向产生一个分量,这个分量会叠加到 重力加速度的分量上,从而对测量结果产生较大的误差,因此只使用加速度计也是不行的。

由上文分析可知,陀螺仪动态性能好而加大速度计静态性能较好,所以,可以通过将两者的输出信号进行数据融合从而获得在动态、静态时都较好的测量结果。

本文使用的融合算法是互补滤波算法。

算法主要原理如下:Q= kx Qx + k2Q2⑵式中,h、A:2是系数且h +众2 = 1,认、仏分别为加速 度以及陀螺仪的输出。

2系统方案设计2.1硬件方案两轮平衡车采用模块化设计,它的硬件结构主要 有MC9S12XS128单片机模块,加速检测模块,角速度 检测模块,车速度检测模块,串口调试模块,电机驱动 模块,液晶显示模块,电源管理模块等部分组成。

系统原理:单片机模块负责控制检测时间,信息计算,电机、液晶控制等。

角速度与加速度检测模块主要用来检测小车的俯仰角速度和直线加速度,以便由单片机计算出姿态控制信息;车速检测模块负责检测小车的真实速度以便系统形成闭环;串口模块主要用于单片机和上位机之间的通信。

以便可以通过上位机进行调试和控制;液晶模块主要用于显 示一些控制参数。

图2为系统的硬件结构框图。

2.2处理器及显示模块本系统的主控制器是Freescale公司生产的16 位MC9S12XS128单片机,它负责对传感器模块的数 据采集、处理,并向其他功能模块提供控制信号。

MC9S12XS128单片机拥有丰富的片上资源,可提供 40MHz总线频率,可级联的4路8位PWM模块,最高 精度可达12位的A/D转换模块,UART模块,以及 8k的RAM、EEPROM和128k Flash等外部接口模块。

系统采用了 Nokia 5110作为液晶模块,该液晶 模块一共8个引脚,使用SPI串行接口。

传输速度 一 26 —传感器微控制器电机驱动q车速检测模块图2系统结构框图高达4MbPs,而且可以显示6 x14个英文字符或者 3 x7个汉字,其所需引脚如图3所示。

图3液晶模块接线图2.3姿态检测模块姿态检测模块用来检测当前车体姿态状态。

为 达到平衡控制必须提供准确的姿态信息,因此检测 模块是否精准对系统的平衡控制影响极大。

本系统 采用惯性传感器MEMS陀螺仪ENC-03和加速度计 MMA7260作为姿态检测传感器。

ENC-03是村田公司的一款低成本陀螺仪,可以 输出正比于角速度的模拟电压信号,电源电压可选 择2.7V到5.25V之间,输出最大角速度为300deg/ sec,比例系数为0. 67mV/deg/sec。

本系统米用LM358构成负反馈同相放大电路,增益约为10。

考 虑到陀螺仪存在温飘等变化因素,为此在放大电路 中利用LM358设计了零点偏置电压校正电路,并将 陀螺仪静态输出电压调整为模拟电压的一半(此处 为1.65V)。

图4为陀螺仪放大电路。

MMA7260是一款微型电容式的高性价加速度传 感器,内部使用了温度补偿、信号调理和单极低通滤 波器技术,它拥有四种精度模式:800mV/g、600mV/g、300mV/g、200mV/g,分别对应的量程范围是1.5g、2g、4g、6g。

这四中精度模式可通过设置引脚g-select1和 g-select2的状态来选择。

本系统通过同时将g-select1示、口块显器串模电源模块图4 ENC-03放大电路电路图和g-SeleC t2两个引脚接地,从而选择了 800mV/g的精度。

加速度计模块电路原理图5所示。

g_sl XOUT g_s2YOUTvcc ZOUT GND SLEEP MMA726015141312ACC XACC YACC Z]33V图5 MMA7260加速度计电路图2.4驱动模块本系统的电机驱动模块采用了 ST公司的双H 桥电机驱动芯片L298N。

该芯片为15引脚封装,工 作电压最高可达46V,最高工作电流可达2A,逻辑 控制电路采用5V供电的TTL电平,支持PWM脉宽 调速功能。

该模块具有两个使能端,一次可以驱动 两台直流电机便于实现平衡车的差速控制。

驱动电 路如图5所示。

2.5串口通行模块由于单片机采用的TTL电平和P C端的232电压不同,系统采用了 MAX232芯片来实现串口通信 的电压转换。

MAX232 —款由美信公司推出专为解 决TTL到232电压的单电源电平转换芯片,使用 + 5V直流供电。

图7为MAX232电路设计图。

3系统程序设计系统软件总体设计流程如图8所示。

当系统上电后,首先对控制系统各模块进行初 始化,然后使能计数器以及定时中断,并开启定时开 关开始定时;当达到定时时间便产生中断,在中断处 理程序中对传感器进行AD采样;当中断次数达到5 时,把所采集的数据进行平均值滤波,并将滤波后的 角速度、加速度通过互补滤波得到最终的倾斜角度,控制器根据角度大小控制电机的转动,从而使小车 保持平衡。

当中断次数达到20时,通过计数器计算GND图6驱动电路图图7 MAX232电路图图8系统流程图小车速度,然后与设定速度比较,进而控制电机以达 到速度控制。

4实验结果分析为了验证系统性能和稳定性,本文通过查看系一 27—统滤波前后的信息失真、滞后以及平滑情况。

图9 为数据滤波前后的波形情况,由图可知滤波前后的 角度信息失真度较小,滞后不明显,波形平滑,符合 系统设计需求。

图9数据滤波前后对比根据以上的设计,实现了如图10的平衡车,通 过对平衡车的前进、后退、旋转、静止等测试可知系 统可以很好地长时间平稳的运行。

5 结束语本文基于 MC 9S 12XS 128、ENC -03 和 MMA 7260设计的自平衡两轮车,实现了两轮平衡,以及在某一 速度下的运动,这对未来交通以及机器人等领域具 有一^定的研究意乂。

参考文献:[1] 曾军.基于MC9S12DG128单片机的智能寻迹车设计[J ].电子设计工程,2009(3) :54 -56.[2] 李荣伟,李鑫,孙传开.两轮自平衡小车的设计[J ].常熟理工学院学报,2012(10) :70 -75.[3 ]赵静,黄晋英.基于压电陀螺的惯性测量系统研究与设计[J ]. 电子设计应用,2010(Z1) :44 -45.[4] 张驰.智能小车寻迹的研究[J ].科技视界,2012(9) :34 -34.[5] 朱嵘涛,徐爱钧,叶传涛.基于STC15单片机的无线遥控智能小车的设计[J ].电脑知识与技术,2014(5X) :3445 -3447.[6] 范竹青,张正华.轮式机器人直立控制研究及实现[J ].信息技术,2013(12) :141 -144.[7] 摆玉龙,杨利君,董存辉.基于MC9S128的电磁导航智能车的设计与实现[J ].测控技术,2011 (11) :59 - 64.[8] 马昌训,吴运新,孙科军.CC2420和MMA7260的无线传感器数据采集系统[J ].单片机与嵌人式系统应用,2010(4) :52 -55.[9] 冯智勇,曾瀚,张力.基于陀螺仪及加速度计信号融合的姿态角度测量[J ].西南师范大学学报,2011 (4) :137 -141.[10] 张吉昌,程凯,郑荣儿.单轴双轮自平衡车姿态检测方案设计[J ].中国海洋大学学报:自然科学版,2009(S1) :467 -470.责任编辑:肖滨图10运行中的平衡车於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於(上接第24页)参考文献:[1] Rakesh Ahuja,S S Bedi,Himanshu Agarwal. A Survey of Digital Watermarking Scheme [ J ]. MIT International Journal of Computer Science and Information Technology ,2012,2(1) : 52 -59.[2 ] Singh Y S,Singh K M,Dev BP. A Review of Different Techniques on Digital Image Watermarking Scheme[ J ]. International Journal of Engineering Research ,2013,2(3): 193 -199.[3]温泉,孙锬锋,王树勋.零水印的概念与应用[J ].电子学报,2003, 31(2) : 214 -216.[4] 张晓鹏,童小华,刘妙龙.一种基于混沌变换和小波变换的零水印算法[J ].测绘与空间地理信息,2010, 33(1): 156 -160.[5] 寇俊克,魏连鑫.基于分段Logistic 混沌映射的零水印算法[J ].计算机工程与设计,2013, 34(2) : 464 -468.[6] 王云晓,王成儒.一种新的基于Contourlet 变换的数字图像零水印算法[J ].燕山大学学报,2010, 34(6): 528 -532.[7] 罗新曼.基于DCT 和DWHT 的图像编码算法的研究[J ].商丘师范学院学报,2012, 28(12) : 78 -82.[8] 雷国伟,吕迎阳,纪安妮,等.图像特征的CNN 提取方法及其应用[J ].计算机工程与应用,2004, 40(14) : 204 -206.[9] 叶登攀.基于二值化图像构造的零水印版权保护方案[J ].计算机应用研究,2007, 24(8) : 239 -241. 责任编辑:薛慧心图4附加文字测试图3随机涂抹测试一 28—。

相关文档
最新文档