文档库 最新最全的文档下载
当前位置:文档库 › 自平衡小车控制代码

自平衡小车控制代码

自平衡小车控制代码
自平衡小车控制代码

#include

#include "Wire.h"

#include "I2Cdev.h"

#include "MPU6050_6Axis_MotionApps20.h"

MPU6050 mpu(0x68);

#define center 0x7F

char flag=0;

char num=0;

double time;

signed int speeds = 0;

signed int oldspeed =0;

byte inByte ;

// MPU control/status vars

bool dmpReady = false;

uint8_t mpuIntStatus;

uint8_t devStatus;

uint16_t packetSize;

uint16_t fifoCount;

uint8_t fifoBuffer[64];

signed int speedcount=0;

// orientation/motion vars

Quaternion q; // [w, x, y, z] quaternion container

VectorFloat gravity; // [x, y, z] gravity vector

float ypr[3]; // [yaw, pitch, roll] yaw/pitch/roll container and gravity vector float angle;

double Setpoint, Input, Output;

double kp = 18.8,ki = 185.0,kd = 0.29;//需要你修改的参数

double Setpoints, Inputs, Outputs;

double sp = 0.8,si = 0,sd = 0.22;//需要你修改的参数

unsigned char dl=17,count;

union{

signed int all;

unsigned char s[2];

}data;

volatile bool mpuInterrupt = false; // indicates whether MPU interrupt pin has gone high

void dmpDataReady() {

mpuInterrupt = true;

}

PID myPID(&Input, &Output, &Setpoint,kp,ki,kd, DIRECT);

PID sPID(&Inputs, &Outputs, &Setpoints,sp,si,sd, DIRECT);

void motor(int v)

{

if(v>0)

{

v+=dl;

digitalWrite(6,0);

digitalWrite(7,1);

digitalWrite(8,1);

digitalWrite(9,0);

analogWrite(10,v);

analogWrite(11,v);

}

else if(v<0)

{

v=-v;

v+=dl;

digitalWrite(6,1);

digitalWrite(7,0);

digitalWrite(8,0);

digitalWrite(9,1);

analogWrite(10,v);

analogWrite(11,v);

}

else

{

analogWrite(10,0);

analogWrite(11,0);

}

}

void motort(int v)

{

if(v>0)

{

v+=dl;

digitalWrite(8,1);

digitalWrite(9,0);

analogWrite(10,v);

}

else if(v<0)

{

v=-v;

v+=dl;

digitalWrite(8,0);

digitalWrite(9,1);

analogWrite(10,v);

}

else

{

analogWrite(10,0);

}

}

void setup()

{

pinMode(6,OUTPUT);

pinMode(7,OUTPUT);

pinMode(8,OUTPUT);

pinMode(9,OUTPUT);

pinMode(10,OUTPUT);

pinMode(11,OUTPUT);

digitalWrite(6,0);

digitalWrite(7,1);

digitalWrite(8,1);

digitalWrite(9,0);

analogWrite(10,0);

analogWrite(11,0);

Serial.begin(115200);

Wire.begin();

delay(100);

Serial.println("Initializing I2C devices...");

mpu.initialize();

Serial.println("Testing device connections...");

Serial.println(mpu.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");

delay(2);

Serial.println("Initializing DMP...");

devStatus = mpu.dmpInitialize();

if (devStatus == 0)

Serial.println("Enabling DMP...");

mpu.setDMPEnabled(true);

Serial.println("Enabling interrupt detection (Arduino external interrupt 0)...");

attachInterrupt(0, dmpDataReady, RISING);

mpuIntStatus = mpu.getIntStatus();

Serial.println("DMP ready! Waiting for first interrupt...");

dmpReady = true;

packetSize = mpu.dmpGetFIFOPacketSize();

}

else

{

Serial.print("DMP Initialization failed (code ");

Serial.print(devStatus);

Serial.println(")");

}

Setpoint = 22.0;

myPID.SetTunings(kp,ki,kd);

myPID.SetOutputLimits(-255+dl,255-dl);

myPID.SetSampleTime(5);

myPID.SetMode(AUTOMATIC);

sPID.SetTunings(sp,si,sd);

sPID.SetOutputLimits(-10,70);

sPID.SetSampleTime(200);

sPID.SetMode(AUTOMATIC);

attachInterrupt(1,speed,RISING);

}

void loop()

{

if (!dmpReady)

return;

// wait for MPU interrupt or extra packet(s) available

if (!mpuInterrupt && fifoCount < packetSize)

return;

mpuInterrupt = false;

mpuIntStatus = mpu.getIntStatus();

fifoCount = mpu.getFIFOCount();

if ((mpuIntStatus & 0x10) || fifoCount == 1024)

{

mpu.resetFIFO();

else if (mpuIntStatus & 0x02)

{

while (fifoCount < packetSize) fifoCount = mpu.getFIFOCount();

mpu.getFIFOBytes(fifoBuffer, packetSize);

fifoCount -= packetSize;

mpu.dmpGetQuaternion(&q, fifoBuffer);

mpu.dmpGetGravity(&gravity, &q);

mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); //从DMP中取出Yaw、Pitch、Roll三个轴的角度,放入数组ypr。单位:弧度

angle=-ypr[1] * 180/M_PI;

}

Inputs = speedcount;

https://www.wendangku.net/doc/4a7319140.html,pute();

Setpoint = 22.0+Outputs;

Input = angle;

https://www.wendangku.net/doc/4a7319140.html,pute();

if(angle>60||angle<0)

Output=0;

if(flag)

{

motort(Output);

flag=0;

}

else {

motor(Output);

}

if (Serial.available() > 0) {

inByte = Serial.read();

}

if(inByte == 'w'){

kp+=0.5;}

else if(inByte == 'q'){

kp-=0.5;}

else if(inByte == 'r'){

ki+=10;}

else if(inByte == 'e'){

ki-=10;}

else if(inByte == 'y'){

kd+=0.01;}

else if(inByte == 't'){

kd-=0.01;}

else if(inByte == 'i'){

dl+=1;}

else if(inByte == 'u'){

dl-=1;}

else if(inByte == 's'){

sp+=0.1;}

else if(inByte == 'a'){

sp-=0.1;}

else if(inByte == 'f'){

si+=1;}

else if(inByte == 'd'){

si-=1;}

else if(inByte == 'h'){

sd+=0.01;}

else if(inByte == 'g'){

sd-=0.01;}

else if(inByte == 'v'){ Setpoints+=2;}

else if(inByte == 'b'){ Setpoints-=2;}

else if(inByte == 'n'){ Setpoints+=2;

flag=1;}

else if(inByte == 'm'){ Setpoints-=2;

flag=1;}

inByte='x';

sPID.SetTunings(sp,si,sd); myPID.SetTunings(kp,ki,kd);

num++;

if(num==20)

{num=0;

Serial.print(kp);

Serial.print(',');

Serial.print(ki);

Serial.print(',');

Serial.print(kd);

Serial.print(','); Serial.print(dl); Serial.print(" "); Serial.print(sp); Serial.print(','); Serial.print(si); Serial.print(','); Serial.print(sd);

Serial.print(','); Serial.println(angle);

}

}

