红外遥控小车的设计单片机机电_第1页
红外遥控小车的设计单片机机电_第2页
红外遥控小车的设计单片机机电_第3页
红外遥控小车的设计单片机机电_第4页
红外遥控小车的设计单片机机电_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机电专业课程设计设计题目:机电控制系统的应用设计专业年级:机械电子工程 级学生姓名: 学 号: 指导教师:袁明文二0一二年六月摘 要:本系统以设计题目的要求为目的,以STC12C5410AD单片机为核心。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。采用的技术主要有:(1)通过按键来控制小车的方向;(2)红外遥控的有效应用;(3)新型显示芯片的采用。关键词:STC12C5410AD单片机,红外遥控,编程目 录摘 要I目 录0第1章绪论11.1背景11.2 STC12C5410D的特点及优势1第2章 设计要求及原理分析22.1设计任务

2、22.2基本要求22.3原理分析2电控系统分析2机械系统分析2红外接收器的设置与布局分析3第3章 硬件电路的设计43.1红外接收器和总控电路的选型4红外接收器的选型与工作方式4总控电路的选型43.2最小系统的分析与比较53.3单片机STC12C5410AD最小系统电路设计53.4红外遥控系统63.5显示模块63.6电机驱动模块7第4章 软件设计94.1 主程序流程94.2 红外遥控的编码和解码94.3 数码管显示10第5章 系统的调试和总结135.1硬件方面调试135.2软件方面的调试135.3系统测试数据与分析145.4结 论14参 考 文 献15附录错误!未定义书签。第1章绪论1.1 课题

3、背景本设计一个以STC12C5410AD单片机为核心红外遥控小车, 要求用红外线遥控器控制小车行进的方向, 数码管显示方向档位,蜂鸣器发出换档提示,并且测试开始到停止所用的时间。确定如下方案:在现有玩具电动车的基础上、红外线、红外接收器,实现对电动车的方向、档位、运行状况的实时测控制,并将数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。1.2 STC12C5410D的特点及优势这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。本设计采用STC12C5410AD单片机。以STC12C5410AD为控制核心,它的易用性和

4、多功能性受到了广大使用者的好评。它是第三代单片机的代表。新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。 本设计就采用了比较先进的STC12C5410AD为控制核心,STC12C5410AD采用CHOMS工艺,功耗很低。该设计具有实际意义,可以应用于考古、机器人、医疗器械等许多方面。尤其是在足球机器人研究方面具有很好的发展前景;在考古方面也应用到了超声波传感器进行检测。所以本设计与实际相结合,现实意义很强。第2章 设计要求及原理分析2.1设计任务本系统采用输入电压为+5V,接上电源后指示灯亮,采用HS0038红外线一体化接收器和普通解码方式的红外线电视遥控器来控

5、制小车的方向。本设计以STC12C5410AD单片机 为核心红外遥控小车,除了能控制小车的方向外,还要有数码管显示方向档位,蜂鸣器发出换档提示。2.2基本要求1、遥控器控制小车行进的方向(前进、后退、左转和右转);2、数码管显示档位(1前进或2后退);3、蜂鸣器在换挡时发出提示。2.3原理分析2.3.1电控系统分析根据设计要求,我们认为此设计属于多输入量的复杂程序控制问题,并且输入量属于低速开关量,对于低速开关量复杂程序控制应用单片机技术比较合适,初步计划使用单片机作为核心器件来完成本设计。2.3.2机械系统分析根据题目,小车将完成红外遥控控制方向、数码管显示和蜂鸣器提示等要求,可以采用如下方

6、案完成题目。小车选型:(1)小车选型方案一:选择履带式玩具车加以改造,特点是驱动能力强容易爬坡;方案二:选择直流电机独立制作。特点是驱动能力强;方案三:选择四轮驱动玩具车改造。特点是速度高。以上三种车都有利于刹车的特点,其中履带式小车和减速电机制作的小车速度相对低一些,在单项时间方面较弱,但是在爬坡上占有很大优势。本设计将选择履带式小车。经过论证方案三为设计方案。(2)小车方向控制:方案一:采用按键方式,控制小车运行姿态和端点控制;方案二:采用车无线通讯系统来控制,配上手持式遥控按键。该方案的成本比较贵,容易出现误差。方案三:采用HS0038红外线一体化接收器和普通解码方式的电视机遥控器来控制

