基于凌阳MCU的机器人平衡控制系统设计本科毕业论文文档格式.docx
- 文档编号:21967798
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:50
- 大小:912.80KB
基于凌阳MCU的机器人平衡控制系统设计本科毕业论文文档格式.docx
《基于凌阳MCU的机器人平衡控制系统设计本科毕业论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于凌阳MCU的机器人平衡控制系统设计本科毕业论文文档格式.docx(50页珍藏版)》请在冰豆网上搜索。
与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。
较高的处理速度使μ’nSP™能够非常容易地、快速地处理复杂的数字信号。
SPCE061A是一款高性价比的单片机CPU:
16位×
16位硬件乘法器;
DSP核所具有的内积运算;
8位芯片的价格;
高集成度以致力于单芯片应用(SOC);
低功耗,低电压;
具有较强的中断处理能力;
功能强,效率高的指令系统;
具有语音识别功能。
因此,我在智能小车的控制系统中,选用凌阳十六位单片机SPCE061A为核心控制器件。
第2.2节SPCE061A单片机的性能
1).16位μ’nSP™微处理器;
2).工作电压(CPU)VDD为2.4~3.6V(I/O)VDDH为2.4~5.5V;
3).CPU时钟:
0.32MHz~49.152MHz;
4).内置2KSRAM;
5).内置32KFLASH;
6).可编程音频处理;
7).晶体振荡器;
8).系统处于备用状态下(时钟处于停止状态),耗电仅为2μA@3.6V;
9).2个16位可编程定时器/计数器(可自动预置初始计数值);
10).2个10位DAC(数-模转换)输出通道;
11).32位通用可编程输入/输出端口;
12).14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;
13).具备触键唤醒的功能;
14).使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;
15).锁相环PLL振荡器提供系统时钟信号;
16).32768Hz实时时钟;
17).7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;
18).声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;
19).具备串行设备接口;
20).具有低电压复位(LVR)功能和低电压监测(LVD)功能;
21).内置在线仿真电路ICE(In-CircuitEmulator)接口;
22).具有保密能力;
23).具有WatchDog功能。
第2.3节SPCE061A单片机的外观及结构
1)SPCE061A外形图如图2.1所示:
图2.1SPCE061A的外观
2)SPCE061A结构图如图2.2所示:
图2.2SPCE061A的结构
第2.4节SPCE061A单片机的输入/输出接口
输入/输出接口(也可简称为I/O端口)是单片机与外设交换信息的通道。
输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。
输出端口负责向外界传送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。
μ’nSP™内有并行和串行两种方式的I/O口。
并行口线路成本较高,但是传输速率也较高;
与并行口相比,串行端口的传输速率较低但可以节省大量的线路成本。
SPCE061A有两个16位的通用并行I/O口:
A口和B口。
这两个端口的每一位都可通过编程单独定义成输入或输出口。
A口的IOA0~IOA7作为输入端口时,具有唤醒功能,即当输入电平发生变化时,会触发CPU中断。
在电池供电、追求低耗电的应用场合,可以让CPU进入睡眠模式(利用软件控制)以降低功耗,需要时才以按键来唤醒CPU,使其进入工作状态。
例如:
手持遥控器、电子字典、PDA、计算器、无线电话等。
第2.4.1节SPCE061A的I/O端口结构
SPCE061A提供了位控制结构的I/O端口(如表2.1所示),每一位都可以单独用于数据输入或输出。
每个独立的位可通过以下三种控制向量来作设定:
数据向量Data,属性向量Attribution,方向控制向量Direction。
每3个对应的控制向量组合在一起,形成一个控制字,用来定义相对应I/O端口位的输入输出状态和方式。
例如,假设需要IOA0是下拉输入引脚,则相对应的Data、Attribution和Direction的值均被设为“0”。
如果需要IOA1是带唤醒功能的悬浮式输入引脚,则Data、Attribution和Direction的值被设为“010”。
与其它的单片机相比,SPCE061A除了每个I/O口可以单独定义其状态外,每个对应状态下的I/O端口性质电路都是内置的,在实际的电路中不需要再外接。
例:
设A口为带下拉电阻的输入端口,在连接硬件时不用再外接下拉电路。
A口和B口的Data、Attribution和Direction的设定值均在不同的寄存器里,用户在进行I/O端口设置时要特别注意这一点。
表2.1I/O端口控制向量组合
Direction
Attribution
Data
功能
是否带召唤醒功能
功能描述
下拉*
是**
带下拉电阻的输入引脚
1
上拉*
带上拉电阻的输入引脚
悬浮
悬浮式输入引脚
否
悬浮式输入引脚***
高电平输出(带数据反相器)
带数据反相器的高电平输出(当向数据位写入“0”时输出“1”)
低电平输出(带数据反相器)
带数据反相器的低电平输出(当向数据位写入“1”时输出“0”)
低电平输出
带数据寄存器的低电平输出(无数据反相功能)
高电平输出
带数据的寄存器的高电平输出(无数据反相功能)
注:
(1)*:
端口位预设为带下拉电阻的输入引脚;
(2)**:
只有当IOA[7~0]内位的控制字为000,001和010时,相对应位才具有唤醒的功能;
(3)***:
悬浮输入作为ADCIOA[6~0]的输入。
第2.4.2节SPCE061A并行I/O端口控制向量组合
图2.3I/O结构
P_IOA_Data(读/写)(7000H):
A端口的数据单元,用于向A口写入或从A端口读出数据。
当A口处于输入状态时,读出是读A口引脚电平状态;
写入是将数据写入A端口的数据寄存器。
当A口处于输出状态时,写入输出数据到A端口的数据寄存器。
P_IOA_Buffer(读/写)(7001H):
A端口的数据向量单元,用于向数据向量寄存器写入或从该寄存器读出数据。
当A口处于输入状态时,写入是将A端口的数据向量写入A端口的数据寄存器;
读出则是从A端口数据寄存器内读其数值。
对输出而言,P_IOA_Data与P_IOA_Buffer是一样的.但对输入而言,P_IOA_Data读的是IO的值,P_IOA_Buffer读的是buffer内的值。
假设IOA[0]作为输出,并去接LED阳极(LED阴极接地)。
若P_IOA_Data的IOA[0]为1。
在某些需要较大驱动能力的LED而言,LED会亮,但IOA[0]会被拉到一个很低的值。
此时从P_IOA_Data读回为0,但P_IOA_Buffer则为1。
读回的意义是方便做其它的IO运算。
P_IOA_Dir(读/写)(7002H):
A端口的方向向量单元,用于用来设置A口是输入还是输出,该方向控制向量寄存器可以写入或从该寄存器内读出方向控制向量。
Dir位决定了端口位的输入/输出方向:
即‘0’为输入,‘1’为输出。
P_IOA_Attrib(读/写)(7003H):
A端口的属性向量单元,用于A端口属性向量的设置。
P_IOA_Latch(读)(7004H):
读该单元以锁存A端口上的输入数据,用于进入睡眠状态前的触键唤醒功能的启动。
P_IOB_Data(读/写)(7005H):
B端口的数据单元,用于向B口写入或从B端口读出数据。
当B口处于输入状态时,读出是读B口引脚电平状态;
写入是将数据写入B端口的数据寄存器。
当B口处于输出状态时,写入输出数据到B端口的数据寄存器。
P_IOB_Buffer(读/写)(7006H):
B端口的数据向量单元,用于向数据寄存器写入或从该寄存器内读出数据。
当B口处于输入状态时,写入是将数据写入B端口的数据寄存器;
读出则是从B端口数据寄存器里读其数值。
当B口处于输出状态时,写入数据到B端口的数据寄存器。
P_IOB_Dir(读/写)(7007H):
B端口的方向向量单元,用于设置IOB口的状态。
‘0’为输入,‘1’为输出。
P_IOB_Attrib(读/写)(7008H):
B端口的属性向量单元,用于设置IOB端口的属性。
第2.5节SPCE061A的最小系统
SPCE061A的最小系统是在OSC0、OSC1端接上晶振及谐振电容,在锁相环压控振荡器的阻容输入VCP端接上相应的电容电阻后即可工作。
其它不用的电源端和地端接上0.1μF的去藕电容提高抗干扰能力。
1)晶振电路如下图2.4所示:
图2.4晶振电路
2)锁相环电路如下图2.5所示:
图2.5锁相环电路
3)复位电路如下图2.6所示:
图2.6复位电路
4)SPCE061A的最小系统如下图2.7所示:
图2.7SPCE061A的最小系统
第三章传感器
第3.1节传感器的原理
传感器是借助于检测元件(敏感元件)接收一种形式的信息,并按一定规律将它转换成另一种信息的装置。
它获取的信息,可以是各种物理量、化学量和生物量,而转换后的信息也有各种形式。
目前大多数的传感器将获取的信息转换为电信号。
在一个自动控制系统中,首先要由传感器检测到信号,才能进行自动控制。
传感器的精度、可靠性的高低,将决定这个系统的成败。
光电器件是光能与电能相互转换的器件。
利用它可以制成多种光电传感器、测试装置、遥控遥测装置、信号传输装置及通信装置。
近年来,利用光电器件制成的红外遥控器己在家用电器中得到广泛应用。
光电器件主要由光辐射器件(发光器件)及光检测器件(光敏器件)组成。
发光器件能把电能转换成光能的器件,其中包括发可见光或不可见光。
不可见光一般为红外光:
红外线是一种只有少数生物才能感觉到的光波,其波长为1nm~1000nm,具有定向传播和反射能力。
不可见发光二极管为红外发光二极管;
光检测器件是把光能转换成电能的器件,其中包括光电三极管、光电二极管、接收头、色彩传感器、图像传感器等。
第3.2节红外传感器
红外传感器对红外线敏感。
由于红外线对人眼来说是不可见光,所以在需要发射光线的设备中使用不会对人造成干扰。
在智能小车中,需要用光测量一段距离来进行导航,就可以使用红外线。
这里简单介绍红外传感器的工作原理,而不详细讨论智能小车选用红外传感器的具体型号、参数特性。
红外传感器的电阻随着投射在其上面光强的变化而变化。
如果入射的光强为零,电阻就最大。
光强越大,电阻就越小,相应流过的电流就越大,结果压降就越小。
红外传感器可以用以测量距离,它可以探测障碍物和物体表面的形状,并且用于向系统提供早期信息。
两种常用的测量方法是三角法和测量传输时间法。
三角法:
用单束光线照射物体,会在物体上形成一个光斑,形成的光斑由摄像机或光敏三极管等接收器接收。
距离或深度可根据接收器、光源及物体上的光斑所形成的三角形计算出来。
测量传输时间法:
信号传输的距离包括从发射器到物体和被物体反射到接收器两部分。
传感器与物体之间的距离是信号行进的一半,知道了传播速度,通过测量信号的往返时间即可计算出距离。
为了测量精确,时间的测量必须很快。
若被测的距离短,则要求信号的波长必须很短。
红外传感器是一个相对比较独立的系统,在设计智能小车的控制电路时,只需预留相应的接口即可获取传感的信号。
根据实际情况,本设计采用红外光发射—接收传感电路TCRT5000完成对小车行进路线的控制,硬件上使用了红外发射管使抗干扰性能改善。
TCRT5000如下图所示:
图3.1红外传感器TCRT5000
TCRT5000是一种自带发光二极管和光敏三极管的器件,其集电极电流与反射距离d之间的关系如下图3.2所示:
图3.2TCRT5000集电极电流与反射距离d之间的关系
第3.3节倾角传感器
倾角传感器可以用来测量相对于水平面的倾角变化量。
理论基础就是牛顿第二定律,根据基本的物理原理,在一个系统内部,速度是无法测量的,但却可以测量其加速度。
如果初速度已知,就可以通过积分计算出线速度,进而可以计算出直线位移。
所以它其实是运用惯性原理的一种加速度传感器。
当倾角传感器静止时也就是侧面和垂直方向没有加速度作用,那么作用在它上面的只有重力加速度。
重力垂直轴与加速度传感器灵敏轴之间的夹角就是倾斜角了。
随着MEMS技术的发展,惯性传感器件在过去的几年中成为最成功,应用最广泛的微机电系统器件之一,而微加速度计(microaccelerometer)就是惯性传感器件的杰出代表。
作为最成熟的惯性传感器应用,现在的MEMS加速度计有非常高的集成度,即传感系统与接口线路集成在一个芯片上。
倾角传感器把MCU,MEMS加速度计,模数转换电路,通讯单元全都集成在一块非常小的电路板上面。
可以直接输出角度等倾斜数据,让人们更方便的使用它。
其特点是:
硅微机械传感器测量(MEMS)以水平面为参面的双轴倾角变化。
输出角度以水准面为参考,基准面可被再次校准。
数据方式输出,接口形式包括RS232、RS485和可定制等多种方式。
抗外界电磁干扰能力强。
智能小车通过倾角传感器电路SCA60C(如图3.3所示)完成跷跷板的平衡控制,每个部分都能实时显示数据,实现了电动小车在跷跷板上行进和平衡的智能化。
图3.3倾角传感器SCA60C
SCA60C的特点是:
单轴倾角传感器,测量范围是1g(±
90度),单极5V供电,比例电压输出,模拟0.5~4.5V输出,工作温度范围宽。
抗冲能力强,能耗低。
SCA60C电气特性如下表3.1所示:
表3.1SCA60C电气特性
条件
最小值
典型值
最大值
单位
供电
4.5
5.0
5.5
V
消耗电流
Vdd=5V,无负载
2.0
4.0
mA
工作温度
-40
+85
摄氏度
模拟输出阻抗
VouttoVddorVss
20
K
nF
输出最低电压(Vdd=5V)
20kfromVouttoVdd
0.25
输出最高电压(Vdd=5V)
20kfromVouttoVss
4.75
5.00
零位输出
室温,Vdd=5V
0.5*Vdd
灵敏度
2
零位误差
-40…+85℃
-200
+200
mg
灵敏度误差
-5
5
%
典型非线性
从-g到1g
-20
频响
80
Hz
比例误差
Vdd=4.75…5.25V
-2
交叉轴灵敏度
室温
输出噪声
20Hz
ug/sqrt(Hz)
启动延迟
10
ms
1要达到高精度,电源电压变化最好在5
0.05V。
2测量范围受到灵敏度,零点偏移,和供电电压变化的影响。
3测量方向参考器件上的箭头指向。
第四章系统的硬件设计
第4.1节智能小车
本设计的智能小车是由单片机最小系统、红外发射—接收传感器电路、倾角传感器电路、显示电路构成的。
其中单片机最小系统通过红外发射—接收传感器TCRT5000完成对小车行进路线的控制,通过倾角传感器SCA60C完成对跷跷板的平衡检测,从而实现智能小车在跷跷板上行进和平衡的智能化。
本设计智能小车实现的功能如下:
1)小车从跷跷板的起始端A点(如图4.1所示)出发,在A与B点间行驶;
2)小车在跷跷板上自动找到平衡点,让跷跷板处于平衡状态;
3)在跷跷板的A与C点之间的任意位置放置重物时,小车能够重新取得平衡,并做出平衡指示。
图4.1小车运行示意图
第4.2节智能小车硬件组成
根据设计要求,系统的总体设计模块如下图:
图4.2智能小车原理框图
1)控制模块:
凌阳单片机SPCE061A单片机
2)引导和探测模块:
红外发射与接收传感器TCRT5000
3)电动机:
直流电机
4)电机驱动模块:
达林顿管H型PWM电机驱动电路
5)平衡模块:
倾角传感器SCA60C
6)显示模块:
四位二线式串行段式液晶显示器SMS0401
7)电源:
4节1.5伏电池
第4.3节智能小车各模块的选择
第4.3.1节控制模块
控制模块采用凌阳单片机SPCE061A,其内部主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设备输入输出、通用异步串行接口、低电压监测和复位等部分,且内置在线仿真电路ICE接口,较高的处理速度使其能够快速的处理复杂的数字信号,SPCE061A的输入输出接口如下表4.1所示:
表4.1输入输出接口(I/0)接口接法
IOA口
连接到
IOB口
IOA0
IOB0
=>
LED的VCC
IOA3
<
=SCA60C的OUT
IOB3
IOA4
IOB4
SMS0401的CLK(角度)
IOA5
IOB5
SMS0401的DI(角度)
IOA6
IOB6
SMS0401的CLK(时间)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MCU 机器人 平衡 控制系统 设计 本科毕业 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)