多功能电子保姆机的设计与实现项目可行性研究报告.docx
《多功能电子保姆机的设计与实现项目可行性研究报告.docx》由会员分享,可在线阅读,更多相关《多功能电子保姆机的设计与实现项目可行性研究报告.docx(82页珍藏版)》请在冰豆网上搜索。
多功能电子保姆机的设计与实现项目可行性研究报告
多功能电子保姆机的设计与实现项目可行性研究报告
摘要
随着生活节奏的加快,社会对于保姆的需求量越来越大,若利用电子技术设计出一款电子化、数字化、智能化的多功能电子保姆机,将被广泛应用于生活和工作当中。
本设计以ATmega128单片机为核心处理器,使用DS1302实时时钟芯片提供时钟/日历数据,通过家用电器控制电路来实现电子保姆机的主要功能——家用电器定时开关机控制,利用DS18B20数字化温度传感器测量室内温度,8段LED数码管显示时间、日期、年份和室内温度。
此外,本设计中电子保姆机还具有闹钟、温度越限报警功能。
因此该电子保姆机具有多功能性。
该款多功能电子保姆机可以应用于生活和工作中,此外,人们也可以根据不同场合的要求,在此保姆机上加置其它功能,提高其性能,从而使其应用领域更为广泛。
关键词:
电子保姆机;家用电器定时控制;ATmega128;DS1302;DS18B20;
第一章引言
1.1多功能电子保姆机研究的背景及意义
随着电子技术产业结构的调整,生产工艺的飞速发展,人们生活水平不断提高,家用电器逐渐普及,市场对智能控制系统的需求也越来越大。
人们都希望拥有一台多功能的电子保姆机,来自动地完成一些家务或自动控制家用电器。
电子保姆机自动控制家用电器就是在无人操控的环境下,家用电器能够在设定的时间内工作。
炎热的夏天,人们就想在未回家时空调工作,室内保持凉爽。
如果一直开着空调,这样会十分浪费电。
若有了多功能电子保姆机,就可以根据个人要求使空调在设定的时间内工作。
家用电器定时控制功能实现的前提是准确的知道当前时间,在日常生活中时间对人们来说是相当宝贵的,学生上课得按时,工人上班得准时,和别人约会或召开会议得守时,火车到达得准点,航班起飞得准点;工业生产中,很多环节都需要用时间来确定工序替换时刻。
然而,生活节奏的加快,工作的忙碌和繁杂容易使人们忘记当前时间。
但是,当遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦,所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的。
最早能够定时、报时的时钟属于机械式钟表,但这种时钟受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。
随着电子产品的发展,在现代社会中,电子钟已成为人们日常生活中的必需品。
电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、接口良好、可扩展性能强等特点,被广泛应用于生活和工作当中。
由于电子钟具有可扩展性,所以可在电子钟的基础上增加一些性能,便能够实现多功能电子保姆机的主要功能——家用电器定时控制。
此外,温度实时显示系统应用同样越来越广泛,比如空调遥控器上当前室温的显示、热水器温度的显示等等。
医药卫生、工农业、化工生产上也有很多场合需要测量环境温度。
鉴于温度对人们生活的重要性,多功能电子保姆机也应具有环境温度检测显示及温度越限报警功能。
1.2多功能电子保姆机功能
以Atmega128单片机为核心部件,以实时时钟芯片,数字化温度传感器和家用电器控制电路为外围电路设计出的多功能电子保姆机具有以下功能:
(1)家用电器定时开关机控制功能;
(2)时间显示和手动校对功能,24小时制;
(3)年、月、日显示和手动校对功能;
(4)室内温度检测及显示功能;
(5)闹铃功能;
(6)温度越限报警功能;
(7)时间、日历、室内温度切换显示功能;
(8)掉电后无需重新设置时间和日期功能。
第二章多功能电子保姆机设计方案选择
为了实现多功能电子保姆机的主要功能——家用电器定时开关机控制,该电子保姆机必须具有能够提供时间的电子钟部分,电子钟既可以通过纯硬件电路实现,也可以通过软硬件相结合实现,根据电子钟的核心部分——秒信号的产生原理,通常有以下几种设计方案。
2.1555定时器方案
555定时器是美国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路,因输入端设计有三个5KΩ的电阻而得名。
目前生产的定时器有双极型和CMOS两种类型,其型号分别有NE555(或5G555)和C7555等多种。
它们的结构和工作原理基本相同。
通常,双极型定时器具有较大的驱动能力,而CMOS定时器具有低功耗、输入阻抗高等优点。
555定时器工作的电源电压很宽,并可承受较大的负载电流。
双极型定时器的电源电压范围为5~16V,最大负载电流可达200mA;CMOS定时器电源电压范围为3~18V,最大负载电流在4mA以下[1]。
555定时器是一种多用途的数字-模拟混合集成电路,利用它能够方便地构成施密特触发器、单稳态触发器和多谐振荡器。
由于使用灵活、方便,所以555定时器在波形的产生与变换、测量与控制、家用电器、电子玩具、定时器、脉冲信号发生器等许多领域中得到了应用[2]。
采用555定时器产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子钟。
采用555定时器设计电子时钟,成本低,容易实现。
但是受芯片引脚数量和功能限制,不容易实现电子时钟的多功能性。
2.2FPGA方案
FPGA是英文FieldProgrammableGateArray(现场可编程门阵列)的缩写。
它属于半制定的ASIC产品。
是20世纪70年代发展起来的一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。
FPGA的出现使传统的电子器件和传统的电路设计受到了巨大的挑战。
一片FPGA可以替代几十片,甚至上百片数字集成电路。
FPGA内部包括可编程逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和互连资源(InterconnectResource)三个部分。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
同一片FPGA通过不同的编程数据可以产生不同的电路功能。
FPGA在通信、数据处理、网络、仪器仪表、工业控制、军事和航空航天等众多领域得到了广泛应用。
随着功耗和成本的进一步降低,FPGA还将进入更多的应用领域。
通过一种标准化的硬件描述语言---VHDL语言编写代码,然后用仿真器验证其功能,再将设计代码综合成门级电路,最后下载到可编程逻辑器件FPGA中即可实现电子钟的设计。
2.3单片机设计方案
单片机是在通用微机中央处理器的基础上,将输入/输出接口电路、时钟电路以及一定容量的内存等部件集成在同一芯片上,再加上必要的外围器件,如晶体振荡器。
单片机主要面向工业控制,除了具有通用微机CPU的数值计算功能外,还必须具有较灵活、强大的控制功能,以便实时的检测系统的输入量,控制系统的输出量,从而实现自动控制功能。
其特点有:
(1)抗干扰性强,工作温度范围宽;
(2)可靠性高;
(3)电磁辐射量小;
(4)控制功能很强,但数值计算能力较差;
(5)指令系统比通用微机的指令系统简单;
(6)单片机芯片往往不是单一的数字电路芯片,而是数字、模拟混合电路系统,即单片机芯片内常常集成了一定数量的模拟比较器、A/D及D/A转换电路;
(7)采用嵌入式结构。
尽管同一系列的单片机品种、规格繁多,但彼此差异却不大。
随着人们对智能化设备的要求越来越高,各种智能设备发展越来越快,单片机作为当前应用广泛的嵌入式系统的核心部分之一,在工业、教育、日用生活等诸多领域得到了广泛的应用。
例如,在冰箱、微波炉、洗衣机等家用电器中使用单片机控制系统,使它们更加智能地工作;电话、传真、打印机中可使用单片机系统控制拨号、打印;单片机可以在工业控制和机电一体化系统中作为核心部件。
单片机均具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可方便地实现电子钟功能。
考虑到时钟的精度问题,还可以在单片机的基础上利用实时时钟芯片。
第三章多功能电子保姆机硬件设计
3.1主要芯片选择
3.1.1单片机
3.1.1.1单片机选择
自从1976年Intel公司推出MCS-48系列单片机以来,单片机技术得到了迅速的推广,已被广泛应用于自动测量、智能仪表、工业控制及家用电器各个方面。
AVR单片机是Atmel公司1997年推出的一种具有双总线结构的RISC(ReducedInstructionSetComputer的缩写,即精简指令系统计算机)单片机。
RISC优先选取使用频率最高的简单指令,避免复杂指令;并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。
由于AVR采用了RISC的这种结构,使AVR系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。
传统的MCS-51系列单片机所有的数据处理都是基于一个累加器的,因此累加器与程序内存、数据存储器之间的数据转换就成了单片机的瓶颈;在AVR单片机中,寄存器由32个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。
AVR单片机还支持Basic、C等高级语言编程。
采用高级语言对单片机系统进行开发是单片机应用的发展趋势。
对单片机用高级语言编程可很容易地实现系统移植,并加快软件的开发过程。
AVR单片机具有多个系列,包括ATtiny、AT90、ATmega。
每个系列又包括多个产品,它们在功能和内存容量等方面有很大的不同,但基本结构和原理都类似,而且编程方法也相同[3]。
仅仅为了完成多功能电子保姆机的主要功能——家用电器定时开关机控制,应用AVR任意一款单片机完全可以实现。
若要实现时间/日历、温度显示,温度检测和温度越限报警功能,就需要更多的I/O端口,故本设计采用具有53个可编程I/O端口的ATmega128。
3.1.1.2ATmega128特点
ATmega128是目前AVR中配置最全、功能最强的一款。
它的引脚数最多(64个引脚),在片内集成了4K的SRAM、128K的Flash、4K的E2PROM,支持64K空间的外部并行扩展,其具体特点如下:
(1)高性能、低功耗的AVR8位微处理器;
(2)先进的RISC精简指令结构;
(3)非易失性的程序和数据存储器;
(4)JTAG接口(与IEEE1149.1标准兼容);
(5)外设特点
–实时计数器(RTC),4个具有比较模式和PWM的定时器计数器(两个带预分频器和一种比较模式的8位定时/计数器、两个扩充的带预分频器和比较模式捕获模式的16位定时/计数器);
–两个USART、一个两线((I2C)串行接口、一个8通道10位具有可选增益差分输入的A/D转换器、一个SPI口、片内模拟比较器、一个带内部振荡器的可编程看门狗定时器;
(6)特殊的处理器特点
–上电复位和可编程的低电压检测,内部可校准的RC振荡器,外部和内部中断源,可软件选择时钟频率,全局上拉禁止;
–6种可通过软件选择的省电模式;
(7)I/O和封装
–53个可编程的I/O脚;
–64引脚TQFP封装与64引脚MLF封装;
(8)工作电压:
4.5~5.5V;
(9)速度等级:
0~16MHz[4]。
3.1.1.3ATmega128引脚配置
ATmega128的引脚图如图3.1所示。
图3.1ATmega128引脚图
其引脚功能如表3.1所示。
表3.1ATmega128引脚功能说明
VCC
电源
GND
地
端口A、B、C、D、E
端口A、B、C、D、E都为8位的双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时端口A、B、C、D、E为三态。
端口F
端口F为ADC的模拟输入引脚。
如果不作为ADC的模拟输入,端口F可作为8位的双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时端口F为三态。
如果使能了JTAG接口,则复位发生时引脚PF7(TDI)、PF5(TMS)和PF4(TCK)的上拉电阻使能。
端口G
PG0~PG4
端口G为5位的双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输出使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时端口G为三态。
RESET
复位输入引脚。
超过最小门限时间的低电平将引起系统复位,
XTAL1
反向振荡器放大器及片内时钟操作电路的输入。
XTAL2
反向振荡器放大器的输出。
AVCC
AVCC为端口F以及ADC转换器的电源,需要与Vcc相连接,即使没有使用ADC也应该如此。
使用ADC时应该通过一个低通滤波器与Vcc连接。
AREF
AREF为ADC的模拟基准输入引脚。
PEN
PEN是SPI串行下载的使能引脚。
在上电复位时保持PEN为低电平将使器件进入下载模式。
在正常工作过程中PEN引脚没有其它功能。
3.1.2实时时钟芯片
3.1.2.1实时时钟芯片选择
常用的实时时钟芯片有串行和并行两种类型,其中串行接口的时钟芯片包括I2C接口和三线接口。
常见的串行接口时钟芯片有Phlilps的PCF8563、PCF8583,EPSON的RX8025、MAXIM-DALLAS的DS1305、DS1302、DS1307,美国Xicor公司的X1203等;并行接口的有MAXIM-DALLASDS12C887系列、DS12887等。
每种芯片的主要时钟功能基本相同,只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同。
对时间精度要求很高的情况下,典型的时钟芯片有:
DS1302,DS12887,X1203等都可以满足高精度要求。
考虑到DS1302芯片读写靠时序控制且具有写保护位,抗干扰效果好,日历及RAM中的数据不再改变,同时体积小,联机少,外围只有一个32768Hz晶振[5]。
所以本设计选用实时时钟芯片DS1302。
3.1.2.2时钟芯片DS1302简介
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM。
实时时钟/日历电路提供秒、分、时、日、星期、月、年信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时格式。
DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O线:
复位RST、I/O数据线、串行时钟SCLK。
时钟内部RAM的读/写数据以一字节或多达31字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mw[6]。
3.1.2.3DS1302引脚功能
DS1302芯片引脚如图3.2所示:
图3.2DS1302芯片引脚图
其引脚功能如表3.2所示。
表3.2DS1302引脚功能说明
引脚号
名称
功能
1
VCC2
主电源
2、3
X1、X2
接32.768KHz晶振
4
GND
地
5
RST
复位
6
I/O
数据输入/输出
7
SCLK
串行时钟
8
VCC1
后备电源输入
3.1.2.4DS1302内部结构及工作原理
DS1302的内部结构如图3.3所示:
图3.3DS1302内部结构图
DS1302内部结构包括:
移位寄存器、命令和控制逻辑、振荡器、实时时钟和RAM。
为了初始化任何数据传送。
通过把RST输入驱至高电平来启动所有的数据传送。
RST有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了单字节或多字节数据传送的手段。
时钟SCLK是上升沿后继以下降沿的序列。
数据输入时,在时钟的上升沿前必须有效,而数据位在时钟的下降沿之后输出。
如果RST输入为低电平,则I/O引脚变为高阻状态,中止数据传送[7]。
3.1.2.5DS1302寄存器和控制命令及读写时序
对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。
日历、时间寄存器及控制字如表3.3所示,内部寄存器列表如表3.4所示。
DS1302内部的RAM分为两类:
一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为C0H-FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM,可一次性读写所有的RAM的31个字节。
命令控制字分别为FEH(写)、FFH(读)。
表3.3日历、时钟寄存器与控制字的对照表
寄存器名称
7
6
5
4
3
2
1
0
1
RAM/CK
A4
A3
A2
A1
A0
RD/W
秒寄存器
1
0
0
0
0
0
0
分寄存器
1
0
0
0
0
0
1
小时寄存器
1
0
0
0
0
1
0
日寄存器
1
0
0
0
0
1
1
月寄存器
1
0
0
0
1
0
0
星期寄存器
1
0
0
0
1
0
1
年寄存器
1
0
0
0
1
1
0
写保护寄存器
1
0
0
0
1
1
1
慢充电寄存器
1
0
0
1
0
0
0
时钟突发寄存器
1
0
1
1
1
1
1
注:
最后一位RD/W为“0”时表示进行写操作,为“1”时表示读操作。
表3.4DS1302内部主要寄存器分布表
寄存器名称
命令字
取值
范围
各位内容
写
读
7
6
5
4
3
2
1
0
秒寄存器
80H
81H
00-59
CH
10SEC
SEC
分寄存器
82H
83H
00-59
0
10MIN
MIN
小时寄存器
84H
85H
01-12或00-23
12/
24
0
A
HR
HR
日期寄存器
86H
87H
01-28,29,30,31
0
0
10DATE
DATE
月份寄存器
88H
89H
01-12
0
0
0
10M
MONTH
周寄存器
8AH
8BH
01-07
0
0
0
0
0
DAY
年份寄存器
8CH
8DH
00-99
10YEAR
YEAR
单片机是通过简单的同步串行接口与DS1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向DS1302写入一个命令字。
这个命令字的格式如表3.3所示。
最高位BIT7固定为1,BIT6决定操作是针对RAM还是时钟寄存器,接着的5个BIT是RAM或时钟寄存器在DS1302的内部地址,最后一个BIT表示这次操作是读操作或是写操作。
图3.4DS1302数据读/写时序
物理上,DS1302的通讯接口由3个接口线组成,即RST、SCLK、I/0。
其中,RST从低电平变成高电平,启动一次数据传输过程,SCLK是时钟线,I/O是数据线。
具体的读写时序如图3.4所示。
3.1.3温度传感器
3.1.3.1温度传感器选择
温度测量在实际的生产、生活中具有十分重要的意义。
温度作为一种最基本的环境条件参数,与工业、农业、养殖业的生产以及医学乃至人们的日常生活都是紧密相关的。
大多单片机接口输入的信号是数字信号,或有带A/D转换的高端单片机也可以输入模拟信号。
由单片机获取非电信号的温度信息,必须通过温度传感器。
传统的温度测量多以热敏电阻作为温度传感器,但是,热敏电阻的可靠性较差、测量温度精度低,而且还需经A/D转换成数字信号后才能由单片机进行处理。
因此,使用数字温度传感器可简化硬件设计,方便单片机读取数据、节约成本。
本设计选用一种基于“一线式”技术的数字温度传感器DS18B20,此温度传感器集温度测量和A/D转换于一体,直接输出数字量,接口几乎不需要外围组件,硬件电路结构简单,传输距离远,可以很方便的实现多点测量。
3.1.3.2DS18B20简介
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
它具有以下8种特性:
(1)独特的单线接口方式:
DS18B20与微处理器连接时仅需要一条接口线即可实现微处理器与DS18B20的双向通讯;
(2)在使用中不需要任何外围组件;
(3)可用数据线供电,电压范围:
+3.0V~+5.5V;
(4)测温范围:
-550C~+1250C;
(5)通过编程可实现9~12位的数字符读数方式;
(6)用户可自设定非易失性的报警上下限值;
(7)支持多点组网功能,多个DS18B20可以并联在惟一的总线上,实现多点测温;
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作[8]。
3.1.3.3DS18B20引脚功能
DS18B20的引脚分布如图3.5所示:
图3.5DS18B20引脚分布
引脚功能描述如表3.5所示。
表3.5DS18B20引脚功能
引脚号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚;开漏单总线接口引脚;当被用在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚;当工作于寄生电源时,此引脚必须接地。
3.1.3.4DS18B20内部结构
DS18B20的内部结构如图3.6示。
图3.6DS18B20内部结构图
DS18B20主要由4部分组成:
配置寄存器主要用于确定温度转换的分辨率、ROM中的64位序列号是出厂前被光刻好的,它是该DS18B20的地址识别码,每个DS18B20的64位识别码不相同。
这样就可以实现1根总线上挂接多个DS18B20的目的,温度传感器、非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限值。
高速缓存器内有八个字节,从低到高分别是温度低字节、温度高字节、上限报警温度TH、下限报警温度TL、结构寄存器、三个保留字节。
DS18B20的温度数据用高低两个字节的补码来表示如图3.7所示(以12位转换为例)。
S为符号位,S=1时表示温度为负,S=0时表示温度为正。
图3.7DS18B20温度数据字节表示
3.1.3.5DS18B20工作过程
由于DS18B20单总线通信功能是分时完成的,它有严格的时序概念,因此读写时序很重要。
主机对DS18B20的各种操作必须按协议进行。
由于DS18B20是一个典型的单总线传感器,其命令序列如下:
第一步:
初始化;