自平衡小车系统设计报告完整.docx

上传人:b****5 文档编号:4539181 上传时间:2022-12-01 格式:DOCX 页数:24 大小:652.77KB
下载 相关 举报
自平衡小车系统设计报告完整.docx_第1页
第1页 / 共24页
自平衡小车系统设计报告完整.docx_第2页
第2页 / 共24页
自平衡小车系统设计报告完整.docx_第3页
第3页 / 共24页
自平衡小车系统设计报告完整.docx_第4页
第4页 / 共24页
自平衡小车系统设计报告完整.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

自平衡小车系统设计报告完整.docx

《自平衡小车系统设计报告完整.docx》由会员分享,可在线阅读,更多相关《自平衡小车系统设计报告完整.docx(24页珍藏版)》请在冰豆网上搜索。

自平衡小车系统设计报告完整.docx

自平衡小车系统设计报告完整

2012福建省大学生电子设计竞赛

论文

题目:

自平衡小车系统(D题)

摘要3

一、设计任务4

二、设计要求6

2.1基本要求6

2.2发挥部分6

三、方案的选择7

3.1控制器模块的选择7

3.2电机驱动电路7

3.3电源模块7

3.4寻迹传感器模块8

3.5最终方案8

四、理论分析与计算9

4.1自平衡小车的数学模型及控制算法9

4.2动力学模型及其参数说明10

4.3控制算法的设计12

4.4小车运动的精确控制13

五、电路硬件设计14

5.1单片机最小系统14

5.2电机驱动模块14

5.3寻迹模块16

5.4角度检测模块16

六、软件设计18

6.1软件设计的主程序流程图18

6.2驱动、中断、寻迹程序流程图19

七、测试方案与测试结果22

7.1测试仪器与设备22

7.2测试方法22

7.3测试结果22

7.4总结24

八、参考文献25

附录一各系统原理图与实物图26

附录二原件清单29

附录三程序30

摘要

自平衡小车是一个集多种功能于一体的综合系统,在完成自身平衡的同时,还能够适应各种环境下的控制任务。

利用外加的3轴加速度传感器、陀螺

仪、光电反射式传感器、来实现小车的自主循迹、加速减速、路径规划等功能。

由于特殊的结构,其适应地形变化能力强,运动灵活。

自平衡小车系统选用STC89C5鲜片机最小系统为控制模块,模块化的设计方案。

通过光电反射式传感器ST178对信号进行采集,采集到的信号经比较器LM324处理后传给52片机,经单片机处理后,发出控制命令L298N驱动2台直流电动机进行相应的动作。

该小车能够识别出黑色轨迹并能沿着黑色轨迹前进,走出相应的S形路线直到终点。

关键词:

STC89C51最小系统电机驱动ST178光电反射式传感器

、设计任务

设计并制作一个自平衡小车。

两轮驱动、一轮为万向轮,如图1所示。

体重心必须在驱动轮轴与万向轮之间,小车可以按图2的所场地运行一周。

单位:

cm

图1-2场地示意图

图1-3小车直立状态示意

 

、设计要求

2.1基本要求

(1)三轮着地,万向轮在前,可沿引导线逆时针方向运行一周,全程时间不超过3分钟。

(2)引导线的AB点之间为加速区,B、C区为减速区,车速应有明显变化(时间比约1:

2)。

(3)DE两点为引导线断开区域,小车经过D点时能正常运行,并能寻迹至E点后继续行驶。

(4)E点到F点区域必须按S形路线行驶。

2.2发挥部分

(1)由人手持小车为直立状态(两轮着地)开始保持平衡,放手后沿引导线逆时针方向运行一周。

(2)(3)(4)项与基本部分的

(2)(3)(4)—致。

(5)其他创新功能。

三、方案的选择

3.1控制器模块的选择

方案1:

选用一片CPLD(如EPM7128LC84-15作为系统的核心部件,实现控制与处理的功能。

CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。

但CPLD在控制上较单片机有较大的劣势。

同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。

若采

用该方案,必将在控制上遇到许许多多不必要增加的难题。

为此,我们不采用

、).-T*丄「〉-

该种方案。

方案2:

采用STC89C52R单片机作为控制器,此类单片机通用灵活、价格低廉、使用方便这种方案设计占用单片机的端口最少,硬件也少。

耗电也最小。

并且软件实现也比较容易,它极大能力的节省了I/O的使用,为系统功能

扩展提供了必要的条件。

在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源所以我们选择

7方^^2。

