基于Arduino控制板,设计了一种方便易操作、成本低的温室大棚测温系统装置。该系统主要采用C8051F020单片机为控制核。
C8051F020为系统控制模块,nRF24L01为无线通信模块组成整套装置,心,采用热电偶为温度采集模块,同时,制成样机进行试验,对系统的性能进行了分析验证。结果表明该系统由于使用了温度补偿电路,有效提高了数据处理速度和灵敏度,同时测量精度也达到了30.05%。另外,由于使用了存储芯片,可以保存实时数据,在很大程度上提高了系统的可靠性。因此,该系统是一种非常方便实用的测温系统,可在生产上推广应用。
温室大棚在设施农业中有着十分重要的地位。棚内温度直接影响着农作物的生长,采用直接用人工进行温度测量研究温室的方法已远远不能满足现代化生产的需要。因此,
自动控制温度系统已成为农业设施研制人员关注的焦点。目前温度测量系统有许多,但多数没有无线传输数据能力。为解决这一问题,笔者设计了一种基于Arduino控制板的无线温度测量系统。该系统运行良好当温度测量器出现故障只需对测量节点进行故障排查,不影响整个系统运行,既时,
有效提高了工作效率又降低了维护成本。考虑到农业生产该系统采用J型热电偶作为感温原件;采用新型单片实际,
射频收发器件nRF24L01为无线测量模块,将热电偶所产生经Arduino的电信号经单片机作数据处理后进行无线传输,控制板在终端接收后,在主机上显示被测位置的温度。该系统灵敏度高,工作稳定,功耗低、成本低可以实现温度采集与尤其适合用于农业生产。程序控制,1
系统硬件设计
系统采用以Cygnal公司的C8051F020单片机为控制核心。这款单片机是一款高性能8位嵌入式MCU,其使用CP251微控制内核与MCS51完全兼容,可通过JTAG接口,进行非插入式、全速的在线调试。芯片集成了丰富的片内外设资源,其AD转换器具有12位,可以有效提高热电偶的采集精度,进而提高温度测量的灵的目的是为了提高系统的采集速度,
敏度。通过射频收发器件nRF24L01完成距离之间无线通以便在无线通信故信。FLASH芯片可对温度数据进行存储,
障时读取。nRF24L01将数据包通过Arduino的接口板转换可用USB端口与上位机通信(图1)
图1:系统硬件结构框图
1.1系统控制模块系统控制模块由C805lF020控制模块
C805lF020和存储FLASH模块组成。当系统在发送状态时,把热电偶产生的输入信号进行相应的采集,并通过模数转换器将其转换为数字信号,然后进行查表,再将其转换为温度数据,并对相应数据进行处理,将数据写入存储芯片,最后通过射频收发器件nRF24L01发送给数据处理模块。
当系统处于等待状态时,接口板将与上位机通过USB接口进行通信。如果系统接到上位机的命令,要求读取数据,则C805lF020将从FLASH芯片中将数据读出,无线通信模块进行数据之间的传输。1.2
无线通信模块
Arduino无线发射模块包括nRF24L01、
的接口板和天线。其中nRF24L01是一款新型单片射频收发器件,工作于2.4~2.5GHzISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,有多种低功率工作模式。
采用一块基于开放源代码Arduino的接口板,包括12通4通道PWM输出和6~8通道的10bitADC输道数字GPIO、入通道,他的核心是一片AVRmega168单片机。其相配合no的接口板的核心器件AVRmega168可用于完成对nRF24L01的初始化,以及之间的通信,同时也和主控芯片C805lF020保持通信。当系统处于发送状态时,AVRmega168接收到nRF24L01发来的数据包后,便可通过上位机显示。
1.3 温度采集模块
温度采集模块包括电压式温度传感器
TMP35和J型热电偶。由于热电偶的温度分度表是在冷端温度保持在0℃的情况下得到的,因此当冷端温度不为0℃时,就需对其进行修正;当冷端温度高于0℃时,则测得的热为求得真实温度,可利用中电势要小于该热电偶的分度值,用下公式进行修正:间温度法则,
E(t,0)=E(t,t1)+E(t1,0)
E(t1,0)是实际测量的电动势,t1代表热端温度,t0代表其中,
0代表0℃,这样才能获得最佳补偿效果。冷端温度,
floata=-165.0;floatb=151735.0;floatGetTemp(floatf){
returna+(b/f);}
voidsetup(){
Serial.begin(9600);}
voidloop(){
FreqCounter::f_comp=106;FreqCounter::start(1000);
while(FreqCounter::f_ready==0)frq=FreqCounter::f_freq;Serial.println(GetTemp(frq));}3
系统性能分析
这个系统的特点在于使用了基于温度补偿的电路,可有该系统的测量效提高其数据处理速度和灵敏度。实测证明,精度为0.05%,温度数据采集速度为50ms。
C8051F020作为新一代的芯片,具有丰富而强大的外它具有2个AD转换器,其中ADO具有12位精度,采用设,他作为温室大棚节点温度采集器,可有效保证获得精确温度信号。
采用存储芯片可在温度采集时实时将数据写入其内,以便无线发送数据出现情况时能保留所采集的数据。测试系统保存的数据可由上位机通过USB接口读取。
传统的温度测量方法周期长,效率低,管理很不方便,发生故障时,更要花费大量人力物力来查找。尤其是用于温室采用无线传输系统更显现出大棚采样数据频繁工况条件下,他的优越性。该系统可对温度实现现场和远程智能化在线检测和预警。
2 系统软件设计
软件设计主要包括以C8051F020的发射模块程序和以
AVRmega168为中心的接收模块程序。发射模块主要任务温度采集、数据处理、向无线发射模块发送数据和贮存测试温度数据。接收模块主要任务为与上位机保持通讯。根据各为节省版面下面只对有特殊个功能模块任务进行程序设计,
创意的发射模块程序的设计作详细介绍。
发射模块主要对热电偶的输入模拟信号进行信号采样,然后进行对比查表,将数据转换为温度数据。当发送标示允许时,通过无线nRF24L01器件发送给AVRmega168,其系统软件模块流程图如图2所示
图2:交流软件模块流程图
该系统在测温精度上达到了一定的水平。而在温度采集速度上,由于使用了独立的温度补偿电路,有效地提高了温度测量的灵敏度和系统稳定性。另外,由于使用了存储芯可以保存实时数据,提高了系统的可靠性,是一种价格低片,系统在上电复位后,首先要对C8051F020的各功能模块T1、T2和中断进行初始化。其中包括AD转换器、计数器T0、程序等。系统在每50ms通过AD转换器对输入信号进行一次采样,并将采样信号查表转换成温度数据,对数据加上帧帧尾和校验位。最后将几帧数据打成数据包头。当发送C805lF020每50ms将数据包通过无线标示允许时,nRF24L01器件发送给Arduino的接口板接收数据。
以上就是小编为大家介绍的有关“基于Arduino控制板的温室大棚测温系统设计”的相关知识,有想了解更多的朋友可以看以下相关文章。希望通过小编的介绍能给大家带来帮助!
浏览过(基于Arduino控制板的温室大棚测温系统设计)的浏览了:
自制Arduino控制板-原文链接:
http://www.52solution.com/knowledge/5496.html