大连民族学院机电信息工程学院
自动化系
专业综合课程设计报告
题 目: 专 业: 班 级: 学生姓名:
庄贺、孙婷婷
指导教师:
韩志敏、杜海英 室内灯光智能控制系统 测控技术与仪器
测控112
刘泽军、陈伟、吕大朋、
设计完成日期: 2015年 1月8日
课程设计任务书 题目: 温度测量仪表 课程设计时间:2013.9.9~2013.9.27 一、设计任务 给定温度传感器(热电阻、热电偶等)和单片机最小系统,学习使用单片机最小系统,设计温度测量电路和模拟量输入通道,完成相关的软件设计并实现温度测量显示。 二、设计内容及要求 ⒈ 系统设计的方案; ⒉ 检测电路和过程通道的设计; ⒊ 系统软件设计与实现; ⒋ 需要的详细材料和工具清单; ⒌ 设计的性能指标; ⒍ 撰写设计报告; ⒎ 资料归档。 三、设计重点 检测电路和过程通道设计; 系统软件设计、调试。 四、课程设计进度要求 ⒈ 13.9.9~13.9.10 系统方案设计; ⒉ 13.9.11~13.9.12过程通道设计; ⒊ 13.9.13 完成系统硬件设计,提交材料清单; ⒋ 13.9.14~13.9.18 系统硬件焊接和软硬件调试; ⒌ 13.9.19~13.9.25 完善系统设计,撰写设计报告; ⒍ 13.9.26 成果验收; ⒎ 13.9.27 答辩。 五、参阅书目 [1] 祁伟,杨亭,单片机C51程序设计教程与实验[M]。北京:北京航空航天大学出版社,2006.1 [2] 徐科军,传感器与检测技术[M]。北京:电子工业出版社,2010.11 [3] 方彦军,孙健,智能仪器技术及其应用[M]。北京:化学工业出版社,2004.4 [4] 徐爱钧,智能化测量控制仪表原理与设计[M]。北京:北京航空航天大学出版社,2004.9
目 录
1任务分析和性能指标 ................................................................................................ 1 1.1任务分析 .............................................................................................................. 1 1.2性能指标 .............................................................................................................. 1 2 总体设计方案 ........................................................................................................... 2 2.1硬件方案 .............................................................................................................. 2 2.2软件方案 .............................................................................................................. 3 3 系统硬件设计 ........................................................................................................... 3 3.1检测电路 .............................................................................................................. 3 3.2控制电路 .............................................................................................................. 4 4 系统软件设计 ........................................................................................................... 6 4.1 主程序设计 ......................................................................................................... 7 4.2 数据采集程序设计 ............................................................................................. 8 4.3 监控程序设计 ..................................................................... 错误!未定义书签。 5 调试及性能分析 ....................................................................................................... 9 5.1 调试分析 .......................................................................................................... 10 5.1.1 软件调试..................................................................................................... 10 5.1.2 硬件调试..................................................................................................... 10 5.1.3 系统功能调试............................................................................................. 10 5.2 性能分析 .......................................................................................................... 11 总 结 ........................................................................................... 错误!未定义书签。 参考文献 ..................................................................................................................... 13 附录1 元器件清单 .................................................................................................... 14 附录2 调试系统照片 ................................................................................................ 14
1任务分析和性能指标
1.1任务分析
所研制的控制器以自然光强度和人体存在作为控制器的主要输入参数。可以实现自动与手动控制相兼容。在自然环境光较强光线足够时,无论人是否存在,都不开灯;在自然环境光较弱时,有人存在且超过一定时间,控制器自动打开电灯,直到人离开 后再延时一定时间后关灯。同时,还要按作息时间来控制,夜晚超过12点,若还有人存在,则关闭自动控制器的运行,改用遥控器或机械开关来手动控制,以解决因特殊情况下,自动控制器的不人性化运行。
1.2性能指标
1.调研教室灯光照明需求以及环境光强弱与开、关灯的关系; 2.研究人体存在探测技术,探测角度与范围;
3.研究传感器在教室分布、安放问题,是否一灯一个传感器或多灯公用传感器等;
4.研究确定人体传感器的有关参数; 5.研究灯光控制器电源问题;
6.研究控制器参数值设定的要求及方案; 7.研究人工设置参数、掉电保存参数的问题; 8.研究使用遥控器控制灯光控制器技术;
1
2总体方案设计
系统控制单元是以单片机为核心,其它外围电路主要包括:检测电路、控制电路以及照明电路组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分,是对 硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功 能,达到控制器自动与手动相结合的教室照明智能控制。其总体设计方案图如图2.1所示:
人体及自然光检测电路 统 图2.1
单片机系控制电路 照明电路 2.1硬件方案
本文所研究的教室灯光控制器主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。
光敏电阻及热 释电传感器1 光敏电阻及热 释电传感器2 光敏电阻及热 释电传感器3 单 片 机 继电器3 灯3 继电器2 灯2 继电器1 灯1 市电 2
2.2软件方案
软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动与手动相结合的室内照明智能控制。
3硬件设计与实现
3.1检测电路
检测电路由人体检测单元、自然光检测单元及简单的逻辑电路组成。 人体检测单元由热释电红外传感器(PIR)、红外传感信号处理器BISS0001[61及菲涅尔透镜组成,用于检测其检测范围内有无人存在。本设计中,人体发射的101xm左右的红外线通过菲涅尔滤光片增强后聚集到PIR,PIR输出的电信号经BISS0001及逻辑电路处理后,输出逻辑“l”代表检测区域内有人,否则无人。 如图3-1所示;
图3-1
自然光检测单元主要采用了ON9668。为开关型可见光照度传感器。具有可见光范围内敏感度高,光开关阀值通过外围电阻线性可调,直接输出高低电平,外围电路简单等优点。本设计中自然光检测单元设定如下:当光照度大于设定值时.输出低电平,否则输出高电平。人体检测单元和自然光检测单元的输出经过与逻辑,再传送到MCU接VI.故整个检测单元只有在该检测区域内有人且照度小于设定值时输出高电平,否则输出低电平。如图3-2所示;
3
图3-2
3.2控制电路
3.2.1主控电路
主控电路采用AT80C51单片机组成的单片机最小系统,最为系统的CPU,对信号采集模块采集的信息进行反馈,控制被控电路达到控制要求。系统如图3.3所示
4
图3.3
3.2.2供电模块电路
电源模块采用MSPS-5A4。输人为220V交流电,可直接输出+5V。由于采用了隔离技术及稳压措施,其输出电压十分平稳,为整个系统提供了稳定可靠的工作电源。MCU所需的3.3V电源fla+5V电源经AMSlll7—3.3处理后获得。如图3.4所示:
5
图3.4 3.2.3照明电路
室内照明设备由3组灯组成,每组3个灯泡,3组灯分布在室内不同的区域,以根据人的所在位置进行智能控制,具体电路如图3.5
图3.5 3.2.4时钟控制电路
跟据教室灯光使用特性,该系统还应受到时间的控制,控制系统的时间应符合学校的作息时闯。比如晚间休息、假期等时闻段应该关掉教室灯光控制系统,以节约 能源,因此本研究还加入硬件时钟电路以保证系统的智能化运行。如图3.6所示
6
图3.6
4软件设计与实现
4.1主程序
该流程图描述的是整个流程的控制情况。首先上电复位后系统处于自动控制状态。此时首先检测室内光强是否满足要求,如果可以继续检测室内人的存在情况和存在位置情况,据此控制室内对应区域的灯光明暗,流程图如图4.1
7
开始
N
图4.1 4.2数据采集程序
返回 Y 根据人位置以及光强度控制灯开关 是否有人, 太阳光 初始化 数据采集程序子函数,采用8位共阴型数码管。MAX7219片选、串行数据、串行时钟接到P0口,MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示。如图4.2
子程序入口
图4.2
8
显示驱动初始化 接收数据 显示 返回 4.3监控程序
该程序的功能是对接受的到的电信号经行计算,判断对应IO口输出低电平流程图如图4.3
图4.3
返回 处理数据 初始化 子程序入口 9
5 调试及性能分析
5.1 调试分析 5.1.1 软件调试
在软件方面,本次课程设计的湿度检测器调试主要利用protuse电路仿真设计软件和Keil 4编程软件。首先在Keil 4编程环境下调试程序,编译无误后进行硬件仿真,仿真通过之后,在AD6上进行电路板设计。经最后的调试,软件部分成功完成,并且把一开始的显示做到了无阴影延时显示的效果。从而完成应用软件开发的全过程。调试过程中的运行状态、各寄存器状态、端口状态等都可以在指定的窗口区域显示出来,通过这些显示结果随时跟踪程序运行状态,以确定程序运行无错误。
5.1.2 硬件调试
在对系统进行实际调试时,主要是排除明显的硬件故障。在电路搭建好后,对其进行仔细检查:
1、查看端口是否正确连接,连接是否可靠;
2、插入芯片必须在断电的情况下进行,特别注意芯片的方向不要插反。
3、在将芯片、传感器等元件插到电路板上时,要保证各处电源极性、电压正确,以防止因电源极性接反或电压过高损坏芯片或传感器;
通过对系统不同功能进行测试,系统工作正常,与设定值相比调光误差为±5.0% ,测试效果良好,满足实用的要求。
5.1.3 系统功能调试
在本系统的调试过程中遇到的主要问题及分析解决:
问题1:有人存在的教室中,若人体超过十秒没有活动,人体传感器是不会有信号输出的,那么如何判定教室此时有人的问题。
1 0
分析解决:有人存在的教室中,若人体超过十秒没有活动,人体传感器是不会有信号输出的问题。此问题在系统软件设计时,将有人体存在的状态保持二至五分钟再继续采集信号,并加以处理。
问题2:电源供电电路中集成稳压器温度过高。
分析解决:稳压器温度过高的原因之一是:12V变压器整流滤波后加到集成稳压器输入端的电压较高,使7805上的压降过大。此问题可通过使用9V变压器,在集成稳压器前串入两只二极管降压,同时增大散热片来解决。
5.2 性能分析
本次课程设计介绍了一种改进的基于智能检测技术的室内照明系统设计方案,通过合理设计检测单元阵列的排列实现对室内人员位置的具体定位,进而可以更加有效精确地控制照明灯,达到了节能明显、操作方便、人性化等效果。本课题对适合应用于室内灯光控制系统部分进行了研究。以环境光、人体存在状况等外界环境为控制器的输入参数,比单纯的人员管理教室灯光更合理更有效的降低室内灯光的资源费用,同时还加入时间控制参数,使室内灯光的控制更加符合学校的作息时间。
1 1
总 结
由于考研的关系,本次课程设计我们申请了延期,虽然这样一来时间有些仓促,但所幸任务得以顺利完成。在此我们特别感谢学院的人性化安排,更感谢韩志敏老师一直以来的大力帮助!这次的课程设计,是一个学习的平台,是一次兴趣的启迪,是现实与需求之间差距的体现,也是一个认识与改变的过程。安排课程设计的基本目的,是在于通过理论与实际相结合、人与人的沟通,进一步提高思想觉悟和领悟能力。尤其是观察、分析和解决问题的实际工作能力。作为整个学习体系的有机组成部分,课程设计虽然时间短,但并不具有绝对独立的意义。它的一个重要功能,在于运用学习成果,检验学习效果。运用学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中的不足,以便为完善学习计划,改变学习内容与方法提供实验依据。对于我们理工类的本科生来说,实践能力何等重要。而这种能力在课堂上是学习不到的,必须从书本里走出来。无论课本上的原理如何经典,课文中的描述如何生动,我们都只能理解,只能想象。这次的课程设计让我们拥有了一个全新的体验,与课堂传统式传授知识完全不同,是一种耳目一新的感觉。都说兴趣是最好的老师,那么我想,在那一刻,同学们的兴趣是真的被激发出来了。课程设计过程中,我们也遇到了个各种各样的问题,主要是考虑不周全,看问题不够系统等。虽然期间工作量很大,不过相比于一味的死记硬背理论知识,这次课程设计大大的提高了我们的实践能力和分析问题的能力。课程设计达到了专业学习的预期目的。在课程设计完成之后,我们普遍感到不仅实际动手能力有所提高,而且对整个学科有了更深刻的理解。在课程设计和制作过程中进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。通过这次课程设计,我们也看到了自身状况与现实的差距,有了这样的认识,便于我们在今后的学习中及时补充和调整。我们相信这次课程设计会对我们以后的工作乃至人生产生很大益处,为此还要感谢学院为我们提供这次实践机会,再次感谢韩志敏老师的悉心指导!
12
参考文献
[1] 郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009. [2] 胡汉才.单片机原理与接口技术[M].北京: 清华大学大学出版社,2004.1-505.
[3] 邢国泉. LM35温度传感器的温度特性及其应用[J]. 医疗设备信息.2007,11,25-28.
[4] 薛国红,赵修斌,卢艳娥等.零漂与增益控制对量化的影响分析[J].西安:空军工程大学,2008.
[5] 马忠梅,刘滨等. 单片机C语言Windows环境编程宝典[M]. 北京: 北京航空航天大学出版社. 2003.
13
附录1 元器件清单
名称 51单片机 LM324 光敏电阻 电阻 电阻 电阻 电阻 电阻 电容 继电器 灯泡 59012三极管 二极管 稳
压LM7805
规格 4.7k 10k 20k 33k 100k 0.33μF 器
数量 1 1 1 2 2 1 1 2 2 3 12 6 6 1
附录2 调试系统照片
15
附录3 系统程序
#include #define uchar unsigned char; #define DECODE_MODE 0x09 #define INTENSITY 0x0A #define SCAN_LIMIT 0x0B #define SHUT_DOWN 0x0C #define DISPLAY_TEST 0x0F void DISPLAY( ); void Write7219(unsigned char void Initial(void); float TSC,TEC,RTemp,TEM; int z; void delay (int z) { int x,y; for (x=z;x>0;x--) for (y=100;y>0;y--); } sbit w=P1^0; sbit o=P1^1; sbit m=P1^2; sbit a=P3^2; Sbit LOAD=P0^1; sbit sbit CLK=P0^2; void main() { w=0; o=0; m=0; delay(10); TMOD=0X01; TCON=0X00; TH0=0; address,unsigned char DIN=P0^0; 16 dat); TL0=0; EA=1; IT0=1; EX0=1; w=1; o=1; m=0; TR0=1; TR0=0; TSC=TH0*256+TL0; w=0; o=0; m=0; delay(10); TMOD=0X01; TCON=0X00; TH0=0; TL0=0; EA=1; IT0=1; EX0=1; w=1; o=0; m=1; TR0=1; while(a); m=0; TR0=0; TEC=TH0*256+TL0; RTemp=(TEC*100)/TSC; if(RTemp>167.1||RTemp<0.4321) DISPLAY( ); else { while(a); o=0; 17 if(RTemp<=167.1&&RTemp>100.5) {TEM=(-10*RTemp+1671)/66.6; DISPLAY();} else { if(RTemp<=100.5&&RTemp>62,61) {TEM=(-10*RTemp+1005)/37.89; DISPLAY();} else { if(RTemp<=62.61&&RTemp>40.07) {TEM=(-10*RTemp+626.1)/22.54; DISPLAY();} else { if(RTemp<=40.07&&RTemp>26.28) {TEM=(-10*RTemp+400.7)/13.39; DISPLAY();} else { if(RTemp<=26.28&&RTemp>17.69) =(-10*RTemp+262.8)/8.99; DISPLAY();} else { if(RTemp<=17.69&&RTemp>12,13) =(-10*RTemp+176.9)/5.56; DISPLAY();} else { if(RTemp<=12.13&&RTemp>8.498) {TEM=(-10*RTemp+121.3)/3.632; DISPLAY();} else { TEMTEM { { 18 if(RTemp<=8.498&&RTemp>6.051) { TEM=(-10*RTemp+84.98)/2.447; DISPLAY();} else { if(RTemp<=6.051&&RTemp>4.390) { TEM=(-10*RTemp+60.51)/1.661; DISPLAY();} else { if(RTemp<=4.390&&RTemp>3.226) { TEM=(-10*RTemp+43.90)/1.164; DISPLAY();} else { if(RTemp<=3.226&&RTemp>2.409) { TEM=(-10*RTemp+32.26)/0.817; DISPLAY();} else { if(RTemp<=2.409&&RTemp>1.821) { TEM=(-10*RTemp+24.09)/0.588; DISPLAY();} else { { TEM=(-10*RTemp+18.21)/0.426; DISPLAY();} else \\{ 19 if(RTemp<=1.821&&RTemp> if(RTemp<=1.395&&RTemp>1.081) {TEM=(-10*RTemp+13.95)/0.314; DISPLAY();} else { if(RTemp<=1.081&&RTemp>0.8473) { TEM=(-10*RTemp+10.81)/0.2337; DISPLAY();} else { if(RTemp<=0.8473&&RTemp>0.6707) {TEM=(-10*RTemp+8.473)/0.1766; DISPLAY();} else { if(RTemp<=0.6707&&RTemp>0.5364) {TEM=(-10*RTemp+6.707)/0.1343; DISPLAY();} else { if(RTemp<=0.5364&&RTemp>0.4331) { TEM=(-10*RTemp+5.364)/0.1033; DISPLAY();} } } } } } } } } } } } 20 } } } } } } } } void Write7219(unsigned char address,unsigned { unsigned char i; LOAD=0; for (i=0;i<8;i++) { CLK=0; DIN=(bit)(address&0x80); address<<=1; CLK=1; } for (i=0;i<8;i++) CLK=0; DIN=(bit)(dat&0x80); dat<<=1; CLK=1; } LOAD=1; } void Initial(void) { Write7219(SHUT_DOWN,0x01); Write7219(DISPLAY_TEST,0x00); Write7219(DECODE_MODE,0xff); Write7219(SCAN_LIMIT,0x07); 21 char dat) { Write7219(INTENSITY,0x04); } void DISPLAY() { int b,c,d; Initial(); b=(int)(TEM/100); c=(int)((TEM-b*100)/10); d=(int)(TEM-b*100-c*10); Write7219 (6,b); Write7219 (7,c); Write7219 (8,d); delay(1000); } 22 因篇幅问题不能全部显示,请点此查看更多更全内容