基于AT80C51单片机在农业温室气体浓度及光照强度智能监控中的应用设计方案
1
拍明芯城
基于AT80C51单片机在农业温室气体浓度及光照强度智能监控中的应用设计方案
引言
在现代农业特别是设施农业中,温室环境的精确控制是保障作物高产、优质的关键。温室内的二氧化碳(CO2)浓度、温度、湿度以及光照强度是影响植物光合作用和生长发育的核心环境因子。传统的温室环境监测依赖人工巡视和简单仪表,存在实时性差、数据精度低、无法进行精确闭环控制等诸多弊端,严重制约了农业生产的智能化和效率。本设计方案旨在构建一套基于AT80C51系列单片机的智能温室气体浓度与光照强度监控系统,实现环境数据的实时采集、精确处理、超限报警以及自动调控。选择AT80C51单片机作为核心控制器,是基于其成熟稳定的技术架构、丰富的I/O资源、强大的抗干扰能力以及极高的性价比,这对于农业环境这一对成本和可靠性要求较高的应用场景至关重要。该系统通过集成高精度气体传感器和光照传感器,辅以精心设计的信号调理电路和人机交互界面,旨在为温室管理者提供一个操作简便、数据可靠、功能完善的智能监控平台,显著提升温室环境控制的自动化和精细化水平,为农业的可持续发展贡献力量。