void speed()

{

if(digitalRead(6)){

speedcount+=1;

}

else

speedcount-=1; }

两轮自平衡小车的设计

常熟理工学院学报(自然科学)Journal of Changshu Institute Technology (Natural Sciences )第26卷第10Vol.26No.102012年10月Oct.,2012 收稿日期:2012-09-07 基金项目:江苏省大学生实践创新训练计划项目“两轮自平衡机器小车的设计”(jx110152011) 作者简介:李荣伟(1989—),男,江苏东海人,常熟理工学院电气与自动化工程学院测控技术与仪器专业2009级学生. 通讯作者:李鑫(1983—),男,安徽亳州人,实验师,硕士,研究方向:智能控制技术与现代检测技术,E-mail:lixin_yy@https://www.wendangku.net/doc/4a7319140.html,.两轮自平衡小车的设计 李荣伟,李鑫,孙传开,张冬林,江振峰 (常熟理工学院电气与自动化工程学院,江苏常熟215500) 摘要:设计了以陀螺仪ENC-03以及MEMS 加速度计MMA7260为传感器的姿态感知系统, 选用16位单片机MC9S12XS128为控制核心处理器,完成对传感器信号的采集处理、车身控制以及人机交互的设计,实现小车自主控制平衡状态、运行速度以及转向角度大小等功能.实验结果表明该系统的性能满足设计要求. 关键词:两轮自平衡;姿态检测;卡尔曼滤波;数据融合;PID 控制器 中图分类号:TP242.6文献标识码:A 文章编号:1008-2794(2012)10-0070-06 近年来,随着电子技术的发展与进步,移动机器人的研究已成为目前科学研究最活跃的领域之一,移动机器人经常会遇到在较为狭窄复杂的环境中如何灵活快捷地执行任务的问题.两轮自平衡机器人的概念就是在此背景下提出来的,这种机器人区别于其他移动机器人最显著的特点是:采用了两轮共轴、各自独立驱动的工作方式(又称差分式驱动),车身的重心位于车轮轴的上方,通过轮子的前后移动保持车身的平衡、行驶[1].因为具有体积小、运动灵活、零转弯半径等特点,所以在军用和民用领域有着广泛的应用前景,更重要的是系统具有多变量、非线性、强耦合、不稳定性的特性,使其成为很好地验证控制理论及方法的平台,具有很高的研究价值. 1系统整体设计 本文设计的自平衡车采用姿态传感器(加速度计和陀螺 仪)监测车身所处的俯仰状态和状态变化率,通过高速微控制 器(MC9S12XS128)完成数据融合处理,得到平滑而稳定车体 姿态信息,然后驱动电动机产生前进或后退的加速度来控制 车体保持平衡,同时系统还要根据速度的反馈量来完成对车 体速度和方向的控制,微控制器还需构建相关输入输出模块 和人机交互设备.系统设计总体结构框图如图1所示. 已知自平衡车高度为l ,质量为m ,将其抽象为一级倒立 摆,并将倒立摆置于可水平移动的小车上.假设其受外力干图1系统设计总体结构框图

两轮自平衡小车毕业设计毕业论文

两轮自平衡小车毕业设计毕业论文 目录 1.绪论 (1) 1.1研究背景与意义 (1) 1.2两轮自平衡车的关键技术 (2) 1.2.1系统设计 (2) 1.2.2数学建模 (2) 1.2.3姿态检测系统 (2) 1.2.4控制算法 (3) 1.3本文主要研究目标与内容 (3) 1.4论文章节安排 (3) 2.系统原理分析 (5) 2.1控制系统要求分析 (5) 2.2平衡控制原理分析 (5) 2.3自平衡小车数学模型 (6) 2.3.1两轮自平衡小车受力分析 (6) 2.3.2自平衡小车运动微分方程 (9) 2.4 PID控制器设计 (10) 2.4.1 PID控制器原理 (10) 2.4.2 PID控制器设计 (11) 2.5姿态检测系统 (12) 2.5.1陀螺仪 (12) 2.5.2加速度计 (13) 2.5.3基于卡尔曼滤波的数据融合 (14) 2.6本章小结 (16) 3.系统硬件电路设计 (17) 3.1 MC9SXS128单片机介绍 (17) 3.2单片机最小系统设计 (19) 3.3 电源管理模块设计 (21) I