3.2电机驱动电路

方案1:

采用直流电机驱动芯片MC338886驱动电流可达2A,外围器件简单,贴片封装体积小,但调速时MC338886发热量很大,导致MC338886勺FS引脚置位,从而使其不工作,特别是采用反向制动后置这这只这种情况更严重。

方案2:

采用直流电机驱动芯片L298N,驱动电流总和可达到4A,它可以驱动二相和四相步进电机的专用芯片,我们利用它内部的双H(如图1)桥式电路

来驱动直流电机,这种驱动电路可以很方便实现直流电机的四象限运行,分

别对应正转、正转制动、反转、反转制动。

控制比较简单,电路也很简单。

因此我们选择此方案。

3.3电源模块

由于本系统需要电池供电,我们考虑了如下集中方案为系统供电。

方案1:

采用12V蓄电池为直流电机供电,将12V电压降压、稳压后给单片机系统和其他芯片供电。

蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。

但是蓄电池的体积过于庞大,在小型电动车上使用极为不方便,同时我们的车体设计时空间不够。

因此我们放弃了此方案。

方案2:

米用一组4节1.5v电池为单片机供电,2节4V电池为电机供电,这样小车空间又足够,方便使用分配空间,且能够为单片机和电机提供足够的驱动电流。

且工作电流小,易于制作。

综上考虑,我们选择了方案2.

3.4寻迹传感器模块

方案1:

用红外发射管和接收管自己制作光电对管寻迹传感器。

红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。

这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,因此我们放弃了这个

方案2:

使用ST178型反射式光电传感器,ST178型反射式光电传感器具有如下特点:

1)采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。

2)检测距离可调整范围大,4-10mm可用。

3)采用非接触检测方式。

此光电对管调理电路简单,工作性能稳定。

因此我们选择了方案2。

3.5最终方案

经过反复论证,我们最终确定了如下方案:

(1)采用STC89C5单片机为主控制芯片。

(2)用2节4v电池为直流电机供电和4节1.5v电池为单片机系统和其他芯片供电。

(3)用ST178型反射式光电传感器进行寻迹。

(4)L298N作为直流电机的驱动芯片。

系统的结构框图如图2-1所示:

图3-1系统方框图

四、理论分析与计算

4.1自平衡小车的数学模型及控制算法

自平衡小车由一个前万向轮,两个后驱动轮构成,直立时侧面构架如图4-

1所示,可在以电机轴心线为中心的前后转动。

若定义以车身垂直地面为0°,仅考虑机械结构方面的限制,则车身可摆动的范围在-30。

至+30°之间。

图4-1小车侧面图

当未做控制时,小车不论向前倾斜或向后倾斜,左右电机都应处于静止状

态。

也就是说小车前后的摆动与电机转动是相互独立的。

当开始控制时,小车

在竖直站立状态下释放,分别有静止、前进及后退三种运动方式,如表4-1所

示,在正确的控制策略下,小车能够保持自身的平衡。

表4-1两轮自平衡小车运动方式归纳

静止

如果重心位于电机轴心线的正上方,则小车将保持平衡静止状态,不需要做任何控制。

前倾

如果重心靠前,身体会向前倾斜,贝吗驱动车轮向前滚动,以保持小车平衡。

后退

如果重心靠后,身体会向后倾斜,则驱动车轮向后滚动,以保持小车平衡。

图4-2中,假设小车垂直地面为初始状态。

由于车身具有惯性,当自平衡小车向左倾斜时,通过控制电机使车轮向左运动来维持小车的动态平衡。

这就是定质心自平衡小车从静止到运动的启动方法。

 

图4-2两轮自平衡小车启动状态

因此,自平衡小车平衡控制的基本思想是:

当测量倾斜角度的传感器检测到小车产生倾斜时,控制系统根据测得的倾斜角度产生一个相应的力矩,通过控制电机,驱动两个轮子朝车身要倒下的方向运动,以保持小车的动态平衡。

4.2动力学模型及其参数说明

自平衡小车车轮不但受电机的输出转矩,地面支持力,摩擦力的影响,还通过电机轴受到小车的车身作用力。

直立时其车轮受力图如图4-3,车架受力示意图如图4-4。

 

图4-3车轮受力示意图

图4-4车架受力示意图

以车轮,车架为研究对象,分别列出车轮,车架方程,左右两轮具有对称性,左轮方程为

(式1-1)

"mVL=H化一Hl

J.L=TmL-HfLr