7、小车的方向。优点准确性高,价格便宜。故采用方案三。2.3.3红外接收器的设置与布局分析通过对题目的分析我们得出如下几大需要检测的物理量:(1)控制四个方向;(2)数码管显示;(3)蜂鸣器提示。对HS0038红外线一体化接收器应安装在小车的最上面,容易接受信号。第3章 硬件电路的设计针对题目要求,我们设计了一种单片机控制的,电动小车,这台小车的车体选用现成的市售玩具车改装而成,对其结构,运动部件等部分作了改装。为完成题目要求,我们使用了很多传感器,这台小车上还安装了“大脑”“单片机控制系统”。并且根据我们自己的需要而附加的功能,该电路的总体框图可分为几个基本的模块,框图如图3.1所示:图3.1总

8、体框图3.1红外接收器和总控电路的选型3.1.1红外接收器的选型与工作方式红外接收器采用HS0038型号元件,HS0038 信号电平: 38kHz 红外发射接收到时: OUT低电平输出;38kHz 红外发射接收不到时:OUT高电平输出。3.1.2总控电路的选型针对本设计特点多开关量输入的复杂程序控制系统,我们需要擅长处理多开关量的标准单片机,STC公司的STC12C5410AD,它支持在线编写调试,可擦写100000次以上。成本低,性能好,原有程序直接使用,硬件无须改动,5V工作电压 可以使最小系统板最小最轻,耗能少,高速,高可靠强抗静电,强抗干扰。另外同时STC公司的STC12C5410AD

9、是一款集成化很高的芯片,利于小车调试和装载。在设计过程中,我们巧妙运用单片机I/O口和特殊功能的中断口多的功能,尽可能少的去占用I/O口。3.2最小系统的分析与比较考虑到最小系统在电动小车的作用,有的最小系统可能无法胜任这一个工作有的可能I/O太少了,有的可能中断太少了无法达到想要的目的下面就价绍一下两块不同的最小系统的两个不同的方案。方案一:Atmel公司的AT89C52,它支持在线调试,这就大大减少了调试不断拔插芯片的烦恼,另外Atmel公司的AT89C52是一款集成化很高的芯片,利于小车调试和装载。不过就是这个心片要用的I/O和中断口太少了,无法在想要的过程中去实现别的功能。方案二:ST

10、Microelectronics公司的UPSD3212,它支持在线调试,这就大大减少了调试不断拔插芯片的烦恼,但我们对UPSD3212的应用不是很了解。方案三:STC公司的STC12C5410ADAD,它支持在线编写调试,可擦写100000次以上。成本低,性能好,原有程序直接使用,硬件无须改动,3.3V工作电压 可以使最小系统板最小最轻,耗能少,高速,高可靠强抗静电,强抗干扰。另外同时STC公司的STC12C5410ADAD是一款集成化很高的芯片,利于小车调试和装载。在设计过程中,我们巧妙运用单片机I/O口和特殊功能的中断口多的功能,尽可能少的去占用I/O口线。3.3单片机STC12C5410

11、AD最小系统电路设计使CPU开始工作的方法就是给CPU一个复位信号,CPU收到复位信号后将内部特殊功能寄存器设置为规定值,并将程序计数器设置为“0000H”。复位信号结束后,CPU从程序存储器“0000H”处开始执行程序。STC12C5410AD为高电平复位,一般有3种复位方法。上电复位。接通电源时复位。手动复位。设置一个复位按钮,当操作者按下按钮时产生一个复位信号。自动复位。设计一个复位电路,当系统满足某一条件时自动产生一个复位信号。图3.2为最简单的上电复位和手动复位方法图3.2 STC12C5410AD的复位电路整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE

12、管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,STC12C5410AD设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 STC12C5410AD具有在系统可编程功能,可以很方便的改写单片机存储器内的程序不需要把芯片中从工作环境中剥离,把STC12C5410AD ISP下载口接入电路,可使电路实现该功能。单片机外围电路

13、的设计图如图3.3示。图3.3最小系统电路图3.4红外遥控系统红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射雕红外光转换为相应的电信号,再送后置放大器。发射部分如图3.4所示:一般由指令键、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键时,指令码电路产生所需的指令编码信号,指令编码信号对载体进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定指令编码信号。图3.4 红外遥控的发射框图接收部分如图3.5所示:一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路

14、等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。接 收解码整 形解 码放 大 信 号 图3.5 红外线接收框图3.5显示模块通用的多位LED显示驱动电路一般采用动态扫描实现的,单片机要不断扫描才能实现LED的显示,占用了较多的CPU资源。本方案采用I/O口直接送段码来实现8位LED的显示,其最大的特点是并行静态显示驱动速度比较快。另外它的低功耗及灵活的控制方式也是本方案采用的原因。在电路中,八个段码通过引脚与C