3.4倾角传感器信号调理电路 (22) 3.4.1加速度计电路设计 (22) 3.4.2陀螺仪放大电路设计 (22) 3.5电机驱动电路设计 (23) 3.5.1驱动芯片介绍 (24) 3.5.2 驱动电路设计 (24) 3.6速度检测模块设计 (25) 3.6.1编码器介绍 (25) 3.6.2 编码器电路设计 (26) 3.7辅助调试电路 (27) 3.8本章小结 (27) 4.系统软件设计 (28) 4.1软件系统总体结构 (28) 4.2单片机初始化软件设计 (28) 4.2.1锁相环初始化 (28) 4.2.2模数转换模块(ATD)初始化 (29) 4.2.3串行通信模块(SCI)初始化设置 (30) 4.2.4测速模块初始化 (31) 4.2.5 PWM模块初始化 (32) 4.3姿态检测系统软件设计 (32) 4.3.1陀螺仪与加速度计输出值转换 (32) 4.3.2卡尔曼滤波器的软件实现 (34) 4.4平衡PID控制软件实现 (36) 4.5两轮自平衡车的运动控制 (37) 4.6本章小结 (39) 5. 系统调试 (40) 5.1系统调试工具 (40) 5.2系统硬件电路调试 (40) 5.3姿态检测系统调试 (41) 5.4控制系统PID参数整定 (43) II

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

两轮自平衡小车控制系统的设计 摘要:介绍了两轮自平衡小车控制系统的设计与实现,系统以飞思卡尔公司的16位微控制器MC9S12XS128MAL作为核心控制单元,利用加速度传感器MMA7361测量重力加速度的分量,即小车的实时倾角,以及利用陀螺仪ENC-03MB测量小车的实时角速度,并利用光电编码器采集小车的前进速度,实现了小车的平衡和速度控制。在小车可以保持两轮自平衡前提下,采用摄像头CCD-TSL1401作为路径识别传感器,实时采集赛道信息,并通过左右轮差速控制转弯,使小车始终沿着赛道中线运行。实验表明,该控制系统能较好地控制小车平衡快速地跟随跑道运行,具有一定的实用性。 关键词:控制;自平衡;实时性 近年来,随着经济的不断发展和城市人口的日益增长,城市交通阻塞以及耗能、污染问题成为了一个困扰人们的心病。新型交通工具的诞生显得尤为重要,两轮自平衡小车应运而生,其以行走灵活、便利、节能等特点得到了很大的发展。但是,昂贵的成本还是令人望而止步,成为它暂时无法广泛推广的一个重要原因。因此,开展对两轮自平衡车的深入研究,不仅对改善平衡车的性价比有着重要意义,同时也对提高我国在该领域的科研水平、扩展机器人的应用背景等具有重要的理论及现实意义。全国大学生飞思卡尔智能车竞赛与时俱进,第七届电磁组小车首次采用了两轮小车,模拟两轮自平衡电动智能车的运行机理。在此基础上,第八届光电组小车再次采用两轮小车作为控制系统的载体。小车设计内容涵盖了控制、模式识别、传感技术、汽车电子、电气、计算机、机械及能源等多个学科的知识。 1 小车控制系统总体方案 小车以16位单片机MC9S12XS128MAL作为中央控制单元,用陀螺仪和加速度传感器分别检测小车的加速度和倾斜角度[1],以线性CCD采集小车行走时的赛道信息,最终通过三者的数据融合,作为直流电机的输入量,从而驱动直流电机的差速运转,实现小车的自动循轨功能。同时,为了更方便、及时地观察小车行走时数据的变化,并且对数据作出正确的处理,本系统调试时需要无线模块和上位机的配合。小车控制系统总体架构。 2 小车控制系统自平衡原理 两轮小车能够实现自平衡功能,并且在受到一定外力的干扰下,仍能保持直立状态,是小车可以沿着赛道自动循线行走的先决条件。为了更好地控制小车的行走方式,得到最优的行走路径,需要对小车分模块分析与控制。 本控制系统维持小车直立和运行的动力都来自小车的两个轮子,轮子转动由两个直流电机驱动。小车作为一个控制对象,它的控制输入量是两个电机的转动速度。小车运动控制可以分解成以下3个基本控制任务。 (1)小车平衡控制:通过控制两个电机正反方向运动保持小车直立平衡状态; (2)小车速度控制:通过调节小车的倾斜角度来实现小车速度控制,本质上是通过控制电机的转速来实现小车速度的控制。 (3)小车方向控制:通过控制两个电机之间的转动差速实现小车转向控制。 2.1 小车平衡控制 要想实现小车的平衡控制,需要采取负反馈控制方式[2]。当小车偏离平衡点时,通过控制电机驱动电机实现加、减速,从而抵消小车倾斜的趋势,便可以保持车体平衡。即当小车有向前倾的趋势时,可以使电机正向加速,给小车一个向前的加速度,在回复力和阻尼力的作用下,小车不至于向前倾倒;当小车有向后倾的趋势时,可以使小车反向加速,给小车一个向后的加速度,从而不会让小车向后倾倒,。

智能婴儿车设计报告样本

智能婴儿车设计报 告

智能制造论文 专业:机械设计制造及其自动化 学号: 学生姓名: 指导老师: 多功能智能婴儿车

