基于土壤湿度检测的自动浇花系统设计.docx
《基于土壤湿度检测的自动浇花系统设计.docx》由会员分享,可在线阅读,更多相关《基于土壤湿度检测的自动浇花系统设计.docx(41页珍藏版)》请在冰豆网上搜索。
基于土壤湿度检测的自动浇花系统设计
ArduinoMoistureSensor土壤湿度传感器自动浇花
请看下面PDF技术文件介绍
这个水分传感器可用于检测土壤的水分,当土壤缺水时,传感器输出值将减小,反之将增大。
使用这个传感器制作一款自动浇花装置,让您的花园里的植物不用人去管理。
传感器表面做了镀金处理,可以延长它的使用寿命。
将他插入土壤,然后使用AD转换器读取它。
在他的帮助下,植物会提醒您:
嘿,我渴了,请给我一点水。
技术规格
供电电压:
3.3V或5V
接口定义:
1脚信号,2脚地,3脚电源正
输出信号类型:
模拟量
使用寿命:
大约1年(表面镀金处理,加强了导电性和抗腐蚀性)
模块尺寸:
20X60mm
这是一个简易的水分传感器可用于检测土壤的水分,当土壤缺水时,传感器输出值将减小,反之将增大。
使用这个传感器制作一款自动浇花装置,让您的花园里的植物不用人去管理。
传感器表面做了镀金处理,可以延长它的使用寿命。
将他插入土壤,然后使用AD转换器读取它。
在他的帮助下,植物会提醒您:
嘿,我渴了,请给我一点水。
技术规格
供电电压:
3.3V-5V
工作电流:
最大45mA
输出电压:
0-2.3V【2.3V是完全浸泡在水中的电压值】,5V供电,湿度越大输出电压越大。
接口定义:
1脚信号,2脚地,3脚电源正
使用寿命:
大约1年(表面镀金处理,加强了导电性和抗腐蚀性)
模块尺寸:
60X20X5mm
PDF:
SEN0114资料
概述
这是一个简易的水分传感器可用于检测土壤的水分,当土壤缺水时,传感器输出值将减小,反之将增大。
使用这个传感器制作一款自动浇花装置,让您的花园里的植物不用人去管理。
传感器表面做了镀金处理,可以延长它的使用寿命。
将它插入土壤,然后使用AD转换器读取它。
在他的帮助下,植物会提醒您:
嘿,我渴了,请给我一点水。
技术指标
电源电压:
3.3vor5v
输出电压:
0~2.3v
工作电流:
最大45mA
接口定义:
1脚信号,2脚地,3脚电源正
使用寿命:
1年左右
模块尺寸:
60x20x5mm
典型电压值:
1.0~300 :
干燥土壤
2.300~700 :
湿润土壤
3.700~950 :
放到水中
土壤湿度传感器工作原理
土壤湿度传感器是判断土壤中水分含量的多少来判定土壤的湿度大小。
如图所示,当土壤湿度传感器探头悬空时,三极管基极处于开路状态,三极管截止输出为0;当插入土壤中时由于土壤中水分含量不同,土壤的电阻值就不同,三极管的基极就提供了大小变化的导通电流,三极管集电极到发射极的导通电流受到基极控制,经过发射极的下拉电阻后转换成电压。
土壤湿度传感器的测试
这里我们使用Arduino控制器来做测试,Arduino内部自带10位AD采样电路,程序简单,使用非常方便。
Arduino实验代码如下:
/*#Examplecodeforthemoisturesensor
#Editor :
Lauren
#Date :
13.01.2012
#Version :
1.0
#ConnectthesensortotheA0(Analog0)pinontheArduinoboard
#thesensorvaluedescription
#0~300drysoil
#300~700humidsoil
#700~950inwater
*/
voidsetup(){
Serial.begin(57600);
}
voidloop(){
Serial.print("MoistureSensorValue:
");
Serial.println(analogRead(0));
delay(100);
}
土壤湿度检测及自动浇水系统设计
1设计主要内容及要求1.1设计目的:
随着人们生活水平的提高花卉逐渐受到人们的青睐,本设计要求利用单片机设计一款家庭智能浇花器,实现自动浇花,节省人力,方便人们出差的时候不至于影响花卉的生长,如果在家也可以关断浇花器。
(1)了解土壤湿度检测的基本知识以及电工电子学、单片机、传感器等相关技术。
(2)初步掌握常用土壤湿度
检测传感器的特点和应用场合,并选择恰当方法应用于本设计。
1.2基本要求
(1)通过c8051f020单片机编程来实现土壤湿度的实时显示,并具有超量程报警装置。
(2)要求设计相关传感器系统和控制系统实现自动浇水功能。
(3)要求设计相关的硬件电路,包括传感器的选型、控制系统和显示系统的硬件电路设计。
1.3发挥部分自由发挥2设计过程及论文的基本要求:
2.1设计过程的基本要求
(1)基本部分必须完成,发挥部分可任选;
(2)符合设计要求的报告一份,其中包括总体设计框图、电路原理图各一份;(3)报告的电子档需全班统一存盘上交。
2.2课程设计论文的基本要求
(1)参照毕业设计论文规范打印,包括附录中的图纸。
项目齐全、不许涂改,不少于4000字。
图纸为A4,所有插图不允许复印。
(2)装订顺序:
封面、任务书、成绩评审意见表、中文摘要、关键词、目录、正文(设计题目、设计任务、设计思路、设计框图、各部分电路及相应的详细的功能分析和重要的参数计算、工作过程分析、元器件清单、主要器件介绍)、小结、参考文献、附录(总体设计框图与电路原理图)。
3时间进度安排顺序12345678910阶段日期计划完成内容讲解主要设计内容,安排学生查阅资料检查任务框图的设计情况检查整个设计理论方面的准备情况指导学生进行传感器的选择进程传感器及测量电路的硬件电路设计讲解原理图的绘制要求检查原理图完成情况,讲解及纠正错误检查流程图的绘制及报告的书写要求布置答辩答辩、写报告备注打分打分打分打分打分打分打分打分打分打分
一设计任务描述
1.1设计题目:
土壤湿度检测及自动浇水系统设计1.2设计要求
1.2.1设计目的:
随着人们生活水平的提高花卉逐渐受到人们的青睐,本设计要求利用单片机设计一款家庭智能浇花器,实现自动浇花,节省人力,方便人们出差的时候不至于影响花卉的生长,如果在家也可以关断浇花器。
(1)了解土壤湿度检测的基本知识以及电工电子学、单片机、传感器等相关技术。
(2)初步掌握常用土壤湿度检测传感器的特点和应用场合,并选择恰当方法应用于本设计。
1.2.2基本要求:
(1)通过C8051F020单片机编程来实现土壤湿度的实时显示,并具有超量程报警装置。
(2)要求设计相关传感器系统和控制系统实现自动浇水功能。
(3)要求设计相关的硬件电路,包括传感器的选型、控制系统和显示系统的硬件电路设计。
1
二设计思路
我所设计的土壤湿度检测及自动浇水系统主要由七部分组成。
第一部分:
精密对称方波发生器。
用于驱动湿敏电阻,因为直流电流通过湿敏电阻时会产生电化学迁移现象而损坏湿敏电阻,所以在这里我选择了具有稳幅作用的精密对称方波发生器作为信号源。
第二部分:
湿敏电阻传感器。
由于湿敏电阻是最常见,价格也最低廉的一种湿度传感器所以我选择了湿敏电阻作为本设计的核心传感器。
我选择的是PCRC-55这款湿敏传感器。
他是一种经过化学方法处理的聚苯乙烯聚合物。
其电阻值(R)与相对湿度(RH)的曲线近似指数曲线,即电阻值随相对湿度的增大为减小。
第三部分:
对数放大器。
为解决湿敏电阻自身的非线性问题,我选择了由晶体管和运算放大器组成的对数放大电路来对湿敏电阻的指数型特性曲线进行线性化。
第四部分:
相对湿度校准电路。
利用湿度校准电路对40%RH、100%RH两点进行校准,再通过滤波器产生一个代表相对湿度的直流输出电压,输出电压范围是0~+10V,所对应的相对湿度变化范围是(0~100%)RH。
第五部分:
断点放大器。
由于湿敏电阻在RH≤40%时的非线性失真最为显著,我真对这一情况采用断点放大器再做一次局部的线性化处理,即再进行一次线性补偿。
第六部分:
温度补偿电路。
利用集成恒流源的正温度系数去补偿湿敏电阻的负温度系数,大大降低了温漂。
当环境温度发生变化时,必然导致组成对数放大器的晶体管的直流工作点发生改变,而这也终究会影响到对数放大器的输出特性。
因此我对组成对数放大器的晶体管采取一定的温度补偿措施,即用一片廉价的集成音频放大器对其补偿,以避免这种情况的发生。
第七部分:
数据处理及自动浇水系统。
利用单片机对湿敏电阻这一传感器所采集的代表土壤湿度的电压信号进行处理、分析,并对土壤湿度进行实时显示、超范围报警以及自动浇水。
对这以上就是我所设计的土壤湿度检测及自动浇水系统的设计思路。
基于此设计思路设计的土壤湿度检测及自动浇水系统的相对湿度测量范围为0~100%,测量精度为±2%,分辨力可达0.01%。
2
三设计方框图
精密对称方波发生器
湿敏电阻
稳压电源
对数放大器(兼半波整流)
稳压温度补偿电路(恒温器)
湿度校准电路及滤波器
断点补偿电路
输出放大器
C8051F020单片机
湿度显示、超量程报警自动浇水
3
四设计原理
4.1精密对称方波发生器
湿敏电阻只能用交流的,直流会导致湿敏失效,因为直流的电场会导致高分子材料中的带电粒子偏向两极,一定时间以后湿敏电阻就会失效。
所以必须用交流维持其平衡,这也是为什么测湿敏电阻阻值要用电桥而不能用普通万用表的原因。
水分子是极性分子,在直流电厂中会分解为H2和O2,影响测量,并且在湿敏传感器中存在导电离子,在高湿情况下,如采用直流电会漂移造成电导率漂移,影像传感器的使用寿命。
综上所述:
鉴于当直流电流通过湿敏电阻会产生电化学迁移现象而损坏湿敏电阻,因此必须采用交流信号或对称方波信号来驱动湿敏电阻。
这里选用具有稳幅作用的精密对称方波发生器作为信号源,其输出信号中不包含直流分量。
4.2湿敏电阻传感器
湿敏电阻是利用湿敏材料吸收空气中的水分而导致本身电阻值发生变化这一原理而制成的。
工业上流行的湿敏电阻主要有:
半导体陶瓷湿敏电阻、氯化锂湿敏电阻、有机高分子膜湿敏电阻。
湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时元件的电阻率和电阻值都发生变化。
PCRC-55型湿敏电阻是用经过化学方法处理的聚苯乙烯聚合物制成的。
其电阻值(R)与相对湿度(RH)的影响曲线如图4.2.1湿敏电阻特性曲线所示。
该曲线近似为指数曲线。
当湿度从20%变化到100%时,电阻值就从100MΩ迅速减小到35KΩ,电阻变化量超过了4个数量级。
因此,构成相对湿度测量仪时必须进行线性化,才能获得线性输出电压。
PCRC-55的温度系数为—0.36%RH/℃,精度为±1%。
图4.2.1湿敏电阻特性曲线
4.3对数放大器
为解决湿敏电阻的非线性问题,由晶体管和运算放大器构成对数放大器,对湿敏电阻的指数型特性曲线进行线性化。
4
4.4相对湿度校准电路
利用湿度校准电路对40%RH、100%RH两点进行校准,再通过滤波器产生一个代表相对湿度的直流输出电压,输出电压范围是0~+10V,所对应的相对湿度变化范围是(0~100%)RH。
4.5断点放大器
所谓“断点”就是指40%RH这一点,由图4.2.1湿敏电阻特性曲线可见,PCRC-55型湿敏电阻在RH≤40%时的非线性失真最为显著,针对这种情况可通过断点放大器再做一次局部线性化处理。
4.6温度补偿电路
4.6.1湿敏电阻的温度补偿
由于湿敏电阻具有负温度系数,因此要对其负温度系数进行一定的温度补偿,这里我采用集成恒流源的正温度系数去补偿湿敏电阻的负温度系数。
4.6.2对数放大电路中晶体管的温度补偿
当环境温度发生变化时,必然导致组成对数放大器的晶体管的直流工作点也发生变化,而这也终究会影响到对数放大器的输出特性。
因此要对组成对数放大器的晶体管采取一定的温度补偿措施,即用一片廉价的集成音频放大器对其进行补偿。
4.7数据处理及自动浇水系统
利用单片机对湿敏电阻这一传感器所采集的代表土壤湿度的电压信号进行处理、分析,并对土壤湿度进行实时显示、超范围报警及自动浇水
5
五电路设计
5.1精密对称方波发生器
5.1.1电路图
电路图如图5.1.1精密对称方波发生器所示。
图5.1.1精密对称方波发生器
5.1.2原理
精密对称方波发生器由集成运放IC-1a(LF347)、三端可调电流源IC2(LM334)、和二极管桥路(VD1~VD4)组成。
利用二极管桥路和电阻R2、R3构成的正反馈电路使IC-1a产生振荡。
该方波发生器具有对称输出、限流和稳幅的特性。
R1为设定电阻(RSET),取R1=15Ω时可将LM334的输出电流限定在5mA左右。
利用二极管桥路的正、反向钳位作用,能把输出方波电压U01的幅度限制在±8V。
谐振频率约为100HZ。
随着振荡电容C1不断的进行充、放电,在U01端便形成了以零伏为对称轴的方波信号,其直流分量为零。
R2、R3组成分压器,用于设定IC1的阈值电压(即门限电压),进而控制IC-1a的翻转状态。
对称方波发生器输出的U01信号通过缓冲器(IC-1b)驱动湿敏电阻。
6
5.2湿敏电阻传感器
5.2.1电路图
电路图如图5.2.1湿敏电阻传感器所示。
图5.2.1湿敏电阻传感器
5.2.2原理
PCRC-55型湿敏电阻是用经过化学方法处理的聚苯乙烯聚合物制成的。
其电阻值(R)与相对湿度(RH)的影响曲线如图5.2.2湿敏电阻特性曲线所示。
当相对湿度从20%变化到100%时,电阻值就从100MΩ迅速减小到35KΩ电阻变化量超过4个数量级。
图5.2.2湿敏电阻特性曲线在方波信号的正半周期,VD5截止,在负半周期,VD5导通。
7
5.3对数放大器
5.3.1电路图
电路图如图5.3.1对数放大器所示。
图5.3.1对数放大器
5.3.2原理
对数放大器由晶体管VT1和运放IC-1c构成。
将VT1的基极接地、集电极接A点(虚地)时,相当于把集电极与基极短接,VT1就等效于硅二极管。
此对数放大器用来补偿湿敏电阻的指数曲线,使之近似于线性关系。
实现对湿敏电阻的线性化。
在方波信号的正周期,IC-1c作为反相放大器使用,输出的是负向方波信号,在负半周期,对数放大器不工作。
因此对数放大器兼有半波整流作用。
8
5.4相对湿度校准电路
5.4.1电路图
电路图如图5.4.1相对湿度校准电路所示。
图5.4.1相对湿度校准电路
5.4.2原理
相对湿度校准电路由IC-1d和电位器RP1、RP2组成。
RP1用以校准40%RH的刻度,RP2用来校准100%RH的刻度。
9
5.5断点放大器
5.5.1电路图
电路图如图5.5.1断点放大器电路所示。
图5.5.1断点放大器电路
5.5.2原理
所谓“断点”就是指40%RH这一点。
PCRC-55型湿敏电阻在RH≤40%时的非线性失真最为显著,针对这种情况断点放大器再做一次局部的线性化处理。
断电放大器(IC-3b)就并联在输出放大器(IC-3a)的两端。
当RH≤40%时,利用IC-3b可以改变IC-3a的增益,使相对湿度特性曲线在0~40%范围内更接近于线性。
当RH>40%时,IC-3b输出低电平,故VT4、VD6截止,断电放大器不工作,对(40%~100%)相对湿度的线性化任务全部由对数放大器来完成。
仅当RH=40%时,IC-3b的输出变成高电平,使VT4、VD6导通,断电放大器才开始工作,可使0~40%相对湿度范围内的输出电压与相对湿度仍保持线性关系。
电路中R13和VD6的作用是防止在断点附近产生抖动现象。
10
5.6温度补偿电路
5.6.1电路图
电路图如图5.6.1温度补偿电路所示。
图5.6.1温度补偿电路
5.6.2原理湿敏电阻的温度补偿
利用LM334的正温度系数(+0.33%/℃)去补偿湿敏电阻的负温度系数(-0.36%/℃),实际温度系数仅为-0.03%/℃,它与传感器的±1%精度指标相比完全可以忽略。
LM334的安装位置应尽量靠近湿敏电阻。
LM334即可构成恒流源,还可作为电压灵敏度为227μV/K的温度传感器使用,这里仅利用其恒流特性,从而大大提高了方波幅度的稳定性。
对数放大电路中晶体管的温度补偿
当环境温度发生变化时,必然导致组成对数放大器的晶体管VT1的直流工作点也发生变化,而这也终究会影响到对数放大器的输出特性。
因此要对VT1采取一定的温度补偿措施。
温度补偿电路实际上是由IC4~IC6和VT2、VT3等组成的小型恒温槽是控制器,并且需将VT2、VT3与VT1紧贴在一起。
将VT2的集电极短接,利用其发射结作为温度传感器使用。
IC5是温控电路。
VT3作为加热器,给VT1提供一个+50℃(典型值)的工作温度,使之不受外界环境温度变化的影响。
IC6(7812)给IC5提供+12V稳定电压。
IC5的参考电压U3=+0.63V,该电压所对应的VT1管壳温度恰好为+50℃。
一旦VT1始终工作在+50℃恒温状态,从而消除了环境温度变化对VT1工作点的影响。
VDZ为3V稳压管。
11
5.7数据处理及自动浇水系统
5.7.1单片机外围电路电源电路
在电源电路中,IC8SPX1117-3.3是稳压芯片将输入电压5V转换成3.3V作为C8051F020单片机的主要供电电源。
S1为输入电源开关按钮,在下载完数据后可用此按键来更新下载数据。
其电路图如图5.7.1电源电路所示。
图5.7.1电源电路
12
复位电路
当开发板上电时,C4经充电后复位端电压相当于低电平实现上电复位:
当断电后通过1N4148形成放电回路。
其电路图如图5.7.2复位电路所示。
图5.7.2复位电路
液晶显示(LCD)接口电路
单片机留有一个LCD液晶接口,相对应的液晶为MzL05-12864,它是一款仅写入的串行SPI接口方式的液晶,给液晶仅需5个控制口即可完成对其控制。
单片机使用模拟SPI的方式对液晶进行操作。
其电路图如图5.7.3液晶接口电路所示。
图5.7.3液晶接口电路
13
晶振电路
Y1为晶体振荡器,其振荡频率为22.11842MHZ,为单片机提供其工作所需要的时钟,C7、C8起到帮助晶振的作用。
电路图如图5.7.4晶振电路所示。
图5.7.4晶振电路
报警(LED)电路
LED以灌电流的方式点亮,阻流电阻选择了10K。
电路图如图5.7.5报警电路所示。
图5.7.5报警电路
14
5.7.2模块
单片机程序设计主要有五部分组成。
第一部分:
采集表示湿度的电压信号。
第二部分:
十六进制至BCD的转换。
第三部分:
液晶显示(湿度)第四部分:
报警(湿度过高,超量程)第五部分:
自动浇水(湿度过低,需要浇水)
5.7.3程序采集表示湿度的电压信号程序
MOV30H,ADC0HMOV31H,ADC0L
十六进制数至BCD的转换程序
BCD:
CLRAMOV41H,AMOV40H,AMOV39H,AMOV38H,AMOV37H,AMOVR5,#16H2B:
CLRCMOVA,31HRLCAMOV31H,AMOVA,30HRLCAMOV30H,AMOVA,41HADDCA,41HDAAMOV41H,AMOVA,40HADDCA,40HDAAMOV40H,AMOVA,39HADDCA,39HMOV39H,ADJNZR5,H2BMOVA,41HMOVB,#16
15
DIVABMOV38H,AMOV37H,BMOVA,39HMOV41H,AMOVA,40HMOVB,#16DIVABMOV40H,AMOV39H,BRET
液晶显示(湿度)程序
SYSCLK_Init:
MOVOSCICN,#05HRETPORT_Init:
CLRAMOVXBR0,AMOVP74OUT,#0F0HRETLCD_Init:
LCALLDelayMOVP7,#038HMOVP6,#01HMOVP6,#0HLCALLDelayMOVP7,#0EHMOVP6,#01HMOVP6,#0HLCALLDelayMOVP7,#06HMOVP6,01HMOVP6,#0HLCALLDelayMOVP7,#01HMOVP6,#01HMOVP6,#0HLCALLDelayRETLine:
CLRAMOVA,40HMOVCA,@A+DPTRMOVP7,AMOVP6,#05HMOVP6,#04HLCALLDelay//系统时钟初始化为片内的4MHz时钟//清零累加器//没有选择数字外设//P4~P7口设为推拉方式//调用延时程序//功能设置:
两行显示,5×7点阵//写命令//结束写命令//调用延时程序//开显示,开光标,字符不闪烁//写命令//结束写命令//调用延时程序//I/D=1,AC自动增1;S=0,整体显示不移动//写命令//结束写命令//调用延时程序//清除DDRAM,置AC=0//写命令//结束写命令//调用延时程序//累加器清零//十位的数送累加器//查表,取ASCII码字符//字符送数据口P7//写数据操作//结束写操作//调用延时程序
16
CLRCMOVA,40HLCALLDELAYLCALLDELAYLCALLDELAYLCALLDELAYNN:
MOVA,39HMOVCA,@A+DPTRMOVP7,AMOVP6,#05HMOVP6,#04HLCALLDelayMOVA,#0AHMOVCA,@A+DPTRMOVP7,AMOVP6,#05HMOVP6,#04HLCALLDelayMOVA,38HMOVCA,@A+DPTRMOVP7,AMOVP6,#05HMOVP6,#04HLCALLDelayLCALLDelayMOVA,37HMOVCA,@A+DPTRMOVP7,AMOVP6,#05HMOVP6,#04HLCALLDelayLCALLDelayMOVA,#0BHMOVCA,@A+DPTRMOVP7,AMOVP6,#05HMOVP6,#04HLCALLDelayLCALLDelayMOVA,#0