15、PU相连,引角DIN与但片机I/O口连接,如下图3.6所示。 图3.6显示模块图 3.6电机驱动模块方案一:采用继电器对电动机的开或关进行控制,通过开关切换对小车实现速度调整这个方案的优点是电路较为简单,缺点是响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案二:采用电阻网络或电位器调整电动机分压,从而达到目的。但是电阻网络只能实现有级调速,而数字电位器(如9317、8547、X9511)世面有售不多,常造成本地采购困难等情况。更主要的问题在于一般电动机的电阻小,但电流很大,分压不仅会降低效率,而且实现很困难。方案三:采用达林顿管组成H型PWM电路。用单片机控制达林顿管使之工作在占空比可调

16、的开关状态,精确调整电动机转速。这种电路工作在饱和截止两种状态下,效率较高,是一种广泛采用的技术。方案四:采用小型直流电机驱动芯片L298,在6-64V电压下,可以提供2安培的额定电流。拥有过热保护和电流反馈检测功能。用以下数据也可以说明:我们都知道直流电动机的转速与其它参量的关系为:式中: n为电动机转速; Ud为电枢电压; Id为电枢电流; Rd为电枢回路总电阻; Ce为由电机结构决定的电势系数; 为励磁磁通。由上式可见,直流电机的调速可以有四种方式:改变电枢电压Ud;改变励磁电压Ul(即改变励磁磁通);改变励磁回路电阻Rf;改变电枢回路总电阻Rd。以第一种调速方法为例,改变电枢电压Ud相

17、当于改变机械特性的起始点n0的大小,而则不受影响。由上式可见,在一定的负载下,增大Ud即可增加转速n。采用改变电枢电压调速的系统称为调压调速系统。它是最常使用的调速方案。通过分析和性价比与电路稳定性分析,选择方案四,电路原理图如图3.7所示图3.7 动力和方向控制模块模块原理图第4章 软件设计软件设计上,根据功能分了几个模块编程。软件部分设计步骤可分为:主程序和中断程序入口程序、初始化程序中的各变量、主程序、键盘工作子程序、中断接收程序、延时子程序等。4.1 主程序流程开始MCU初始化小车启动红外遥控方向控制数码管显示档位及蜂鸣器提示小车停止结束图4.1主程序流程图本软件设计过程中主要实现利用

18、按键来控制不同信号的输出,当红外遥控器按上时,小车向前;当红外遥控器按下时,小车向后倒退;当红外遥控器按左时,小车就向左;当红外遥控器按右时,小车就向右。当红外遥控器按中间时,小车停止。同时在换档时会发出蜂鸣声,给予提示。4.2 红外遥控的编码和解码红外遥控采用PWM串行码的高低电平如图4所示,低电平“0”采用0.565ms的低电平加上0.56ms的高电平组成一个周期为1.125ms的脉冲信号;高电平“1”采用0.565ms的低电平加上1.685ms的高电平组成一个周期为2.25ms的脉冲信号。0.565ms1.125ms“0”0.56ms2.25ms0.565ms1.685ms“1”图4.2

19、 PWM串行码的高低电平调制解调信号,采用输入一个时钟脉冲信号,用一个38kHz的载波信号进行调制,有38kHz的为低电平,无38kHz的为高电平,最后输出的波形为如图5所示输入38KHZ调制输出图4.3时钟脉冲信号输出波形8+8位数据正反码如图6所示,采用9ms的引导码,4.5ms的结束码,加上系统码1和系统码2,以及数据正反码,组成一个系统码。S0-S7D0-D7-引导码 系统码1系统码2 数据正 数据反图4.4数据正反码4.3 数码管显示数码管显示的数码均是由八个LED(即发光二极管)构成的。每段上加上合适的电压,该段就点亮。LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一

20、块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。再把多个这样的8字装在一起就成了多位的数码管了。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:  静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,驱动5个数码管静态显示则需要5&

21、#215;840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 不用的输入管腿必须连接总是连接到一个适合的逻辑电压电平(也就是GND或者VCC)。不用的输出管腿必须悬空。在STC12C5410AD的输入端D接收到单片机传出数据时,输出端Q是否会按输入端D的数据变化输出,要取决于C 端(11脚)的电平状态:如果C 端电平是1,输出端Q是随着变化的,如果C 端电平是0,输出端Q锁存(即保持)临时的数据状态。  STC12C5410AD输入端D是并接在单片机的同一个P0端的;输

