找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4886|回复: 0
收起左侧

单片机气体流速测试系统课程设计论文

[复制链接]
ID:246796 发表于 2017-11-21 03:42 | 显示全部楼层 |阅读模式
《光电检测技术及系统》课程设计
----气体流速测试系统设计
               日    期:2017 年 11 月 21 日
目录
摘    要
1 引 言
2系统总体设计
2.1总体框图:
3 硬件电路设计
3.1 主电路
3.2 开关和电源
4 制作与调试
4.1 硬件电路的布线与焊接
4.2 调试
4.3 实测及误差分析
测试方案:
测试结果:
5 结论
参考文献
附录
附录1: 原理图
附录2: 源程序

摘要
在供热和空气调节中,常需对流体尤其是气流的速度进行测量。通过它,可以了解飞流的流动规律,也可经过一定计算得到其休积流量、质量流盈或动压等有关参数。该气体流速测试系统以传感器与单片机STC12C5A60S2组成的气体流速测试系统。流速传感器将采集到的流速数据传给单片机,单片机再对接受到的数据进行处理,将数据传送到LCD1602液晶显示屏上进行显示。

1 引 言
气体流速的检测和控制关系着产品的性能,是装置能否安全运行的一个重要指标,气体流速对一些大型反应装置起着控制作用,可以通过检测气体流速来实现对反应的控制。可见气体流速的检测对人们的重要性,本设计就是对气体流速的测量。气体流速测试系统以传感器、单片机STC12C5A60S2与LCD1602液晶组成的气体流速测试系统。
2系统总体设计
2.1总体框图
0.png
如图2-1所示,该气体流速测试系统总共由传感器、单片机、显示模块组成。传感器采集数据,输入单片机内部A/D、D/A,将数据处理后输出液晶显示,存入EEPROM存储。


2.2流速的测量方法

在供热和空气调节中,常需对流体尤其是气流的速度进行测量。通过它,可以了解飞流的流动规律,也可经过一定计算得到其休积流量、质量流盈或动压等有关参数。
在此要特别指出流速有线流速w与平均流速w之分,如未特殊声明,流速常指平均流速w。测量风速的方法有气压法、机械法与散热率法。气压法是通过测员压差来侧及流速的。
用机械方法测量风速的仪表有翼式风速仪、杯式风速仪,流速测算仪,它是利用流动气体的动压推动机械装置,如图所示。这两种均由叶片带动叶轮回转,其转速与气流速度成正比。“叶轮转速通过机械传动连接到显示或计数装置,以显示其所测风速的大小。
散热率法是利用流速与散热率成对应关系原理而设计的,或测相等散热暇的时间(卡它温度计),或测温度的变化,或保持原温度的加热电流讯的变化(热线 风速仪)来确定其风速,这一类方法所测最小流速为0.05-0.5m/s,适宜于低流速测量。随着现代科学技术的发展,激光、超声波.射流,甚至利用流体 在特定流道条件下产生旋涡均可精确地进行测速,但此类仪表仪格昂贵、专业性强、在实际推广中受到限制,故此不及以上介绍的几种普及。
流速是一个十分重要的控制变量,通过调节这一变俄,可使其它过程条件维持所需的值,保证生产定额和产品质量,它虽常见,但较难精确测量,一般仅有1-5%精度。
   NH-TYJ水文流速测算仪是为试用全国缆道整改技术要求,统一解决各种转子式流速仪在测杆、测船、缆道测流等环境条件下流速测算、显示而研制的新型测算 仪。该仪器由单片机、液晶显示屏和多用途流速仪信号接口等电路组成。所有流速信号的抗干扰处理采用相关流速信号不突变原理,均由软件技术完 成。                  
利用超声波多普勒原理测量液体流速,利用压力传感器测量液位来检测流量。速度面积模块是ATEX(欧盟潜在爆炸性环境指令)认证1G设备(具有非常高的防护水平)
2.3单片机STC12C5A60S2
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
单片机STC12C5A60S2不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,内部就自带高达60K FLASHROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。而且STC系列单片机支持串口程序烧写。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。
1. 增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;
2. 工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2V(3V单片机);
3. 工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz;
4. 用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节;
5. 片上集成1280字节RAM;
6. 通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;
7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器  可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;
8. 有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM);
9. 看门狗;
10. 内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接
1K电阻到地);
11. 外部掉电检测电路:在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;
12. 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内) 1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz,3.3V单片机为:8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;
13. 共4个16位定时器   两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器   做串行通讯的波特率发生器   再加上2路PCA模块可再实现2个16位定时器;
14. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;
15. 外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2 ), CCP1/P1.4 (也可通过寄存器设置到P4.3);
16. PWM(2路)/PCA(可编程计数器阵列,2路): ——也可用来当2路D/A使用 ——也可用来再实现2个定时器——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);
17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)
18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口;
19. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);

20. 工作温度范围:-40 - +85℃(工业级) / 0 - 75℃(商业级)21.封装: PDIP-40,LQFP-44,LQFP-48  I/O口不够时,可用2到3根普通I/O口线外接  74HC164/165/595(均可级联)来扩展I/O口,  还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
2.4 LCD1602液晶显示器
LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。1602液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
管脚(图2.4.1)功能:
图2.4.1
1602采用标准的16脚接口,其中:
第1引脚:GND为电源地
第2引脚:VCC接5V电源正极
第3引脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4引脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5引脚:RW为读写信号线,高电平(1)时进行读操作,
低电平(0)时进行写操作。
第6引脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳
变时执行指令。
第7~14引脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电
源。第15引脚背光正极,第16引脚背光负极。
特性:
3.3V或5V工作电压,对比度可调
内含复位电路
提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能
有80字节显示数据存储器DDRAM
内建有192个5X7点阵的字型的字符发生器CGROM
8个可由用户自定义的5X7的字符发生器CGRAM
特征应用
微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。
操作控制
注:关于E=H脉冲——开始时初始化E为0,然后置E为1。
字符集
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
在单片机编程中还可以用字符型常量或变量赋值,如'A’。因为CGROM储存的字符代码与我们PC中的字符代码是基本一致的,因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=‘A’这样的方法。PC在编译时就把'A'先转换为41H代码了。
CGROM中字符码与字符字模关系对照表

字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。
0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码(0x10~0x1F及0x80~0x9F)没有定义

3 硬件电路设计3.1 主电路
如图3-1所示,整个电路包括流速计、单片机、显示模块这几部分。
系统原理是:通过检测系统中的传感器采集信号,提取有效信号然后单片机将模拟信号转换数字信号,同时在显示模块中显示出气体的流速。

图3-1 总体电路

3.2 开关和电源
如图3-2所示,为本电路的开关和电源设计。
图3-2开关和电源
4 制作与调试
4.1 硬件电路的布线与焊接

4.2 调试
为了检测气体流速测试系统的可行性,我们做了以下实验:测试系统主电路板及附属电源组成。 对不同地方的气体做出检测。
4.3 实测及误差分析测试方案
第一次在教室内测量空气的流速,第二次在室外测量空气的流速。
测试结果:
次数
流速L/S
流量L
室内检测
1
0.05
0.33
2
0.04
0.32
3
0.02
0.21
室外检测
4
0.06
0.38
5
0.07
0.45
6
0.08
0.66


5 结
本文设计的气体流速测试系统能计算出不同情况下气体流速。它的应用能准确、高效的反映出当前气体的流速,为一些产品的性能提供保障。气体流速的检测和控制关系着产品的性能,是装置能否安全运行的一个重要指标,气体流速对一些大型反应装置起着控制作用,可以通过检测气体流速来实现对反应的控制。
计量是生产的眼睛。流量计量是计量科学技术的组成部分之一,它于国民经济有着密切的关系。对气体流速测量的研究和开发认知,有着广泛的意义和作用。
参考文献

【1】夏继强。单片机实验与实践教程。 北京:北京航空航天大学出版社, 2001

【2】 孙涵芳。MCS-51系列单片机原理及应用[M] 。北京航空航天大学出版社。1996-4

【3】雷玉堂.《光电检测技术》.北京:中国计量出版社,1997
【4】浦昭邦.《光电测试技术》.北京:机械工业出版社,2005
【5】梁铨廷.《物理光学》.北京:机械工业出版社,2012
【6】朱勇.《光通信原理与技术》.北京:科学出版社,2011

附录附录1: 原理图

附录2: 源程序
单片机源程序如下:

  1. #include <string.h>
  2. #include "Lcd12864.h"
  3. #include "Lcd1602.h"
  4. #include "PWM.h"
  5. #include "config.h"
  6. #include <ds18b20.h>
  7. #include "ds1302.h"
  8. #include "eeprom.h"
  9. #include "uart.h"
  10. #include "key.h"
  11. #include "Time.h"
  12. #include "BH1750.h"
  13. #include "PulseSensor.h"
  14. #include "hcsr501.h"
  15. #include "dht11.h"
  16. #include "ADC.h"

  17. void InitTimer0(void);

  18. unsigned char str[20];

  19. extern unsigned long PluNum;        
  20. extern unsigned long time_ms;                  
  21. extern float ShunShi;
  22. extern float LeiJi;

  23. //char displaytemp[16];                  
  24. extern unsigned char DealSudu;
  25. void Init_Timer0(void)
  26. {
  27.         TMOD |= 0x01;         
  28.     TH0 = 0xB1;
  29.     TL0 = 0xE0;
  30.         EA=1;            
  31.         ET0=1;           
  32.         TR0=1;         

  33.         EX0=1;         
  34.         IT0=1;     
  35. }
  36. void Sys_Init()                                                               
  37. {
  38.         Init_Timer0();
  39.         InitLcd1602();

  40. }
  41. void main(void)                                                                                 
  42. {

  43.         EA=1;
  44.         Sys_Init();               
  45.         ShowInit();
  46.     while(1)
  47.     {        
  48.                 KeyScan();
  49.                 KeyDriver();
  50.                 watar_action();
  51.     }
  52. }                                                                                                                                                                          
  53. void Int0_Routine(void) interrupt 0
  54. {        
  55.                 PluNum++;               
  56. }
  57. void Timer0_Routine() interrupt 1                        
  58. {
  59.         static unsigned char Count=0;
  60.     TH0 = 0xB1;
  61.     TL0 = 0xE0;
  62.         
  63.         time_ms++;
  64. ……………………

  65. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表