单片机多机通讯温度湿度方面.docx
《单片机多机通讯温度湿度方面.docx》由会员分享,可在线阅读,更多相关《单片机多机通讯温度湿度方面.docx(36页珍藏版)》请在冰豆网上搜索。
![单片机多机通讯温度湿度方面.docx](https://file1.bdocx.com/fileroot1/2023-1/21/3185adec-35c5-45ed-a429-79360e5aeeca/3185adec-35c5-45ed-a429-79360e5aeeca1.gif)
单片机多机通讯温度湿度方面
设计任务书
设计题目:
单片机多机通讯系统在家居中的应用
设计要求:
1、在四个居室中分别设有温度传感器模块和湿度传感器模块,利用主从式多机通讯机构,采用一片主机(上位机)和四个从机(下位机),以上位机对下位机进行互相控制,可以对灯光的控制,而且下位机能做到本的控制。
2、设置四组数码管显示各个居室的湿度和温度环境数值,以及灯光的开、关,兼微调的显示。
3、当四个居室中环境参数值超出系统设定的值时,系统就会报警。
否则,系统恢复原设定值,继续正常运行。
设计进度要求:
第一周:
查阅资料,与指导教师进行交流,确定毕业设计题目和内容。
第二周:
进行资料查阅(去图书馆借相关资料书和上网下载有关资料)。
第三周:
根据资料设计计算。
第四周:
根据资料写程序以及画框图,找指导教师检查、指导,保证设计
内容的正确性。
第五周:
整理完善设计内容、按照毕业设计规范进行设计报告的撰写。
第六周:
最终确定设计论文,打印装订,准备毕业答辩和指导教师评阅等。
指导教师(签名):
摘要
本系统利用多片MCU组成了一个简单的居室环境监控网络,具有性能好、检测精度高、操作简单的优点。
本系统采用主从式多机通讯网络结构,以RS-485总线标准进行通讯,具有很高的抗干扰能力。
各室的温度及湿度均可以集中到上位机显示。
设有温度、湿度的上下限报警,提示环境已不适合居住。
另外上位机还能对各室的日光及白炽灯进行控制。
本文的主要工作为设计硬件和软件。
分别介绍了温度测量传感器、湿度传感器、A\D转换器的功能,及一些微控制器的性能和参数。
软件部分主要介绍设计思想及程序流程,并给出了程序清单。
关键词:
居室,湿度,温度,RS—485,传感器
1单片机的发展及应用
1.1单片机的发展
单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。
单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。
1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是1位的,处理能力有限。
单片机的发展分为4个阶段:
第一阶段(1974—76年):
单片机初级阶段。
因为受工艺限制,单片机采用单片的形式而且功能比较简单。
例如美国仙童公司生产的F8单片机,实际上只包括了8位CPU,64个字节的RAM和2个并行接口
第二阶段(1976—78年):
低性能单片机阶段。
以Intel公司生产的MCS——48系列单片机为代表,该系列单片机片内集成有8位CPU,8位定时器/计数器,并行I/O接口,RAM和ROM等,但是最大的缺点就是无串行接口,中断处理比较简单而且片内RAM和ROM容量较小,且寻址范围不大与4KB。
第三阶段(1978—83)高性能单片阶段这个阶段推出的单片机普遍带有串行接口。
多级中断系统,16位定时器/计数器,片内ROM,RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。
第四阶段(1983年至今)8位单片机巩固发展以及16位单片机,32位单片机推出阶段。
此阶段的主要特征是:
一方面发展16位单片机,32位单片机及专用型单片机;另一方面不断完善高档8位单片机,改善其结构,增加片内器件,以满足不同的客户要求。
1.2单片机的应用
单片机的应用很广,分别在以下领域中得到了广泛的应用。
工业自动化:
在自动化技术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机。
在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本。
仪器仪表:
目前对仪器仪表的自动化和智能化要求越来越高。
在自动化测量仪器中,单片机应用十分普及。
单片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积,易于携带和使用,加速仪器仪表向数字化、智能化和多功能化方向发展。
消费类电子产品:
该应用主要反映在家电领域。
目前家电产品的一个重要发展趋势是不断提高其智能化程度。
例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、IC卡、汽车电子设备等。
在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制
信方面:
较高档的单片机都具有通信接口,因而为单片机在通信设备中的应用创造了很好的条件。
例如,在微波通信、短波通信、载波通信、光纤通信、程控交换等通信设备和仪器中都能找到单片机的应用。
武器装备:
在现代化的武器装备中,如飞机、军舰、坦克、导单、鱼雷制导、智能武器设备、航天飞机导航系统,都有单片机在其中发挥重要作用。
终端及外部设备控制:
计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。
近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机
的应用正在不断地走向深入。
2系统简介
本系统采用模块化设计思想,主从式设计结构,监控4个居室的环境参量(包括温度、湿度及对居室灯光的控制)。
系统采用一片AT89C51作为上位机,向下传送位机发送控制命令和数据及接收下位机传送过来的数据,并采用4位数码管显示各居室的温度值和相对湿度值。
该系统共设有5个按键(包括复位键、进入键、返回键、上调键和下调键)。
另外数码管还兼有辅助显示功能,以节省键盘。
下位机采用AT89C2051单片机检测各居室的温度和湿度,并对这些参数进行调节控制;采用MICROCHIP公司的PIC12C508A控制各居室的日光灯和白炽灯的亮度。
4片AT89C2051单片机与主机之间采用RS-485总线标准进行通讯,分别安装在各个居室,与主机的通讯地址为00H、01H、02H、03H。
2.1主要性能参数
1.工作电压:
AC220V±10%
2.测量范围:
温度0℃--+50℃
相对湿度+25%RH--+75%RH
3.测量精度:
温度<±0.5℃
相对湿度<±5RH
4.控制精度:
相对湿度<±5RH
5.显示方式:
温度值小数点浮动显示三位有效数字,相对湿度小数点浮动显示三位有效数字。
2.2主要功能
1.显示:
当数码管显示“——00”“——01”“——02”“——03”分别表示对0、1、2、3室进行操作;“L———”“F———”“H———”分别表示对灯光、温度、湿度环境参量进行操作;当数码管显示“—F——”“—L——”分别表示对居室的日光灯、白炽灯操作;当数码管显示“———0”“———1”分别表示对居室白炽灯的开、关(兼调亮、调暗功能);当数码管显示“—D——”“—S——”分别表示对下位机传来的数据进行显示、对下位机进行设定控制目标值操作;当目标操作完成后显示“GOOD”,表示操作已成功。
2.下位机不仅能接受上位机对其灯光的控制,而且能够做到本地控制。
3.对灯光的控制(尤其是对白炽灯)具有记忆性。
4.上位机可对下位机设定相对湿度控制目标。
在上电复位后,如上位机不对下位机进行人工干扰,下位机自动把各室环境湿度参量设定为默认值:
45%RH。
5.当采集环境参量数据超过上、下限值时系统报警,表明环境已不适合居住,提示主人采取相应的措施。
3统设计方案的选择及论证
3.1设计思想
设计时,考虑到由于要检测各居室的环境参量,传感器就必须安装在各居室,为了缩短从传感器到单片机的信号传输距离,以避免远距离传输,可采用主从式多机通讯系统设计。
信号在主从机之间传输时,为了提高抗共模干扰能力、提高传输距离,可采用RS-485总线标准,同时以便与其他设备接口。
为了降低设计难度,可采用模块化设计思想。
3.2系统结构框图
根据上述设计思想,设计系统结构如图2.1所示:
图3.1系统结构框图
3.3灯光控制模块
1、灯光控制方案
目前市场上的白炽灯普遍存在调光效果差,寿命短,不容易实现集中、智能控制等缺点。
随着数字化技术的迅猛发展,针对这种现状,我们完全可以利用软件延时来调节双向可控硅的触发角来达到平滑调光的目的。
这种方案的优点是:
调光平滑,操作简单,寿命长,由于采用了微控制芯片易于实现集中控制和智能控制。
2、微控指芯片的选择
欲实现上述控制方案,需要一个I/O引脚少,RAM及程序存储空间不大,可靠性高的小型微控制芯片。
若采用40脚功能强大的51单片机或引脚的2051单片机,使用起来不方便。
而MICROCHIP公司的PIC12C5××系列单片机[2]仅有8个引脚,是目前最小的单片机,价格相当便宜(512BROM,25BRAM的PIC12C508市场上售价仅3元~5元人民币),对于上述控制方案是最合适不过的。
PIC12C5××系列8位单片机在灯光方面与51系列8位单片机相比具有如下优势[3]:
(1)引脚少,占用空间小,容易做到超小型控制,使用起来方便
(2)内部采用数据线和指令线分离的哈拂结构,取指令和执行指令可同时进行,执行效率更高,速度更快。
因采用了精简指令集(RISC)与传统的采用集中指令集(CISC)结构的8位单片机相比,可以达到2:
1的代码压缩。
速度可提高4倍。
(3)因其引脚具有抗瞬态变化的能力,通过限流电阻可以接到220V的交流电源获得50HZ的同步波,从而可省去过零同步脉冲变压器,而51系列单片机不允许这样接。
(4)内置4MHZ的RC型振荡器,可省接外部振荡器。
(5)内置上电复位电路(POP)
(6)大驱动电流,每个I/O引脚最大控电流为25mA,每个引脚最发灌电流为20mA
基于以上优点,可采用PIC12C508A作为微控制芯片
3、键盘的设计
一片PIC12508A可控制一路白炽灯和一路日光灯,只需3个按键就可满足上述控制要求。
本系统设计1X3独立式键盘,利用GP3,GP4,GP5口来实现键盘扫描。
其工作原理是PIC12C508A扫描这三位,确定某一按键开关均采用了上拉电阻,这是为了保证在按键断开时,每个I/O口有确定的高水平。
电路原理图如图3.2所示:
按键功能:
S-01:
白炽灯开及调亮键
S-02:
白炽灯断及调暗键
S-03:
日光灯开关键
S-01、S-02键:
短时间按下起开关功能,按下超过10mS后则起调光功能。
图3.2灯光控制模块键盘电路图
4、同步波
可安排引脚GP2经4.7M(金属实芯)的限流电阻直接接220V的交流市电,此方法已经由上海索博智能电子有限公司的生产实践所验证。
引脚GP2的波形示意图如图3.3所示:
5、与上位机的通讯
PIC12C508A没有现成的串行接口,且I/O引脚较少,故与上位机通讯比较困难。
因其只接受上位机的控制,并不向上位机传送数据,所以可直接作为上位机的I/O引脚的扩展。
如图3.2所示,三态门只是为了在上位机不对其控制是确保与上位机隔离。
6、相应管脚波形图
如图3.3所示:
图3.3各管脚波形图
3.4温度检测模块
3.4.1温度传感器的选择
首先对常用的几种温度传感器进行比较如下:
(1)热电偶温度传感器[4]:
热电偶检测的温度信号有如下特点:
①能用到高温的热电偶,信号都较小。
即使是信号较大的K偶,在1300℃时,也只有52.398mV。
这就意味着对检测到的信号要进行放大。
②热电偶分度表中给出的数据是以0℃为参考点。
实际应用时,环境常常不是0℃。
为热电偶冷端创造一个0℃环境,通常的作法是进行冷端补偿。
③热电偶的温度信号非线性很大,尤其B偶。
并且,各种热电偶随温度的升高,在某一温度下,热电势的增加量变小。
这就使线性化变得困难。
由于上述原因,热电偶的温度信号调理电路就比较复杂,经常用在高温环境测量,并不适用室温这样一个环境参量的测量,故本系统不采用。
(2)热电阻温度传感器[4]:
热电阻是中低温区最常用的一种温度检测器。
它的主要特点是测量精度高,性能稳定。
其中铂热电阻的测量精确度是高的。
测量范围-200~+500℃,应用时一般需要线性化,一般要采用三线制或四线制来消除引出线电阻的影响,硬件电路复杂,故本系统也未采用.
(3)热敏电阻温度传感器[5]:
测量范围为-100~+300℃,一般为负温度系数且精度较底,所以本系统也未采用。
(4)集成温度传感器[4]:
最常用的电流型集成温度传感器AD590的测量范围为-55~+150℃几乎为恒流源,线性度比较高,不需要外围温度补偿和线性化处理电路,测温线性度为±0.5℃,精度高,灵敏度为1µA/1℃,信号容易处理,而且价格便宜,非常适合本系统。
经过以上比较,最后选用AD590作为本系统的温度传感器。
3.4.2温度传感器信号处理模块
因传感器AD590输出电流信号,不能被单片机处理,需要转化为电压信号,可对电阻进行取样。
取样电压不满足A/D转换器的转换电压,故需要放大。
考虑设计精度,可采用仪表放大器。
但由于集成仪表放大器AD521价格昂贵,相对于本系统来说成本太高,不经济,故采用最普通的运算放大器LM324自行搭接仪表放大器[6]。
3.5湿度检测模块
3.5.1湿度传感器的选择
湿度传感器的核心元件是湿敏元件[5]。
湿敏元件主要分电容式、电阻式两大类。
湿敏电容是用高分子薄膜电容制成的。
当环境湿度发生改变时,湿敏电容的介电常数发生变化,从而电容值。
一般湿敏电容精度比湿敏电阻要低一些。
湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值都发生变化,利用这一特性即可测量湿度。
湿敏电阻的优点是灵敏度高,线性度和产品的互换性较好。
本设计可采用电阻式传感器,具体可选用广州奥松电子有限公司生产的HR202电阻型湿度传感器[7]。
它具有感湿范围宽,响应迅速,抗污染能力强,无需加热清洗及长期使用性能稳定可靠等诸多特点。
HR202技术参考
定额电压1.5VAC(MAX,正弦波)
定额功率0.2mW(MAX,正弦波)
工作频率500Hz~2KHz
使用温度0~60℃
使用湿度95%RH以下
HR202相对湿度-阻抗特性如图3.4所示:
图3.4电气阻抗值R(KΩ)
3.5.2湿度传感器信号处理模块
(1)工作电源的设计
因HR202需要在定额电压1.5VAC(MAX,正弦波)、工作频率500Hz~2KHz工作,故需设计1.5V、1KZ的交流信号源。
采用移相式正弦波振荡电路[8]如图3.5所示:
图3.5移相式正弦波振荡电路
由RC高通电路的幅频及相频响应知,图中每节RC电路都是相位超前电路,相位小于90度。
3阶RC移相网络,其最大相移可接近270度,因此,在某特定的频率下可以移相180度。
只要适当调节RP9的值,使增益AV适当,就可为了确保上述震荡电路在输出要求1KHz频率时幅值满足要求,在输出端接一个由运算放大器组成的比例放大电路来调整幅值使之达到1.5V。
如图3.6所示:
图3.6正弦波振幅调整电路
(2)线性化处理
由HR202相对湿度-阻抗特性图可知,它的电阻的对数值与相对湿度呈线性关系。
由于二极管的正向压降与电流存在对数特性[4],可以利用该特性来补偿湿度传感器的非线性,达到线性化处理的目的。
具体如图3.7所示,同时因二极管具有-2mV/℃的温度特性,所以可以对湿度传感器起到一定的温度补偿作用。
3.7线性化处理电路图
(3)交流信号全波整流电路
传感器信号经线性化处理后仍为交流信号需整流,以便能够被其后的A/D转换器处理。
如图3.8所示,电容C起滤波作用[8]。
经C滤波后,得到一个与环境相对湿度一一对应的电压值。
图3.8全波整流电路
(4)信号放大环节
在相对湿度为25%RH时,湿度信号整流后输出电压并不为零,故需对其调零,可通过调节RP8的分压来实现。
同时通过D7、R27、RP8、R57也能得到理想的温度补偿。
在相对湿度为75%RH时,要求输出电压为5V(即A/D转换的满量程转换电压),可通过调节放大器的增益来实现。
原理图如图3.9:
图3.9信号放大电路
3.6A/D转换模块
为了降低成本温度和湿度两个环境参量可共用一片A/D转换器。
同时为了节省下位机的I/O引脚,可采用TI公司生产的八位逐次逼近串行AD转换器TLC0834[9],它价格也比较适中。
1、TLC0834的主要特点
TLC0834是TL公司生产的8位逐次逼近模数转换器具有输入可配置的多通道多路器和串形输入输出方式。
其多路器可由软件配置为单端或差分输入,也可以配置为伪差分输入。
另外,其输入基准电压大小可以调整。
在全8位分辨率下,它允许任意小的模拟电压编码间隔。
由于TLC0834采用的是串行输入结构,因此封装体积小,可节省51系列单片机I/O资源,价格也较适中。
其主要特点如下:
●8位分辨率;
●易于和微处理器接口或独立使用;
●可满量工作;
●可用地址逻辑多路器选通4输入通道;
●单5V供电,输入范围为0~5V;
●输入和输出TTL、CMOS电平兼容;
●时钟频率为250KHZ时,其转换时间为32µS;
●可以和美国国家半导体公司的ADC0834和ADC0838进行更换,但它内部不带齐纳稳压器网络;
●总调整误差为±1LSB。
2、工作特点
TLC0834可通过和控制处理器相连的串行数据链路来传送控制命令,因而可用软件对通道进行选择和输入端进行配置,其控制逻辑表如
表1TLC0834多路器的控制逻辑表
多路器地址
通 道 号
SGL/DIF
ODD/EVEN
SELECTBIT1
CH0CH1CH2CH3
L
L
H
H
L
H
L
H
L
H
L
H
+-
+-
+-
-+
H
H
H
H
L
L
H
H
L
H
L
H
+
+
+
+
输入配置可在多路器寻址时序中进行。
多路器地址可通过DI端移入转换器。
多路器地址选择模拟输入通道可决定输入是单端输入还是差分输入。
当输入是差分时,应分配输入通道的极性,并应将差分输入分配到相邻的输入通道对中。
例如通道0和通道1可被选为一对差分输入。
另外,在选择差分输入方式时,极性也可以选择。
一对输入通道的两个输入端的任何一个都可以作为正极或负极。
通常TLC0834在输出以最高位(MSB)开头的数据流后,会以最低位(LSB)开头重输出一遍(前面的数据流)。
其工作时序如图1所示:
3、TLC0834引脚功能
TLC0834的引脚排列如图3.10所示,其中CH0~CH3为模拟输入端;CS为片选端;DI为串形数据输入,该端仅在多路器寻址时(MUXSETTINGTIME)才被检测;DO为A/D转换结果的三态串行输出端;CLK为时钟;SARS为转换状态输出端,该端为高电平时,表示转换正在进行,为低电平则表示转换完成;REF为参考电压输入端;VCC为电源;DGTLGND为数字地;ANGLGND为模拟地。
图3.10TLC0834管脚图
4、TLC0834工作时序
TLC0834工作时序如图3.11所示:
图3.11TLC0834工作时序图
5、TLC0834与下位机AT89C2051单片机的接口
TLC0834与89C51单片机的硬件接口电路的电路原理如图3.12所示。
图中,单片机的P1.7接TLC0834的片选信号,P1.6用于产生A/D转换的时钟,P1.5为一个双向I/O口位,可用于对模拟输入进行培植及输出转换所得的数据。
在这里,模拟信号以单端方式输入,参考电压为5V,即A/D模拟量的输入范围为0~5V。
图3.12TLC0834与AT89C2051接口电路图
3.7通讯模块
AT89C2051单片机和AT89C51单片机本身都有现成的串行接口,利用这些资源就能组成一个简单的多机通讯系统。
51系列单片机实现多机通讯时必须工作于方式2或3,作为主机的51单片机的SM2位应设定为0,作为从机的SM2应设定为1[10]。
为了使不同的设备可以方便地连接起来进行通讯,一般采用RS-232和RS-458标准总线传输。
RS-458总线标准与RS-232总线标准相比较,具有如下优点[6]:
(1)接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
(2)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
(3)RS-458接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。
而RS-485接口在总线上是允许连接多达128个收发器。
即具有多站能力,这样用户可以利
用单一的RS-485接口方便地建立起设备网络。
因此考虑到抗共模干扰能力、允许一对双绞线上一个发送器驱动多个负载设备、长距离传输等要求,本系统采用RS-485标准总线传输。
3.7.1RS-485总线驱动
常用的RS-485总线驱动芯片[11]有SN75174,SN75175,SN75176。
SN75176芯片有一个发送器和一个接受器,非常适合为RS-485总线驱动芯片,其价格与单片机相差不多。
SN75176管脚图[12]如图3.13所示,其逻辑如表3.1所示:
差分输入
A-B
使能端
输出
R
Vid≥0.2V
-0.2VVid≤-0.2V
X
Open
L
L
L
H
L
H
?
L
Z
?
表3.1SN75176逻辑关系表
说明:
H=高电平,L=低电平,?
=不确定,X=不相干,Z=高阻
图3.13SN75176引脚图
3.7.2通讯结构框图
如图3.14所示,在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。
匹配电阻的取值应该与总线的特性阻抗相当。
当总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。
将总线上差分信号的正端A+和+5电源间接一个10K的电阻;正端A+和负端B-间接一个10K的电阻;负端B-和地间接一个10K的电阻,形成一个电阻网络。
当总线上没有信号传输时,正端A+的电平大约为3.2V,负端B-的电平大约为1.6V,即使有干扰信号,却很难产生串行通信的起始信号0,从而增加了总线抗干扰能力。
图3.14通讯结构框图
通讯结构框图功能说明:
P1.0为控制接口;SN75176作为总线驱动;R为相对的匹配电阻。
3.8控制模块
本系统通过改造加湿器及风扇的电源结构,实现简单的数字式控制。
考虑到负载分得容量及安装条件,我们可选用12V、5A的电路板继电器,具体型号为:
JZC-32F-1H-DC12V,它最大可控制叫流5A的负载。
起线圈额定功率为0.45W,线圈电阻为320Ω。
可用三极管9014作为开关元件控制线圈通断,因继电器JZ-32F-1H-DC12V额定工作电压为DC12V,所以不必加限流电阻,如图3.15所示。
图中二极管D的作用是保护晶体管T。
当继电器J2吸合时,二极管D截止,不影响电路的工作。
继电器释放时,由于继电器存在着电感,这时晶体管T已经截止,所以会在线圈两端产生较高的电压。
这个感应电压的极性上负下正,正端接在T的集电极上。
当感应电压与±12V之和大于晶体管T的集电结反向耐压时,晶体管T就不能损坏。
加入二极管D后,继电器线圈产生的感应电流由二