22、出端Q则是独立的输出:一个74HC573的输出端按段码顺序并接在6个数码管的段,用于要显示的数字;另一个74HC573的输出端是接在位(即公共COM)用于控制哪个数码管显示。如:数码管要显示1时: 给P3.3高电平(打开段选的74HC573通路)P0送0x82(数字6)给P3.3低电平(锁存/保持数字6,此时并没有显示)延时几毫秒给P3.4高电平(打开位选的74HC573通路)P0送0x02(选中第二个数码管,此时显示)给P3.4低电平(锁存/保持第二个数码管显示)延时几毫秒。   “1”表示高电平,“0”表示低电平.在共阳数码管中0输出即点亮那个段,结果如下表:

23、表4.1数码管显示值abcdefgDp(小数点)显示00000010/1010011110/1100100100/1200001100/1310011000/1401001000/1501000000/1600011110/1700000000/1800001000/19源程序#include<reg51.h>sbit dula=P33; /段码选通位-控制74HC573段输出sbit wela=P34; /位码选通位-控制74HC573位输出/以下是数据表unsigned char code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

24、0x80,0x90;/09段码unsigned char code tab_bit=0x01,0x02,0x04,0x08;/4个位码 /以下是延时函数void Delay(unsigned int i)    /延时程序,i是形式参数    unsigned int j;    for(;i>0;i-)     for(j=0;j<125;j+)    ;/以下是显示函数void display(unsigned char

25、 a, unsigned char num)  /a为显示位数,num为待显示的数字     switch(a)        case 6:     case 4:     dula=1;P0=tabnum,dula=0; /选通段;送数据-4;锁存数据-4;    wela=1;P0= tab_bit2;wela=0;break;/ 选通位;指定第4个数码管显示;锁存位状态;  &#

26、160; case 3:     dula=1;P0=tabnum,dula=0; /选通段;送数据-3;锁存数据-3;    wela=1;P0= tab_bit3;wela=0;break;/ 选通位;指定第3个数码管显示;锁存位状态;    case 2:     dula=1;P0=tabnum,dula=0; /选通段;送数据-2;锁存数据-2;    wela=1;P0= tab_bit4;wela=0;break;/ 选通位;指定第

27、2个数码管显示;锁存位状态;    case 1:     dula=1;P0=tabnum,dula=0; /选通段;送数据-1;锁存数据-1;    wela=1;P0= tab_bit5;wela=0;break;/ 选通位;指定第1个数码管显示;锁存位状态;    default: break;    数码管能在换挡时,进行静态的数字的转换。顺利的实现数码管的显示“1”“2”“3”“4”。第5章 系统的调试和总结该系统目前已调试成功,完成

28、了PC机与51单片机之间的串行通信。并且实现了下列功能:1、遥控器控制小车行进的方向(前进、后退、左转和右转);2、数码管显示档位(1前进或2后退);3、 蜂鸣器在换挡时发出提示。小车在红外遥控下能接受指令,可以接收到相对应的内容且运行良好。5.1硬件方面调试该系统的硬件调试主要是排查单片机印刷电路板的问题和连接上的一些问题。在该系统中,首先通过了仔细地推敲系统原理,确认无误;其次对照设计图纸查印制电路板,看是否有粘接等工艺现象;最后,检查外围连接是否有误,通过这几个方面的反复调试,可确保电路板的无误性。在本系统的硬件调试过程中,出现了下列三种情况1)电压不稳定而导致程序无法写入的情况,使电压

29、稳定的方法是改用新的电池,或者是再次设计电源方案,在这里是用电源接通教学实验板,然后再把教学实验板与本系统相连接,这样,就可以得到稳定的电压了。2)还出现的一个问题是数码管不显示,检查后是焊接上出现了一点的失误。3)蜂鸣器在换挡时发出提示音时声音比较轻,经检查是电压不足而至,STC12C5410ADAD的最大承受电压5V,所以在电压上花功夫是不太可能实现的,所以只有在蜂鸣器上装个扩音器就可以达到响亮的换挡提示音。4)小车在一切都正常的情况下,不能够启动。经检查之后才发现是电量不足的而导致,经检测,电池在充足电以后可以使小车正常运行20分钟。之后就需充电,才能使小车运行。5.2软件方面的调试本系统在软件调试方面也没有规律可循,调试时更多的是凭经验。软件调试的主要任务是排查错误。通过在Wave E2000编译器下调试程序,有两种错误,一种逻辑错误,也就是语法错误,是很容易被发现的,另一种是功能错误,是指在没有语法错误的基础上,由于设计思想或算法的问题导致不能实现软件功能的一种错误。调试过程中出现的问题主要有以下三个方面:1)用其它串口调试软件能够很好的实现两者之间的接受与发射串行连接,成功的接收和发送数据,但使用我们的汇编程序却不能实现,要么只能实现接收功能,要么只能实现发送功能。之后通过对汇编程序做

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论