张俪亭 杨习伟
摘 要:文章主要研究了基于STC89C52单片机的温室大棚温湿度控制系统的设计原理、硬件电路设计及软件设计等。温室大棚温度湿度自动控制系统由主控制器STC89C52单片机、湿度检测传感器、温度检测传感器DS18B20和调节控制等电路构成,该系统能够实现数据采集、数据处理、数值显示等功能,能实现对温室内温湿度的自动调节。
关键词:蔬菜大棚;STC89C52单片机;温湿度控制;自动控制
蔬菜大棚技术的普及能够更好地满足人民对于生活水平日益提高的需要。蔬菜大棚管理中最重要的一个因素是温湿度控制。温度和湿度是农业生产中的基本因素之一,对于农业生产至关重要,运用现代化的高科技手段,对农业生产环境的温湿度作出一定的调整,提高农产品的质量以及农业生产的效率非常重要。目前普遍采用温室大棚保证植物生长所需的适宜环境,为了对大棚的温湿度按照不同作物不同季节作出一定的不规则调节。该系统由STC89C52单片机作为主控制系统,使用湿度传感器和温度传感器DS18B20来采集温湿度信号,此外,还由固态继电器、LED显示器和报警电路等构成,实现对蔬菜大棚温湿度的检测与控制,从而有效提高蔬菜的产量,该系统能够实现数据采集、数据处理、数值显示等功能,该系统性能可靠,结构简单,能实现对温室内温湿度、光照的自动调节[1]。
1 系统硬件设计
由于温室大棚的内部环境比较潮湿,而且昼夜间的温度差异较大,因此,温室大棚的控制环境较为复杂,而集成芯片相比一些大型的设备来说比较稳定,易控制,而且功耗较低。由于在温室大棚环境中,温室大棚温湿度控制系统几乎都要昼夜不停地运行,因此要考虑功耗,功耗越小,成本就越低,低功耗的系统可以节约成本和维持系统稳定。另一方面,系统越稳定则性能越好,软件良好运行需要一个稳定的系统。由于整个系统较为复杂,硬件设备的元器件较多,因此需要合理的总线系统和网络系统进行串接,所以如何选择功能强大、扩展性能好的控制芯片以及如何选择最优的网络设计方案显得尤为重要。另外,系统的数据存储性能要好,例如温室和湿度的控制阈值、植物的周期生长环境参数等都需要进行储存,一旦数据因系统异常导致丢失或者不可恢复,将会直接导致系统的控制效果欠佳。本文设计的温湿度控制系统的传感器都采用的是数据原件,而一些辅助的设备则是我们很少使用的,基于这样的设计原则,整个系统的稳定性还有可靠性都得到了极大限度的提升,从某个程度上来说,这样做也让系统的可扩展性变得更加优秀了,同时还提升了系统的性价比。具有可扩展性是遴选器件的一个重要考虑点,只有具备非常好的可扩展性的模块才有利于后期整个系统的升级和改造,并且不需要太大的资金和人力投入[2]。
对于温室大棚温湿度控制系统而言,系统的精度越高,则需要投入的成本就越多。因此在进行系统设计的时候,要考虑成本和精度之间的关系,从中选择最优,使得在可接受的成本下达到需要的精度。本文设计的温室大棚温湿度控制系统主要分为以下3个主要功能模块[3]。
(1)CPU核心模块:较快的处理速度是CPU所必须具备的特点。只有具备一定的处理能力,才能同时检测多路传感信号,同时转换、处理、控制多种信号,以及保障实时通信的目的。检测报警以及整个中央系统进行监控一系列操作需要处理的数据是很大的,而且它的运算量是极大的,所以这就要求CPU一定要有较快的处理速度才能处理这些问题。此部分主要由主控器件STC89C52单片机完成,完成数据处理、储存、通信等功能。
(2)外围电路:此部分主要包括温湿度数据采集电路和控制电路。其中温度传感器、湿度传感器分别负责对温度和湿度数据的感应采集。通过对温湿度信号的分析,控制部分电路完成升降温、加除湿等过程。
(3)通信模块:通信模块主要负责整个系统的数据和信令在控制节点和被控节点之间进行可靠的传输,从而实现对温室大棚的监控。
依照系统硬件设计要求,系统硬件的总体框图如图1所示。
2 系统软件设计
STC89C52单片机是可编程微控制器,适合采用C语言来完成程序设计。本系统设计中STC89C52单片机的软件编程与开发是在uVision2集成开发的。C语言易于开发应用软件,提高开发效率,并且易于程序移植。根据前面的分析可知,在软件开发语言选择上本文主要采用C语言和编汇语言。C语言是一种通用的计算机程序设计语言。为了能够提高单片机应用程序的效率,改善程序的可移植性和可读性,一种最好的选择无疑就是采用高级语言的方法。C语言不仅具有一般高级语言的一些特点,又可以在寄存器读写时直接进行操作计算机的硬件,并且其表达和运算能力也特别强,之前必须采用汇编语言才能解决的问题如今C语言都可以解决。整个测控系统中最重要的环节就是对主程序模块的设计和处理,它的主要任务是对各个子程序通过任务驱动完成调用[4]。主程序是软件系统的核心,它主要是实現结构化的功能设计,还有多个轮询处理,各个参数和控制都是在程序的子程序中实现传递和转化的。主程序完成各种数据的处理都是依靠子程序的处理来实现的,子程序实现了数码管的温度采集,以及通过设定阈值对环境参数进行控制。主程序可以完成对子程序的处理和控制。主程序在编写时消除了许多误差,可以对子程序的错误返回进行集中处理。主程序的控制更多的是对指令识别的转发。各个子程序之间需要进行完善的解耦设计,尤其牵涉到对边界值的访问,需要采用一定的并发访问控制设计思想来避免数据的读写冲突。另外,各个接口的设计需要遵循高内聚的原则,即一个接口只通过参数传递完成某一个独立的抽象功能。这样方便在后续程序升级或软件拓展需要复用的时候,就能够很直接地调用此单元功能模块的入口函数[5]。本系统设计的主程序流程如图2所示。
3 结语
本文使用单片机进行温室大棚监控系统的主要目的是实现对温室大棚室内环境的参数设定和检测,例如温度数据、湿度数据等都是通过相应的数据传感器完成的,我们可以通过使用RS-232,让单片机接收到PC上的数据,然后通过单片机里面的运算器还有控制器将具体得到的数据同系统原来设置的植物生长环境的参数阈值进行比对,最后将比对的结果进行处理或者储存。单片机在将处理后的数据通过I/0接口和RS-232传递给执行的继电器、电机以及电磁阀等,对处理后的结果进行修改,当发现数据不在设置的阈值之内时,及时进行更改,如果在合理的阈值之内对数据进行储存,这样就能实现对温室大棚控制环境的总体进行控制的目的。我们可以使用相应的传感器来实现对大棚温湿度控制系统的温度和湿度数据的采集,DS18B20是本篇论文所设计的温度传感器主要采用的器件,湿度传感器主要采用的是SHT11。
[参考文献]
[1]余锡存.曹国华.单片机原理及接口技术[M].西安:西安电子科技大学出版社,2011.
[2]杨居义.单片机课程设计指导[M].北京:清华大学出版社,2009.
[3]肖红兵.跟我学用单片机[M].北京:北京航空航天大学出版社,2006.
[4]康华光.电子技术基础模拟部分[M].北京:高等教育出版社,2009.
[5]郑建光,李永.基于AT89C51单片机的交通灯系统设计[J].自动化与仪器仪表,2008(6):30-33.