本发明涉及水产养殖监测领域,具体涉及一种基于labview的智能水产养殖环境数据无线监测系统。
背景技术:
随着国内水产养殖技术的不断提高,根据水产养殖环境监测的特点和目前环境监测系统中存在的缺陷,水环境无线监测与评价系统势在必行。随着水产养殖业中养殖密度不断提高,我国水产业面临着一个新的飞跃,养殖业的重任毋庸置疑,并且我国淡水资源匮乏,与资源和环境相协调。在现代工厂化养殖中,需要建立一个科学的水产养殖监测系统对ph值、电导率、水温、溶氧量等进行管理,实现对水产养殖各种环境因子的实时动态监测,为进一步优化养殖过程提供一种可行有效的方法,也能提高生产效率,降低养殖成本,进而提高水产养殖收益。
健康养殖的关键是水体环境,而水是水产养殖动物(鱼、虾、蟹、贝等)的生存环境,水质好坏直接影响到养殖对象的生长发育,从而关系到产量和经济效益。如果水质的某些指标超出动物的适应范围动物将不能正常生长,如果超过忍耐极限则可能导致养殖动物的大批死亡,造成不必要的经济损失。因此,对水产养殖环境的水质进行检测分析,采用科学的方法对水质进行调节控制,对防止水质超标造成水产养殖环境的破坏,以达到水产养殖动物正常发育所需要求具有重要的科学意义和应用价值。
水环境自动监测系统是一个以在线自动分析仪器为核心,运用自动控制技术,计算机技术以及相关的专用分析软件和通讯网络,组成一个从水样采集、水样预处理、水样测量到数据处理及存贮的综合性系统,从而实现水环境自动监测站的在线自动运行。水环境监测对水产养殖业具有重要意义,只有处于适宜的环境中,才能减少或避免病虫害的发生,使水生物快速健康成长。当前工厂化循环水养鱼快速发展,因其封闭性,对水环境监测具有更强的依赖性,良好的水质是高产高效的保证,所以对环境的监测及控制更为重要,工厂化循环水养殖工厂化养鱼具有生产效率高、占地面积少、可全年连续生产、经济效益高、操作管理自动化等特点,是当今最为先进的养鱼方式之一,是水产养殖业发展的方向。2009年海水养殖发展报告显示目前我国工厂化海水养殖面积约有500万平方米,期中封闭、半封闭循环水养殖面积约占10~20%。同时历史数据可以作为我们决策的依据,对整个产业有重要意义。
目前,国内应用先进的控制技术进行水体温度和溶解氧浓度监控一般是使用单片机系统,监测信号传输只使用有线方式,但这种方式监测范围小,抗干扰性差。无线传感器技术是一种新兴的智能检测控制技术,具有成本低、体积小、实时性强、功耗低、抗干扰性强、嵌入性好等特点,可以广泛应用于工农业生产中,在水产养殖中,应用无线传感器网络技术对养殖环境的温度、溶解氧浓度、水体酸碱度(ph值)、化学元素浓度等信息进行监测,将提供一种崭新的信息获取方式,改变传统的管理方式。
技术实现要素:
为解决上述问题,本发明提供了一种基于labview的智能水产养殖环境数据无线监测系统。
为实现上述目的,本发明采取的技术方案为:
基于labview的智能水产养殖环境数据无线监测系统,包括若干目标数据采集节点、串口通信模块和上位机,目标数据采集节点通过串口通信模块与上位机相连,所述目标数据采集节点包括传感器、节点单片机、短距离无线通信模块;所述节点单片机采用3v单片机stc15l204e,所述短距离无线通信模块采用nrf24l01,所述上位机通过nrf24l01接收数据,采用单片机stc89c52rc为控制芯片,通过通信芯片max232与pc机进行通信,将数据发送到pc机labview系统显示并在lcd1602同步显示各节点目标数据。
优选地,所述传感器采用数字式温度传感器ds18b20。
优选地,labview系统程序设计包括前面板和程序流程框图,前面板是图形化用户界面,由输入控件和显示控件组成,界面上有设置输入值和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象;前面板中设有串口选择、数据采集、温度采集显示、系统退出等输入控件;程序流程框图用于提供虚拟仪器的图形化源程序,由接线端口、节点、图框、连线构成;端口用于与前面板的控制和显示传递数据,节点可用于实现函数和功能调用,图框用于实现结构化程序控制指令,连线代表程序数据流用于定义框图内的数据流动方向;程序流程中除常规程序流程控制以外,还用于数据包解压、数据匹配和数据的滤波处理。
优选地,在实现labview平台与单片机串口通信的串口通讯设置上,采用波特率为9600,无奇偶校验位,8位数据位,1位停止位。
本发明具有以下有益效果:
提高了水产养殖质量,降低生产成本,减轻劳动者工作强度等,不仅能够给设施渔业带来很好的经济效益,还对自然环境的保护和节约能源起到了积极的作用。
附图说明
图1为本发明一个具体实施例的结构示意图。
图2为发明实施例中spi操作及时序图;
(a)为spi读操作,(b)为spi写操作。
图3为本发明实施例中lcd1602接口电路。
图4为本发明实施例中nrf24l01接口电路。
图5为本发明实施例中的电源电路。
图6为本发明实施例中的节点电路。
具体实施方式
为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种基于labview的智能水产养殖环境数据无线监测系统,包括若干目标数据采集节点、串口通信模块和上位机,目标数据采集节点通过串口通信模块与上位机相连,所述目标数据采集节点包括传感器、节点单片机、短距离无线通信模块;所述节点单片机采用3v单片机stc15l204e,所述短距离无线通信模块采用nrf24l01,所述上位机通过nrf24l01接收数据,采用单片机stc89c52rc为控制芯片,通过通信芯片max232与pc机进行通信,将数据发送到pc机labview系统显示并在lcd1602同步显示各节点目标数据。所述传感器采用数字式温度传感器ds18b20。本具体实施的labview系统程序设计包括前面板和程序流程框图,前面板是图形化用户界面,由输入控件和显示控件组成,界面上有设置输入值和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象;前面板中设有串口选择、数据采集、温度采集显示、系统退出等输入控件;程序流程框图用于提供虚拟仪器的图形化源程序,由接线端口、节点、图框、连线构成;端口用于与前面板的控制和显示传递数据,节点可用于实现函数和功能调用,图框用于实现结构化程序控制指令,连线代表程序数据流用于定义框图内的数据流动方向;程序流程中除常规程序流程控制以外,还用于数据包解压、数据匹配和数据的滤波处理,在实现labview平台与单片机串口通信的串口通讯设置上,采用波特率为9600,无奇偶校验位,8位数据位,1位停止位。
在写寄存器之前一定要进入待机模式或掉电模式。如图2所示,给出了spi操作及时序图。
spi口为同步串行通信接口,最大传输速率为10mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与spi相关的指令共有8个,使用时这些控制指令由nrf24l01的mosi输入。相应的状态和数据信息是从miso输出给mcu。
nrf24l01所有的配置字都由配置寄存器定义,这些配置寄存器可通过spi口访问。nrf24l01的配置寄存器共有25个。
本具体实施中stc89c52rc单片机有32个i/o口,使用po口为数据口,p3口为控制端口,具体接线如图3所示。
由于nrf24l01的供电电压为3v,而stc89c52的电路为5v,但是nrf24l01的i/o口可以接受5v的电压,为了确保稳定在电路中串入1k电阻,具体电路如图4所示。
本申请接收电路的单片机供电电源为5v,而nrf24l01的供电电源为3v,而且本设计需要与pc进行串口通信,所以决定采用usb供电,并且通过稳压芯片ams11117-3.3v给nrf24l01进行供电。节点发射电路采用干电池进行供电,具体电路如图5所示。
本具体实施节点处采用两节1.5v干电池进行供电,具体电路如图6所示。
电路板的制作
考虑到制作专业pcb板的价格高、周期长,所以本次设计采用覆铜板腐蚀法来制作pcb板,具体包括如下步骤:
画pcb图;将pcb图输出(注意不要打印丝印层,显示过孔);将pcb图打印在热转印纸上(打印在转印面);将转印纸上的油墨通过热转印机转印到覆铜板上;将转印好的覆铜板放入三氯化铁替代溶液中进行腐蚀;腐蚀完成;用砂纸磨去表面的油墨露出铜线;用电钻打孔,方便焊接;焊接上元器件。
通过stc单片机下载编程烧录软件,将程序分别下载到各个模块硬件电路图中。节点一和节点二程序文件下载到温度数据无线发射模块中,主程序以及串口模块程序下载到温度无线接收模块中。通过将硬件电路与上位机labview显示界面相连。两节点电路分别用3.3v电源供电,主电路采用usb接口连接电脑供电。采用stc软件将程序通过rs-232接口下载到硬件电路中,按下开关电源,led灯发亮,1602上显示出采集到的两节点温度数值,并顺利显示出来。在改变温度传感器温度时,显示数据也能慢慢改变,显示数据状态良好。
本具体实施的工作原理为:发射数据时,首先将nrf24l01配置为发射模式:接着把接收节点地址tx_addr和有效数据tx_pld按照时序由spi口写入nrf24l01缓存区,tx_pld必须在csn为低时连续写入,而tx_addr在发射时写入一次即可,然后ce置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nrf24l01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址tx_addr一致)。如果收到应答,则认为此次通信成功,tx_ds置高,同时tx_pld从txfifo中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(arc)达到上限,max_rt置高,txfifo中数据保留以便在次重发;max_rt或tx_ds置高时,使irq变低,产生中断,通知mcu。最后发射成功时,若ce为低则nrf24l01进入空闲模式1;若发送堆栈中有数据且ce为高,则进入下一次发射;若发送堆栈中无数据且ce为高,则进入空闲模式2。
接收数据时,首先将nrf24l01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和crc时,就将数据包存储在rxfifo中,同时中断标志位rx_dr置高,irq变低,产生中断,通知mcu去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若ce变低,则nrf24l01进入空闲模式1。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。