基于Arduino控制板的温室大棚测温系统设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include < FreqCounter. h > unsigned long frq;
float a = - 165. 0; float b = 151735. 0; float GetTemp( float f) { return a + ( b / f) ; } void setup( ) { Serial. begin( 9600) ; } void loop( ) { FreqCounter: : f_comp = 106; FreqCounter: : start( 1000) ; while ( FreqCounter: : f_ready = = 0) frq = FreqCounter: : f_freq; Serial. println( GetTemp( frq) ) ; } 3 系统性能分析 这个系统的特点在于使用了基于温度补偿的电路,可有 效提高其数据处理速度和灵敏度。实测证明,该系统的测量 精度为 0. 05% ,温度数据采集速度为 50 ms。 C8051F020 作为新一代的芯片,具有丰富而强大的外 设,它具有 2 个 AD 转换器,其中 ADO 具有 12 位精度,采用 他作为温室大棚节点温度采集器,可有效保证获得精确温度 信号。 采用存储芯片可在温度采集时实时将数据写入其内,以 便无线发送数据出现情况时能保留所采集的数据。测试系 统保存的数据可由上位机通过 USB 接口读取。 4 结束语 传统的温度测量方法周期长,效率低,管理很不方便,发 生故障时,更要花费大量人力物力来查找。尤其是用于温室 大棚采样数据频繁工况条件下,采用无线传输系统更显现出 他的优越性。该系统可对温度实现现场和远程智能化在线 检测和预警。 该系统在测温精度上达到了一定的水平。而在温度采 集速度上,由于使用了独立的温度补偿电路,有效地提高了 温度测量的灵敏度和系统稳定性。另外,由于使用了存储芯 片,可以保存实时数据,提高了系统的可靠性,是一种价格低 廉方便实用的系统,可在生产上推广应用。 参考文献
发射模块主要对热电偶的输入模拟信号进行信号采样, 然后进行对比查表,将数据转换为温度数据。当发送标示允 许时,通过无线 nRF24L01 器件发送给 AVRmega168,其系统 软件模块流程图如图 2 所示。
图 2 交流软件模块流程图
系统在上电复位后,首先要对 C8051F020 的各功能模块 进行初始化。其中包括 AD 转换器、计数器 T0 、T1 、T2 和中断 程序等。系统在每 50 ms 通过 AD 转换器对输入信号进行一 次采样,并将采样信号查表转换成温度数据,对数据加上帧 头,帧尾和校验位。最后将几帧数据打成数据包[1]。当发送 标示 允 许 时,C805lF020 每 50 ms 将 数 据 包 通 过 无 线 nRF24L01 器件发送给 Arduino 的接口板接收数据,限于篇 幅,下面给出部分代码。
采用一块基于开放源代码 Arduino 的接口板,包括 12 通 道数字 GPIO、4 通道 PWM 输出和 6 ~ 8 通道的 10 bitADC 输 入通道,他的核心是一片 AVRmega168 单片机[2]。其相配合
基金项目 作者简介 收稿日期
湖北 省 教 育科学“十 一 · 五”规 划 重 点 课 题 ( 编 号: 2010A067) 。 袁本华( 1953 - ) ,女,湖北襄阳人,教授,从事区域农业规划 研究。 2011-12-22
1. 1 系统控制模块 系统控制模块由 C805lF020 控制模块 和存储 FLASH 模块组成。当系统在发送状态时,C805lF020 把热电偶产生的输入信号进行相应的采集,并通过模数转换 器将其转换为数字信号,然后进行查表,再将其转换为温度 数据,并对相应数据进行处理,将数据写入存储芯片,最后通 过射频收发器件 nRF24L01 发送给数据处理模块。
的目的是为了提高系统的采集速度,进而提高温度测量的灵 敏度。通过射频收发器件 nRF24L01 完成距离之间无线通 信。FLASH 芯片可对温度数据进行存储,以便在无线通信故 障时读取。nRF24L01 将数据包通过 Arduino 的接口板转换 后,可用 USB 端口与上位机通信( 图 1) 。
图 1 系统硬件结构框图
系统采用以 Cygnal 公司的 C8051F020 单片机为控制核 心。这款 单 片 机 是 一 款 高 性 能 8 位 嵌 入 式 MCU,其 使 用 CP251 微控制内核与 MCS51 完全兼容,可通过 JTAG 接口, 进行非插入式、全速的在线调试。芯片集成了丰富的片内外 设资源,其 AD 转换器具有 12 位,可以有效提高热电偶的采 集精度[1]。
Байду номын сангаас
5050
安徽农业科学
2012 年
C805lF020 保持通信。当系统处于发送状态时,AVRmega168 接收到 nRF24L01 发来的数据包后,便可通过上位机显示。 1. 3 温度采集模块 温度采集模块包括电压式温度传感器 TMP35 和 J 型热电偶。由于热电偶的温度分度表是在冷端 温度保持在 0 ℃ 的情况下得到的,因此当冷端温度不为 0 ℃ 时,就需对其进行修正; 当冷端温度高于 0 ℃ 时,则测得的热 电势要小于该热电偶的分度值,为求得真实温度,可利用中 间温度法则,用下公式进行修正:
安徽农业科学,Journal of Anhui Agri. Sci. 2012,40( 8) : 5049 - 5050
责任编辑 夏静 责任校对 李岩
基于 Arduino 控制板的温室大棚测温系统设计
袁本华,董 铮 ( 襄樊学院数计学院,湖北襄阳 441053)
摘要 基于 Arduino 控制板,设计了一种方便易操作、成本低的温室大棚测温系统装置。该系统主要采用 C8051F020 单片机为控制核 心,采用热电偶为温度采集模块,C8051F020 为系统控制模块,nRF24L01 为无线通信模块组成整套装置,同时,制成样机进行试验,对系 统的性能进行了分析验证。结果表明该系统由于使用了温度补偿电路,有效提高了数据处理速度和灵敏度,同时测量精度也达到了 30. 05% 。另外,由于使用了存储芯片,可以保存实时数据,在很大程度上提高了系统的可靠性。因此,该系统是一种非常方便实用的测 温系统可在生产上推广应用。 关键词 Arduino 控制板; 测温; 单片机 中图分类号 S 625. 1 文献标识码 A 文章编号 0517 - 6611( 2012) 08 - 05049 - 02
当系统处于等待状态时,接口板将与上位机通过 USB 接口进行 通 信。如 果 系 统 接 到 上 位 机 的 命 令,要 求 读 取 数 据,则 C805lF020 将从 FLASH 芯片中将数据读出,无线通信 模块进行数据之间的传输。 1. 2 无线通信模块 无线发射模块包括 nRF24L01、Arduino 的接口板和天线。其中 nRF24L01 是一款新型单片射频收发 器件,工作于 2. 4 ~ 2. 5 GHz ISM 频段。内置频率合成器、功 率放大器、晶体振荡器、调制器等功能模块,并融合了增强型 ShockBurst 技术,其中输出功率和通信频道可通过程序进行 配置。nRF24L01 功耗低,有多种低功率工作模式[3]。Arduino 的 接 口 板 的 核 心 器 件 AVRmega168 可 用 于 完 成 对 nRF24L01 的初始化,以及之间的通信,同时也和主控芯片
E( t,0) = E( t,t1 ) + E( t1 ,0) 其中,E( t1 ,0) 是实际测量的电动势,t1 代表热端温度,t0 代表 冷端温度,0 代表 0 ℃ ,这样才能获得最佳补偿效果[4]。 2 系统软件设计
软件设计主要包括以 C8051F020 的发射模块程序和以 AVRmega168 为中心的接收模块程序。发射模块主要任务温 度采集、数据处理、向无线发射模块发送数据和贮存测试温 度数据。接收模块主要任务为与上位机保持通讯。根据各 个功能模块任务进行程序设计,为节省版面下面只对有特殊 创意的发射模块程序的设计作详细介绍。
温室大棚在设施农业中有着十分重要的地位。棚内温 度直接影响着农作物的生长,采用直接用人工进行温度测量 的方法已远远不能满足现代化生产的需要。因此,研究温室 自动控制温度系统已成为农业设施研制人员关注的焦点。 目前温度测量系统有许多,但多数没有无线传输数据能力。 为解决这一问题,笔者设计了一种基于 Arduino 控制板的无 线温度测量系统。该系统运行良好当温度测量器出现故障 时,只需对测量节点进行故障排查,不影响整个系统运行,既 有效提高了工作效率又降低了维护成本。考虑到农业生产 实际,该系统采用 J 型热电偶作为感温原件; 采用新型单片 射频收发器件 nRF24L01 为无线测量模块,将热电偶所产生 的电信号经单片机作数据处理后进行无线传输,经 Arduino 控制板在终端接收后,在主机上显示被测位置的温度。该系 统灵敏度高,工作稳定,功耗低、成本低可以实现温度采集与 程序控制,尤其适合用于农业生产。 1 系统硬件设计
Design of the Temperature Measurement System Based on Arduino Board YUAN Ben-hua et al ( School of Mathematical and Computer Sciences,Xiangfan University,Xiangyang,Hubei 441053) Abstract Based on the Arduino board,a convenient,operable and cheap greenhouse temperature measurement system was designed. With C8051F020 SCM as the control center,the system was composed of the thermocouples temperature collection module,C8051F020 system control module and nRF24L01 wireless communication module. The software of the system was designed,and its performance was analyzed. As indicated by the results,the system,due to its use of temperature compensate circuit,effectively improved the data treatment speed and sensitivity,the measurement precision reached wp to 0. 05% . In addition,the use of storage chip storied the real - time data and improved the reliability of system. In conclusion,the system was a convenient and practical temperature measurement system,which could be popularized in production. Key words Arduino board; Temperature measurement; Single chip microcomputer
[1]盛赛斌,李必成,肖城. 基于 C8051 F020 SOC 芯片的系统温度测控的实 现[J]. 仪表技术与传感器,2005( 2) : 39 - 40.
[2]崔才豪,张玉华,杨树财利用 Arduino 控制板的光引导运动小车设计 [J]. 自动化仪表,2011( 9) : 5 - 7,11.
float a = - 165. 0; float b = 151735. 0; float GetTemp( float f) { return a + ( b / f) ; } void setup( ) { Serial. begin( 9600) ; } void loop( ) { FreqCounter: : f_comp = 106; FreqCounter: : start( 1000) ; while ( FreqCounter: : f_ready = = 0) frq = FreqCounter: : f_freq; Serial. println( GetTemp( frq) ) ; } 3 系统性能分析 这个系统的特点在于使用了基于温度补偿的电路,可有 效提高其数据处理速度和灵敏度。实测证明,该系统的测量 精度为 0. 05% ,温度数据采集速度为 50 ms。 C8051F020 作为新一代的芯片,具有丰富而强大的外 设,它具有 2 个 AD 转换器,其中 ADO 具有 12 位精度,采用 他作为温室大棚节点温度采集器,可有效保证获得精确温度 信号。 采用存储芯片可在温度采集时实时将数据写入其内,以 便无线发送数据出现情况时能保留所采集的数据。测试系 统保存的数据可由上位机通过 USB 接口读取。 4 结束语 传统的温度测量方法周期长,效率低,管理很不方便,发 生故障时,更要花费大量人力物力来查找。尤其是用于温室 大棚采样数据频繁工况条件下,采用无线传输系统更显现出 他的优越性。该系统可对温度实现现场和远程智能化在线 检测和预警。 该系统在测温精度上达到了一定的水平。而在温度采 集速度上,由于使用了独立的温度补偿电路,有效地提高了 温度测量的灵敏度和系统稳定性。另外,由于使用了存储芯 片,可以保存实时数据,提高了系统的可靠性,是一种价格低 廉方便实用的系统,可在生产上推广应用。 参考文献
发射模块主要对热电偶的输入模拟信号进行信号采样, 然后进行对比查表,将数据转换为温度数据。当发送标示允 许时,通过无线 nRF24L01 器件发送给 AVRmega168,其系统 软件模块流程图如图 2 所示。
图 2 交流软件模块流程图
系统在上电复位后,首先要对 C8051F020 的各功能模块 进行初始化。其中包括 AD 转换器、计数器 T0 、T1 、T2 和中断 程序等。系统在每 50 ms 通过 AD 转换器对输入信号进行一 次采样,并将采样信号查表转换成温度数据,对数据加上帧 头,帧尾和校验位。最后将几帧数据打成数据包[1]。当发送 标示 允 许 时,C805lF020 每 50 ms 将 数 据 包 通 过 无 线 nRF24L01 器件发送给 Arduino 的接口板接收数据,限于篇 幅,下面给出部分代码。
采用一块基于开放源代码 Arduino 的接口板,包括 12 通 道数字 GPIO、4 通道 PWM 输出和 6 ~ 8 通道的 10 bitADC 输 入通道,他的核心是一片 AVRmega168 单片机[2]。其相配合
基金项目 作者简介 收稿日期
湖北 省 教 育科学“十 一 · 五”规 划 重 点 课 题 ( 编 号: 2010A067) 。 袁本华( 1953 - ) ,女,湖北襄阳人,教授,从事区域农业规划 研究。 2011-12-22
1. 1 系统控制模块 系统控制模块由 C805lF020 控制模块 和存储 FLASH 模块组成。当系统在发送状态时,C805lF020 把热电偶产生的输入信号进行相应的采集,并通过模数转换 器将其转换为数字信号,然后进行查表,再将其转换为温度 数据,并对相应数据进行处理,将数据写入存储芯片,最后通 过射频收发器件 nRF24L01 发送给数据处理模块。
的目的是为了提高系统的采集速度,进而提高温度测量的灵 敏度。通过射频收发器件 nRF24L01 完成距离之间无线通 信。FLASH 芯片可对温度数据进行存储,以便在无线通信故 障时读取。nRF24L01 将数据包通过 Arduino 的接口板转换 后,可用 USB 端口与上位机通信( 图 1) 。
图 1 系统硬件结构框图
系统采用以 Cygnal 公司的 C8051F020 单片机为控制核 心。这款 单 片 机 是 一 款 高 性 能 8 位 嵌 入 式 MCU,其 使 用 CP251 微控制内核与 MCS51 完全兼容,可通过 JTAG 接口, 进行非插入式、全速的在线调试。芯片集成了丰富的片内外 设资源,其 AD 转换器具有 12 位,可以有效提高热电偶的采 集精度[1]。
Байду номын сангаас
5050
安徽农业科学
2012 年
C805lF020 保持通信。当系统处于发送状态时,AVRmega168 接收到 nRF24L01 发来的数据包后,便可通过上位机显示。 1. 3 温度采集模块 温度采集模块包括电压式温度传感器 TMP35 和 J 型热电偶。由于热电偶的温度分度表是在冷端 温度保持在 0 ℃ 的情况下得到的,因此当冷端温度不为 0 ℃ 时,就需对其进行修正; 当冷端温度高于 0 ℃ 时,则测得的热 电势要小于该热电偶的分度值,为求得真实温度,可利用中 间温度法则,用下公式进行修正:
安徽农业科学,Journal of Anhui Agri. Sci. 2012,40( 8) : 5049 - 5050
责任编辑 夏静 责任校对 李岩
基于 Arduino 控制板的温室大棚测温系统设计
袁本华,董 铮 ( 襄樊学院数计学院,湖北襄阳 441053)
摘要 基于 Arduino 控制板,设计了一种方便易操作、成本低的温室大棚测温系统装置。该系统主要采用 C8051F020 单片机为控制核 心,采用热电偶为温度采集模块,C8051F020 为系统控制模块,nRF24L01 为无线通信模块组成整套装置,同时,制成样机进行试验,对系 统的性能进行了分析验证。结果表明该系统由于使用了温度补偿电路,有效提高了数据处理速度和灵敏度,同时测量精度也达到了 30. 05% 。另外,由于使用了存储芯片,可以保存实时数据,在很大程度上提高了系统的可靠性。因此,该系统是一种非常方便实用的测 温系统可在生产上推广应用。 关键词 Arduino 控制板; 测温; 单片机 中图分类号 S 625. 1 文献标识码 A 文章编号 0517 - 6611( 2012) 08 - 05049 - 02
当系统处于等待状态时,接口板将与上位机通过 USB 接口进行 通 信。如 果 系 统 接 到 上 位 机 的 命 令,要 求 读 取 数 据,则 C805lF020 将从 FLASH 芯片中将数据读出,无线通信 模块进行数据之间的传输。 1. 2 无线通信模块 无线发射模块包括 nRF24L01、Arduino 的接口板和天线。其中 nRF24L01 是一款新型单片射频收发 器件,工作于 2. 4 ~ 2. 5 GHz ISM 频段。内置频率合成器、功 率放大器、晶体振荡器、调制器等功能模块,并融合了增强型 ShockBurst 技术,其中输出功率和通信频道可通过程序进行 配置。nRF24L01 功耗低,有多种低功率工作模式[3]。Arduino 的 接 口 板 的 核 心 器 件 AVRmega168 可 用 于 完 成 对 nRF24L01 的初始化,以及之间的通信,同时也和主控芯片
E( t,0) = E( t,t1 ) + E( t1 ,0) 其中,E( t1 ,0) 是实际测量的电动势,t1 代表热端温度,t0 代表 冷端温度,0 代表 0 ℃ ,这样才能获得最佳补偿效果[4]。 2 系统软件设计
软件设计主要包括以 C8051F020 的发射模块程序和以 AVRmega168 为中心的接收模块程序。发射模块主要任务温 度采集、数据处理、向无线发射模块发送数据和贮存测试温 度数据。接收模块主要任务为与上位机保持通讯。根据各 个功能模块任务进行程序设计,为节省版面下面只对有特殊 创意的发射模块程序的设计作详细介绍。
温室大棚在设施农业中有着十分重要的地位。棚内温 度直接影响着农作物的生长,采用直接用人工进行温度测量 的方法已远远不能满足现代化生产的需要。因此,研究温室 自动控制温度系统已成为农业设施研制人员关注的焦点。 目前温度测量系统有许多,但多数没有无线传输数据能力。 为解决这一问题,笔者设计了一种基于 Arduino 控制板的无 线温度测量系统。该系统运行良好当温度测量器出现故障 时,只需对测量节点进行故障排查,不影响整个系统运行,既 有效提高了工作效率又降低了维护成本。考虑到农业生产 实际,该系统采用 J 型热电偶作为感温原件; 采用新型单片 射频收发器件 nRF24L01 为无线测量模块,将热电偶所产生 的电信号经单片机作数据处理后进行无线传输,经 Arduino 控制板在终端接收后,在主机上显示被测位置的温度。该系 统灵敏度高,工作稳定,功耗低、成本低可以实现温度采集与 程序控制,尤其适合用于农业生产。 1 系统硬件设计
Design of the Temperature Measurement System Based on Arduino Board YUAN Ben-hua et al ( School of Mathematical and Computer Sciences,Xiangfan University,Xiangyang,Hubei 441053) Abstract Based on the Arduino board,a convenient,operable and cheap greenhouse temperature measurement system was designed. With C8051F020 SCM as the control center,the system was composed of the thermocouples temperature collection module,C8051F020 system control module and nRF24L01 wireless communication module. The software of the system was designed,and its performance was analyzed. As indicated by the results,the system,due to its use of temperature compensate circuit,effectively improved the data treatment speed and sensitivity,the measurement precision reached wp to 0. 05% . In addition,the use of storage chip storied the real - time data and improved the reliability of system. In conclusion,the system was a convenient and practical temperature measurement system,which could be popularized in production. Key words Arduino board; Temperature measurement; Single chip microcomputer
[1]盛赛斌,李必成,肖城. 基于 C8051 F020 SOC 芯片的系统温度测控的实 现[J]. 仪表技术与传感器,2005( 2) : 39 - 40.
[2]崔才豪,张玉华,杨树财利用 Arduino 控制板的光引导运动小车设计 [J]. 自动化仪表,2011( 9) : 5 - 7,11.