式中m为车轮质量,kg;J为电机转子和车轮等效在电机轴上的转动惯量kg2卅;r为车轮半径,m;3l为左轮转速,rad/s;TmL为左轮电机电磁转矩

N2m;HL为左轮承受的车身水平作用力,N。

由车架得到方程

(式1-2)

mon0=H

«moa0=F-mog

|6=Flsin©-HIcos0-T

式中n°,a0分别为质心水平,竖直位移;F,H分别为车轮从水平、竖直方向施加给车身的力,N;l为质心距车轮轴距离,m;©为车架竖直倾角,rad;m为车架重量,kg。

自平衡小车平衡后,可假设车架倾角在土5°范围内。

取近似值(sin©=©,cos©=1),并将式(式1)代入式(式2),得到车架前进运动模型为

(2mrm0rm0l)=

(式1-3)

r

11

-[(Im0l2)m0lpgm0l

rr

这样,就建立了关于车架竖直方向角度和车轮转速微分方程。

4.3控制算法的设计

4.3.1平衡控制

自平衡小车是一个多输入、单输出系统,分别以小车竖直角度、竖直方向角速度和电机转速为输入,车轮转动角加速度为输出。

由上面得到的微分方程得出状态方程为

其中

a=-(2mrm°rm°l);

r

12

b(Im°l2)m°l;

r

利用线性系统的可控性秩判据rank(BABA2B)=3,系统可控;利用线性系统的可观性秩判据rank(CCACA2)=3,系统可观。

因此,近似线性化系统状态完全可控可观,系统满足最优控制使用条件。

F面应用LQR控制算法对其进行计算,设最优控制向量的矩阵为K,则有

式中ub(t)为满足两轮自平衡机器人处于平衡状态的加速度,这样,就

得到了满足平衡控制要求的控制量。

432直行和转弯控制

自平衡小车的其他运动(直行,转弯)都是在这个控制量的基础上进行加减的,具体控制方法如图3-3所示。

小车直立行进是以小车平衡的基础上,通过给两轮增加相同的控制量Us

来实现的。

由于两轮分别独立驱动,即便获得同样的直行信号Us也不能保证

两轮行进速度始终相同。

行进路线保持直线,这样,就需要小车对于行进方向

具有自动校正能力。

小车直线行走模型是一个双输入、单输出系统,输出Uo与水平转速B和两轮行进距离的差(XL-xR)/2成线性关系

=XL—XR

uo=h^-h2。

(式1-7)

小车的转向运动,可以通过两轮差动方法实现,分别给左右两轮加上一对大小相同、方向相反的控制量Ur。

这样,就可以得到两轮自平衡小车总输出为

U=UbUsU0Ur,(式1-8)

4.4小车运动的精确控制

小车速度的精确控制可以通过改变(式6)中的状态变量v来实现。

如果目标速度为v,则通过

Ub(t)二-K[vvt]T,(式1-9)

可以使移动速度稳定在Vt。

如果目标加速度为Ut,只需令

Us=Ut,(式1-10)

可以使小车按照加速度Ut加速。

转动角度可以通过改变方程(式1-7)来实现,如果需要向右转动9t,则

a丄(xL—xR+^tr)

u0»h门_h2。

(式1-11)

2

这样,就实现了速度、加速度、转角控制的精确控制。

通过读两轮编码器,可以得到小车位置、朝向、运动速度等信息。

这样就可以通过编写程序,让小车按照预先指定的运动状态和路线运动。

五、电路硬件设计

5.1单片机最小系统

单片机最小系统由复位电路、时钟振荡电路,此单片机最小系统图如下图所示:

C1

POO/ADO珂1/AD1PO2ZAE'2PO3/AD3PO4.-ADIJ刊5.fAD5PO6/ACCPO7./AD7

P2OWS

P2IWflP22^1OP23/AHP2J?

At2P3^A13P26/AHP27W15

P31VRXDf^,i/raCr

P3.24nTO^p±3i/i顽T

旳5/ri

P3.6/WR

R3.痫®

图5-1单片机最小系统

本设计采用STC89C52芯片。

STC89C52R(是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC89C52RCI脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC89C52RC可为许多嵌入式控制应用系统提供高性价比的解决方案。

5.2电机驱动模块

驱动模块采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可以分别控制两个直流电机。

以下为L298N的引脚图和输入输出关系表。

图5-2L298N外部引脚

表5-1L298N输入输出关系

ENA

IN1

IN2

电机运行情况

H

H

L

正转

H

L

H

反转

H

IN1

IN2

快速停止:

L

X

X

停止

图5-3电机驱动模块

采用左右两轮分别驱动,前万向轮转向的方案。

即左右轮分别用两个转速和力矩基本完全相同的直流电机进行驱动,车体前部装一个万向轮。

当两轮的间存在速度差时,可以实现转弯。

当两个直流电机转向相反同时转速相同时就

可以实现小车的原地旋转。

由此可以轻松的实现小车坐标不变的90度和180度

的转弯。

安装时保证两个驱动电机同轴。

当小车前进时,左右两驱动轮与前万向轮形成了三点结构。

这种结构使得小车在前进时比较平稳。

前万向轮起支撑作用。

5.3寻迹模块

寻迹模块使用五路循迹,在小车的车头和车尾都安装了五路寻迹模块,车尾安装寻迹模块是为了让小车在直立行走时还能检测黑线而行走。

寻迹模块采用了ST178型反射式光电传感器进行寻迹。

图5-4光电对管检测电路

5.4角度检测模块

两轮自平衡小车传感器的主要作用在于:

通过信号采集获取小车的倾斜角度和角速度,得到相应的电压值,并把这个电压值通过A/D转换反馈给控制

器,并以此为依据计算得到控制量,驱动左右电机,调整电机方向,控制小车前进或后退从而使小车保持平衡状态。

因此传感器姿态信号的优劣直接影响了小车的控制性能。

而一般的惯性传感器所测量的数据存在大量的噪声,两轮自

平衡小车一般采用的传感器有倾角传感器、加速度计和陀螺仪。

ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达土16g。

数字输出数据16位二进制补码格式,可通过SPI(3线或4线)或12C数字接口访问。

ADXL345非常适合移动设备应用。

它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。

其高分辨率(3.9mg/LSB),

能够测量不到1.0。

的倾斜角度变化。

鉴于我们需要高精度高分辨率的传感器,ADXL34具有这些特点,而且它还能精确的反映重力加速度,应用算法使小车最快最稳的找到平衡点,故选用ADXL34作为传感器。

六、电路图及有关设计文件

6.1软件设计的主程序流程图

图6-1主程序流程图

 

6.2驱动、中断、寻迹程序流程图

621驱动程序流程图

*等待接收

 

622中断程序框图

图6-3中断程序框图

 

623寻迹流程图

开始

*

结束

图6-4寻迹流程图

 

七、测试方案与测试结果

7.1测试仪器与设备

自制跑道(场地为4张0号图纸拼接而成,边界线、引导线为黑色1.8cm宽防水电工胶带),秒表,万用表(MF-47),直尺

7.2测试方法

1)车模的测量

L为14cm,宽W为12cm,两者比W/L约为

用直尺测量小车的长与宽,长

0.86,0.86<1,所以车模符合要求。

2)小车实现功能测试

