基于PIC单片机的温湿度监控系统设计

发布者:一条属马的龙最新更新时间:2012-03-17 来源: 电子科技关键字:无线通信  PIC单片机  LabVIEW  控制界面 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    随着科学技术的发展,许多新兴产业对环境提出了更高的要求:制造大规模集成电路需要极高的空气洁净度,生物化学制药需要精确的温湿度控制。因此,对温、湿度和一些基本数据的监测和控制已成为生产过程中非常重要的技术要求。
    PIC单片机(Peripheral Interface Controller)是由美国Microchip公司推出的,由于它的硬件系统设计便捷、指令系统设计精炼、采用精简指令集和哈佛总线结构,拥有速度高、功率低、驱动电流大及控制能力强等优点,能满足用户的各种需要,因此得到广泛的应用。
    本文提出一种采用PIC单片来设计实现的测量和控制系统。首先进行实例内容描述。

1 系统组成
    该系统设计内容分成两大部分:温湿度的测量和控制。
1.1 温湿度测量部分
    温湿度测量部分如图1所示,由传感器、信号调理前端、A/D模数转换部分和无线收发模块组成。

a.jpg


1.2 温湿度控制回馈部分
    控制回馈,就是控制核心MCU根据采集的数据,通过特定的算法判断当前的状态,并输出相应的指令来控制特定的模块以控制温湿度。系统结构框图如图2所示。

b.jpg



2 系统硬件设计
2.1 温湿度传感器的选择
    温湿度传感器大致可以分为模拟温湿度传感器和数字温湿度传感器两类。
    模拟温湿度传感器输出的是信号通常是电流、电压等线性信号,要通过信号前端调理电路和A/D转换电路来实现数字化,才能输入PIC控制核心来运算。这类常用的型号如:热敏电阻、热电偶、ADI公司出品的AD590、美信公司出品的MAX6613等。
    数字化的温湿度传感器在内部集成了传感器、调理电路和A/D转换等电路,可以直接输出数字信号,也可以直接与PIC单片机相连。常用的数字温湿度传感器有达拉斯公司出品的DS18B20,ADI公司出品的ADT75等。
    该系统选用ADI公司出品的AD590,其主要特点如下:
    (1)线性化的电流输出:1μA对应1 K(K为绝对温湿度单位)。
    (2)宽温湿度测量范围:-55~+150℃。
    (3)优异的线性:全温湿度范围内达到±0.3℃。
    (4)宽泛的供电范围:4~30 V。
    (5)低廉的价格。[page]

2.2 PIC单片机硬件
    PIC单片机作为控制核心,其最小系统原理如图3所示。图3中PIC16F877接上供电电压(+5 V和GND),复位电路及晶振电路,即可正常工作,显得简洁易用。

c.jpg


2.3 A/D转换芯片
    ICL7135是一种四位半的双积分A/D转换器,具有精度高(精度相当于14位二进制数)、价格低廉、抗干扰能力强等优点。该系统利用ICL7135进行串行数据采集。该方式结构简单、编程简洁、占用单片机资源少。通过单片机PIC16F877的定时器T0来计脉冲个数,定时器T0所用的频率为系统晶振频率的1/12。为了使定时器T0的计数脉冲与ICL7135工作所需的脉冲同步,可以将ICL7135的BUSY信号接至PIC16F877的PSP5引脚,此时定时器T0是否工作将受BUSY信号控制。当ICL7135开始工作时,即ICL7135的BUSY信号跳高时,定时器T0才开始工作。

d.jpg


    ICL7135与单片机的接口电路如图4所示。将单片机的ALE端的信号经过D触发器4分频后连接到ICL7135的CLK端。这样,定时器T0所记录的脉冲数是ICL7135测量得到的脉冲数的2倍。将定时器记录的脉冲个数除以2得到测量脉冲个数。再将测量脉冲个数减去10001就得到了A/D转换的结果,这样就得到了被测的模拟量,这些转换的实现全部在软件中完成,因此非常简单。

[page]

2.4 无线收发芯片nRF24E1
    nRF24E1是挪威Nordic公司2003年开发的一种嵌入了高性能单片机内核的高速单片无线收发模块。采用QFN封装,将射频发射、接收、GMSK调制、解调、增强型8051内核、9输入12位ADC、125频道、UART、SPI、PWM、RTC、WDT全部集成到单芯片中。芯片的内部结构如图5所示。

