毕业设计 基于51单片机新型消防车的设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机新型消防车的设计

1  系统硬件设计

1.1单片机电路

1.1.1 AVR单片机内部结构

AVR单片机内部资源非常丰富,集成了各种常用的外围设备,主要由以下部分组成:

l16K字节擦写寿命 10000 次的系统内可编程Flash

l具有独立锁定位的可选Boot 代码区

l片上Boot 程序实现系统内编程

l可同时读写操作的512字节擦写寿命100000 次的EEPROM

l1K字节的片内SRAM

l可以对锁定位进行编程以实现用户程序的加密

lJTAG接口,标准的边界扫描功能支持扩展的片内调试功能

l通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程

l两个具有独立预分频器和比较器功能的8 位定时器/ 计数器

l一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器

l具有独立振荡器的实时计数器RTC

l四通道PWM

l8路10 位ADC

l2个具有可编程增益(1x, 10x, 或200x)的差分通道

l面向字节的两线接口IIC

l两个可编程的串行USART

l可工作于主机/ 从机模式的SPI 串行接口

l具有独立片内振荡器的可编程看门狗定时器TWI

l片内模拟比较器

l上电复位以及可编程的掉电检测BOD

l片内经过标定的RC 振荡器

l片内/ 片外中断源

l6种睡眠模式: 空闲、ADC 噪声抑制、省电、掉电、Standby 模式

l32 个可编程的I/O 口

AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。

AVR的ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为本系统的应用提供了灵活的解决方案。

1.1.2 AVR单片机引脚功能

图1-2 AVR单片机引脚功能

图4-2是AVR单片机DIP封装的引脚图,以下是各引脚功能说明。

VCC                       数字电路的电源

GND                       地

端口A(PA7..PA0)          端口A 做为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。

端口B(PB7..PB0)          端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B 也可以用做其他不同的特殊功能。

端口C(PC7..PC0)          端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口C 也可以用做其他不同的特殊功能。

端口D(PD7..PD0)          端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能。

RESET                    复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。门限时间见P36Table 15。持续时间小于门限间的脉冲不能保证可靠复位。

XTAL1                     反向振荡放大器与片内时钟操作电路的输入端。

XTAL2                     反向振荡放大器的输出端。

AVCC                      AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。

AREF                      A/D 的模拟基准输入引脚。

1.1.3 AVR单片机最小系统电路         

图1-3 AVR单片机最小系统电路

图4-3是AVR单片机最小系统电路图,图中U1是AVR单片机,是整个系统的核心控制单元,R1和C1组成单片机的复位电路,晶振XTAL,和C1,C2是单片机时钟源的辅助电路。AVR单片机的外围电路非常简单,使系统更加的简单,提高可靠性,降低故障率。

复位电路是为了保证单片机在正式运行程序之前,将内部各个功能寄存器的状态回复到初始状态,以保证单片机按照程序设计者的意图运行。R1与C1构成RC电路,在系统上电后,单片机复位端电压渐渐升高,当电压升高到复位端RESET门限电压0.9V时,单片机完成复位,在系统断电后,C1通过复位引脚内部电路放电,在下一次上电时又可以进行复位过程。由于刚上电时,电路中的电容,电感的存在,电路电源的稳定需要一定时间才能使单片机正常可靠运行,所以复位时间长对系统的可靠性有利。电路中R1选10k,C1选10uF,复位时间在10MS以上,可以可靠的对单片机进行复位。R1,C1应该靠近单片机,与单片机的连线短些,可以减少因为周围干扰一起的错误复位动作。

使用外部晶振速度快,频率稳定,抗干扰强,适合在周围用电环境复杂,系统可靠性要求高的电路中。晶振XTAL,和C1,C2与单片机内部时钟源电路一起组成8M的时钟频率,供给单片机内部使用,单片机的熔丝配置中应该选择使用外部晶振选项。晶振,校正电容C2,C3,与单片机的连线应该越短越好,且周围不要有大电流回路,尽量不要在晶振底部走线,晶振的金属外壳要与地相连,可以提高时钟电路的稳定性和可靠性。

1.2 电源电路                

图1-4 系统电源电路原理

