《蔬菜大棚温度控制系统.docx》由会员分享,可在线阅读,更多相关《蔬菜大棚温度控制系统.docx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目 录一、引言1(一)选题的背景1(二)国内温室大棚发展状况1(三)选题目的2二、控制系统的总体设计2(一)控制系统具体功能2(二)控制系统整体结构2(三)硬件设备的选择31.控制芯片的选择.32.温度传感器的选择33.显示器件的选择4(四)系统工作原理5三、温度控制系统电路设计6(一)控制模块电路6(二)控制模块输入电路91. DS18B20温度传感器设计92. 外部控制电路的设计14(三)输出控制控温设备电路151.蜂鸣器电路的设计152. 继电器驱动电路设计15(四)系统硬件测试16四、 系统软件部分设计17(一) 主函数17(二) 数码管显示函数的设计18(三) DS18B20温度采集
2、函数的设计19(四) 系统单片机程序调试20五、 结论.21参考文献22致谢.23一、引言(一)选题的背景从本世纪处开始,随着中国经济的快速发展,人民对于生活质量和身体健康越来越重视,在北方寒冷的冬季吃上新鲜可口的蔬菜成为了生活的需要。因此造成了冬季反季节蔬菜的需求逐年扩大,尤其是在北方寒冷地区。温室蔬菜栽培大棚远比比南方蔬菜的长途运输更加具有明显优势。出于经济上的价值。长江以南从南到北菜长途运输不仅成本高,而且长途运输的蔬菜大多为冷冻脱水蔬菜不再新鲜。因此,依靠现代数字温度控制系统,推广性价比高的大棚种菜能更好地满足人民群众生活的需要。由于不同蔬菜作物及其不同生育期所需要的温度不同且要求稳定
3、在一定的温度范围内。仅仅是依靠人工管理存在温度调节不及时、不准确,影响作物生长及人力资源浪费等问题。因此要求有一种能对温室温度的检测具有足够精度和实时控制的温度控制系统来代替人工操作,并尽可能具有较低成本,这样的产品才有实用价值。蔬菜大棚的温室环境控制自动调节的环境条件在温室中,以实现对植物生长发育的最佳环境。现代温室,通过大棚温度控制系统控制住加热器等外部设备,可以准确切高效的把温度控制在蔬菜最佳生长温度区间内,从而使自然条件下不易生长甚至无法种植的蔬菜在温室大棚内健康顺利的成熟满足民众的需求。一个冬天的最重要的调节因素是蔬菜生长时环境温度的控制。如果温度过低,会对蔬菜生长造成较大影响,容易
4、使作物停止生长或者死亡,所以温度应该牢牢控制在适宜蔬菜生长的区间范围内。(二)国内外温室大棚发展状况自20世纪80年代的基础上,引进和国外高科技温室生产技术的吸收,中国已经进行了单独的环境因素的控制技术,如温度,湿度,并在温室中二氧化碳的研究。中国的现代化温室已经经历几个重要的发展阶段,从充分利用太阳光的日光温室大棚到适合多种地区各种气候的大玻璃浴室再到现代化的温室。大部分都是节能坡节能型日光温室,用来在寒冷的冬季种植蔬菜或着花卉。大棚种植在有限空间内极大提高了农作物产量。为了推广这种方法,华北地区地方政府为农民提供农村合作银行贷款来搭建大棚。美国的温室主要用于生产花卉。温室加温设备可适应蒸汽
5、、热水、燃油、天然气等多种热源加温。冬季内部升温采用盘管和喷射相结合的加热方法夏季采用湿垫或喷淋降温冬季补充光源多用高压钠灯或金属卤素灯采用喷灌或滴灌。以上均由环境控制计算机系统根据温室内外安装的各种传感装置收集的各种参数,经计算机分析、决策、然后下达指令进行自动化控制。英国伦敦大学农学院研制的温室计算机遥控技术,可以观测五十公里以外温室内的光、温、湿、气和水等环境状况,并进行遥控。以色列高效节能日光温室技术在世界享有盛誉,其地中海沿岸也在冬天拥有寒带气侯。以色列技术人员开发出一系列计算机硬件和软件,以实现温室中的供水、施肥和气侯的自动化控制。近五年来开始外销其温室材料至世界各地,其技术在我国
6、长城以南地区己得到推广使用,但在长城以北寒冷地区尚无规模应用。(三)选题目的大棚里,不管什么季节都能做到蔬菜水果一年多熟。这意味着蔬菜水果产量比传统农田高出几倍。比方说,大棚里种莴笋,从播种到收割需要52天,这样一年可以种将近七轮,效率高了七倍。绝大多数的蔬菜大棚由家庭经营,大多数种植者都配备了多参数的测量和控制设备蔬菜大棚,具有很高的经济成本。因此,在该设计方案要解决的选择的温度,这是一个重要的蔬菜温室参数,作为控制对象,并开发一种低成本经济地更换手动控制和温度控制装置的重要问题。二、控制系统的总体设计(一)控制系统具体功能该系统的设计使用温度传感器收集环境温度数据。它可以通过控制继电器的关
7、闭开启进而控制风扇,加热器和其他外部设备实时控制的温室的温度。提供最佳的温度环境,蔬菜作物的生长能大大提高蔬菜作物的产量和品质,以满足日益增长的蔬菜作物的需要。本温控系统的开发设计有以下功能1.根据不同的作物,不同区域和不同季节的实际需要,不同的温度控制范围可以调节。2.实时采集,并在温室环境温度参数的显示。3.根据用户需求自动调整在一定范围内在温室的温度参数。该系统可以通过控制外部设备调整在温室到设定温度范围内的温度。4.温度超过设定上限报警。当温室内的环境温度超过允许范围时,该系统设备可以发出警报,并且可以导出一个报警信号。用户可以根据自己的情况连接各种报警装置。(二)控制系统整体结构 本
8、设计温度控制系统由硬件电路模块和单片机软件模块组成。本温度控制系统由电源、单片机、传感器、键盘输入、晶体管显示、报警、复位、继电器控制、晶振共八个部分组成硬件电路模块,系统框图如图2.1所示。图2.1(三)硬件设备的选择 1.控制芯片的选择选择一:选用STC89C51单片机作为主控模块芯片。STC89C51具有8k在线编程一种非易失性( Non-Volatile )内存,是一款低功耗、高性能的八位Complementary Metal Oxide Semiconductor微型处理器。STC89C51单片机的芯片内核使用的是英特尔公司MCS-51系列内核,使其指令完全兼容英特尔公司生产的MCS
9、-51系列单片机,该单片机具有很多英特尔公司MCS-51系列单片机不具备的功能。该单片机还集成了4K的带电可擦可编程只读存储器,可以通过下载软件直接把程序导入单片机只读程序存储器,在系统无法保持不掉电运行时就不需要在外接存储器芯片进行存储。STC89C51单片机在大学的课程中接触和使用较多并且具有的开发简单、可在线编程下载、成本低等优点,如其余方案没有太大的优点优先选择此主控芯片。选择二:采用PIC16F877A单片机作为主控芯片。该单片机具一种电流关掉后所存储的数据不会消失的存储器,属于PIC系统8位单片机微机,可反复擦写程序。是由美国微芯科技公司所生产开发的新产品。但是PIC16F877A
10、单片机相对STC89C51单片机开发成本高,难度较大。选择三:采用MSP430单片机作为主控芯片。将多个不同功能的微处理器、数字电路逻辑系统和模拟电路系统集成成系统封装成单个电气元件这就是MSP430单片机,该系列单片微控制器是全球最大的数字信号处理与模拟技术半导体供应商之一的德州仪器公司一九九六年开始推向市场的一种十六位超低功耗、具有采用多级指令流水线结构的混合信号处理器。该系列单片微控制器多应用于特殊环境下无法接入市电便携式仪器仪表中。MSP430相对51单片机价格昂贵、开发难度较大。所以在本次设计中不宜采用。考虑到资源的利用,节约成本和降低开发的难易程度,最后综合各方案的优缺点,最终选择
11、使用具有英特尔公司MCS-51系列内核的STC89C51单片机作为主控芯片。2.温度传感器的选择温度数据和人们生活密切相关,大多数人不能直接感知天气或湿度的变化只能间接感知,但温度从每天的开始就在时刻感知它的变化,影响人民生活的方方面面。在蔬菜大棚种植过程中,温度更是一个影响蔬菜生长发育的关键性数据。在各种传感器中,温度传感器是应用最广泛的一种。市面上有多种多样的温度传感器和各种不同的测量方法,温度传感器综合方案有以下几种:选择一:使用热敏电阻作为传感器众所周知温度的变化会造成电阻的变化,顾名思义热敏电阻是对温度敏感的电阻,正常电阻会极力的减小温度对阻值的影响,但热敏电阻却反其道而行,利用热敏
12、电阻阻值随温度变化而显著变化的特性,采集这两个电阻变化的分压值,并进行模拟信号转数字信号转换。此设计方案需用模拟信号转数字信号电路,增加硬件成本。热敏电阻的阻值和温度变化曲线特殊转换函数复杂,而且模拟信号在传输过程中会失真经过数模转换后的数值会产生不小测量误差。选择二:使用模拟温度传感器AD590模拟温度传感器AD590需要设计复杂的模拟电路使电流变化转换成电压的变化,然后通过模拟信号转换数字信号电路转换后接到单片机中,因为该元件输出电流会随温度的变化而变化。这种方法焊接电路,而且费不低,还容易在线路传输、电流电压转换、模拟信号转换这些地方产生误差。选择三:采用数字式温度传感器DS18B20该
13、传感器为数字式传感器可以使用单独的数据线和单片机进行串口通讯导入环境温度数据,电路上与单片机连接单线连接,不需要模拟信号转换数字信号电路,成本低廉,可以显著的简化系统电路,只需要在软件上多加注意串口通讯程序的细节。数字式温度传感器还具有测量精度高、体积小封装多样化等优点。综合各方案的优缺点选用DS18B20作为温度采集芯片。3.显示器件的选择选择一:采用LCD1602液晶显示屏。该显示元件不仅可以使用并行数据传输,在控制元件引脚不足时串行数据传输也可以使用,软件编程简单,只要掌握采用HD44780液晶的软件编程设计就可以熟练编写程序控制该液晶显示屏。液晶显示功能强大,可以同时显示出两行各十六个
14、字符即三十二个字符,其中每一个字符都是由57的点阵组成,可包括数字、字母、符号、并且可以根据特殊需要自定义字符。选择二:采用LCD12864液晶显示屏。带中文字库该显示模块最具特色的功能,内置八千一百九十二个16*16点汉字库,和一百二十八个分辨率16*8点ASCII字符库。利用LCD12864液晶显示屏各类接口方式和指令简单,操作方便,它可以形成一个完整的中文计算机交互式图形界面。可以显示两行共三十二个分辨率十六乘十六点阵的汉字。不仅低电压低功耗,还可以通过程序的编译进而实现图形显示。LCD12864液晶显示屏各类功能强大,但所显示内容过大,导致在显示空间的浪费,并且该液晶的成本高昂。选择三
15、:采用LED数码管动态扫描显示。该显示如果采用静态扫描法与单片微控制器连接时占用单片微控制器的引脚口较多,当需求超过一定数量会时造成引脚不够,并且在较多的元件连接时单片机的引脚输出功率不足,需要额外设计一个三极管放大电路通过该驱动电路放大电流后控制该显示元件,会增大额外的焊接风险,还有就是采用数码管进行显示的话,由于数码管引脚较多,显示的内容多了后会增加元件的使用数量和成本,并且对于电路进行焊接容易造成虚焊概率增加,焊接错误概率增大。但是LED数码管的价格便宜,不仅仅可以显示数字,还可以进行简单的字母的显示,最主要的是熟悉该元件的焊接和编程设计。因为在大学的课程中接触和使用较多,如其余方案没有
16、太大的优点优先选择此元件。结合本次设计中的实际情况发现设计中的只需要数字和简单字母,因此择数码管进行显示最具有实际意义。(四)系统工作原理温度传感器DS18B20的作用是采集蔬菜大棚内的环境温度,并进行转换为数字信号通过串口通讯导入单片机内部。数字信号通过过单线接口送入数字温度传感器元件或从数字温度传感器元件送出,该测温元件传感器和数字转换电路都集成封装在一起使其成为单个电器元件,每个数字温度传感器生产封装时都已给定了独一无二的六十四位序列号,并且该数字温度传感器只有一个数字信号输入输出口,因此,单片机只需一条信号导线就能与数字温度传感器进行通信,这样就节省了数模转换需要的电子元器件和大量导线
17、。实时温度数据通过串口通讯以单线数字方式传输,使得温控系统极大的减小了信号失真发生的概率,适合于大部分环境和地区的温度测量。因为该温度计使用单个信号导线利用串口通讯形式传输环境温度数据,故不需要模拟信号转换数字信号转换器。系统主要技术指标如下表所示温度控制范围050 温度测量精度0.5 显示分辨率0.1 工作电压3v5.5v三、温度控制系统电路设计(一)控制模块电路1.单片机芯片的内部逻辑一个芯片的微型计算机的内部结构可以被划分为四个部分:处理器CPU,存储器,并行输入和输出接口,定时和切断系统,如图3.1所示。图3.12.单片机引脚功能STC89C51引脚如图2.2所示图3.2电源引脚2个外
18、接晶体引脚2个并行I/O引脚32(4个8位口)控制引脚4个3.单片机最小系统单片机最小系统也可以从字面上进行理解就是用最少的电子元器件和电路使其运行的系统。单片机不比得普通的数字电路逻辑芯片,它通电后并不能直接使用还需要而外的两个外部模块来实现单片机的正常运行。(1) 晶振电路单片机有两个独特的引脚分别是XTAL1和XTAL2,它们可以配置内部振荡电路或者由外部时钟驱动,因为它们是输入和输出反相放大器。图2.3中采用的是内内部振荡电路,在两个引脚上外接特定频率的石英晶体和两个特定大小的电容就可以生成自激振荡。石英晶体频率可以在一点二到十二兆赫兹范围内选择,在本设计中用的十二兆赫兹的石英晶振。电
19、容可以在二十到四十皮法范围内选择通常选取三十皮法瓷电容就可以了。图3.3(2)复位电路上电复位芯片通电后,使用R和C充电自动完成重新上电。当使用频率为六兆赫兹晶体振荡器,复位在图2.4所示电路。图3.4上电复位兼手动复位不仅可以使用上述方式完成芯片复位,而且还使用该按钮来控制芯片复位,从而给与单芯片微计算机的复位引脚超过两个芯片机器周期的高电平来完成手动复位功能。复位电路如图2.5所示。图3.5完整的STC89C51单片机最小系统电路图如图2.6所示。图3.6(二)控制模块输入电路1. DS18B20温度传感器设计 (1)温度传感器DS18B20概述该数字温度传感器相比传统的热敏电阻测温极大的
20、简化了电路方便实际运用中的铺设,并且可根据实际要求通过单片机软件编程改变R1和R0来设置传感器分辨率用户以实际需要可以设置九到十二位分辨率设置(下表为各分辨率温度最大转换时间表2.6)。表3.7R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms(2)DS18B20的性能特点只需要单个引脚来传输环境温度数据与单片机双向通讯;多个该温度传感器可以连接到单片机单个通信引脚上,进而实现多点测控;不需要模拟信号转换数字信号转换器等外部器件;对电源属性要求不到,电压大于三伏小于五点五伏;待机功耗极低,静态电流小于三微安;温度以九到十二位二进
21、制数字表示;在软件中可以定义报警设置;具有负压特性电源反接不容易烧坏;测量最低为负五十五摄氏度最高为一百二十五摄氏度;在负十摄氏度到八十五摄氏度区间内误差为零点五摄氏度(3)DS18B20引脚温度传感器DS18B20采用三引脚或八引脚小外形集成电路封装如图2.8所示。图3.8各引脚说明:GND接地I/O输入输出VDD外部电源NC空引脚(4)DS18D20内部结构该传感器由六十四位只读存储器、非挥发的温度报警触发器TH和TL、温度传感器、配置寄存器着这几部分组成。该温度传感器内部结构如图2.9所示。只读存储器中的六十四位序列号在元件生产封装的过程中刻录到内部,由于只读存储器一旦数据就无法再将之改
22、变,它和人的身份证号差不多每个人的身份证号码各不相同,每个温度传感器的六十四位序列号也不相同。只读存储器的作用是使所有的数字传感器都各不相同,这样就可以实现单个单片机引脚上并联多个该温度传感器的目的。 图3.9(5)温度传感器DS18B20基本原理根据该温度传感器的通讯协议,主控模块控制该传感器完成环境数据读取之前需要经过下列步骤:首先在任何一次获取测控数据之前将数据线电平变为低电平一定时间然后恢复使其复位,然后收到低频电流 复位成功信号后发送一条ROM指令,最后发送RAM指令,在这之后才能对该传感器进行操作。复位要求主控模块将数据线高电平转换为低电平五百微秒然结束后恢复,当传感器收到控制模块
23、的反馈后等待十六到七十微秒,后发出五十到二百四十微秒的低频电流,主控模块收到其发送的低频电流以后就可以知道复位成功。下面表2.10为ROM指令表,表2.11位RAM指令表。表3.10 DS18B20 ROM指令表指令约定代码功能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索ROM0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过ROM0CCH忽
24、略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。表3.11 DS18B20 RAM指令表指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3、4字节的内容复制到EEPROM中。重调 EEPROM0B8H将EEPROM中内容恢复
25、到RAM中的第2、3字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1820发送“0”,外接电源供电 DS1820发送“1”。DS18B20单总线控制时序图如图3.12所示。图3.12当传感器完成复位与主控模块成功通讯后接收到的温度转换指令后启动转换。操作完成后单片微控制器通过串行通讯可以读取此环境温度数据,环境数据值以补码的十六位二进制数据保存在Cache的第一第二字节,读取温度二进制数据时从低位到高位的顺序读取,数据格式以零点零六二五摄氏度每最低有效位形式表示。当符号位(二进制数值前五位)数值为零时,代表测得环境温度数值大于等于零直接通过进制转换函数将所得的温度数据通过进制
26、转换函数转换为十进制;当符号位数值为一时,代表测得环境温度数值小于零需要先将补码通过补码转换将变成原码,接下来才能将二进制转换为十进制。表3.5是一部分温度值对应的温度数据代码。温度值二进制输出十六进制输出+1250000 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000FFF
27、8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FF6Fh-551111 1100 1001 0000FC90h表3.13 DS18B20输出的温度值 图3.14在使用时候在数字温度传感器的VCC和I/O引脚之间接一个上拉电阻。具体的电路图如图3.14所示。(6)DS18B20使用中的注意事项 由于DS18B20传感器对比起模拟电路传感器省略了很多硬件,相辅相成硬件的减少就需要相对复杂的软件。如果无法获得检测温度数据可能是单片机对进行温度传感器进行串口通信编程时没有严格的保证时序。 在相关资料中有提到过多个BS18B20温
28、度传感器相连的设计,容易让人误以为DS18B20可以无限量连接,但当连接数量大于八个时就需要处理单片机总线驱动。本次设计只用单个温度传感器完美解决此问题。 在信号传送电缆长度大于一定程度时需要按照实际需求使用不同屏蔽等级的电缆。主要是由电缆达到一定长度后会在线上形成布电容使信号产生识别错误造成的。 在温度传感器测温的控制程序中,单片机向温度传感器进行串行通讯时,当信号发出后需要等待温度传感器的返回信号,一旦温度传感器或者传输线路损坏可能仅仅是虚焊,当单片微控制器与温度传感器进行通讯时,如果出现线路问题或者传感器损坏等原因造成没有返回信号的情况控制系统程序将进入死循环。这一点在进行硬件连接和软件
29、设计时需要进行额外的设计减少这种情况的发生。2. 外部控制电路的设计本设计中设置有按键电路,通过几个独立按键来实现所控制的环境温度参数范围的调节。按键通过一点连接单片机的输入输出端口一端连接电源地。由于单片机的输入输出端口在开路没有进行输出的情况下是默认高电平的,在按键没有按下则相当于输入输出端口处于开路状态。例如按下设置键后P1.0口会获得低电平,进而主控模块进行不间断的检测P1.0口的电平是否有被拉低,如果拉低可以确认设置键被按下。需要注意的是这种按键实际波形不是理想状态,由于按键的设计和手速问题在电平转换的边缘会出现抖动纹波的情况,进而需要在程序读取按键数据时加上一定时间的延时消抖。具体
30、电路如图3.15所示。图3.15 独立按键电路设置键、加值键、返回键功能:设置按键:首次按下后设置所控制环境温度上限值,数码管显示H+温度数据;第二次按下后设置温度下限值,数码管显示L+温度数据;第三次按下后退出设置显示环境温度。加值按键:按下一或两次设置键后每按一次对应上下限值加一键值按键:按下一或两次设置键后每按一次对应上下限值减一(三)输出控制控温设备电路 1.蜂鸣器电路的设计本设计蜂鸣器采用五伏有源蜂鸣器,由于单片机输入输出端口功率小于蜂鸣器运行功率,导致只靠单片机的引脚无法使蜂鸣器正常工作,要使用三极管电路放大电流来驱动该元件。本处选用的是S8550三极管,它是一个PNP型的三极管。
31、基极串联一个一千欧姆的电阻连接到单片微控制器输入输出端口时。控制模块引脚拉低导线电平时三极管基极接收后导通电路接通,蜂鸣器开始运行;当控制模块引脚拉高导线电平时三极管基极接收后截止电路断路,蜂鸣器停止运行。蜂鸣器电路如下3.16所示。图3.16蜂鸣器电路2. 继电器驱动电路设计 继电器是一个由电控制的元器件,通电时通过电生磁原理吸合触点继电器导通,经常使用在小电流控制大功率电器的电路中。简单的说,继电器就是一个通过输入的小电流来控制大电流的输出的一个“自动开关”。因此在电路中继电器起着自动调节电路、转换电路、保护电路等作用。当温度到达最低下限后,单片机控制继电器导通,启动热风机等外接升温设备提
32、升大棚内环境温度。如果使用单片微控制器引脚控制继电器,因为输入输出端口输出电流在四到二十毫安之间,而继电器工作吸合电流大约在四十毫安,所以通过单片微控制器引脚的输出电流直接控制继电器不现实电路中要添加一个电流放大电路来间接控制。三极管的选择应该符合:功率PCM大于5V*继电器电流的两倍最大集电极电流(ICM)大于继电器吸合电流40mA的两倍以上耐压BV(CEO)大于继电器电压5V,可选10V以上直流放大倍数取100图3.17 继电器驱动电路发现上文蜂鸣器所用三级管正好可以满足需求,为了方便采购和电路焊接选用同种元件很有必要。驱动电路图如图3.17所示。(四)系统硬件测试在焊接电路的时候不同人、
33、和细胞之间,存在着很多的可变因素,各类原因加起来造成错误的概率不可能为零。系统硬件电路的测试就是为了找出发生的错误并且把错误改正。本次设计使用的微动开关具有四个引脚,由于开关是方形的各引脚不容易区分焊接同侧引脚极其容易犯错,为了规避焊接风险采用对角引脚进行焊接。将焊接好无法运行的实物电路板对照着电路设计图的线路逐个检查每一个元件是否安装焊接正确,逐条对照每一条导线是否连接。发现漏装元件导线和连接错误等情况需及时的重新对照PCB图确定漏焊时及时的补焊。对于方向焊接错误和虚焊这些情况采用数字万用表二极管档位,然后通过万用表导通鸣叫特性就可以用来检测电路的大部分错误。在需要检测的方向性元器件或焊点的
34、两端用两根表笔检测,通过万用表的蜂鸣器提示就可以判断二极管或三级管等方向性元件的引脚接线否正确或者是否虚焊。将得到的信息和电路图进行对比,在结合实际检测的现象进而判断电路是否正确。四、 系统软件部分设计(一) 主函数主函数是一个完整的单片机程序或者C语言程序必须要包含该函数。将单片微控制器中需要用到的符号变量进行定义声明,比如程序语句sbit led = P26 就是对P2.6进行定义声明在接下来的编写中就可以直接使用led不需要再进行定义。在主程序的设计中需要注意的是主函数中除了基础的逻辑代码外,其余延时、数据读取等代码一般都是采用函数进行模块化设计然后在主函数需要用到此数值时调用,这样可以
35、更清晰的了解主函数逻辑和减少了后续调试程序的工作量。具体流程图4.1如下所示。图4.1 主函数流程图(二) 数码管显示函数的设计此系统使用S8550三极管驱动的显示模块采用共阳数码管动态显示。在数码管控制程序采用动态显示的方式,该显示方式指的是通过程序控制在短时间内切换控制不同的数码管,每个数码管显示不同的的信息。这样利用人眼的无法察觉在24hz以上的刷新频率看起来就是全部一起显示出来的一样。数码管显示的频率不能过高也不能过低,过低容易使频率低于人眼识别下限,使用着能明显感觉到闪烁影响观察和调节,过高会低于数码管最短反应时间造成无法准确显示或者亮度过低。如果不使用动态显示使用一个个数码管单独显
36、示的话,只单个数码管就要占用八位端口造成单片机引脚极大浪费。显示函数流程图如4.2所示。 (三) DS18B20温度采集函数的设计首先在主函数前先对DS18B20进行初始化,初始化是为了设置传感器的寄存器让温度传感器DS18B20输出的二进制数据精度为12位。初始化完成后才可以运用单片机串行通讯对DS18B20进行操作读取温度。通电后先对温度传感器DS18B20进行复位如果在单片机通讯串口上只有一个温度传感器没有连接多个DS18B20的话可以跳过读传感器的六十四位系列号直接启动温度转换,由于本次设计中只运用了单个DS18B20传感器接下来只需要再进行一次复位再次跳过传感器六十四位系列号的匹配,
37、单片机通过串行通讯发送读取温度指令,然后通过串行通讯读取温度寄存器。读取完后将得到的二进制数据进行转换成实际温度数值即可。具体流程图如图4.3所示。图4.3 (四) 系统单片机程序调试调试所需的工具:KEIL软件、单片机硬件、单片机程序下载器等。单片机控制程序KEIL软件进行编写,KEIL软件可以将将编写好的程序生成HEX文件。通过程序下载器将单片微控制器程序设计软件软件生成的后缀为.HEX文件下载到芯片中。使用热水和冰水或者其他的方法改变温度确认系统在温度达到上下限时功能能否实现,然后进行对出现的问题进行调试,最终得到一个完整的系统程序。五、结论本论文通过对当前温室环境现状分析,根据大棚内作
38、物生长的需要,以STC89C51单片机单片机作为控制核心,以DS18B20数字温度传感器作为测温元件,实现了对温室环境因素中最重要的因素温度的自动控制。用户可以根据实际需要,及时修改环境控制参数,最终实现控制蔬菜大棚温度的目的。用户可以采集棚内测控点的环境参数值,及时了解温室内环境情况。在以往的学习中没有接触过DS18B20,只能通过查阅芯片资料去学习使用它。在前几次编写温控驱动程序时读取出来的温度数值总是出现问题,于是只能网上看别人是怎么处理的最终发现是传感器在开机后一段时间内会输出一个固定数值造成显示错误,最后使用一条语句进行规避。本蔬菜大棚温度控制虽然可以控制大棚内的环境温度给作物提供了
39、一个舒适的环境生长,但由于条件的限制不能实现对温室内多因子的控制,许多方面还需要改进。参考文献1 石海锋 丁书亚 马梦彤. 基于51单片机水温控制系统J. 电子世界, 2018(15):1-1.2何晓晖 梁贵萍 何裕源. 基于单片机的供暖系统的设计与分析J. 贵阳学院学报(自然科学版), 2013(02):33-36.3杨茜 李书领. 基于SPCE061A单片机的红外测温仪设计J. 河南科技, 2014(09):164-165.4王慧. 基于AT89S51的蔬菜大棚温控系统设计J. 农业科技与装备, 2011(08):31-33.5张发海. 基于单片机STC89C52的LED数码管温度显示及报
40、警器的实现J. 科技信息, 2009(35):97-98.6应锟. 基于单片机的电子万年历设计J. 中国科技博览, 2011(15):1-1.7李娣娜 马惠铖 王海军. 一种智能窗帘控制系统的设计J. 电子制作, 2018(17):3-3.8赵浪涛 赵永花. DS18B20芯片在温度测量系统中的应用J. 兰州工业高等专科学校学报, 2009(04):6-9.9冯伟. 基于51单片机的时间温度显示系统J. 现代显示, 2008(12):53-57.10易丽华 黄俊. 基于AT89C51单片机与DS18B20的温度测量系统J. 电子与封装, 2009(05):43-47.谢 辞本论文的顺利完成,离
41、不开各位老师、同学和朋友的关心和帮助。在此,表示深深的感谢。没有他们的帮助和支持,我是没有办法完成我的毕业论文的。首先诚挚的感谢我的论文指导老师齐连众老师。他在忙碌的教学工作中挤出时间来审查、修改我的论文。还有教过我的所有老师们,你们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循循善诱的教导和不拘一格的思路给予我无尽的启迪。感谢所有慷慨提供文献的编写者,感谢那些在个人博客中开放源程序的单片机爱好者。感谢我的同学和朋友们,在学习期间和课题研究期间正是有你们的关怀和帮助,才使我增添了无尽的动力,让我满怀信心完成这篇毕业之作。附录一:总原理图附录二:系统程序#include#inclu
42、de #include#include#define uchar unsigned char /宏定义#define uint unsigned int/*灯、蜂鸣器、按键引脚定义*/sbit led_shang = P32; /红色LED灯sbit led_xia = P33; /绿色LED灯sbit relay = P37; /继电器sbit buzz = P24; /蜂鸣器sbit key_set = P10; /设置键sbit key_jia = P13; /加值键sbit key_jian = P16; /减值键/*全局变量定义*/uchar Temperature_up,Tempe
43、rature_down;/存储温度上、下限值uchar set_f; /设置选择标记,=0非设置,=1设置上限,=2设置下限。/*毫秒延时函数*/void delayms(uint ms)unsigned char i=100,j;for(;ms;ms-)while(-i)j=10;while(-j);/*函数名称:void scan(void)函数作用:按键检测处理函数*/void scan(void)/设置键,不支持连按if(key_set=0) /按键按下delayms(7); /延时消抖if(key_set=0)/再次确认按下按键led_shang=1;/关闭上限报警灯led_xia=1;/关闭下限报警灯buzz=1; /关闭蜂鸣器relay=1;/关闭继电器set_f+;/设置变量+1if(set_f=3)/如果设置完成,退