简易遥控小车1.docx
- 文档编号:5390474
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:26
- 大小:2.13MB
简易遥控小车1.docx
《简易遥控小车1.docx》由会员分享,可在线阅读,更多相关《简易遥控小车1.docx(26页珍藏版)》请在冰豆网上搜索。
简易遥控小车1
YibinUniversity
电子信息科学与技术专业
本科生专题设计报告
题目简易遥控小车
专业电子信息科学与技术
学生姓名周俊、胡仁忠、唐艳
涂忠权、叶红、廖琴
年级2006级班级3
指导教师程文波 职称讲师
2009年6月4日
摘要
随着时代科技的进步和发展,单片机也不断的更新换代,引脚在不断增加,功能不断增强,功耗不断减少,性能不断优化。
现在单片机的应用已经普及到我们的日常生活、工作以及科研等各个领域,并已发展成为一种比较成熟的技术。
本文将介绍一种基于AT89S52单片机控制的简易遥控小车,改变传统的遥控方式,用数字式软件编码,通过射频模块完成了无线遥控的目的。
该设计不需要复杂的硬件设计,信号的编码是由软件完成。
通过自定义的通信协议完成通信。
简化了硬件电路,节约了成本。
关键词:
单片机AT89S52;射频无线遥控;步进电机;直流电机
Abstract
Withtheeraofprogressanddevelopmentofscienceandtechnology,single-chiphasbeenthereplacement,pin-increasingfunctionsarebeingconstantlystrengthened,decreasingpowerconsumption,performanceisbeingoptimized.ApplicationofSCMnowhasaccesstoourdailylives,aswellasotherfieldsofscientificresearchandhasdevelopedintoamorematuretechnology.ThisarticlewillintroduceasinglechipAT89S52basedonsimpleremotecontrolcar,remotecontroltochangethetraditionalway,usingdigitalsoftwarecode,throughtheRFmoduletocompletethepurposeofawirelessremotecontrol.Thedesigndoesnotrequirecomplexhardwaredesign,signalcodingiscompletedbythesoftware.Passedsincethecompletionofthedefinitionofthecommunicationprotocolcommunications.Simplifythehardwarecircuit,thecostsavings.
Keywords:
Single-chipAT89S52;RFwirelessremotecontrol;
steppingmotor;DCMotor
目录
摘要I
AbstractII
目录III
第1章选题意义与方案论证1
1.1选题意义与现状1
1.2方案论证1
1.3设计基本指标1
第2章主要芯片介绍2
2.1AT89S52芯片简介2
2.1.1存储器3
2.1.2定时/计数器3
2.1.3中断系统4
2.1.4时钟4
2.1.5芯片引脚介绍4
2.2直流电机与步进电机简介7
2.2.1直流电机简介7
2.2.2步进电机原理9
2.2.3步进电机驱动10
第3章系统硬件设计12
3.1系统整体框架设计12
3.2单片机最小系统12
3.3直流电机单元电路13
3.4步进电机单元电路13
3.5射频接收电路14
3.6射频发射电路15
4.1发射模块程序设计16
4.2接收模块程序设计16
4.3编程与实现17
总结17
参考文献18
致谢19
附录1发射模块程序20
附录2接收模块程序22
附录3实物图25
第1章选题意义与方案论证
1.1选题意义与现状
随着人们生活水平的不断提高,小型系统应用中,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中遥控下车就是一个典型的例子,但人们对它的要求越来越高,要为现代人娱乐更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
简易遥控小车可用单片机与射频模块实现,其硬件简单,编码方式与传统的硬件编码相比节约了硬件成本。
采用软件数字式编码减小了发射命令中的误操作。
本设计采用频率的方式进行编码,在接收方用测频的方式进行解码。
不同的频率表示不同的命令。
射频模块的带宽为:
30~5000HZ,这样就可以用多种命令复合的方式解决误操作。
目前,市场上的玩具遥控小车大多价格都很贵。
主要是由于它的硬件成本高造成的,采用软件编码,大大降低了硬件开销,也就降低了成本,而且用数字式的编码方式减小了命令的误操作,提高了可靠性。
1.2方案论证
方案一:
采用AT89S52控制红外遥控小车
硬件电路部分主要描述了红外接收主控制模块与各模块的相互关系,这部分主要采用MC-51作遥控发射器及接收处理器,汽车前进、后退用直流电动机驱动,转向用步进机驱动,直流电动机采用桥式开关电路驱动电机,步进机用数字逻辑电路驱动,通过无线传输控制小车的运行状态。
方案二:
通过射频模块完成了无线遥控
硬件电路部分的实现是以单片机AT89C51为核心,作为主控制电路,其他外围电路为从属电路部分。
把硬件电路可分为两个模块,发送板模块与接收板模块,再把接收模块分为三个小模块:
电机驱动、数码显示和单片机主控。
综上所述,考虑到电路实现的简单化,控制的便捷化,大大降低了硬件开销,也就降低了成本,本设计采用方案二。
1.3设计基本指标
本设计在手动控制模式下,可以控制小车的前进、后退、左转、右转、控制距离高达120M。
第2章主要芯片介绍
本设计主要芯片有AT89S52单片机,射频无线遥控模块。
在以下两个小节中将详细介绍。
2.1AT89S52芯片简介
单片机有很多优点,它采用面向控制的指令系统。
为满足控制的需要,单片机具有更强的逻辑控制能力,特别是具有很强的位处理能力。
它的体积小,成本低,运用灵活,它面向控制,控制能力很强,能针对性地解决各类控制任务。
抗干扰能力强,适用的温度范围宽,在各种恶劣的环境下都能够可靠的工作。
MCS-51单片的8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
单片机内部结构框图如图1.1所示。
图2-1AT89S52单片机内部结构框图
2.1.1存储器
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64K寻址。
程序存储器:
如果EA引脚接地,程序读取只从外部存储器开始。
对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
AT89S52有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
例如,下面的直接寻址指令访问0A0H(P2口)存储单元
MOV0A0H,#data
使用间接寻址方式访问高128字节RAM。
例如,下面的间接寻址方式中,R0内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。
MOV@R0,#data
堆栈操作也是简介寻址方式。
因此,高128字节数据RAM也可用于堆栈空间。
2.1.2定时/计数器
定时计数器0、1和普通该系列单片机相同,可参考相关文档和资料,此处就不再详述。
现在着重介绍定时计数器2,TIME2是一个16位定时计数器,有三种工作模式:
捕捉模式,自动装载模式,波特率发生器。
包含2个8位寄存器,TH2、TL2。
在定时方式下TL2寄存器每个机器周期(12个晶振周期)增加1。
在计数方式下,当外部引脚T2出现下降沿跳变时,计数器加1,在这种方式下,每个时钟周期都会对该管脚进行采样,当采样出现前一个周期是高电平,后一个周期是低电平,则计数器加1。
由此可知最大计数频率位是晶振频率的1/24。
2.1.3中断系统
AT89S52有6个中断源:
两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。
每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。
IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。
对于AT89S52,IE.5位也是不能用的。
用户软件不应给这些位写1。
它们为AT89系列新产品预留。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断服务后,这些标志位都可以由硬件清0。
实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。
定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。
它们的值一直到下一个周期被电路捕捉下来。
然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。
2.1.4时钟
AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。
石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。
从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图2-2所示。
由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。
图2-2时钟方式
2.1.5芯片引脚介绍
AT89S52为40脚双列直插DIP封装。
它有4组8位通用I\O口,分别是P0口,P1口,P2口和P3口。
4根控RST,EA/VPP,ALE/PROG和PESN。
2根晶振线XTAL1、XTAL2和VCC、GND。
其中P0口还可以作为地址口低8位,P2口为地址口高8位。
P3口特殊功能IO口。
芯片封装如图2-3所示。
图2-3芯片封装图
具体介绍如下:
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),引脚号第二功能具体如下表2-1所示。
表2-1芯片部分引脚第2功能说明
P1.0
T2
定时器/计数器T2的外部计数输入,时钟输出
P1.1
T2EX
定时器/计数器T2的捕捉/重载触发信号和方向控制
P1.5
MOSI
在系统编程用
P1.6
MISO
在系统编程用
P1.7
SCK
在系统编程用
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在flash编程和校验时,P3口也接收一些控制信号。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表2-2所示。
表2-2芯片部分引脚第2功能说明
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
INTO
外中断0
P3.3
INT1
外中断1
P3.4
TO
定时/计数器0
P3.5
T1
定时/计数器1
P3.6
WR
外部数据存储器写选通
P3.7
RD
外部数据存储器读选通
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST--复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG--当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN--程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP--外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
2.2直流电机与步进电机简介
2.2.1直流电机简介
根据供电方式的不同,电机有直流电机和交流电机两种类型。
电脑中使用的风扇电机为直流电机,供电电压为+12V,转速在1000~10000转/分之间。
直流电机是将直流电能转换为机械能的旋转机械。
它由定子、转子和换向器三个部分组成。
直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。
感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向。
)
在图2-4所示瞬间,导体ab、cd的感应电动势方向分别由b指向a和由d指向c。
这时电刷A呈正极性,电刷B呈负极性。
当线圈逆时针方向旋转180°时,这时导体cd位于N极下,导体ab位于S极下,各导体中电动势都分别改变了方向。
图2-4直流发电机原理模型
从图看出,和电刷A接触的导体永远位于N极下,同样,和电刷B接触的导体永远位于S极下。
因此,电刷A始终有正极性,电刷B始终有负极性,所以电刷端能引出方向不变的但大小变化的脉振电动势。
如果电枢上线圈数增多,并按照一定的规律把它们连接起来,可使脉振程度减小,就可获得直流电动势。
这就是直流发电机的工作原理。
导体受力的方向用左手定则确定。
这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。
如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。
当电枢转了180°后,导体cd转到N极下,导体ab转到S极下时,由于直流电源供给的电流方向不变,仍从电刷A流入,经导体cd、ab后,从电刷B流出。
这时导体cd受力方向变为从右向左,导体ab受力方向是从左向右,产生的电磁转矩的方向仍为逆时针方向。
因此,电枢一经转动,由于换向器配合电刷对电流的换向作用,直流电流交替地由导体ab和cd流入,使线圈边只要处于N极下,其中通过电流的方向总是由电刷A流入的方向,而在S极下时,总是从电刷B流出的方向。
这就保证了每个极下线圈边中的电流始终是一个方向,从而形成一种方向不变的转矩,使电动机能连续地旋转。
2.2.2步进电机原理
1.步进电机的工作原理
该步进电机为一四相步进电机,采用单极性直流电源供电。
只要对步进电机
的各相绕组按合适的时序通电,就能使步进电机步进转动。
图2-5是该四相反应式
步进电机工作原理示意图。
图2-5四相步进电机步进示意图
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2-6.a、b、c
所示:
a.单四拍b.双四拍c八拍
图2-6步进电机工作时序波形图
2.2.3步进电机驱动
步进电机驱动器系统电路原理如图2-7:
图2-7步进电机驱动器系统电路原理图
AT89C2051将控制脉冲从P1口的P1.4~P1.7输出,经74LS14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。
使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。
图中L1为步进电机的一相绕组。
AT89C2051选用频率11.0592MHz的晶振,选用较高晶振的目的是为了在方式2下尽量减小AT89C2051对上位机脉冲信号周期的影响。
图3中的RL1~RL4为绕组内阻,50Ω电阻是一外接电阻,起限流作用,也是一个改善回路时间常数的元件。
D1~D4为续流二极管,使电机绕组产生的反电动势通过续流二极管(D1~D4)而衰减掉,从而保护了功率管TIP122不受损坏。
在50Ω外接电阻上并联一个200μF电容,可以改善注入步进电机绕组的电流脉冲前沿,提高了步进电机的高频性能。
与续流二极管串联的200Ω电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡,电流下降时间变小,也起到提高高频工作性能的作用。
第3章系统硬件设计
3.1系统整体框架设计
系统由单片机AT89S52,发射和接收模块,按键电路,驱动电路组成。
系统整体框架如图3-1所示。
图3-1系统整体框架图
在以下几节将分模块介绍各个电路原理。
3.2单片机最小系统
此最小系统中包括电源电路模块,复位电路模块,时钟电路(12M晶振),和ISP数据下载口。
单片机最小系统如图3-2所
图3-2单片机最小系统图
3.3直流电机单元电路
直流电机单元电路如图3-3所示。
图3-3直流电机模块
3.4步进电机单元电路
步进电机单元电路如图3-4所示。
图3-4步进电机驱动模块
3.5射频接收电路
接收模块PCR1A
标称电压:
DC(5V±0.5V)
工作电流:
4mA@5V
工作频率:
315MHZ/433MHZ
输出数据电平:
TTL电平
接口:
4PIN,(间距2.54mm)
最大速率:
1KHZ
接收灵敏度:
-105dBm
最大外型尺寸:
30×13.6×8mm
工作温度:
-10℃~+60℃
特点:
低电压、小体积、高性价比,另有1.7mA@5V小电流高灵敏度接收机
图3-5射频接收电路图
3.6射频发射电路
电路如图3-5所示。
图3-6射频发射电路图
4章系统软件设计与仿真实验
系统程序采用C语言设计,下面将以主程序流程图和温度处理流程图来分别介绍整个系统软件设计的思路和实现方法。
4.1发射模块程序设计
系统控制发射程序流程图如图4-1所示。
图4-1系统控制发射程序流程图
主程序中通过单片机循环地读取键值,再进行数据发射处理,最终将相应频率发射出去。
在判断键值的同时,又对其新的键值进行判断,看是否有预设频率,如果有将继续发射相应波形频率,如果没有则返回继续读取键值进行下一次处理。
4.2接收模块程序设计
系统控制接收程序流程图如图4-2所示。
图4-2系统控制接收程序流程图
通过定时器中断,每隔时间后使接收模块接收相应频率,如果有对应频率,就驱动相应的步进电机或直流电机。
如果没有对应频率,就返回继续等待定时器中断,以便下次工作。
4.3编程与实现
程序设计请见附录1和附录2。
总结
本次专题设计中,整个过程还算顺利,调试后车子无问题,基本达到预期效果。
经过这次系统的毕业设计,熟悉了对一项课题进行研究、设计和实验的详细过程。
这些在我们在将来的工作和学习当中都会有很大的帮助,毕业设计培养了严肃认真和实事求是的科学态度。
而且培养了吃苦耐劳的精神以及相对应的工程意识,同学之间的友谊互助也充分的在毕业设计当中体现出来了
参考文献
[1]马忠梅,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 遥控 小车