放置小车于小车三轮着地,万向轮在前,小车放置于F点与A点之间为起

点,开始行走,用秒表记录下小车走完全程的时间。

还有小车进行加速减速的时间值。

记录5组数据进行比较。

7.3测试结果

图7-1场地示意图

小车三轮着地,万向轮在前,可沿引导线逆时针方向运行一周,测试时小车的运行起点为F、A,小车从E点到F点区域按S形路线行驶。

用秒表进行测试,小车走完全程的时间在3min内,符合基本要求

(1)。

测试数据如表7-1所示:

表7-1小车完成全程时间记录表

次数

1

2

3

4

5

时间(S)

51

50

53

51

54

测量小车的加速及减速功能,测试数据如表7-2所示:

表7-2小车加速减速时间表

次数

加速用时

t1(s)

减速用时

t2(s)

时间比

(t1/t2)

1

1.97

4.07

2.07

2

1.96

4.05

2.07

3'

1.98

4.02

2.03

41

1.98

4.05

2.05:

5

1.97

4.02

2.04

由上表可知:

加速减速时间比约为1:

2,基本符合基本要求

(2)

小车实现功能如表7-3所示:

表7-3小车实现功能记录表

基本要求

小车实现功能

1)三轮着地,万向轮在前,可沿引导线逆时针方向运行一周,全程时间不超过3分钟

可沿引导线逆时针方向运行一周,全程时间

2)引导线的AB点之间为加速区,B、C区为减速区,车速应有明显变化

(时间比约1:

2)

小车在A,B点加速,在B、C区减速,加速减速时间比约为(1:

2),基本符合设计要求

