基于VHDL的数字湿度计研究
扫描二维码
随时随地手机看文章
摘要:湿度计是一种常用的检测仪器,文中利用FPGA器件与HS1101湿度传感器设计实现了一种简易的数字湿度计,用于检测室内湿度。该湿度计具有结构简单、测量准确性高、稳定性好等优点。
关键词:湿度;湿度传感器;VHDL;FPGA
0 引言
湿度与人类的生存和社会活动密切相关。湿度检测、控制、报警等被广泛应用于各种场合,如军事、气象、农业、工业、医疗、建筑以及家用电器等方面。
本文利用FPGA器件与HS1101湿度传感器设计实现了一种简易的数字湿度计,用于检测室内湿度,它具有结构简单、测量准确性高、稳定性好等优点。
1 硬件电路设计
数字湿度计硬件电路图如图1所示,由湿度检测电路、AD转换电路、FPGA电路板等组成。其中湿度检测电路采用HS1101湿度传感器用于检测室内湿度。该传感器具有性价比高、体积小、精度高、响应速度快等优点,广泛应用于仪表、空调、除湿机、加湿机、仓储、气象以及工业自动化等领域。HS1101湿度传感器是一种利用电容原理检测的湿度传感器,相对湿度的变化和电容值呈线性规律,在检测中,电容值随着空气湿度的变化而变化。
因此,本文利用将电容值的变化转换成电压的变化,然后利用AD转换芯片ADC0804和FPGA器件进行数据采集。
2 软件程序设计
根据系统的设计要求,将程序部分设计分为四个模块,包括分频模块、AD转换模块、数据转换模块、显示译码模块。采用OuartusII开发平台和VHDL语言完成程序设计。
2.1 分频模块
分频电路是FPGA设计中使用频率非常高的基本单元之一。本设计的分频电路简单方便、节约资源、可移置性强、便于系统升级,同时在以后的FPGA设计中也有很大的应用空间。图2分频模块中是将50MHz时钟信号分频为2kHz的频率。
2.2 AD转换模块
AD转换模块如图3所示。从分频模块的输出端口clk 2k输出2kHz到AD转换模块的clock端口作为时钟频率信号;intr为中断信号;input data[7..0]为湿度数据输入端口,由湿度传感器检测的模拟信号,通过AD电路转换为数字信号传给inputdata[7..0]端口;cs是片选输出端口,writeout是写输出端口,readout是读输出端口,分别对应ADC0804的片选/CS、读控制/RD、写控制/WR的引脚;dataout[7..0]为数据输出端口。
图4为AD转换模块仿真图,当复位键reset为0时,输入数据为62时,输出数据为0;当复位键reset为1时,输入数据为28时,输出数据为28。
2.3 数据转换模块
数据转换模块是将AD转换后的数据(高4位,低4位)通过查表的方式,用BCD码形式来表示。ADC0804的基准电压为5V时,由于ADC0804是8位的AD转换器,因此最小电压准位是5/256=0.02V,利用湿度检测电路将1%RH改变对应0.02V电压变化。数据转换模块如图5所示。
如果输入AD转换后数据为0010 0011,通过查表可得high为00110010,low为00000011,再将得到的数据进行加法操作处理,得到输出湿度为35%RH,如图6所示。
2.4 显示译码模块
采用共阴数码管,当某一字段的阳极为高电平时,相应字段就点亮;当某一字段的阳极为低电平时,相应字段就不亮。显示译码模块如图7所示。
显示译码模块仿真图如下图8。输入为0,输出为01111111,数码管显示的是0;若输入为1,输出为00000110,则数码管显示的是1。
2.5 整体框图
整体框图如图9所示,共有四个模块组成。其中显示译码模块调用了两个。
3 结束语
利用FPGA器件与HS1101湿度传感器设计实现了一种简易的数字湿度计,用于检测室内湿度。采用QuartusII开发平台和VHDL语言完成程序设计,通过仿真验证和下载验证,证明实现的湿度计具有结构简单、测量准确性高、稳定性好等优点。