当前位置:首页 > 基于数字传感器的高精度恒温恒湿箱的设计与仿真-上海博迅医疗生物仪器股份有限公司

基于数字传感器的高精度恒温恒湿箱的设计与仿真-上海博迅医疗生物仪器股份有限公司

[导读]本恒温恒湿箱控制系统采用DS1302形成时钟数据, X5045保存相关设置及数据同时充当看门狗, 传感器采用数字式插针型温湿度传感器SHT75, 计算机使用VB进行通信程序编写, 使用USB接口通过PL-2303实现数据的传送, 同时还可实现ISP功能。

本恒温恒湿箱控制系统采用DS1302形成时钟数据, X5045保存相关设置及数据同时充当看门狗, 传感器采用数字式插针型温湿度传感器SHT75, 计算机使用VB进行通信程序编写, 使用USB接口通过PL-2303实现数据的传送, 同时还可实现ISP功能。并设计中采用Proteus进行辅助设计, 使开发周期与成本都大为减少。

引言

单片机实际是微型计算机的一个重要分支, 它以体积小, 价格低廉, 开发容易, 广泛的制作成各种智能控制器以代替人工操作, 实现自动化, 特别适用于控制领域, 故又称为微控制器。而传感器技术是现代信息技术的三大基础之一, 尤其是温湿度传感器被广泛用于工农业生产、科学研究和生活等领域, 数量高居各种传感器之首。以前进行单片机开发都是搭建硬件电路再进行编程, 通过反复调试完成开发过程, 随着EDA技术的不断发展, 英国Labcenter electronics公司出版了Proteus。Proteus是世界上著名的EDA工具, 可同时进行单片机及外围器件的仿真, 是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台, 其处理器模型支持8051、HC11、PIC、AVR、ARM、8086和MSP430等。在编译方面, 支持IAR、Keil和MPLAB等多种编译器, 是目前实现单片机设计开发的最佳选择。

1 系统组成与框图

系统以一片STC89C52为核心, 并做为下位机使用PL-2303与计算机进行串口通信。框图如下所示:数字温湿度传感器SHT75将温度和湿度转为数字信号送入MCU, 而DS1302则将日期和时间送入, 键盘时间及进行温湿度上下限相关参数的设定, 最终设置参数及一个时间段内的测量数据都会存储在X5045内, 并产生相应控制信号控制SSR完成恒温恒湿控制。同时相关数据通过PL-2303传送至计算机, 通过VB编写的上位机程序形成相应的温湿度变化曲线及相应的报表, 最后建立数据库, 从而达到对一个时间段内恒温恒湿箱运行情况的监控。


2 系统在P rote us中的仿真设计

Proteus的操作相对比较简单, 现主要针对此设计的相关主要器件的仿真设置作简要介绍和说明。

2.1 MCU。

系统采用STC89C52单片机, 其采用51内核, 支持IAP/ISP, 自带看门狗和1KB的EEP-ROM。仿真时由于库中没有STC89C52和A89S52, 故选用AT89C52, 仿真时默认最小系统接入, 在制作PCB时则也需要将最小系统绘制。考虑到兼容性, 故在设计时没有使用内部的看门狗和EEPROM, 而是使用X5045。

2.2 X5045。

X5045是一个具有四合一功能的芯片, 集成上电复位控制、看门狗定时器、降压管理及具有块保护功能的串行EEPROM, 采用SPI总线方式进行操作。由于Proteus中没有X5045所以在仿真时选用25AA040。

2.3 PL2303。

PL-2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器, 可提供一个RS232全双工异步串行通信装置与USB功能接口便利的解决方法, 只需要几只电容可以可实现USB信号与RS232信号的转换, 与STC89C52的P3.0和P3.1相连。在Proteus内没有PL-2303, 由于PL-2303只是一个相当于USB口当做串口使用, 并不需要USB协议, 所以在仿真时可选用MAX232。注意的是25AA040与X5045封装完全一致, 而MAX232与PL-2303只是功能上较一致, 封装引脚及外围电路都不一样, 故只是在仿真时使用MAX232进行上、下位机程序的调试, 而在PCB制作时则需要做出相应改动。

2.4 SHT75。

SHT7X是盛世瑞恩温湿度传感器系列中的插针型传感器, 输出全标定数字信号, 采用专利CMOSSents技术, 具有极高的可靠性和稳定性。SHT75其温度测量精度为±0.3℃ (25℃) , 湿度测量精度为±1.8%RH, 采用SPI总线控制方式。器件为两线数字输出, 湿度测量范转为0%~100%RH;温度测量范围为-40~+123.8℃, 响应时间<4s, 典型功耗为30uW, 可完全浸没。SHT75由能隙材料PTAT (正比于绝对温度) 制造, 温度测量具有极好的线性, 可使用如下公式将数字输出转换为温度值, 转换系数见表1



相关文章