系统总体设计
本智能监控系统采用模块化设计思路,主要由数据采集模块、中央处理模块、人机交互模块和执行控制模块四大功能单元构成。中央处理模块的核心是AT80C51单片机,负责协调所有模块的工作,执行数据采集的时序控制、对采集到的模拟信号进行数字化处理、进行浓度和光照强度的判断与报警、以及根据预设策略向执行机构发送控制指令。数据采集模块是系统的“眼睛”,包含气体传感器和光照传感器,它们负责将温室内的非电量环境参数转化为电信号。由于传感器输出的往往是微弱的模拟信号,因此需要经过信号调理电路进行放大、滤波、电平转换,使其满足单片机A/D转换器(模数转换器)的输入要求。人机交互模块通过液晶显示屏(LCD)实时展示环境参数、系统状态和报警信息,并通过按键矩阵允许用户设置控制阈值和校准参数。执行控制模块是系统的“手脚”,主要由继电器驱动电路和执行机构(如换气风扇、遮阳帘电机、CO2施肥阀门等)组成,根据单片机的指令实现对温室环境的自动调控。这种架构设计充分发挥了AT80C51单片机在控制、逻辑判断和I/O驱动方面的优势,保证了系统的高效、稳定运行。
核心元器件优选及论证
中央处理单元(CPU)
| 元器件型号 | 功能 | 作用 | 选择原因 |
| AT89C51/AT89S51 | 基于8051内核的8位微控制器 | 作为整个系统的核心控制大脑,负责所有数据的采集、处理、逻辑判断、存储和输出控制。 | 成熟稳定,资料丰富,成本低廉,易于开发和维护。 其内置的定时器/计数器、串行通信口(UART)和充足的I/O口完全能满足温室监控的实时性和控制需求。相比复杂的32位微控制器,8051架构在农业环境的强电磁干扰和成本敏感性方面具有更高的可靠性和性价比。选择AT89C51或具备ISP(在系统可编程)功能的AT89S51,方便后续程序的更新和调试。 |
气体浓度传感器(CO2)
| 元器件型号 | 功能 | 作用 | 选择原因 |
| MG811 (固态电解质CO2传感器) 或 MH-Z19B (NDIR红外CO2传感器) | 将环境中的CO2浓度转化为电信号输出。 | 实时监测温室内的CO2浓度,为光合作用和施肥策略提供关键数据。 | MG811:成本较低,功耗适中,但需要较高加热电压和复杂的温度补偿电路。适合预算紧张且对精度要求适中的场景。MH-Z19B:采用非分散红外(NDIR)技术,具有高精度、高稳定性、长寿命的特点,对温度和湿度变化不敏感,自带数字/模拟输出和自动校准功能,能极大简化信号调理电路和单片机软件负担。在对精度要求更高的现代温室中,MH-Z19B是更优选择,它提供UART/PWM数字信号,可直接与AT89C51的串行口连接,减少A/D转换误差。 |
光照强度传感器
| 元器件型号 | 功能 | 作用 | 选择原因 |
| BH1750FVI (数字光照传感器) 或 BPW21/光敏二极管 + LM358 | 将环境光强度转化为数字量或电信号。 | 实时监测光照强度,用于判断是否开启补光灯或遮阳帘。 | BH1750FVI:是一款高分辨率、高线性度、数字输出(I2C接口)的环境光传感器,测量范围广(1-65535 lx),且自带环境光滤波,输出数据稳定,能直接被AT89C51通过软件模拟I2C或硬件I2C(若有外部扩展)读取,简化了信号调理电路,提高了系统的抗干扰能力和精度。BPW21是高品质硅光电二极管,其光谱响应曲线与人眼视觉相似,适合需要高精度模拟采集的场合,但需要**精确的电流-电压转换和放大电路(如使用LM358运放)**才能接入单片机的A/D口,电路设计相对复杂。综合考虑,BH1750FVI的集成度和数字输出使其成为更优选择。 |
模数转换器(A/D Converter)
| 元器件型号 | 功能 | 作用 | 选择原因 |
| ADC0809 或 PCF8591 | 将传感器调理电路输出的模拟电压信号转换为单片机可处理的数字信号。 | 确保模拟信号(如MG811、CO2传感器调理后的电压)能够被AT89C51准确读取和处理。 | ADC0809:经典的8位并行A/D转换器,具有8个模拟输入通道,可同时采集多个传感器数据,与8051单片机有成熟的并行接口设计,转换速度较快,适用于多路模拟信号的采集。PCF8591:8位I2C总线A/D/D/A转换器,集成了4路模拟输入和1路模拟输出,仅需两根信号线(SDA,SCL)即可与单片机通信,大大节省了单片机的I/O口资源,且便于系统扩展。考虑到8051的I/O口数量有限,PCF8591的I2C接口优势使其在多传感器应用中更为优越,尽管其转换速率略低于ADC0809,但足以满足温室环境的实时性要求。 |
人机交互显示
| 元器件型号 | 功能 | 作用 | 选择原因 |
| 1602 LCD 或 12864 LCD | 实时显示温室环境参数(CO2浓度、光照强度、温湿度等)、系统状态和报警信息。 | 作为系统最重要的输出界面,方便用户实时了解温室环境,进行参数设置和故障诊断。 | 1602 LCD:成本极低、接口简单、功耗小,适合显示两行文字数据,对于只显示关键指标的简单系统是理想选择。12864 LCD:点阵液晶屏,可以显示更多的汉字、曲线、图标,信息量大,用户体验更好。虽然接口和程序驱动略复杂于1602,但在追求信息展示丰富度和图形化的现代监控系统中,12864 LCD(如基于ST7920控制器的)更具优势,能提供更直观的监控界面。 |
数据采集模块详细设计与工作原理
CO2 浓度采集电路
如果选择MH-Z19B NDIR CO2传感器,其最大的优势在于简化了硬件电路。MH-Z19B可以直接通过UART(通用异步收发传输器)串行接口或PWM(脉冲宽度调制)接口输出数字化的CO2浓度值。
UART连接方案: MH-Z19B的TXD引脚直接连接到AT89C51的RXD引脚(P3.0),反之亦然。单片机通过串口通信协议(通常是9600 bps,8位数据,无校验,1位停止位)发送查询指令给MH-Z19B,传感器则返回一个数据帧,其中包含了精确的CO2浓度值(单位ppm)。这种方案精度最高,抗干扰能力强。
PWM连接方案: MH-Z19B输出一个占空比与CO2浓度成线性关系的方波信号。单片机使用定时器/计数器功能(如定时器0或1)来测量该方波信号的高电平时间或周期。通过预设的换算公式,即可推算出CO2浓度。这种方案不占用串口资源,但测量精度略低于UART方案。
如果选择MG811固态电解质CO2传感器,则需要复杂的模拟信号调理。MG811的输出电压与CO2浓度的对数呈线性关系,且对温度敏感。
加热恒温电路: MG811工作需要加热到高温(约350∘C),因此需要一个恒压或恒流加热电路来稳定其工作温度。可以使用LM317等稳压芯片配合大功率晶体管和热敏电阻进行闭环控制。
信号放大与滤波: 传感器输出的电压信号(约300mV至500mV)需要通过高输入阻抗、低噪声的精密运放(如OP07或AD620仪表放大器)进行差分放大和低通滤波,以提高信噪比,使其输出电压范围适配A/D转换器的输入范围(如0−5V)。
A/D转换: 将调理后的模拟信号输入到ADC0809或PCF8591的通道进行数字化,供AT89C51读取。
温度补偿(重要): 由于MG811的特性,单片机还需采集环境温度(如使用DS18B20或LM35)对CO2的测量结果进行软件校正和温度补偿,才能获得准确的浓度值。
鉴于设计的复杂性和最终精度要求,优选MH-Z19B NDIR传感器**,采用UART数字通信方案,以充分发挥AT89C51的串行通信能力,并大幅简化硬件电路设计。
光照强度采集电路
选择BH1750FVI数字光照传感器,进一步体现了**“用数字代替模拟”**的设计理念。
I2C通信接口: BH1750FVI通过I2C(两线制串行总线)与AT89C51通信。AT89C51的P1口或P2口的任意两个I/O引脚(如P1.0和P1.1)可被用于软件模拟I2C时序。
工作原理: 单片机通过发送I2C指令,将BH1750FVI设置为连续高分辨率模式(0.5lx分辨率),然后等待数据就绪。当数据准备好后,单片机发送读取指令,从传感器内部寄存器读取两个字节的数字量,该值即为当前环境的光照强度(Lux)。
优势: BH1750FVI的高精度、数字量输出省去了繁琐的光敏电阻/光敏二极管的光电转换、放大、非线性校正和A/D转换等一系列模拟电路设计环节,直接输出了高精度的光照数据,极大地提高了系统的稳定性和可靠性。
软件系统设计与关键算法
系统的软件设计遵循模块化、层次化原则,主要由主程序模块、数据采集子程序、串行通信子程序、LCD显示子程序、控制算法子程序和中断服务程序等构成。全部程序采用C语言编写,便于阅读、调试和移植。
主程序流程
主程序负责系统的初始化和循环调度:
系统初始化: 完成AT89C51的堆栈、I/O口、定时器、串行口的初始化。同时初始化LCD、BH1750FVI和MH-Z19B。
主循环(While(1)):
调用数据采集子程序,获取最新的CO2浓度和光照强度数据。
调用数据处理和判断子程序,进行数据滤波、超限检查和报警判断。
调用LCD显示子程序,实时更新显示界面。
调用控制算法子程序,根据环境数据和用户预设阈值,决定是否执行换气、施肥或遮阳操作。
延时,等待下一次采集周期。
数据采集与处理算法
由于温室环境存在一定波动性,采集到的原始数据易受干扰,因此需要进行数字滤波处理以提高数据的准确性和稳定性。
中位值平均滤波法: 连续采集N次数据(如N=5),去除最大值和最小值,然后计算剩余数据的平均值作为最终的测量结果。该方法能有效滤除脉冲性干扰和粗大误差,同时保持一定的实时性。
数据校准与线性化: 对于传感器出厂设置或长期使用可能产生的漂移,系统应提供软件校准功能。用户可通过按键输入标准气体的浓度值进行单点或多点校准,单片机则根据校准结果调整内部的线性化曲线参数,确保测量精度。
智能控制算法
本系统采用基于阈值的PID控制策略来实现环境的智能调控。
CO2 浓度控制:
当**CO2浓度低于下限阈值**(如600ppm)时,系统判断需要施肥。单片机通过继电器开启**CO2发生器或施肥阀门**。
当**CO2浓度高于上限阈值**(如1200ppm)时,系统判断需要通风。单片机通过继电器开启换气风扇。
引入死区控制(如100ppm)和滞环控制,避免系统在阈值附近频繁启停执行机构,从而保护设备,延长使用寿命。
控制目标: 将温室CO2浓度维持在作物的光合作用最适宜范围(如600ppm到1000ppm)。
控制逻辑:
PID优化(高级): 可以引入模糊PID控制,根据当前浓度与目标的偏差大小和变化速率,动态调整控制增益,实现更平滑、更精确的浓度控制。
光照强度控制:
当光照强度低于下限阈值(如10,000Lux)且为日间时,单片机驱动继电器开启补光灯。
当光照强度高于上限阈值(如50,000Lux)时,单片机驱动电机放下遮阳帘。
同样引入滞环控制以避免频繁动作。
控制目标: 将光照强度维持在作物生长的光饱和点附近。
控制逻辑:
执行与驱动模块设计
继电器驱动电路
执行控制模块主要由继电器组成,用于驱动大功率的执行机构(风扇、阀门、电机等)。由于AT89C51单片机的I/O口驱动能力有限(通常只能提供几毫安的电流),无法直接驱动继电器线圈。
驱动元件: 优选ULN2003A或S8050/9014等NPN三极管。
ULN2003A的选择原因: ULN2003A是达林顿管阵列,内部集成了7路大电流驱动电路和续流二极管,可直接接收单片机输出的弱电平信号,并驱动继电器线圈。其集成度高、电路简洁、驱动能力强(单通道可驱动500mA),是多路继电器驱动的理想选择,能有效保护单片机I/O口。
电路保护: 即使使用ULN2003A,为了吸收继电器线圈断电时产生的反向电动势,续流二极管是必不可少的,ULN2003A已内置。如果是使用分立三极管驱动,则需要在继电器线圈两端反向并联一个1N4007等快速恢复二极管进行保护。
电源供电模块
系统的可靠性很大程度上依赖于稳定的电源。
主电源输入: 采用220V交流输入,经变压器降压。
稳压电路:
5V电源(核心): 采用经典的LM7805三端稳压芯片为AT89C51单片机、LCD、逻辑电路提供稳定的5V电源。**必须配合输入和输出电容(如10μF和0.1μF)**进行滤波和去耦。
传感器电源: 部分传感器(如MH-Z19B)可能需要3.3V或12V电源。可使用LM1117-3.3(提供3.3V)或LM7812(提供12V)等稳压芯片。
抗干扰设计: 在电源输入端加装共模和差模电感、EMI滤波电容,并在单片机和关键芯片的电源引脚处放置去耦电容(0.1μF),以增强系统在农业温室这种复杂电磁环境下的抗干扰能力。
系统扩展性与可靠性分析
系统扩展性
本设计基于AT89C51,虽然其资源有限,但通过以下设计,仍具有良好的扩展性:
I2C总线预留: 选择PCF8591和BH1750FVI等I2C设备,为未来扩展**温湿度传感器(如SHT20)、EEPROM存储器(如AT24C02)**预留了总线接口,仅需两根线即可接入新设备。
UART通信扩展: 预留AT89C51的串行口,可以实现与上位机(PC)或**无线通信模块(如GSM/GPRS/LoRa模块,型号如SIM800C或SX1278)进行数据传输,将监控系统升级为物联网(IoT)**系统,实现远程监控和数据云端存储。
A/D通道预留: 若使用ADC0809,其8个通道可以灵活分配给其他模拟传感器,如土壤水分传感器、PH值传感器等。
系统可靠性与容错性
硬件看门狗(WDT): 虽然AT89C51本身不内置看门狗,但可以通过**外部看门狗芯片(如MAX706或WDT7801)**来监控程序运行状态。一旦程序跑飞(进入死循环),看门狗将在一定时间内自动复位单片机,确保系统从故障中恢复。
断电数据保护: 使用外部EEPROM(如AT24C02)或SRAM+后备电池来存储用户设定的关键参数(如阈值、校准值),防止断电后数据丢失。
防尘防水(防护等级): 考虑到温室的高湿、高尘环境,所有的电子线路板必须进行三防漆(防潮、防盐雾、防霉菌)处理,并将整个系统安装在具有IP65或更高防护等级的密封外壳内。
抗干扰措施: 严格遵循数字地与模拟地单点接地原则,使用光耦隔离来隔离继电器驱动电路与单片机控制电路,从而有效抑制执行机构开关时对单片机产生的电磁干扰。在传感器信号线上采用屏蔽线传输。
系统性能指标与总结
主要技术指标
| 指标类型 | 性能要求 | 优选元器件/实现方法 |
| CO2 浓度范围 | 0∼5000ppm | MH-Z19B NDIR传感器 |
| CO2 测量精度 | ±50ppm 或读数的$pm 5%$ | MH-Z19B + UART通信 |
| 光照强度范围 | 1∼65535Lux | BH1750FVI 数字传感器 |
| 光照测量精度 | ±1Lux (高分辨率模式) | BH1750FVI + I2C通信 |
| 数据更新周期 | ≤5 秒 | 软件循环调度 |
| 控制响应时间 | ≤1 秒 (从超限到继电器动作) | 单片机实时中断/查询 |
| 供电电压 | 220V AC转5V DC | LM7805+滤波电路 |
| 抗干扰能力 | 满足工业级应用要求 | WDT,光耦隔离,三防处理 |
本设计方案成功地构建了一个以AT89C51单片机为核心,集成NDIR CO2传感器(MH-Z19B)和数字光照传感器(BH1750FVI)的温室智能监控系统。该方案充分利用了8051单片机稳定、可靠、低成本的特性,并结合数字传感器的高集成度和高精度优势,有效地克服了传统模拟传感器带来的电路复杂和校准困难问题。
通过模块化设计、串行通信的使用和精确的数字滤波与控制算法,系统实现了对温室环境参数的实时、准确、稳定的监控与自动调控。未来,通过简单的扩展(如增加无线模块和EEPROM),本系统可以无缝升级为功能更加强大的物联网温室监控平台,为推动我国设施农业的智能化、精细化发展提供坚实的技术基础。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。

产品分类

2012- 2022 拍明芯城ICZOOM.com 版权所有 客服热线:400-693-8369 (9:00-18:00)