生产实习 煤气报警器 无线通讯 实习报告 论文Word文档下载推荐.docx
- 文档编号:21703781
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:33
- 大小:1.48MB
生产实习 煤气报警器 无线通讯 实习报告 论文Word文档下载推荐.docx
《生产实习 煤气报警器 无线通讯 实习报告 论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《生产实习 煤气报警器 无线通讯 实习报告 论文Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。
b)原理图设计
1.原理图设计要符合项目的工作原理,连线要正确。
2.图中所使用的元器件要合理选用,电阻、电容等器件的参数要正确标明。
3.原理图要完整,CPU、外围器件、外扩接口、输入/输出装置要一应俱全。
c)程序调计
1.根据要求,将总体功能分解成若干个子功能模块,每个功能模块完成一个特定的功能。
2.根据总体要求及分解的功能模块,确定各功能模块之间的关系,设计出完整的程序流程图。
d)程序调试
1.编写相关程序,并进行仿真。
2.将程序下载到单片机,进行运行调试。
e)设计说明书
1.原理图设计说明
简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。
2.程序设计说明
对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。
3.画出工作原理图,程序流程图并给出相应的程序清单。
指导教师(签字):
教研室主任(签字):
批准日期:
2015年6月29日
第一部分:
煤气报警电路
第1章器件、电路介绍
1.1元器件介绍
1.1.1MQ-5气体传感器:
a特点:
(1)对液化气,天然气,城市煤气有较好的灵敏度。
(2)对乙醇,烟雾几乎不响应。
(3)快速的响应恢复特性。
(4)长期的使用寿命和可靠的稳定性。
(5)简单的测试电路应用。
b应用:
(1)适用于家庭或工业上对液化气,天然气,煤气的监测装置。
(2)优良的抗乙醇,烟雾干扰能力。
C结构、外形:
图1.1
1.1.2lm324n
图1.2
1.1.3MQ-K1空气污染传感器
主要用于当传感器所处环境中存在污染气体,如氨气、硫化物、苯系蒸汽,对烟雾和其它有害气体的进行监测,该传感器可检测多种有害气体。
1.1.4音乐芯片
音乐芯片外形和管脚说明如图2所示,触发音乐芯片工作,音乐芯片上电就由2脚输出音频信号(一般有110声、119声、120声)。
图1.3音乐芯片外形和管脚说明
1.1.5集成电路LM324
图1.4LM324电路符号与管脚图
LM324是四运放集成电路,电路符号与管脚图如图3所示。
它内部包含四组形式完
全相同的运算放大器,除电源共用外,四组运放相互独立。
11脚接负电源,4脚接正电源。
1.2“煤气泄漏检测器”电路原理图
图1.5“煤气泄漏检测器”电路原理图
1.2.1电源指示灯电路:
当电路通电后,电源VCC通过R9给电容C2充电,当C2的正极(U1C的10脚)电位高于U1C的9脚电位后,U1C的8脚输出高电平,使三极管Q4导通,电源指示灯LED1点亮。
1.2.2有害气体检测、报警电路:
当传感器Y1检测到有有害气体后U1A的3脚电压升高,当3脚电压高于2脚电压(RW1可以调节电路检测的灵敏度),U1A的1脚输出高电平,经过U1B跟随器,使Q1导通,使语音芯片U2得电,其2脚输出信号,该信号经Q2、Q3组成的达林顿管放大及三脚电感L1提升电压,使蜂鸣片Y2发出报警声。
第2章焊接过程
2.1焊接步骤
2.1.1准备工作:
在安装之前,首先对每个元件进行检测,看一看是否合格(包括型号、数值、耐压和极性),不合格的需及时更换;
其次把每只元件的引线用砂纸或小刀刮干净,露出金属光泽,涂上焊剂进行上锡;
最后把元件的引线按电路板上位置的长度弯好,弯线时使标记朝外,一手用镊子夹住元件根部附近,另一手弯动引线,拐弯处成弧形。
2.1.2安装:
安装主要根据安装图进行。
通常安装图是以印制板有铜箔面为正面,元件面为背面。
安装时先安装大元件。
然后再把电阻电容等小元件插入焊点孔中,要求元件排列整齐美观,元件型号数值朝外易看到,便于检查维修,最后把测试好的晶体管或集成电路插入焊孔后,就可进行焊接。
二、焊接技术
印制板上元件安装好后,下一步工序就是焊接了,焊接方法可安装一个元件焊一个元件,也可全部安装好后统一焊接,但总的要求是一样的。
2.1.3
清洁烙铁头:
要求烙铁头保持干净,无焊渣等氧化物。
2.1.4
加热焊接部位:
用适当的力将烙铁头压在加热的部位。
烙铁与铜箔之间角度为40度至60度左右。
对于在印制板上焊接元器件来说,要注意使烙铁头同时接触两个被焊接物。
使其受热均匀。
对于热容量小的焊件,例如印制板上较细导线的连接,可以直接省略。
加热时,应该让焊件上需要焊锡浸润的各部分均匀受热,而不是仅仅加热焊件的一部分,更不要采用烙铁对焊件增加压力的办法,以免造成损坏或不易觉察的隐患。
2.1.
5
供应焊锡:
先在铜箔与元件的供有点加微量焊锡,为提高导热性,如有管脚的话,再给管脚的切段面加微量焊锡,覆盖即可,目的防止氧化。
因为焊锡由低温向高温流动的性质,所以离烙铁头
较远处慢慢注入焊锡丝,并调整供给的量及速度,注意不要供给烙铁头上。
烙铁头必须放在能对铜箔和元件同时加热的部位,根据铜箔的大小材质,铜箔和元件大的,烙铁头的接触面积大,反之烙铁头接触面积小,这样可使铜箔和元件在同一时间达到同一温度。
2.2焊接遇到的问题
(a)不知道电阻的的大小
解决办法:
万用表测量
(b)原件焊接错误
用吸锡器吸掉重新焊接
2.3焊接实物展示
图2.1
第3章调试过程
3.1排除逻辑故障
这类故障出现的比较多,要包括错线、开路、短路。
排除的方法是首先将焊接的电路板认真对照原理图,看两者是否一致。
必要时我利用数字万用表的短路测试功能,这样可以缩短排错时间。
图3.1编程界面
3.2排除元器件失效
在保证安装无误后,可以通过用替换方法排除错误,或者通过测试元器件相连接的元器件是否工作来排除错误。
3.3排除电源故障
每次在通电前,都一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏,这方面我都很小心,加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,在5V~4.9V之间属正常。
图3.2成品展示
第4章总结
在通过本次课程中,我们遇到很多问题,但是与此同时,我们也学到了很多,对于本次课题的心得体会,我们觉得有以下几点:
1、不管做什么事,计划是很重要的。
没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。
而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。
这样才能提高成功率。
2、做事要多动脑,选出最好的方法。
一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。
3、要注意细节。
细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是在元件的焊接过程中,一点点的错误就会使你整个焊接失败。
因此我们不仅仅要有整体意识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。
4、团队合作很重要。
团队做一件事时,要发挥出门一个人的长处。
人无完人,但一个团队可以互相帮助,互相补充,只要互相合作,个人完成各自专长的,离成功就只有一步之遥。
人人总是有疏漏的方面,但是只要互相合作,互相交流,就会考虑问题更全面化,在本次课题中,我们组团结合作不仅事半功倍,而且发现了一些好的有趣的构想,我们对单片机有了更浓的兴趣。
第二部分单片机部分
第1章总体设计方案
1.1系统整体的最终方案
综合考虑之后,nRF24L01无线通信系统的系统结构框图如下:
LED显示
显示
中心模块
nRF24L01无线通信模块
图1.1系统结构图
1.2系统工作流程图
本系统的工作流程图如下:
按下键盘
第2章单元模块原理
2.1nRF24L01电路图
图2.1nRF24L01电路图
2.2.nRF24L01与STM32的接口设计
图2-2nRF24L01与MCU接口原理图
图2.2nRF24L01与STM32的接口设计
第3章软件编写流程
3.1nRF24L01无线通信分系统的软件结构
SPI
双向通信
图3.1nRF24L01无线通信系统软件设计结构
3.2初始化程序的设计
3.2.1nRF24L01初始化配置
3.3nRF24L01无线通信软件设计
(1)接收方
接收方对新接收数据包的PID值与上一包进行比较如果PID值不同则认为接收的数据包是新数据包如果PID值与上一包相同则新接收的数据包有可能与前一包相同,接收方必须确认CRC值是否相等如果CRC值与前一包数据的CRC值相等则认为是同一包数据并将其舍弃。
(2)发送方
每发送一包数据则发送方的PID值加1。
3.3.3nRF24L01发送程序设计
图3.5发送程序设计
3.3.4nRF24L01接收程序设计
第4章调试过程
4.1nRF24L01无线通信系统调试
4.1.1硬件调试
图4.1nRF2401无线通信调试图
在实物连接完成后,对线路进行检查。
看nRF2401的电源是否正确连接在了STM32开发板的3.3V电源上,地线是否正确连接在开发板地线,然后其他6脚分别和PA4~PA7和PB0~PB1相连接。
4.1.2软件调试
软件的调试主要是在Keil上进行,初步编译完成后,生成相关的.hex文件,将hex烧入STM32开发板中,检查软件是否实现了自己想要的功能。
检测程序功能效果,再经过编译修改,最终得到理想的程序代码。
软件调试建立在硬件调试成功的基础之上。
4.2nRF2401无线通信系统总体调试
1.按下矩阵键盘,观察数码管是否正确显示对应的数值。
2.观察接收端是否同步显示对应数值。
第5章结果分析
5.1nRF2401无线通信系统的功能实现
本文设计了一个无线通信系统系统,以低成本、高性能和高可靠性为目标,有针对性的选择硬件芯片型号,反复设计与调试软件程序,最终实现数据的收发,本系统成功实现了预计的功能。
5.2nRF2401无线通信系统功能展示
5.2.1发送数据
按下发送方的字母所对应的按键,接受方同步显示对应的数字。
图5.2发送数据
5.2.3最远有效通信距离
经测试,本系统最远有效通信距离可达5.5米。
第6章总结
通过nRF2401的点对点相结合的无线通信,nRF2401无线通信系统实现了数据的收发,并在数码管上将数据展现给用户。
通过现场测试与应用证明了该系统的可用。
经过的实习,我知道了知道单片机内有哪些资源,设计程序要有一个清晰的思路和一个完整的的软件流程图;
在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;
要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;
在实习过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
但是从中学到的知识会让我受益终身。
发现、提出、分析、解决问题和实践能力提高都会受益于我在以后的学习、工作和生活中。
附录
发送程序
//#include"
reg51.h"
#include"
2401.h"
absacc.h"
#include<
stdio.h>
math.h>
string.h>
typedefunsignedcharBYTE;
typedefunsignedintWORD;
/*液晶12864口地址*/
#definewr_comXBYTE[0xC000]//写命令
#definewr_dataXBYTE[0xC100]//写数据
#definerd_comXBYTE[0xC200]//读命令
#definerd_dataXBYTE[0xC300]//读数据
#defineKEYBOARDP1//4X4键盘
voidUpdate();
//键盘映射表
charcodekey_map[4][4]={
'
A'
'
B'
C'
D'
E'
F'
G'
H'
I'
J'
K'
L'
M'
N'
O'
P'
};
voidDelay(WORDn);
voidDelay2(WORDn);
voidlcd_init(void);
//lcd初始化
voidwrite_cmd(BYTEcmd);
//lcd写命令
//voidwrite_string(unsignedchar*s);
//写字符串
voidwrite_data(BYTEdat);
//写数据
voidset_display_place(BYTEline,column);
voidwrite_string_lcd(BYTEline,column,unsignedchar*string);
voidwrite_data_lcd(BYTEline,column,dat);
/************************************************************************
Functionname:
write_cmd
Descriptions:
向lcd输入指令
************************************************************************/
voidwrite_cmd(BYTEcmd)
{
BYTEdl;
do{
dl=rd_com;
}while((dl&
0x80)!
=0);
//判忙
wr_com=cmd;
Delay
(1);
}
/**********************************************************************
write_data
写入数据
**********************************************************************/
voidwrite_data(BYTEdat)
{
wr_data=dat;
}
/***********************************************************************
write_string
写入字符串
***********************************************************************/
voidwrite_string(BYTE*s)
while(*s!
='
\0'
)//'
为字符串结束标志
{
write_data(*s);
s++;
}
set_display_place
设置字符的显示位置
voidset_display_place(BYTEline,column)
BYTEaddress;
if(line==1)
address=0x80+column;
elseif(line==2)
address=0xc0+column;
write_cmd(address);
/*******************************************************************
将字符串写到指定的位置
将字符串显示在lcd的特定位置
*******************************************************************/
voidwrite_string_lcd(BYTEline,column,unsignedchar*string)
set_display_place(line,column);
write_string(string);
/******************************************************************
将字符写到指定的位置
voidwrite_data_lcd(BYTEline,column,dat)
write_data(dat);
/***************************************************
************液晶模块初始化******************************
****************************************************/
voidlcd_init(void)
write_cmd(0x38);
//
//
write_cmd(0x06);
write_cmd(0x0c);
write_cmd(0x01);
voidDelay(WORDn)
WORDx;
while(n--)
x=500;
while(x--);
voidDelay2(WORDn)
x=5000;
////////////////////////////////////////////////////////////////////////////////
//键盘扫描,无按键返回0
charScanKey()
charret=0;
BYTEkey;
BYTEline,row;
KEYBOARD=0xf0;
//扫描列
key=KEYBOARD;
if(key==0xf0)break;
//没有键按下
//有键按下
Delay2
(1);
//延时消除抖动
//再次读端口值
switch(key)//有键按下,记录行值
{
case0x70:
line=3;
break;
case0xb0:
line=2;
case0xd0:
line=1;
case0xe0:
line=0;
}
KEYBOARD=0x0f;
//扫描行
if(key==0x0f)break;
Delay2
(1);
switch(key)//有键按下,记录列值
case0x07:
row=3;
case0x0b:
row=2;
case0x0d:
row=1;
case0x0e:
row=0;
//查找对应的键值
ret=k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生产实习 煤气报警器 无线通讯 实习报告 论文 生产 实习 煤气 报警器 报告