一、简介: 本设计是涉及触摸感应和电磁感应的触摸感应式婴儿车智能刹车装置,哭声检测智能摇摆及报警装置,大小便检测报警装置,婴儿车智能追踪定位装置,手动可调摇篮摇摆频率装置。这些智能设计旨在防止婴儿车在有坡度的地方无人推行时发生溜动而造成的安全事故,而且跟踪定位婴儿车的位置,使婴儿车时时刻刻都在身边,哭声检测智能摇摆及报警装置和手动可调摇篮摇摆频率装置是用于减轻婴儿照看者的负担,不用时时刻刻守在婴儿旁边,大小便检测报警装置是为了提醒照看者婴儿是否大小便,方便照看者给婴儿换尿布。 本创造结构简单,安装方便,能实现婴儿车在有人控制时正常行驶,无人控制时停止锁住无法滑动,避免发生事故,而且提醒照看人婴儿车内婴儿的各种信息。 二、技术背景: 照顾孩子的父母或是保姆不可能时时刻刻待在孩子身边,特别是在晚上,而且人们不可能因为孩子其它事什么都不做。基于以上几点我们设计出了智能婴儿车,它能帮助父母花更少的时间更好得照顾好婴儿,使婴儿更加健康茁壮的成长,而且能在照顾好孩子的同时做些家务及一些其它事情。智能婴儿摇篮能够提供给宝宝舒适摇晃,又能够经过自动移动和自动避障及自动追踪,使得妈妈们也可腾出手来处理家务或者休息。从而大大的减轻了

婴幼儿父母的劳动负担。 婴儿车是一种为婴儿户外活动提供便利而设让的工具车,有各种车型,一般0到4岁的孩子用的是婴儿车,是宝宝最喜爱的散步交通工具,更是妈妈带宝宝上街购物出游时的必须品,而当今的婴儿车的刹车装置方面还存在一定的缺陷,使得婴儿车存在一定的安全隐患。 由于婴儿车停放位置不当或婴儿的活动等其它原因,婴儿车可能会发生溜动,从而引发意外事故,而婴儿坐在婴儿车内不具有制止婴儿车运动的能力以致发生碰撞而导致惨剧发生。现已发生多起因为家长的疏忽导致的婴儿车滑动引起的安全事故。因此安全性是购买婴儿车的最重要的指标,如果婴儿车不具备很强的安全性,就极其容易伤害到脆弱的婴儿。因此出于安全因素的考虑,婴儿车应具有自动制动的能力,特别是在无人看管时。 现有的婴儿车安全装置旨在人工制动,需要在停放时人工打开刹车,可是很多家长往往意识不到安全隐患的存在从而忽略这个步骤,导致安全事故的发生,因此现在的婴儿车安全装置并不能解决无人看管时引发的安全隐患。 该创造正是要实现婴儿车智能化,具有很强的可控性,很大程度上减少了安全隐,很大地提高婴儿车的安全性,这个设计的应用范围较广,同样也能够用于残疾人的推车等。该设计轻巧方便,功耗低,成本较低,具有很高的实用性。 三、关键词:

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

毕业设计(论文) 开题报告 题目:单片机控制单轴双轮自动平衡小车设计系别:电气工程系 专业:电气工程及其自动化 班级: 学号 学生姓名: 指导教师: 2016年 3月

中原工学院信息商务学院 毕业论文(设计)开题报告 论文(设计)题目单片机控制单轴双轮自动平衡小车 姓名系别电气工程系专业 班级 电气121学号6 1选题目的和意义: 平衡车是一个不稳定、强耦合、非线性系统,对平衡车的研究有利于我们更熟练得运用自动控制理论,并且发展更可靠稳定的控制方法。在实际应用中,平衡车由于体积小,灵活方便,不管是在军用或者民用领域都有广阔的应用空间,两轮自平衡小车可以作为一种小范围的移动式服务平台。通过本课题的研究学习,会使自己更加了解单片机,熟悉电子电路,提升自己的对整个设计的把握,更透彻的掌握自动控制方法。 2本选题在国内外的研究状况及发展趋势: 国外方面:JOE 是瑞士研制的用DSP和FPGA 控制并基于倒立摆理论双轮车。通过倾斜传感器和倾角传感器来检测车体。通过电机上的编码盘检测电机的速度。采用了基于状态反馈的线性控制策略,车的运动被分解成直线和旋转运动,然后分析直线运动和旋转运动,得到电机需要的控制量,最终把控制量耦合叠加。他主要的设计思想依然是:使车子朝车体倾斜的方向运动来保持车身的平衡。主控芯片是HC11 微处理器,此处理器是David P.Anderson 专门的针对nBot 车设计的。传感器在得到车的车身信息后,再比例整合,当作模糊控制器的输入,按照之前设定的控制原则得到两个电机需要的PWM 电压。该控制只能能让小车平衡运动,而不能让小车自主直立。Segway 拥有更多的姿态传感器,它有5个陀螺仪传感器,然而事实是检测车身前倾斜只需要3个传感器就够了,其他的两个传感器只是增加安全性。传感器的信息会被传送到一个电路板,这个电路板是微处理器的集群,效率是个人电脑的三倍。这个集群是为了保证本载人平衡车在其中任何一个处理器出现问题时能报告错误,给驾驶者以处理问题的时间余量,保证了平衡车的安全性。 国内方面:哈工大尹亮制作的双轮移动车Sway,车身倾斜度采用AD 推出的双轴加速度传感器ADXL202 及反射式红外线距离传感器来获得。基于PWM 动态控制直流电机的速度。车与上位机间的数据通信使用PTR2000 超小型超低功耗高速无线收发数传MODEM。人机交互界面使用图形液晶点阵、方向摇杆、按键。依靠这些可靠并且完备

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

基于单片机的两轮自平衡车控制系统设计 摘要 两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用STC 公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态。 整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态。通过蓝牙,还可以控制小车前进,后退,左右转。 关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法 Design of Control System of Two-Wheel Self-Balance Vehicle based on Microcontroller Abstract Two-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 accelerometer

智能循光小车毕业设计论文

毕业设计(论文) 智能循光小车设计 教学单位: 专业名称: 学号: 学生姓名: 指导教师: 指导单位: 完成时间:

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日导师签名:日期:年月日

智能小车设计报告

智能小车 学校:江汉大学 学院:物信学院 班级、姓名: 10通信曹聪慧 10自二彭洋