由于电机的驱动电路需要24V的工作电压,而单片机、L298电机驱动芯片、光电耦合器等工作电压需要5V,所以变压器的24V输出需要经过稳压模块稳定到单片机的工作电压范围。考虑到电机驱动电路必须和单片机分开供电,这样可以避免电机电路对单片机电路的干扰所以采取对单片机单独供电,步进电机和直流电机桥臂共用一个24V电源。其系统电源电路原理如上图1-4所示。

 1.2.1 电源电路的结构 

由变压器出来的交流信号经过桥式整流和电容滤波之后送给LM7805,稳压5V输出,它的输出单独供给单片机。在三端稳压管的输入输出端与地之间连接大容量的滤波电容,使滤掉纹波的效果更好,输出的直流电压更稳定。接小容量高频电容以抑制芯片自激,输出引脚端连接高频电容以减小高频噪声,使单片机工作在一个良好的电源环境中,提高系统稳定性。

1.2.2 电源芯片引脚功能

电源电路主要运用到7805稳压芯片,该系列芯片技术成熟,所需的外围器件少,性价比高,运用的非常广泛,其内部原理图如图4-5所示。

图1-5 7805内部原理图

图1-6为7805的引脚图

INPUT                电源输入端,最大可达35V

GROUND               电源地

OUTPUT               +8V输出端

图1-6 7805的引脚图

1.3无线通讯模块nRF905

nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9~3.6V,32引脚QSON封装(5×5mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905支持多点间通信,最高传输速率可达100Kb/s,有125个频道可供选择,可满足多频及跳频需要,主要工作参数大都可通过芯片状态字由用户根据需要自行配置,只需少量外围元件便可组成射频收发电路。nRF905没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。所以nRF905是业界体积最小、功耗最少、外围元件最少的低成本射频系统级芯片之一。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905适用于无线数据通信、无线报警及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域。下面介绍nRF905的功能特性、芯片结构、引脚定义和工作模式。

1.3.1  功能特性

1.GFSK调制收发合一。

2.ShockBurst收发模式特适用于低功耗应用。

3.多频道应用——兼容ETSI/FCC,频道切换时间小于650us

4.最大输出功率+10dBm可调,接收灵敏度高达-100dBm

5.载波监听功能有效防止RF传输碰撞。

6.成功收发数据包信号提示。

7.接收数据包自动地址匹配。

8.发送数据包自动重传。

9.自动生成数据包报头及CRC校验码。

10.数据传输速率高达100kbps

11.16脚双排接口,可直接与TTL/COMS模式MCU引脚连接。

12.接口协议:同步串行SPI接口(可用单片机IO模拟)

1.3.2  芯片结构

nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器,曼彻斯特编码/解码由片内硬件完成,无需用户对数据进行曼彻斯特编码,因此使用非常方便。它的结构框图如下图1-7所示:

图1-7 nRF905芯片结构框图

1.3.3 引脚定义

表1-1 nRF905引脚定义

管脚

名称

描述

1

GND

电源地

2

VCC

系统电源

3

TRX_CE

使能芯片接收和发送

4

TXEN

收发状态选择:TXEN=’1’ 发射状态; 

TXEN=’0’ 接收状态 

5

uPCLK

系统时钟分频输出

6

PWR_UP

工作状态控制:PWR=’1’ 正常工作状态; 

PWR=’0’ 待机微功耗状态 

7

GND

电源地

8

GND

电源地

9

AM

地址匹配

10

CD

载波监听

11

MISO

SPI输出,MCU由此口从RF芯片读入数据

12

DR

接收或发送就绪

13

SCK

SPI时钟

14

MOSI

SPI输入,MCU由此口向RF芯片写入数据

15

GND

电源地

16

CSN

SPI使能,低激活

1.3.4  工作模式

nRF905有两种工作模式和两种节能模式。两种工作模式分别是ShockBurstTM接收模式和ShockBurstTM发送模式,两种节能模式分别是关机模式和空闲模式。nRF905的工作模式由TRX_CE、TX_EN和PWR_UP三个引脚决定,详见下表4-2所示:

表1-2 nRF905工作模式

PWR_UP

TRX_CE

TX_EN

工作模式

0

×

×

关机模式

1

0

×

空闲模式

1

1

0

射频接收模式

1

1

1

射频发送模式

                                      

ShockBurstTM模式:

与射频数据包有关的高速信号处理都在nRF905片内进行,数据速率由微控制器配置的SPI接口决定,数据在微控制器中低速处理,但在nRF905中高速发送,因此中间有很长时间的空闲,这很有利于节能。由于nRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射频数据发射速率。在ShockBurstTM接收模式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配(AM)和数据准备好(DR)两引脚通知微控制器。在ShockBurstTM发送模式,nRF905自动产生字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。由以上分析可知,nRF905的ShockBurstTM收发模式有利于节约存储器和微控制器资源,同时也减小了编写程序的时间。下面具体详细分析nRF905的发送流程和接收流程。

  1. 发送流程

典型的nRF905发送流程分以下几步:

A. 当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;

B. 微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;

C. nRF905的ShockBurstTM发送:

射频寄存器自动开启;

数据打包(加字头和CRC校验码);

发送数据包;

当数据发送完成,数据准备好引脚被置高;

D. AUTO_RETRAN被置高,nRF905不断重发,直到TRX_CE被置低;

E. 当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。

ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,nRF905才能接受下一个发送数据包。

2.接收流程

A. 当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurstTM接收模式;

B. 650us后,nRF905不断监测,等待接收数据;

C. 当nRF905检测到同一频段的载波时,载波检测引脚被置高;

D. 当接收到一个相匹配的地址,地址匹配引脚被置高;

E. 当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把数据准备好引脚置高;

F. 微控制器把TRX_CE置低,nRF905进入空闲模式;

G. 微控制器通过SPI口,以一定的速率把数据移到微控制器内;

H. 当所有的数据接收完毕,nRF905把数据准备好引脚和地址匹配引脚置低;

I. nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。

当正在接收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,nRF905立即把其工作模式改变,数据包则丢失。当微处理器接到地址匹配引脚的信号之后,其就知道nRF905正在接收数据包,其可以决定是让nRF905继续接收该数据包还是进入另一个工作模式。

3.节能模式

nRF905的节能模式包括关机模式和节能模式。

在关机模式,nRF905的工作电流最小,一般为2.5uA。进入关机模式后,nRF905保持配置字中的内容,但不会接收或发送任何数据。

空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,nRF905内部的部分晶体振荡器处于工作状态。nRF905在空闲模式下的工作电流跟外部晶体振荡器的频率有关。

1.4 直流电机驱动芯片L298N

L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。其管脚图和实物图分别如图4-8和图4-9所示,管脚功能如表4-3所示。  

图1-8 L298N管脚图 图4-9 L298N实物图

图1-10  直流电机驱动电路

1.5 步进电机驱动器

步进电机的驱动采用专用的驱动电路模块,使用模块电路可以加快产品开发速度,使系统结构简单,稳定,可靠。且单片机只需2个接口就可以完成步进电机的方向和步进控制。所选用的驱动器型号为森创公司的SH-20403,它的主要参数如下:

l10V~40V直流供电

lH桥双极恒相流驱动

l最大3A的8种输出电流可选

l最大 64细分的7种细分模式可选

l输入信号光电隔离

l标准共阳单脉冲接口

l脱机保持功能

2 系统调试

按下电源开关,按下发射控制端的“前进”按钮,新型消防车会执行前进的动作,一直按着,消防车一直前进,松开按钮,消防车停止;按下“后退”的按钮,新型消防车会执行后进的动作,一直按着,消防车一直后进,松开按钮,消防车停止;按下“左转”的按钮,新型消防车会执行左转的动作,一直按着,消防车一直左转,松开按钮,消防车停止;按下“右转”的按钮,新型消防车会执行右转的动作,一直按着,消防车一直右转,松开按钮,消防车停止。

按下地盘“顺时针转动”的按钮,消防车的地盘会执行顺时转动的动作,一直按着,消防车的地盘一直顺时针转,松开按钮,地盘停止转动;按下地盘“逆时针转动”的按钮,消防车的地盘会执行逆时针转动的动作,一直按着,消防车的地盘一直顺时针转动,松开按钮,地盘停止转动。

按下吊篮“上升”的按钮,消防车会执行上升的动作,一直按着,吊篮一直上升,直到到达最高点,松开按钮,吊篮停止上升;按下吊篮“下降”的按钮,新型消防车会执行下降的动作,一直按着,消防车一直下降,直到安全下降到地面,松开按钮,吊篮停止下降。

按下皮带传送“上升”的按钮,传动带会一直执行上升的动作;按下皮带传送“停止”的按钮,传送带会执行停止的动作。

原理图

PCB图

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值