标题 | 水产养殖监测系统设计与实现 |
范文 | 董铮 张其林 项东升 [摘要]社会的进步与发展,带动单片机技术惠及至农业生产生活的各个领域,用单片机作为生产生活的辅助帮手也已经成为一种趋势。构建了以Arduino控制板为核心的水产养殖监测系统,该系统可以对实时水产养殖进行监测,具有灵敏度高、功耗低等优点,满足了当前水产养殖中对水质监测的需求。 [关键词]Arduino控制板;水产养殖;监测 [中图分类号]S951;TP277.2 [文献标识码]A 我国水产养殖业随着人们的需求不断发展,带来水产养殖数量的激增,而由此带来的高密度养殖方式对鱼塘的水质造成很大的养殖污染,使水体自身净化能力变得相对较弱,带来水体富营养化趋势比较明显。原始的水塘监控主要靠人为经验操控,效率低下。十三五规划提出要靠创新驱动,发挥科技的乘数效应来带动现代化农业技术,促进小康社会的全面建成。因此,发展先进的农业技术对我国至关重要。为了解决现有的农业水产养殖造成的困境,提出基于以Arduino控制板为核心的单片机水情监测系统。 1 系统总体硬件设计 本系统采用以Arduino控制板为控制核心。该控制板是基于开放源代码的接口板,它包括 12通道数字 GPIO、6组 PWM通道输出和 6 ~8 通道的 10 bitADC 输入通道,它的核心是一片 AVRmega168 的单片机。整个系统主要由各传感器(水位传感器)、水泵、太阳能供电模块组成,其设计整体方案见图1。 其中水位传感器可使用多条导线与水的导通来测量不同深度的水位,可将水位分为4层,分别代表满水位、75%、25%、0水位,当水位到达某一深度,导通导线触发高电平给Arduino控制板。浊度传感器主要利用光学原理,通过对水的透光率及散射率来判断水质情况。传感器内部是红外线对管,当发射管发射一定量光线通过水后,由接收管接收,水越浑浊,通过的光就越少。通过调节模块上电位器大小选择合适阈值作为警戒水质,当水质达到此临界值,传感器模块输出高电平。控制板通过监测该电平变化,即可知道水质超标,联动水泵运行。 温度传感器采用DS18B20作为温度监测模块,温度数值在上位机上显示,其通信协议是wire协议,通信时只需将数据引脚与控制板连接即可。PH计传感器首先要对其进行校正,数值比较准确的使用有利于对水体做精确控制。使用时用标准缓冲溶液校正,环境温度以25℃为标准值。同时为保证精度一致性,需要定期校准,以防止有较大误差。若水塘杂质较多,建议6个月做一次重新校准。采用APC无线传输模块,该模块是高度集成半双工微功率无线数据传输模块,其嵌入高速单片机和高性能射频芯片ADF7020-1。采用高效的循环交织纠检错编码,抗干扰和灵敏度都大大提高,最大可以纠正24bits连续突发错误,达到业内的领先水平。APC220模块提供了多个频道的选择,可以在线修改串口速率、发射功率、射频速率等各种特征参数。工作时将其插在USB转串口模块上,再将模块插入计算机usb口及Arduino控制板上即可进行远程数据的采集与发送。为使系统稳定,采用9600波特率,工作频段434Mhz。 从数据采集的频率考虑,系统供电采用太阳能电池为主,市电为辅的供电机制。系统采集数据主要从太阳能及蓄电池供电,水泵抽换水采用市电。 2 系统软件设计 系统软件设计的主要任务是实现数据在arduino控制板中的收集与发送及水泵的开关控制(见图2)。 系统采用基于processing IDE的开发环境,直接写入代码即可,其典型代码如下: int n=analogRead(A3); int m=analogRead(A2); int p=analogRead(A0); int q=analogRead(A1); if( (n<1) or (q<1)) { digitalWrite(8, LOW); //水泵A的制动 digitalWrite(4, HIGH); //采用全功率輸出 digitalWrite(15, HIGH); //设置方向为正向 } else { digitalWrite(8, HIGH); //电机A的制动 digitalWrite(4, HIGH); //采用全功率输出 digitalWrite(15, HIGH); //设置方向为正向 } if ((n>=1) and (m<1) and (p<1) and(q<1)) { lcd.clear(); lcd.print(“ Deelp:”); lcd.print(“0%”); lcd.setCursor(0,1); lcd.print(“Temperature:”); lcd.print(temperature); delay(900); lcd.clear(); lcd.print(voltage); lcd.setCursor(0,1); lcd.print(“PH:”); delay(900); if ((n>=1) and (m>=1) and (p>=1) and(q>=1)) { lcd.clear(); lcd.print(“Deelp:”); lcd.print(“100%”); lcd.setCursor(0,1); lcd.print(“Temperature:”); lcd.print(temperature); delay(900); lcd.clear(); lcd.print(“clean:”); lcd.print(voltage); lcd.setCursor(0,1); lcd.print(“PH:”); lcd.print(pHValue,2); delay(800); } else 3 结语 本文基于Arduino控制板设计一套水产养殖监测系统。该系统通过各传感器获取水温、水深及水浑浊度等各项水情指标,并利用无线数传模块将数据及时上传给上位机,实现数据的远程监测。试验结果表明该系统运行稳定,可大大减轻相关人员工作量。 [参考文献] [1] 温宗周,豆朋达,钱佳佳,等.基于ZigBee的智能灌溉系统设计[J].单片机与嵌入式系统应用,2016,16(11):38-42. [2] 董铮.一种新型无线测温系统设计[J].江苏农业科学,2012,40(07):373-374. [3] 王义乐.无线通信技术在起重机智能超载限制器中的应用[J].计算机与数字工程,2016,44(01):176-179. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。