摘要: 本系统采用STC89C52作为主控制芯片,采用7805作为稳压芯片,采用L9110芯片作为直流电机驱动,在PWM 控制下,小车自动寻路,快慢速行驶和转向。三者的结合使小车更加智能化,自动化,并用霍尔元件测速,用1602液晶把速度显示出来。电路结构简单,可靠性能高。 关键词:STC89C52单片机、PWM调速、自动循迹,测速

目录 1.系统方案 (4) 1.1 车体设计 (4) 1.2 控制器模块 (4) 1.3电机模块 (4) 1.4电机驱动模块 (5) 1.5测速模块 (5) 1.6电源模块 (5) 1.7最终方案 (6) 2.系统硬件设计 (7) 2.1电源模块的设计 (7) 2.1控制模块的设计 (6) 2.1循迹模块的设计 (6) 2.1电机驱动模块的设计 (7) 2.1测速模块的设计 (7) 3.软件程序的设计 (10) 3.1总体流程图 (10) 3.2软件大体思路 (10) 4.系统功能测试 (9) 4.1 问题分析及解决 (10) 5.总结 (12) (附录)

系统方案 1.1 车体设计 自己制作电动车。一般的说来,自己制作的车体比较粗糙,性能不太稳定。但只要对车体仔细制作,通过优良的控制算法,也能实现控制小车前进转弯的功能。 1.2 控制器模块 采用STC公司的STC89C52单片机作为主控制器。STC89C52是一个低功耗,高性能的51内核的CMOS 8位单片机,片内含8k空间的可反复擦些1000次的Flash只读存储器,具有256 bytes的随机存取数据存储器(RAM),32个IO口,2个16位可编程定时计数器。且该系列的51单片机可以不用烧写器而直接用串口或并口就可以向单片机中下载程序。我们自己制作51最小系统板,体积很小,下载程序方便,放在车上不会占用太多的空间。 1.3电机模块 方案一:采用步进电机实现物体的精确定位和方向控制。步进电机可以作为一种控制用的特种电机,可以精确地控制角度和距离。缺点是相对体积较大,力矩比较小,容易失步,而且价格比较昂贵。 方案二:采用普通直流电机。直流电机运转平稳,精度有一定的保证。直流电机控制的精确度虽然没有步进电机那样高,但完全可以满足本题目的要求。通过单片机的PWM输出同样可以控制直流电机的旋转速度,实现电动车的速度控制。并且直流电机相对于步进电机

双轮自平衡小车机器人系统设计与制作

燕山大学 课程设计说明书题目:双轮自平衡小车机器人系统设计与制作 学院(系):机械工程学院 年级专业:12级机械电子工程 组号:3 学生: 指导教师:史艳国建涛艳文史小华庆玲 唐艳华富娟晓飞正操胡浩波 日期: 2015.11

燕山大学课程设计(论文)任务书院(系):机械工程学院基层教学单位:机械电子工程系

摘要 两轮自平衡小车是一种非线性、多变量、强耦合、参数不确定的复杂系统,他体积小、结构简单、运动灵活,适合在狭小空间工作,是检验各种控制方法的一个理想装置,受到广大研究人员的重视,成为具有挑战性的课题之一。 两轮自平衡小车系统是一种两轮左右并行布置的系统。像传统的倒立一样,其工作原理是依靠倾角传感器所检测的位姿和状态变化率结合控制算法来维持自身平衡。本设计通过对倒立摆进行动力学建模,类比得到小车平衡的条件。从加速度计和陀螺仪传感器得出的角度。运用卡尔曼滤波优化,补偿陀螺仪的漂移误差和加速度计的动态误差,得到更优的倾角近似值。通过光电编码器分别得到车子的线速度和转向角速度,对速度进行PI控制。根据PID控制调节参数,实现两轮直立行走。通过调节左右两轮的差速实现小车的转向。 制作完成后,小车实现了在无线蓝牙通讯下前进、后退、和左右转向的基本动作。此外小车能在正常条件下达到自主平衡状态。并且在适量干扰下,小车能够自主调整并迅速恢复稳定状态。 关键词:自平衡陀螺仪控制调试

前言 移动机器人是机器人学的一个重要分支,对于移动机器人的研究,包括轮式、腿式、履带式以及水下式机器人等,可以追溯到20世纪60年代。移动机器人得到快速发展有两方面原因:一是其应用围越来越广泛;二是相关领域如计算、传感、控制及执行等技术的快速发展。移动机器人尚有不少技术问题有待解决,因此近几年对移动机器人的研究相当活跃。 近年来,随着移动机器人研究不断深入、应用领域更加广泛,所面临的环境和任务也越来越复杂。机器人经常会遇到一些比较狭窄,而且有很多大转角的工作场合,如何在这样比较复杂的环境中灵活快捷的执行任务,成为人们颇为关心的一个问题。双轮自平衡机器人概念就是在这样的背景下提出来的。两轮自平衡小车是一个高度不稳定两轮机器人,是一种多变量、非线性、强耦合的系统,是检验各种控制方法的典型装置。同时由于它具有体积小、运动灵活、零转弯半径等特点,将会在军用和民用领域有着广泛的应用前景。因为它既有理论研究意义又有实用价值,所以两轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。 本论文主要叙述了基于stm32控制的两轮自平衡小车的设计与实现的整个过程。主要容为两轮自平衡小车的平衡原理,直立控制,速度控制,转向控制及系统定位算法的设计。通过此设计使小车具备一定的自平衡能力、负载承载能力、速度调节能力和无线通讯功能。小车能够自动检测自身机械系统的倾角并完成姿态的调整,并在加载一定重量的重物时能够快速做出调整并保证自身系统的自我平衡。能够以不同运动速度实现双轮车系统的前进、后退、左转与右转等动作,同时也能够实现双轮自平衡车系统的无线远程控制操作

线控两轮平衡车的建模与控制研究

线控两轮平衡车的建模 与控制研究 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