e.jpg


    主要组成模块有:
    (1)微处理器:增强型8051内核。
    (2)可编程控制的PWM输出。
    (3)SPI接口:nRF24E1的SPI总线中含3条串口线(SDI,SCK和SDO)。
    (4)RTC唤醒定时器、WTD和RC振荡器。
    (5)A/D转换器:nRF24E1 A/D转换器有10位的动态范围。
    (6)无线收发器:nRF2401工作于全球开放的2.4~2.5 GHz频段。收发器由1个完整的频率合成器、1个功率放大器、1个调节器和2个接收器组成。
    (7)电源管理:在程序的控制下,nRF24E1可进入POWER DOWN省电模式,此时电流消耗仅为2μA,外部中断和看门狗复位能使系统退出省电模式。
    (8)抗干扰能力:采用nRF24E1芯片很容易引入跳频机制,采用频点躲避方式降低同频干扰的影响。

3 系统软件设计
    软件部分包括初始化、A/D数据采集、阈值判断以及控制输入/输出等几个模块,总体构成如图6所示。

f.jpg

[page]

3.1 软件系统
    该系统的PC机端的软件采用美国NI公司的图形化编程语言LabVIEW平台,该平台是测控领域优秀软件,被誉为工程师的语言,可以加快产品开发速度。
    LabVIEW是实验室虚拟仪器集成环境的简称,是目前应用最广、发展最快、功能最强的图形化软件开发集成环境,摒弃了传统开发工具的复杂性。LabVIEW将广泛的数据采集、分析与显示功能集中在同一个环境,且功能强大。
    由LabVIEW编写的控制界面及框图程序如图7,图8所示。

g.jpg



4 结语
    本文介绍了一个完整的温湿度测量、控制系统的设计方案,包括器件的选择、硬件的设计、软件的设计,以及代码注释。采用了PIC单片机上自带的ADC模块,用户在自行设计时,可以考虑将其换成外部的高精度或高速的ADC器件,从而将精度、速度提高;也可以采用更新、更好的传感器,从而简化后级电路设计,也可以达到提高性能的目的。

关键字:无线通信  PIC单片机  LabVIEW  控制界面 引用地址:基于PIC单片机的温湿度监控系统设计

上一篇:PIC单片机软件异步串行口实现技巧
下一篇:基于PIC18F4580的粮食称重系统设计

推荐阅读最新更新时间:2024-03-16 12:55

