遥控电动小车装置的设计制作论文Word格式文档下载.docx
- 文档编号:22022101
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:155.29KB
遥控电动小车装置的设计制作论文Word格式文档下载.docx
《遥控电动小车装置的设计制作论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《遥控电动小车装置的设计制作论文Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
由于要求实时显示小车的具体坐标位置,故我们采用光电对管测路程来显示小车的实际坐标。
液晶显示
系统总体框图
方案论证与比较
方案一采用凌阳61单片机
SPCE061A为凌阳科技新推出的unSP内核的高集成度,高性能十六位单片机。
61单片机具有以下特点:
CPIU寸钟范围:
0.32MHz~49Mz片内32k字的Flash程序存储器、2k字的SRAM数据存储器,2个16位I/O端口,14个中断源,1通道专用音频AD转换通道,7通道AD转换通道,特色是有很强的语音处理能力,
可以满足语音播报功能。
可以满足此题目的控制要求。
方案二采用常见的51单片机
51单片机为八位单片机,数据处理不够精确,无线传输数据不够及时,实现此无线遥控控制小车可能会有很大缺陷。
经过对比两种单片机的性能,结合本题目要求,我们最终选择了方案一。
日
。
是
方案一采用L298N电机驱动模块
L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。
是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V2A以下的电机,可以同时控制两个直流电机或一个步进电机,供电端与逻辑供电端装有光电耦合(电路见附录图四),拥有过热保护和电流反馈检测功能。
(L298N电机驱动模块原理图见附录图一)
方案二采用继电器电机驱动模块采用继电器对电动机的开或关进行控制,通过开关切换对小车实现速度调整这个方案的优点是电路较为简单,缺点是响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
经过论证我们最终确定采用方案一。
方案一采用无线通信模块
无线通信模块采用凌阳公司生产的nRF2401无线通信模块(模块原理图见附录图二),该模块具有以下优点:
通信距离长(可以满足题目要求的5米外控制小车的要求)、控制精度高、抗干扰能力强、控制简单。
方案二采用红外通信模块
红外技术优点:
价格便宜;
电路搭建简单。
红外技术缺点:
通讯距离短;
通讯过程中不能移动;
遇障碍物通讯中断;
抗干扰能力差。
红外通讯技术的主要目的是取代线缆连接进行无线数据传输,功能单一,扩展性差。
经过选择我们最终确定使用方案一。
方案一采用超声波定位超声波测距模块应用回声定位原理来测量物体的距离。
通过计算声波从发射到返回的时间,再乘以声波在媒介中的传播速度(344m/s空气)。
就可以获得物体相对于传感器的距离值了。
超声波速度快,但是抗干扰能力差,误差很难控制。
方案二采用声音定位
发生一次,跑
此方法定位准
采用声音定位来确定小车的位置,小车上装蜂鸣器每隔0.5s道四角放四个接收器。
通过接收声音,定位蜂鸣器进而定位小车。
确,但需要单片机数量多,成本高,滤波复杂,抗干扰能力差。
进而计路程。
方案三采用对管测距定位法在小车两轮上贴黑胶带,通过循迹模块,来计算转过的胶带数,这种方法不仅能准确定位小车的位置,而且通过测两轮相差的路程来控制小车走直线。
方法简单方便,控制精度高,抗干扰能力强,反应及时。
我们最终采用的是方案三。
方案一采用4X4矩阵键盘
4X4矩阵键盘是应用4X4的导线交汇处分别安有一个按键,只需要占用8个端口就可以完成16个按键的功能,采用键盘扫描的方法获取按键值,再由单片机扫描键值,处理相应的请求,做到准确无误。
方案二采用独立式的按键
独立按键使用的是一个端口接一个按键,控制简单,但是端口利用率低,接线复杂。
根据题目要求,功能较复杂,又由于单片机端口受限制,故我们采用方案一。
方案一采用LCD12864液晶显示
LCD12864液晶显示器具有汉字、英文显示的功能;
控制简单、显示清晰、美观、耗能低、分辨率较好。
方案二采用LED数码管显示
LED数码管显示器亮度高、清晰;
但是不能显示汉字图形,而且控制较复杂。
由于本题要求显示实时坐标,我们考虑到显示信息的可读性和信息的清晰度,我们选择方案一。
单片机供电、电机供电供电模块
LM2596稳压模块电路见附录图三)。
采用锂电池供电。
利用LM2596稳压芯片控制电路,将锂电池电压降至凌阳61单片机可用的5V稳定电压。
LM2596稳压模块可以提供5V稳定电压和持续电流,使单片机供电持续稳定(
四系统软件流程
五理论分析与计算
坐标定位的计算
行走示意图
小车车轮内侧贴有黑色胶带,将白色圆盘平均分为八份。
利用光电对管检测黑线的个数,利用两个外部中断对其计数,并取其平均值。
并通过单片机内部自能计算、处理,得到小车的实际坐标。
计算中要用到的量:
小车两车轮间的距离为A;
小车车轮的半径R;
周长L;
每两个黑线的路程M车轮上贴的黑色线条数N;
液晶上显示X坐标X;
液晶上显示丫坐标丫;
沿丫轴行走时测得的黑线条数丫0;
沿X轴行走时测得的黑线条数X0;
设定自动行走时的X坐标为X1;
设定自动行走时的丫坐标为丫1,设定形式为(XI,丫1),液晶上显示的坐标形式为(X,Y),沿丫轴行走需要中断的次数Zy,沿X轴行走需要中断的次数Zxo具体的计算如下:
(1)小车两后轮连线中点设定为小车中心点。
丫轴平行方向前进,丫=M<
丫0,
小车沿X轴平行方向前行,丫
(2)L=2nR;
M=L/N当遥控器按下时,小车沿小车右转后丫=M<
丫0+9,控制小车左转或右转后,轴坐标自动保持显示,X=MKX0+9
X1,Y1),首先沿丫平行方向
(3)设定坐标自动行走时,单片机根据设定的(
前进,计算需要中断的次数Zy=Y1/M转弯后小车沿X轴平行方向前进,计算需要中断的次数Zx=X1/M0最终显示到液晶上的数据X=MKZx+A/2(需取整),最终显示到液晶上的数据Y=MKZy+A/2(需取整)。
六测试方案与测试结果
(1)基本功能一测试表格:
项目
前进
后退
左转
右转
遥控距离
测试结果
成功
0-60m
能满足基本功能一的要求。
(2)基本功能二和功能三测试表格:
A设定坐标
(cm
(0,0)
B设定坐标
(70,0)
(0,70)
(70,70)
(40,80)
实际到达坐标(cm
(76,4)
(5,68)
(66,74)
(37,76)
误差比例
8%-
-3%
8%5%
7%7%
在功能二进行过程中,功能三同样在工作,而且两功能数据均能满足要求。
(3)扩展部分功能一测试表格:
设定坐标
(65,30)
(36,70)
(80,75)
实际到达坐标
(60,28)
(39,66)
(88,80)
8%7%
10%5%
10%7%
7%5%
扩展功能设定坐标后小车能自动跑到设定位置,满足要求。
七总结
通过参加TI杯电子设计大赛,我们懂得了团队协作的重要性,体会到了科技的发展;
我们发挥了自己的优点,同时又发现了与别人的差距。
我们在项目制作中遇到了各种困难,然后去克服困难。
一路走下来我们学会了坚持,学会了努
力奋斗,学会了成功不自是一个人的。
设计过程中我们遇到了很多困难,但从中也学会了喝很多东西。
比如说小车两轮电机不同速度的问题,导致程序运行与小车实际行走不匹配。
苦苦寻找了很久才找到问题。
这件事我们体会到:
即便是相同型号的东西也会存有差异。
这也更加要求我们在以后的工作学习中全面透彻的考虑问题。
附录1:
系统主要电路图
-lj\
IXI
V2C
INI
OVTl
1X4
EXA
OVT5
El-^
CUT4
$£
N^EA
SE7T5EB
GXB
V3
LW3X
04
厂艮F
IS
M
G-XE-
□1
<
r:
C
41
DI
7DD
Ciriu
FWFIUP■CT"
-
■1
1
□P2
>
?
ULKL?
■
§
U庐Jw?
CS
5
DPMI
lOnF
CLK1
T5Tr57
图一L298电机驱动原理图
C.4:
Op卜
OH
口n
CEOF壮
C.[LX2
0/22C£
iDAl
vssVOD「略SFA
AN!
2
ANTITODPA
ia
17
in
至
14
13
LQ
L5QQ>
MMdd3fX
pJca0oj—fM
S.fn
La為H
h,RF2401
C8.
33nF
IM
C10
-^llSpF
图二NRF2401无线通信模块
]|AN,T
C5I.Opf
直涼固定输入
VgOFF
LM2596口-MO输出
_53
GXS
馈
L
ZV*W^
331111
5V输出
^rTN5824
二C2
^220uf
图三LM2596单片机供电模块
Lp-.'
-ICJIEI
图四
光电耦合模块
附录2:
部分源程序代码:
(1)小车遥控器部分主程序
#includevspce061a.h>
#include"
nRF2401.h"
key.h"
#include"
SPLC501User.h"
#include"
Word.h"
unsignedintAddress[5]={0x00,0x00,0x00,0x00,0x02};
charshuzi[戶{'
0'
'
1'
2,3,'
4'
5'
6'
7'
8,9};
unsigned
i,j=0,jianzhi,high,highpy,low,sheding,num1,shu=0,RxBuf[25],Rhigh,Rlow
int
intword[5];
intzhuangtai;
unsignedintnum=20;
voiddisplay(void);
voidsend(void);
voiddiszhuangtai(intzt);
intmain()
{
*P_lOA_Dir=0x0f00;
*P_lOA_Attrib=0x0f00;
*P_lOA_Data=0x0000;
LCD501_lnit(0);
nRF2401_SetAddress(Address,5);
nRF2401_lnitial();
nRF2401_Mode(0);
//*P_lNT_Ctrl=C_lRQ4_1KHz;
//__asm("
lNTlRQ"
);
//设置lOA口高8口为矩阵按键接口
LCD501_Bitmap(0,0,(unsignedint*)encoding_00);
//
LCD501_Bitmap(16,0,(unsignedint*)encoding_01);
LCD501_Bitmap(0,16,(unsignedint*)encoding_02);
LCD501_Bitmap(16,16,(unsignedint*)encoding_03);
LCD501_Bitmap(0,32,(unsignedint*)encoding_04);
LCD501_Bitmap(16,32,(unsignedint*)encoding_05);
//while
(1)
*P_Watchdog_Clear=0x1;
display();
num1=keyscan_high();
if(num1!
=20)
nRF2401_Mode
(1);
send();
}
if((nRF2401_RxStatus())==1)
求,且无按键按下
态
设
定
当
前
//nRF2401A
有数据请
//接收数据1111001
{nRF2401_ReceiveWord(RxBuf);
11001101
shu=RxBuf[0];
Rhigh=shu&
0xff00;
Rhigh>
=8;
Rlow=shu&
0x007f;
Delay_Us(500);
(2)小车主程序:
#include<
spce061a.h>
#include"
nRF2401.h"
#include"
dianji.h"
supercheck.h"
#defineuintunsignedint
unsignedintshu=0,data,Flag;
unsignedintRxBuf[25];
unsignedintzuolun,youlun,luchengL,luchengR,biaozhi=0,Ybaochi;
//zuozhuan,youzhuan
计算检测到得信号次数
//luchengL,luchengR
计算两轮的路程
//biaozhi
测按下向哪转,1左转,
2右转
//Ybaochi
转向时,保持走过的距离,为了显示
while
(1)
getkey();
switch(shu){
case0x000a:
//Flag=1;
qianjin();
break;
case0x000b:
Flag=2;
houtui();
case0x000c:
Flag=3;
zuozhuan();
case0x000d:
Flag=4;
youzhuan();
case14:
Flag=5;
tingzhi();
default:
101
011
110
右转转110
//停止
data=shu;
data=data&
0x0080;
标数据
if(data==0x0080)//走坐标{
intoff"
zuobiao();
*P_Watchdog_Clear=0x0001;
//检测是不是接收的坐
//调用函数。
自动
//函数结束,停止
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遥控 电动 小车 装置 设计 制作 论文