线性系统理论 上机实验报告 题目:两轮平衡小车的建模与控制研究 完成时间:2016-11-29 1.研究背景及意义 现代社会人们活动范围已经大大延伸,交通对于每个人都十分重要。交通工具的选择则是重中之重,是全社会关注的焦点。 随着社会经济的发展,人民生活水平的提高,越来越多的小汽车走进了寻常百姓家。汽车快捷方便、省时省力,现代化程度高,种类繁多的个性化设计满足了不同人的需求。但它体积大、重量大、污染大、噪声大、耗油大、技术复杂、使用不便、价格贵、停放困难,效率不高,而且还会造成交通拥堵并带来安全隐患。相比之下,自行车是一种既经济又实用的交通工具。中国是自行车大国,短距离出行人们常选择骑自行车。自行车确实方便,但在使用之前需要先学会骑车,虽然看似简单,平衡能力差的人学起来却很困难,容易摔倒,造成人身伤害。另外,自行车毕竟不适宜长距离的行驶,遥远的路程会使人感到疲劳。 那么,究竟有没有这样一种交通工具,集两者的优点于一身呢?既能像汽车一样方便快捷又如自行车般经济简洁,而且操作易于掌握,易学又易用。两轮自平衡车概念就是在这样的背景下提出来的。 借鉴目前国内外两轮自平衡车的成功经验,本文提出的研究目标是设计一款新型的、结构简单、成本低的两轮自平衡车,使其能够很好地实现自平衡功能,同时设计结果通过MATLAB进行仿真验证。

2.研究内容 自平衡式两轮电动车是一个非线性、强耦合、欠驱动的自不稳定系统,对其控制策略的研究具有重大的理论意义。我们通过分析两轮平衡车的物理结构以及在平衡瞬间的力学关系,得到两轮车的力学平衡方程,并建立其数学模型。运用MATLAB 和SIMULINK 仿真系统的角度θ、角加速度? θ、位移x 和速度的? x 变化过程,对其利用外部控制器来控制其平衡。 3.系统建模 两轮平衡车的瞬时力平衡分析如图1所示。下面将分析归纳此时的力平衡方程[1-3],并逐步建立其数学模型。 对两轮平衡车的右轮进行力学分析,如图2所示。 依据图2对右轮进行受力分析,并建立其平衡方程: =R R R R M X f H ? - (1) R R R R J C f R ??? =- (2) 同理,对左轮进行受力分析,并建立其平衡方程: =R L L L M X f H ? - (3) L L L L J C f R ??? =- (4) 两轮平衡车摆杆的受力分析如图3所示,由图3可以得到水平和垂直方向的平衡方程以及转矩方程。 水平方向的平衡方程: H H x R L p m +=? ? (5) 其中θsin L x x m p +=,则有:

自平衡小车设计报告

2012年省电子竞赛设计报告 项目名称:自平衡小车 姓名:连文金、林冰财、陈立镔 指导老师:吴进营、苏伟达、李汪彪、何志杰日期:2012年9月7日

摘要: 本组的智能小车底座采用的是网上淘宝的三轮两个电机驱动的底座,主控芯片为STC89C52,由黑白循迹采集模块对车道信息进行采集,将采集的信息传送到主控芯片,再由主控芯片发送相应的指令到电机驱动模块L298N,从而控制电机的运转模式。 关键词: STC89C52 L298N 色标传感器 E18-F10NK 自动循迹 引言: 近现代,随着电子科技的迅猛发展,人们对技术也提出了更高的要求。汽车的智能化在提高汽车的行驶安全性,操作性等方面都有巨大的优势,在一些特殊的场合下也能满足一些特殊的需要。智能小车系统涉及到自动控制,车辆工程,计算机等多个领域,是未来汽车智能化是一个不可避免的大趋势。本文设计的小车以STC89C52为控制核心,用色标传感器 E18-F10NK作为检测元件实现小车的自动循迹前行。 一、系统设计 本组智能小车的硬件主要有以STC89C52 作为核心的主控器部分、自动循迹部分、电机驱动部分。 1.1方案论证及选择: 根据设计要求,可以有多种方法来实现小车的功能。我们采用模块化思想,从各个单元电路选择入手进行整体方案的论证、比较与选择。 本方案以STC89C52作为主控芯片,通过按键进行模式的选择切换,按键一选择三轮循迹,按键二进行两轮循迹。 1.1.1模式一(三轮循迹): 模式一(按键一控制):三轮循迹的时候,通过色标传感器和激光传感器进行实时的数据采集,反馈给主控芯片,主控芯片通过驱动L298来控制两路直流减速电机,从而保证路线的准确性。

开题报告(智能小车)

CHAHGZH0U 開TfRIE OF ENGINEERWG TECHNOLOGY 毕业设计(论文)开题报告 现状: 智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实 现循迹、避障、检测贴片寻光入库、避崖等基本功能,这几届的电子设计大赛 智能小车又在向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。 我此次的设计主要实现循迹避障这两个功能。 智能车辆也叫无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶 等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动制动、 自动保持安全距离、车速和巡航控制等功能。智能车辆的主要特点是在复杂的 道路情况下,能自动的操纵和驾驶车辆绕开障碍物并沿着预订的道路进行。智 能小车主要运用领域包括军事侦察与环境检测、探测危险与排除险情、安全检 测受损评估、智能家居。 发展趋势: 智能循迹小车可广泛应用于军事侦察、勘探、矿产开采等不便于人员实地 堪察 的环境。稍加改造,可应用于军事反恐、警察维和等领域,从而达到最大 限度的避免人员伤亡,保存战斗实力的目的。因此,具有重要的军事和经济意 义。 随着汽车工业的,其与电子信息产业的融合速度也显着提高,汽车开始向 电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具 有交通、娱乐、办公和通讯等多种功能。智能小车是一个集环境感知、规划决 策,自动行驶等功能与异地的综合系统,它集中的运用了计算机、传感、信息、 通信、导航及自动控制等技术,是典型的高新技术综合体。 、基本信息 学生姓名 倪小玉 班级 电子0911 学号 2009238108 系名称 自动化技术系 专业 应用电子 毕业设计(论文)题目 智能循迹小车的设计 指导教师 李玮 二、开题意义 课题 的现状与 发展趋势