LABVIEW深入探索---reference(参考)和refnum(参考号)
看到今天的评论,建议我写一点有关REFERENCE的文章,的确早就想写点这部分内容,但是不太容易,因为NI这方面的中文资料很少,我甚至无法准确地翻译REFERENCE。 REFERENCE的常规翻译是参考,目前国内有关LV的书籍也是这样翻译的,但是从我个人理解还是翻译成引用比较好。 为了准确理解引用的概念有必要先解释一下C语言中指针的概念。 int var; int *pVar; pVar= 当我们声明了var整型变量后,在计算机的内存中就分配了四个字节的连续内存空间(与编译器有关,早期是两个字节),pVar是一个指向整型变量的指针,它本身就是32位整型数,自然也占四个字节的内存空间,不过这四个字节的内容是VAR的内存地
[测试测量]
<font color='red'>LABVIEW</font>深入探索---reference(参考)和refnum(参考号)
PIC单片机人机接口模块4×4行列式键盘的程序设计
程序的主流程如图1所示。   图1 程序的主流程   程序主要分为两个部分:一个部分不停地监测是否有按键按下,另一个部分查看哪一个键按下。   在初始状态下,4个列输出端口输出低电平,即RD0~RD3输出低电平,然后持续监测4个行输入端口RD4~RD7的状态是不是高电平。   如果没有按键按下,则RD4~RD7的状态是高电平;如果有按键按下,则被按下的键对应的行输入端口的电平就会被拉低,RD4~RD7会有低电平出现,对4个行输入端口RD4~RD7的电平的监测即为对按键的监测。   在4个行输入端口RD4~RD7上出现低电平时,就转到查询程序SEE。键盘扫描子程序流程如图2所示,按键查询子程序流程如图3所示。
[单片机]
<font color='red'>PIC单片机</font>人机接口模块4×4行列式键盘的程序设计
是德科技与中国移动演示下一代 5G 无线通信系统
是德科技公司(NYSE:KEYS)日前宣布,在 3 月 2 日至 5 日巴塞罗纳举办的世界移动通信大会上,作为与中国移动研究院(CMRI)合作项目的一部分,是德科技将参与中国移动下一代 5G 无线通信系统的联合演示。中国移动是全球最大的移动网络运营商,也是 3G/LTE 和下一代无线网络开发领域的市场领导者。 2014 年 6 月,是德科技与中国移动研究院在北京签署合作谅解备忘录,建立了专注于开发和提供 5G无线通信系统测试与测量解决方案的合作关系。签署备忘录以来,双方团队积极展开 5G 合作项目并取得了显著进展。 在此次巴塞罗纳世界移动通信大会上,是德科技与中国移动将共同展示双方取得的合作成果,重点介绍
[测试测量]
基于LabVIEW与USB接口的实时数据采集系统
1 数据采集系统    工程上使用具有PCI、PXI、USB、并口以及串口的计算机来获取测试数据,称为基于PC的数据采集系统。其中一种是通过插入式的数据采集卡直接获取数据传输给计算机。鉴于数据采集卡的价格昂贵,且安装不方便等缺点,本文提出使用STC单片机作为前端的数据采集系统,利用 CH341T 芯片的USB总线转异步串口的功能,将采集数据只通过一条USB线传输给PC机,最后在LabVIEW平台下进行数据的显示、分析、处理。 1.1 系统组成与工作原理    本系统总体结构框图如图1所示。主要包括有 STC12C5410AD 单片机和 CH341T 转换芯片组成的数据采集、转换、传输部分,以及基于PC机的LabVlEW
[嵌入式]
LabVIEW的GPIB的总线标准接口功能
  GPIB系统中设备与总线的交互作用定义为接口功能。GPIB标准共定义了10种接口功能,包括5种基本接口功能和5种辅助接口功能。   基本接口功能是GPIB接口总线功能要素的核心,用于管理和控制消息在数据线上双向、异步、准确无误地传递。5种基本接口功能分别为:源方和受方握手功能(SH和AH)、讲者和听者接口功能(T和L)、控者接口功能(C)。   SH功能保证消息在数据线上正确传递;AH功能保证正确地接收远地消息;T功能把消息经数据线发送到其他设各;L功能从数据线上接收与自己相关的消息;C接口功能的目标是控制GPIB系统中设备间数据的传递。   辅助接口功能在设备与总线之间实现特殊的交互作用。5种辅助接口功能分别为:
[测试测量]
用延时实现PIC单片机LED流水灯
用延时实现P IC 单片机 LED 流水灯 ;**************************************************** __CONFIG 3F39H;设置配置位中振荡方式为XT,其它全部禁止或关闭 ;**************************************************** status equ 3h ;定义状态寄存器地址 portc equ 7h ;定义端口C的数据寄存器地址 trisc equ 87h ;定义端口C的方向控制寄存器地址 flag equ 25h ;定义一个控制左移/右移的标志寄存器 ;*****
[单片机]
AVR M16单片机NRF2401无线通信开发包
单片机源程序如下: //ICC-AVR application builder : // Target : M16 // Crystal: 8.0000Mhz #include iom16v.h #include macros.h //------------------------------------------------------------------------------ //--------------------------------NRF24L01接口定义-------------------------------- //-------------------------------------
[单片机]
Microchip新增低成本USB PIC单片机
2008年6月3日,单片机和模拟半导体供应商——Microchip Technology Inc.(美国微芯科技公司)今天宣布新增一系列支持USB应用的8位PIC®单片机(MCU)。PIC18F13K50及PIC18F14K50(PIC18F1XK50)是目前Microchip所有USB单片机中成本最低的,可提供多种其他平价8位单片机欠缺的功能,使得更多应用能添加嵌入式USB功能。 有了这一新的产品系列,Microchip现拥有业界最全面的8位、16位及32位USB单片机产品线,且均由单一集成开发环境——免费的MPLAB® IDE支持。该集成开发环境为所有PIC单片机提供了统一的开发平台,为设计工程师研发性能更高及功
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved