智能家居控制系统课程设计报告.docx
- 文档编号:2281962
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:25
- 大小:2.14MB
智能家居控制系统课程设计报告.docx
《智能家居控制系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《智能家居控制系统课程设计报告.docx(25页珍藏版)》请在冰豆网上搜索。
智能家居控制系统课程设计报告
XXXXXXXXXXXXXX
嵌入式系统原理及应用实践
—智能家居控制系统(无操作系统)
学生姓名
XXX
学号
XXXXXXXXXX
所在学院
XXXXXXXXXXX
专业名称
XXXXXXXXXXX
班级
XXXXXXXXXXXXXXXXX
指导教师
XXXXXXXXXXXX
成绩
XXXXXXXXXXXXX
二○XX年XX月
综合实训任务书
学生姓名
XXX
学生学号
XXX
学生专业
XXX
学生班级
XXX
设计题目
智能家居控制系统(无操作系统)
设计目的:
巩固AD转换模块的应用—光照采集
掌握PWM驱动蜂鸣器产生不同频率声音的方法
巩固SSI模块控制数码管动态显示的方法
掌握定时器控制数码管实现动态扫描的思想
掌握DS18B20检测温度的程序设计方法
掌握一个完整项目的分析、规划、硬件设计、软件设计、报告撰写的流程方法。
具体任务:
1、编写(或改写)发光二极管、按键、继电器、定时器、数码管、ADC、PWM、温度传感器DS18B20等模块的初始化程序及基本操作程序。
2、为保证数码管显示的稳定性,使用定时器定时扫描各个数码管,可避免处理器在执行其他程序时,数码管停止扫描而使得显示不正常。
3、通过ADC模块采集开发板上的光敏电阻(CH3),并在数码管低四位显示采集的值,将光照强度分为5级,亮度最亮时开发板上的4颗LED全部熄灭,亮度越来越低时,分别点亮1颗、2颗、3颗,完全黑暗时点亮4颗LED。
4、通过DS18B20检测环境温度,并在数码管高三位显示(两位整数、一位小数),当环境温度低于设定的下限温度时,蜂鸣器报警,同时打开空调制热(继电器);当环境温度高于上限温度时,蜂鸣器报警,同时打开空调制热(继电器)。
5、通过开发板上的三个按键KEY1、KEY2、KEY4(KEY3引脚与DS18B20共用,在此项目中不使用)设定上下限温度:
KEY1按一次设定上限温度(同时数码管显示上限温度),按两次设定下限温度(同时数码管显示下限温度),按三次,设定完成(同时数码管显示实时温度);
KEY2按一次,上限或下限温度加1;
KEY3—该引脚被DS18B20占用,不可使用!
!
!
KEY4按一次,上限或下限温度减1。
智能家居控制系统设计
前言
当前,随着科学技术的发展,计算机、嵌入式系统和网络通信技术逐步深入到各个领域,使得住宅和家用电器设备网络化和智能化,智能家居已经开始出现在人们的生活中。
智能家居控制系统(smarthomecontrolsystems,简称SCS)。
它以住宅为平台,家居电器及家电设备为主要控制对象,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施进行高效集成,构建高效的住宅设施与家庭日程事务的控制管理系统,提升家居智能、安全、便利、舒适,并实现环保节能的综合智能家居网络控制系统平台。
智能家居控制系统是智能家居核心,是智能家居控制功能实现的基础。
通过家居智能化技术,实现家庭中各种与信息技术相关的通讯设备、家用电器和家庭安防装置网络化,通过嵌入式家庭网关连接到一个家庭智能化系统上进行集中或异地的监控和家庭事务管理,并保持这些家庭设施与住宅环境的和谐与协调。
家居智能化所提供的是一个家居智能化系统的高度安全性、生活舒适性和通讯快捷性的信息化与自动化居住空间,从而满足21世纪新秀社会中人们追求的便利和快节奏的工作方式,以及与外部世界保持安全开放的舒适生活环境。
本文以智能家居广阔的市场需求为基础,选取智能家居控制系统为研究对象。
1硬件设计
本系统是典型的嵌入式技术应用于测控系统,以嵌入式为开发平台,系统以32位单片机LM3S8962为主控制器对各传感器数据进行采集,经过分析后去控制各执行设备。
硬件电路部分为:
微控制器最小系统电路、数据采集电路(光敏电路、温度传感器、霍尔传感器)、输出控制电路(继电器、蜂鸣器、发光二极管)和八位LED数码管显示组成。
LM3S8962布局如图1-1所示,LM3S8962核心板外围电路如图1-2所示。
图1.1LM3S8962布局图
图1-2LM3S8962核心板外围电路
1.1ADC转换
数模转换(ADC)外设用于将连续的模拟电压转换成离散的数字量。
StellsrisADC模块的转换分辨率为10位,并最多可支持8个输入通道以及一个内部温度传感器。
ADC模块含有一个可编程的序列发生器,它可在无需控制器的干扰的情况下对多个模拟输入进行采样。
Stellaris系列ARM集成有一个10位的ADC模块,支持8个输入通道,以及一个内部温度传感器,ADC模块含有一个可编程的序列发生器,可在无需控制器干涉的情况下对多个模拟输入源进行采样。
每个采样序列队完全可配置的输入源、触发事件、中断的产生和序列优先级提供灵活的编程。
如输入源和输入模式,采样结束时的中断产生,以及指示序列最后一个采样的指示符。
图1.1-1为ADC输入测试电路示意图。
Stellaris系列MCU的ADC模块采用模拟电源VDDA/GNDA供电。
RW1是音频电位器,输出电压在0V~3.3V之间,并带有手动旋钮,便于操作。
R1和C1组成简单的RC低通滤波电路,能够滤除寄生在由RW1产生的模拟信号上的扰动。
图1.1-1A/D转换电路原理图
1.2SSI控制数码管显示
SSI模块驱动数码管显示,对于TexasInstruments同步串行帧格式,在发送每帧之前,每遇到SSICLK的上升沿开始的串行时钟周期时,SSIFss管脚就跳动一次。
在这种帧格式中,SSI和片外从器件在SSICLK的上升沿驱动各自的输出数据,并在下降沿锁存来自另一个器件的数据。
不同于其它两种全双工传输的帧格式,在半双工下工作的MICROWIRE格式使用特殊的主-从消息技术。
在该模式中,帧开始时向片外从机发送8位控制消息。
在发送过程中,SSI没有接收到输入的数据。
在消息已发送之后,片外从机对消息进行译码,并在8位控制消息的最后一位也已发送出去之后等待一个串行时钟,之后以请求的数据来响应。
返回的数据在长度上可以是4~16位,使得在任何地方整个帧长度为13~25位。
图1.2-1显示了一次传输的TexasInstruments同步串行帧格式。
在该模式中,任何时候当SSI空闲时,SSICLK和SSIFss被强制为低电平,发送数据线SSITx为三态。
一旦发送FIFO的底部入口包含数据,SSIFss变为高电平并持续一个SSICLK周期。
即将发送的值也从发送FIFO传输到发送逻辑的串行移位寄存器中。
在SSICLK的下一个上升沿,4~16位数据帧的MSB从SSITx管脚移出。
同样地,接收数据的MSB也通过片外串行从器件移到SSIRx管脚上。
然后,SSI和片外串行从器件都提供时钟,供每个数据位在每个SSICLK的下降沿进入各自的串行移位器中。
在已锁存LSB之后的第一个SSICLK上升沿上,接收数据从串行移位器传输到接收FIFO。
图1.2-1TI同步串行帧格式(单次传输)
图1.2-2TI同步串行帧格式(连续传输)
图1.2-2显示了背对背(back-to-back)传输时的TexasInstruments同步串行帧格式。
图1.2-3为LM3S8962实验板上数码管通过SSI端口连接的电路原理图。
图1.2-3SSI端口的数码管电路原理图
1.3按键和LED模块
图1.3-1和图1.3-2分别为LM3S8962实验板上的LED和KEY电路原理图,当有按键按下去时,与KEY对应的端口输出低电平,在程序中,当读取到对应的端口输入低电平时,表示有键被按下了,然后将与之关联的LED输出高电平。
图1.3-1为LED灯模块。
此模块中有4颗LED灯,阳极分别通过四个保护电阻连接电源正极,阴极分别和PB0~PB3相接,当需要点亮某颗发光二极管时,只需要给相应的引脚写低电平就行了。
四颗发光二极管的供电经过了一个跳线帽J3,使用此模块前需要将此跳线帽盖上。
图1.3-2为按键模块的原理图。
K1~K4按键一端与公共地相接,另一端与接有高电平的上拉电阻以及MCU的PB4~PB7相接。
当按键断开时,PB4~PB7读取到的是高电平,当有按键闭合时,对应的引脚便会读到低电平,以判断出被按下的键,再有MCU作出相应的相应。
图1.3-1KEY电路原理图图1.3-2LED电路原理图
1.4PWM驱动蜂鸣器
PWM,脉冲宽度调制,是一项功能强大的技术,它是一种对模拟信号电平进行数字化编码的方法。
在脉冲调制中使用高分辨率计数器来产生方波,并且可以通过调整方波的占空比来对模拟信号电平进行编码。
PWM发生器模块产生两个PWM信号,这两个PWM信号可以是独立的信号,也可以是一对插入了死区延迟的互补信号。
PWM发生器模块的输出信号在传递到器件管脚之前由输出模块管理。
LM3S8962实验板驱动直流电机和步进电机的电路原理图如图1.4-1所示,在本电路图中,引出了LM3S8962处理器的六路PWM输出,其中PWM0—PWM3用于驱动四相八拍步进电机,PWM4驱动直流电机,PWM5驱动无源蜂鸣器。
图1.4-1蜂鸣器电路原理图
2软件设计
软件设计主要控制光敏电阻电压采集处理与控制部分、温度采集处理与控制部分、霍尔传感器报警部分和辅助指示部分。
2.1ADC模块
数模转换(ADC)外设用于将连续的模拟电压转换成离散的数字量。
StellsrisADC模块的转换分辨率为10位,并最多可支持8个输入通道以及一个内部温度传感器。
ADC模块含有一个可编程的序列发生器,它可在无需控制器的干扰的情况下对多个模拟输入进行采样。
该StellsrisADC提供下列特性:
☆最多可支持8个模拟输入通道。
☆单端和差分输入配置。
☆内部温度传感器。
☆最高可以达到1M/秒的采样率。
☆4个可编程采样序列,入口长度1~8,每个序列均带有相应的转换结果GPIO。
☆灵活的触发方式:
控制器(软件触发)、定时器触发、模拟比较器触发、GPIO触发、PWM触发。
☆硬件可对多达64个采样值进行平均计算,以便提高ADC转换精度。
☆使用内部3V作为ADC转换参考电压。
☆模拟电源和模拟地跟数字电源和数字地分开。
2.1.1ADC模块原理描述
Stellaris系列ARM集成有一个10位的ADC模块,支持4—8个输入通道,以及一个内部温度传感器。
ADC模块含有一个可编程的序列发生器,可在无需控制器干涉的情况下对多个模拟输入源进行采样。
每个采样序列均对完全可置的输入源、触发事件、中断的产生和序列优先级提供灵活的编程。
▽函数ADCSequenceEnable()和ADCSequenceDisable()用来使能和禁止一个ADC采样序列。
▽函数ADCSequenceDataGet()用来读取ADC结果FIFO里的数据。
▽函数ADCIntEnable()和ADCIntDisable()用来使能和禁止一个ADC采样序列中断。
▽函数ADCIntStatus()用来获取一个采样序列的中断状态。
程序中通过配置ADC,采集光传感器的光照强度并转换,ADC采样完成后触发中断,在中断中修改采样结束控制变量ADC_EndFlag。
2.1.2ADC模块程序设计流程图
2.2SSI模块
SSI总线系统是一种同步串行接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。
外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。
SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:
串行时钟线(SCK)、主机输入/从机输出数据线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能家居 控制系统 课程设计 报告