智能循迹小车 设计报告

智能循迹小车设计 专业:自动化 班级: 0804班 姓名: 指导老师: 2010年8月——2010年10月 摘要:

本课题是基于AT89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以 AT89S52 单片机为系统控制处理器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。 引言

当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。 作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。 无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。 为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“智能循迹小车”一题作为尝试。 此项设计是在以杨老师提供的小车为基础上,采用AT89C52单片机作为控制核心,实现能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。

智能小车实训报告

智能小车实训报告 摘要: 本课题是基于AT89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以 AT89S52 单片机为系统控制处理器; 采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。 一、实验目的: 通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。 二、设计方案 该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N 发出控制命令,控制电机的工作状态以实现对小车姿态的控制。 三.报告内容安排 本技术报告主要分为三个部分。第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术原理的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智

能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。 技术方案概要说明 本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块。 工作原理: 利用红外采集模块中的红外发射接收对管检测路面上的轨迹 将轨迹信息送到单片机 单片机采用模糊推理求出转向的角度,然后去控制 行走部分 最终完成智能小车可以按照路面上的轨迹运行。 硬件电路的设计 1、最小系统: 小车采用atmel公司的AT89C52单片机作为控制芯片,图1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。 其中各个部分的功能如下: 1、时钟电路:给单片机提供一个外接的16MHz的石英晶振。 2、电源电路:给单片机提供5V电源。 3、复位电路:在电压达到正常值时给单片机一个复位信号。

两轮自平衡小车的设计

2015年陇东学院第十六届“挑战杯” 课外学术科技作品竞赛 双轮自平衡小车的设计与制作 学院:电气工程学院 班级:12级自动化本科班 姓名:周永 2015年12月8日

双轮自平衡小车的设计与制作 摘要:双轮自平衡小车是一个集动态决策和规划、环境感知、行为控制和执行等多种功能于一体的综合复杂系统,其关键是在解决自平衡的同时,还能够适应在各种环境下的控制任务。通过运用外加速度传感器、角速度传感器等,可以实现小车的平衡自主前进。双轮自平衡小车,涉及到传感器的驱动,数据的处理,角度的计算,电机的控制等,内容比较丰富,可作为实践自动控制原理及单片机技术的一个不错选择,是自我锻炼的绝好选题,对于以后制作此方面的民用产品也有很大的启迪作用。 关键词:双轮;自平衡;控制;传感器 1.引言 目前市场上的各种电子产品及家电机器人等行业越来越多地用到了智能控制技术。可以说,当今社会是一个智能型社会。各方各面都在竭尽全力向着智能方向发展,不论是人工智能还是联网智能,都在突出一个智能。智能已经覆盖了我们生活的方方面面,我们正在被智能的概念所潜移默化。不论是智能手机、玩具还是机器人,都已经成了我们生活的一部分。正是在这种情况下,智能交通的发展也发生了翻天覆地的变化,从飞车到自动驾驶汽车,无不在向我们说明,现代人已经对智能型交通工具期待已久了。作为最新科技产品的一个代表,最近市场上新出现的独轮车越来越受到了消费者的青睐。可以想象,最近几年内此类产品将会在市场上争得一席之地。比起独轮车,两轮车具有同样的购买热度,但是设计难度却没那么高,所以我将选择了从双轮车开始玩起智能交通工具。 2设计方案 方案一:用51单片机作为主控制器,用MPU6050模块采集姿态数据,用光电编码器对5V直流电机进行编码,显示模块采用LCD12864液晶屏,电源采用三端稳压方案,用红外遥控控制小车行走。本设计简单廉价,然而由于主控的反应相对缓慢,很难满足设计要求。 方案二:采用STM32单片机作主控制器,仍然用MPU6050模块作姿态数据采集,而电机采用二手的型号为16G214E MR19的具有高精度霍尔编码器的原价2000+的瑞士进口12V直流电机,显示模块采用了更轻薄更清晰更小巧的

大学毕业设计---基于arm的两轮自平衡车模型系统设计课程

中北大学 课程设计说明书 学生姓名: *杰学号:* 学院: 仪器与电子学院 专业: * 题目: 基于ARM的两轮自平衡车模型系统设计 指导教师:李锦明职称: 副教授 2015 年1 月30 日

摘要 近年来,两轮自平衡车的研究与应用获得了迅猛发展。本文提出了一种两轮自平衡小车的设计方案,采用陀螺仪L3G4200以及MEMS加速度传感器MMA7260构成小车姿态检测装置,使用卡尔曼滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用飞思卡尔32位单片机Kinetis K60为控制核心,通过滤波算法实现车身控制,人机交互等。 整个系统制作完成后,各个模块能够正常并协调工作,小车可以在无人干预条件下实现自主平衡。同时在引入适量干扰情况下小车能够自主调整并迅速恢复稳定状态。 关键词:两轮自平衡陀螺仪姿态检测卡尔曼滤波数据融合

目录 1 课程设计目的 (1) 2 设计内容和要求 (1) 2.1 设计要求 (1) 2.2 研究意义 (1) 2.3 研究内容 (2) 3 设计方案及实现情况 (2) 3.1 两轮平衡车的平衡原理 (2) 3.2 系统方案设计 (3) 3.3 系统最终方案 (6) 3.4 系统软件设计 (9) 3.5 电路调试 (16) 4 课程设计总结 (18) 参考文献 (19) 附录 (20) 致谢 (21)