3)DE两点为引导线断开区域,小车经过D点时能正常运行,并能寻迹至E点后继续行驶。

小车经过D点时能正常运行,并能寻迹至E点后继续行驶

4)E点到F点区域必须按S形路线行驶

E点到F点区域小车按S形路线行驶

7.4总结

从测试结果来看,本系统基本实现了题目基本部分的要求,通过寻迹模块,小车能够严格按照轨迹运动。

采用本方案设计制作的自平衡小车,系统运行基本稳定,可以严格按要求走完全程。

但是对于本设计的发挥部分,由于时间的限制及自身经验的不足,我们对于加速度传感器使用的不熟悉,未能实现自平衡小车的直立功能。

加速度传感器的用法及陀螺仪的运用有待我们以后进行进一步的探索。

八、参考文献

[1]朱清慧•Proteus教程--电子线路设计、制版与仿真[M].清华大学出版社,

2008

[2]秦志强.C51单片机应用与C语言程序设计[M].北京:

电子工业出版社,2007

[3]郭天祥•新概念51单片机C语言教程一一入门、提高、开发、拓展全攻略•北京:

电子

工业出版社,2009

[4]张陪仁,杨兴明.机器人系统设计与算法[M].中国科学技术大学出版社.2008

⑸曹青松,黎林.具时滞单级倒立摆系统的稳定性分析[J].煤矿机械.2009485-89

⑹胡寿松.自动控制原理(第五版)[M].科学出版社.2007

[7]黄智伟.全国大学生电子设计竞赛系统设计(第2版)[M].北京:

北京航空航天大学出版社,2011.1

[8]韩毅,杨天.基于HCS12单片机的智能寻迹模型车的设计与实现[J].学术期刊,

2008,29(18):

1535-1955.

附录一各系统原理图与PCB

2.最小系统PCB

3.电机驱动模块原理图

5.四路寻迹模块原理图

6.四路寻迹模块PCB

7.实物图

附录二原件清单

原件名

型号

数量

单片机

STC89C52

1

驱动芯片

L298N

1

3轴加速度计

ADXL345

1

接线端子

3

电解电容

100uF

3

电解电容

0.1uF

2

瓷片电容

0.1uF

3

发光二极管

5

二极管

IN4007

8

电位器

103

4

比较器

LM324

1

晶振

12MHZ

1

自锁开关

1

按键开关

1

电阻

10K

1

电阻

47K

4

电阻

1K

4

电阻

330欧

4

双排排针

2

寻迹模块

2

小车模型

1

跳线

若干

附录三程序

十字路口检测函数

voidjiance()

{

if(((RPR1==1)&&(RPR2==1)&&(RPR3==1)&&(RPR4==1)&&(z==0))

||((RPR1==1)&&(RPR2==1)&&(RPR3==1)&&(RPR4==0)&&(z==0))

||((RPR1==0)&&(RPR2==1)&&(RPR3==1)&&(RPR4==1)&&(z==0))

||((RPR1==1)&&(RPR2==1)&&(RPR3==1)&&(RPR4==1)&&(z==0))

||((RPR1==1)&&(RPR2==1)&&(RPR3==0)&&(RPR4==0)&&(z==0))

||((RPR1==0)&&(RPR2==0)&&(RPR3==1)&&(RPR4==1)&&(z==0))

〃||((RPR1==0)&&(RPR2==1)&&(RPR3==1)&&(RPR4==0)&&(z==0))

||((RPR1==1)&&(RPR2==1)&&(RPR3==0)&&(RPR4==1)&&(z==0))

||((RPR1==1)&&(RPR2==0)&&(RPR3==1)&&(RPR4==1)&&(z==0))){

z=1;

jiasu();

led=O;

delaynms(117);

led=1;

}

if(((RPR1==1)&&(RPR2==1)&&(RPR3==1)&&(RPR4==1)&&(z==1))

||((RPR1==1)&&(RPR2==1)&&(RPR3==1)&&(RPR4==0)&&(z==1))

||((RPR1==0)&&(RPR2==1)&&(RPR3==1)&&(RPR4==1)&&(z==1))

||((RPR1==1)&&(RPR2==1)&&(RPR3==1)&&(RPR4==1)&&(z==1))

||((RPR1==1)&&(RPR2==1)&&(RPR3==0)&&(RPR4==0)&&(z==1))

||((RPR1==0)&&(RPR2==0)&&(RPR3==1)&&(RPR4==1)&&(z==

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1