1 课程设计目的 (1)掌握嵌入式系统的一般设计方法和设计流程; (2)学习嵌入式系统设计,掌握相关IDE开发环境的使用方法; (3)掌握ARM的应用; (4)学习掌握嵌入式系设计的全过程; 2 设计内容和要求 2.1 设计要求 (1)学习掌握基于ARM Cortex-M4内核的Kinetis K60系列单片机的工作原理及应用;(2)学习掌握加速度计、陀螺仪的工作原理及应用; (3)设计基于PID控制的两轮自平衡车模型系统的工作原理图及PCB版图; 2.2 研究意义 近年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前科 学研究最活跃的领域之一,移动机器人的应用范围越来越广泛,面临的环境和任务也 越来越复杂,这就要求移动机器人必须能够适应一些复杂的环境和任务。比如,户外 移动机器人需要在凹凸不平的地面上行走,有时环境中能够允许机器人运行的地方比 较狭窄等。如何解决机器人在这些环境中运行的问题,逐渐成为研究者关心的问题[1]。 两轮自平衡机器人的概念正是在这样一个背景下提出来的,这种机器人区别于其 他移动机器人的最显著的特点是:采用了两轮共轴、各自独立驱动的工作方式(这种驱 动方式又被称为差分式驱动方式),车身的重心位于车轮轴的上方,通过轮子的前后移 动来保持车身的平衡,并且还能够在直立平衡的情况下行驶。由于特殊的结构,其适 应地形变化能力强,运动灵活,可以胜任一些复杂环境里的工作。 两轮自平衡机器人自面世以来,一直受到世界各国机器人爱好者和研究者的关 注,这不仅是因为两轮自平衡机器人具有独特的外形和结构,更重要的是因为其自身 的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高 的研究价值。

智能小车设计论文

单片机课程设计 题目智能小车的设计 学生姓名饶晓东 院(系)机械与电气工程学院 班级 10机械电子工程01班 学号 2010100548 指导老师于祯 完成日期 2013 年 5 月 31 日 南昌工程学院 课程设计(论文)任务书 I、课程设计(论文)题目: 智能小车的设计 II、课程设计(论文)使用的原始资料(数据)及设计技术要求: 通过Intel8253和1298N实现汽车的加速、减速、刹停,并可通过两个电

机的不同转速实现左转和右转等功能 III、课程设计(论文)工作内容及完成时间: 1、查阅资料,确定硬件系统框图组成。(5月20日~5月22日) 2、设计完整电原理图。(5月23日~5月25日) 3、设计软件结构流程框图。(5月26日~5月27日) 4、按流程编写各功能模块程序。(5月28日~5月29日) 5、完成课程设计报告(5月30日~5月31日) Ⅳ 主要参考资料: 1、张俊漠,单片机中级教程-原理与应用北京航空航天大学出版社2002 2、郭天祥,51单片机c语言教程 机械与电气系 10机械电子(本) 专业类 01班 学生:饶晓东 日期:自 2013 年 5 月20 日至 2013 年5 月31 日

指导教师:于祯 助理指导教师(并指出所负责的部分): 教研室主任 附注:任务书应该附在已完成的课程设计说明书首页。 摘要 智能作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能电动车就是其中的一个体现。本次设计的简易智能电动车,采用AT89C52单片机作为小车的检测和控制核心;在小车行驶的过程中能够根据不同的要求通过改变PWM 输出改变小车的行驶速度。本设计结构简单,较容易实现,但具有高度的智能化、人性化,一定程度体现了智能。 采用的技术主要有: 1、通过AT89C52自带的定时器设置PWM输出来控制小车的速度; 2、电机驱动芯片L298N控制两个直流电机的转向; 3、数码管显示测量数据

两轮自平衡小车设计

两轮自平衡小车设计 一、任务要求 图1两轮自平衡车 两轮自平衡车结构原理如图1所示,主控制器(DSP)通过采集陀螺仪和加速度传感器得到位置信号,通过控制电机的正反转实现保持小车站立。 1、通过控制两个电机正反运动,实现小车在原地站立。 2、实现小车的前进、后退、转弯、原地旋转、停止等运动; 二、方案实现 2.1电机选型 图2直流电机 两轮自平衡车由于需要时刻保持平衡,对于倾角信号做出快速响应,因此对电机转矩要求较大。在此设计中选用国领电机生产的直流电机,其产品型号为GB37Y3530,工作电压6v-12v。为增大转矩,电机配有1:30传动比的减速器。

2.2电机测速方案 图3霍尔测速传感器 在电机测速方案上主流的方案有两种,分别是光电编码器和霍尔传感器。光电编码器测量精度由码盘刻度决定,刻度越多精度越高;霍尔传感器精度由永磁体磁极数目决定,同样是磁极对数越高精度越高。由于两轮自平衡车工作于剧烈震动环境中,光电编码器不适应这种环境,因此选用霍尔传感器来测量速度。电机尾部加装双通道霍尔效应编码器,AB双路输出,单路每圈脉冲16CPR,双路上下沿共输出64CPR,配合1:30的减速器传动比,可以计算出车轮转动一圈输出的脉冲数目为64X30=1920CPR,完全符合测速要求。 2.3电机驱动控制系统概述 本平台电机驱动采用全桥驱动芯片L298N,内部包含4通道逻辑驱动电路,两个H-Bridge的高电压、大电流双全桥式驱动器。本驱动桥能驱动46V、2A 以下的电机。其输出可以同时控制两个电机的正反转,非常适合两轮自平衡车开发,其原理图如下图所示 图4L298N原理图 采用脉宽调制方式(即PWM,Pulse Width Modulation)来调整电机的转速和转向。脉宽调制是通过改变发出的脉冲宽度来调节输入到电机的平均电

相关文档
相关文档 最新文档