• 沒有找到結果。

智能农业技术及应用 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "智能农业技术及应用 - 万水书苑-出版资源网"

Copied!
28
0
0

加載中.... (立即查看全文)

全文

(1)

项目二

农作物生长环境控制

项目目标

通过本项目的学习,达到以下目标:  1.了解农作物生长环境控制方法  2.掌握农作物生长环境自动控制部件的选购  3.掌握农作物生长环境自动控制系统的设计、组装与调试

任务 1 了解农作物生长环境控制方法

[任务目标]  1.学习“预备知识”所述内容  2.了解农作物生长环境的控制方法 [任务分析] 本任务的关键点:  1.农作物的生长环境控制方法  2.农作物生长环境控制系统的设计技术 [预备知识]  1.1 农作物生长环境控制 对农作物生长环境的控制就是采用一些手段改变农作物生长环境、 为农作物生长的环境创造最 佳条件、减少外界四季变化和恶劣气候对其影响。通过对农作物生长环境的控制,可在冬季或其他 不适宜露地农作物生长的季节栽培相关农作物; 通过对农作物生长环境的控制, 可以达到调节产期, 促进生长发育,防治病虫害及提高质量、产量等。而温室设施的关键技术是环境控制,该技术的最 终目标是提高控制与作业精度。从国内外温室控制技术的发展状况来看,农作物环境控制技术大致 经历三个发展阶段。 (1)手动控制。 这是在温室技术发展初期所采取的控制手段,其实并没有真正意义上的控制系统及执行机构。

项目二

(2)

生产一线的种植者既是温室环境的传感器, 又是对温室作物进行管理的执行机构,他们是温室环境 控制的核心。通过对温室内外的气候状况和对作物生长状况的观测,凭借长期积累的经验和直觉推 测及判断,手动调节温室内环境。种植者采用手动控制方式,对于作物生长状况的反应是最直接、 最迅速且是最有效的,它符合传统农业的生产规律。但这种控制方式的劳动生产率较低,不适合工 厂化农业生产的需要,而且对种植者的素质要求较高。 (2)自动控制。 这种控制系统需要种植者输入温室作物生长所需环境的目标参数, 计算机根据传感器的实际测 量值与事先设定的目标值进行比较,以决定温室环境因子的控制过程,控制相应机构进行加热、降 温和通风等动作。计算机自动控制的温室控制技术实现了生产自动化,适合规模化生产,劳动生产 率得到提高。通过改变温室环境设定目标值,可以自动地进行温室内环境气候调节,但是这种控制 方式对作物生长状况的改变难以及时做出反应,难以介入作物生长的内在规律。目前我国绝大部分 自主开发的大型现代化温室及引进的国外设备都属于这种控制方式。 (3)智能化控制。 这是在温室自动控制技术和生产实践的基础上,通过总结、收集农业领域知识、技术和各种试 验数据构建专家系统, 以建立植物生长的数学模型为理论依据, 研究开发出的一种适合不同作物生 长的温室专家控制系统技术。温室控制技术沿着手动、自动、智能化控制的发展进程,向着越来越 先进、功能越来越完备的方向发展。由此可见,温室环境控制朝着基于作物生长模型、温室综合环 境因子分析模型和农业专家系统的温室信息自动采集及智能控制趋势发展。  1.2 以单片机作为控制器的温室大棚自动控制系统设计 温室的作用是用来改变农作物的生长环境 ,避免外界四季变化和恶劣气候对农作物生长的不 利影响,为农作物生长创造适宜的良好条件。温室一般以采光和覆盖材料作为主要结构材料,它可 以在冬季或其他不适宜植物露地生长的季节栽培作物, 从而达到对农作物调节产期、 促进生长发育、 防治病虫害及提高产量的目的。温室环境指的是作物在地面上的生长空间,它是由光照、温度、湿 度、二氧化碳浓度等因素构成的。温室控制主要是控制温室内的温度、湿度、通风与光照。 以单片机作为控制器的温室大棚自动控制系统设计是通过传感器采集温度、 湿度、 二氧化碳浓 度以及光照强度,经过含有单片机的检测系统的进一步分析处理, 通过通信线路将信息上行到 PC  机,在 PC 机上可对温度、湿度、光照强度、二氧化碳浓度的信号进行任何分析、处理。用户可以 通过下位机中的键盘输入温度、湿度、光照强度、二氧化碳浓度的上下限值,也可通过上位机进行 输入, 从而实现上位机对大棚内作物生长的温室环境参数控制。 如果环境的实时参数超越上下限值, 系统自动启动执行机构调节大棚内温度、湿度、光照强度、二氧化碳浓度状态,直到环境参数状态 处于上下限值内为止。 通过上位机软件可直接设置温度的上下限值和读取下位机的数据,并对下位 机内的控制设备进行操作,从而调节大棚内环境参数状态。 以单片机作为核心控制器的温室大棚,单片机是整个控制系统中的核心部件。整个温室大棚的 自动控制都是由单片机来接受和发出相关的控制信号。 当温室大棚内的环境参数发生变化时,传感 器就会检测到这些变化的参数。传感器把这些变化了的参数输送到单片机,单片机接收到这些信号 以后就会和储存在单片机内的设定值进行比较,通过比较后单片机就会发出相应的控制信号,让这 些控制信号去控制执行机构,使温室大棚内的环境参数适合植物生长的最佳环境参数。 由于温室大棚一般检测的环境参数主要温度、湿度、光照强度、二氧化碳浓度等参数,基于功 能及成本等因素考虑,以单片机作为核心控制器的温室大棚自动控制系统作为我们研究的对象。

(3)

[任务实施] (1)到企业、农场、实训场等场所进行参观,了解目前企业、农场、实训场对农作物生长环 境的控制方法。 (2)学习预备知识的相关内容及利用网络资源了解目前在农作物生长环境上使用的控制方法 有哪些,并分析它们的优点。 (3)通过对上面的两个步骤实施后,参考下文分组设计自己的农作物生长环境自动控制系统。  1.3 农作物生长环境控制系统 如图 2.1 所示为农作物生长环境控制系统的参考框图。 图 2.1  自动控制系统参考图 以温度控制为例说明系统设计运行原理: 温度控制的目的就是将温室大棚内的空气温度控制在植物生长所需要的最佳范围之内。 温室大 棚内的温度超过植物生长的最佳温度范围时, 温度传感器把检测到的温度信号传送到温室大棚自动 控制系统,由单片机进行和设定值作比较,然后再由单片机发出相信的信号去控制相应的设备。 当温度高于设定的温度上限值时, 温度传感器检测温度采集温度信号,再由传感网络把采集来 的温度信号传送到单片机,让单片机发出降低温室内的温度的信号,降低温度的信号就会去控制降 温设备,启动降温设备,使得温室内的温度下降到设定的范围内。 当温室大棚内的温度低于设定的下限值时,同理,温度传感器把检测到的温度信号进行采集后 送到单片机中,然后单片机就会发出升高温室温度的信号,升温信号就会去控制升温设备,启动升 温设备,让温室内的温度升高到设定的范围内。 当温室大棚内的温度在设定的范围内时, 温度传感器把采集的信号送到单片机中, 单片机就会 发出停止温度控制设备运行的信号,让温度控制设备停止。使温度保持在植物生长最佳的范围内。 复位电路 晶振电路 通信模块 控制芯片 报警电路 显示模块 执行机构 监测机构 电磁阀 直流电机 加热丝

(4)

[任务小结] 本任务主要是通过参观考察,查阅资料,了解农作物生长环境控制方法;其基本原理是使用单 片机作为农作物生长环境控制系统的控制核心, 通过传感监测网络传来的实测环境信号与设定的最 佳值对比,驱动执行机构去调整农作物生长环境。根据自动控制原理和相应技术,完成特定农作物 的生长环境控制系统的初步设计工作。 [思考与扩展训练] 学习自动控制的原理及相关知识,考虑自动控制的系统结构、组成元器件,在教师的指导下, 分组设计自己的农作物自动控制系统。

任务 2 农作物生长环境自动控制部件选择

[任务目标]  1.学习“预备知识”所述内容,了解农作物生长环境的控制部件  2.理解相关控制部件的工作原理;掌握相关控制部件的选购 [任务分析] 本任务的关键点:  1.农作物的生长环境的控制部件有哪些  2.农作物的生长环境的控制部件的工作原理  3.农作物的生长环境的控制部件的选购方法 [预备知识]  2.1 控制器  2.1.1 理解什么是单片机

单片微型计算机(Single  Chip  Microcomputer)简称单片机,由于它的结构及功能均按工业控 制要求设计,因此其确切的名称应是单片微控制器(Single  Chip  Micro­controller) 。单片机是把微 型计算机的各个功能部件,即中央处理器(CPU) 、随机存取存储器(RAM) 、只读存储器(ROM) 、  I/O 接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成一个完整的微型计算机,故 它又称为单片微型计算机。  2.1.2  了解单片机的发展史 单片机诞生于 20 世纪 70 年代末,经历了 SCM、MCU、SOC 三大阶段。单片机作为微型计 算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千 个机种。  2.1.2.1 单片机发展历程

(1)SCM 即单片微型计算机(Single  Chip  Microcomputer)阶段,主要是寻求最佳的单片形 态嵌入式系统的最佳体系结构。 “创新模式”获得成功,奠定了  SCM  与通用计算机完全不同的发

(5)

展道路。在开创嵌入式系统独立发展道路上,Intel 公司功不可没。

(2)MCU 即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足 嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉 及的领域都与对象系统相关,因此,发展 MCU 的重任不可避免地落在电气、电子技术厂家。从这 一角度来看,Intel 逐渐淡出 MCU 的发展也有其客观因素。在发展 MCU 方面,最著名的厂家当数  Philips 公司。Philips 公司以其在嵌入式应用方面的巨大优势,将 MCS­51 从微型计算机迅速发展到 微控制器。因此,当我们回顾嵌人式系统发展道路时,不要忘记 Intel 和 Philips 的历史功绩。

(3)SoC 单片机(System On Chip)是嵌入式系统的独立发展之路,向 MCU 阶段发展的重要 因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了 SOC 化趋 势。随着微电子技术、IC 设计、EDA 工具的发展,基于 SoC 的单片机应用系统设计会有较大的发 展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。  2.1.2.2  以 8 位单片机为起点,单片机发展历史大致可分为以下几个阶段: (1)第一阶段(1976~1978)单片机的探索阶段。以 Intel 公司的 MCS­48 为代表。MCS­48  的推出是在工控领域的探索,参与这一探索的公司还有 Motorola、Zilog 等,都取得了满意的效果。 这就是 SCM 的诞生年代, “单机片”一词即由此而来。 (2)第二阶段(1978~1982)单片机的完善阶段。Intel 公司在 MCS­48 基础上推出了完善的、 典型的单片机系列 MCS­51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。 ① 完善的外部总线。MCS­51 设置了经典的 8 位单片机的总线结构,包括 8 位数据总线、16  位地址总线、控制总线及具有多机通信功能的串行通信接口。 ②  CPU 外围功能单元的集中管理模式。 ③ 体现工控特性的位地址空间及位操作方式。 ④ 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。 (3)第三阶段(1982~1990)8 位单片机的巩固发展及 16 位单片机的推出阶段,也是单片机 向微控制器发展的阶段。Intel  公司推出的  MCS­96  系列单片机,将一些用于测控系统的模数转换 器、程序运行监视器、脉宽调制器等纳人片中,体现了单片机的微控制器特征。随着 MCS­51 系列 的广泛应用,许多电气厂商竞相使用 80 C51 为内核,将许多测控系统中使用的电路技术、接口技 术、多通道  A/D  转换部件、可靠性技术等应用到单片机中,增强了外围电路功能,强化了智能控 制的特征。 (4)第四阶段(1990 至今)微控制器的全面发展阶段。随着单片机在各个领域全面深入地发 展和应用,出现了高速、大寻址范围、强运算能力的 8 位/16 位/32 位通用型单片机,以及小型廉 价的专用型单片机。  2.1.3 单片机特点 (1)集成度高、体积小:单片机将  CPU、存储器、I/O  接口等各种功能部件集成在一块晶 体芯片上,体积小,节省空间。能灵活、方便地应用于各种智能化的控制设备和仪器,实现机电 一体化。 (2)可靠性高,抗干扰性强:单片机把各种功能部件集成在一块芯片上,内部采用总线结构, 减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁 场环境易于采取屏蔽措施,适合在恶劣环境下工作。 (3)功耗低:许多单片机的工作电压只有 2~4 伏特,电流几百微安,功耗很低,适用于便携

(6)

式系统。 (4)控制功能强。 其 CPU 可以对 I/O 端口直接进行操作,可以进行位操作、分支转移操作,还能方便地实现多 机控制,使整个系统的控制效率大为提高,适用于专门的控制领域。 (5)可扩展性好:单片机具有灵活方便的外部扩展总线接口,使得当片内资源不够使用时可 以非常方便地进行片外扩展。另外,现在单片机具有越来越丰富的通信接口:如异步串行口 SCI、 同步串行口 SPI、I2C、CAN 总线、甚至有的单片机还集成了 USB 接口或以太网接口,这些丰富的 通信接口使得单片机系统与外部计算机系统的通信变得非常容易。 (6)性价比高:单片机应用广泛,生产批量大,产品供应商的商业竞争使得单片机产品的性 能越来越强而价格低廉,有优异的性能价格比。  2.2 继电器 继电器是一种电子控制器件, 它具有控制系统 (又称输入回路) 和被控制系统 (又称输出回路), 通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关” 。故在 电路中起着自动调节、安全保护、转换电路等作用。如图 2.2 所示为继电器实物图。 图 2.2  继电器  2.2.1 电磁继电器的工作原理和特性 电磁式继电器一般由铁芯、 线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压, 线圈中就会流过一定的电流, 从而产生电磁效应, 衔铁就会在电磁力吸引的作用下克服返回弹簧的 拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也 随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸 合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触 点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点” ;处于接通 状态的静触点称为“常闭触点” 。  2.3 电磁阀 电磁阀是用来控制流体的方向的自动化基础元件,属于执行器;通常用于机械控制和工业阀门 上面,对介质方向进行控制,从而起到对阀门开关的控制。  2.3.1 工作原理 电磁阀是由电磁线圈和磁芯组成,包含一个或几个孔的阀体。当线圈通电或断电时,磁芯的运 转将导致流体通过阀体或被切断,以达到改变流体方向或流动的目的。 电磁阀的电磁部件由固定铁 芯、动铁芯、线圈等部件组成;阀体部分由滑阀芯、滑阀套、弹簧底座等组成。电磁线圈被直接安 装在阀体上,阀体被封闭在密封管中,构成一个简洁、紧凑的组合体。如图 2.3 所示为电磁阀工作 示意图。

(7)

图 2.3  电磁阀工作示意图  2.3.2 电磁阀分类 电磁阀从原理上分为三大类: (1)直动式电磁阀。 通电时,电磁线圈产生电磁力把关闭件从阀座上提起,阀门打开;断电时,电磁力消失,弹簧 把关闭件压在阀座上,阀门关闭。 (2)分步直动式电磁阀。 一种直动和先导式相结合的原理,当入口与出口没有压差时,通电后,电磁力直接把先导小阀 和主阀关闭件依次向上提起,阀门打开。 当入口与出口达到启动压差时,通电后,电磁力先导小阀, 主阀下腔压力上升,上腔压力下降,从而利用压差把主阀向上推开;断电时,先导阀利用弹簧力或 介质压力推动关闭件,向下移动,使阀门关闭。 (3)先导式电磁阀。 通电时,电磁力把先导孔打开,上腔室压力迅速下降,在关闭件周围形成上低下高的压差,流 体压力推动关闭件向上移动,阀门打开;断电时,弹簧力把先导孔关闭,入口压力通过旁通孔迅速 腔室在关阀件周围形成下低上高的压差,流体压力推动关闭件向 下移动,关闭阀门。 如图 2.4 所示为电磁阀实物图。  2.4 直流电机 直流电机(Direct Current Machine)是指能将直流电能转换成 机械能(直流电动机)或将机械能转换成直流电能(直流发电机) 的旋转电机。它是能实现直流电能和机械能互相转换的电机。当 它作电动机运行时是直流电动机,将电能转换为机械能;作发电 机运行时是直流发电机,将机械能转换为电能。  2.4.1 直流电机结构 直流电机由定子和转子两部分组成。在定子上装有磁极 (电磁式直流电机磁极由绕在定子上的 图 2.4  电磁阀

(8)

磁绕提供),其转子由硅钢片叠压而成,转子外圆有槽,槽内嵌有电枢绕组,绕组通过换向器和电 刷引出,直流电机结构如图 2.5 所示。 图 2.5  直流电机结构图  2.4.2 直流电机控制方法 直流电动机转速的控制方法可分为两类:励磁控制法与电枢电压控制法。 励磁控制法控制磁通,其控制功率虽然小但低速时受到磁场饱和的限制;高速时受到换向火花 和转向器结构强度的限制,而且由于励磁线圈电感较大动态响应较差。 所以常用的控制方法是改变 电枢端电压调速的电枢电压控制法。 传统的改变端电压的方法是通过调节电阻来实现的,但这种调 压方法效率低。 随着电力电子技术的发展, 创造了许多新的电枢电压控制方法。 其中脉宽调制 (Pulse  Width Modulation,PWM)是常用的一种调速方法。其基本原理是用改变电机电枢电压的接通和断 开的时间比,即占空比来控制马达的速度。在脉宽调速系统中当电机通电时其速度增加,电机断电 时其速度降低。只要按照一定的规律改变通断电的时间,就可使电机的速度保持在一稳定值上。 如图 2.6 所示为直流电机实物图。 图 2.6  直流电机  2.5 三相交流异步电动机

三相异步电机(Triple­phase  asynchronous  motor)是靠同时接入 380V 三相交流电源(相位差  120 度)供电的一类电动机,由于三相异步电机的转子与定子旋转磁场以相同的方向、不同的转速 成旋转,存在转差率,所以叫三相异步电机。  2.5.1 工作原理 三相异步电机是感应电机, 定子通入电流以后, 部分磁通穿过短路环, 并在其中产生感应电流。 短路环中的电流阻碍磁通的变化,致使有短路环部分和没有短路环部分产生的磁通有了相位差,从 而形成旋转磁场。通电启动后,转子绕组因与磁场间存在着相对运动而感生电动势和电流,即旋转 线圈 磁极 旋转方向 线圈中电流流动方向 换相器

(9)

磁场与转子存在相对转速,并与磁场相互作用产生电磁转矩,使转子转起来,实现能量变换。 如图 2.7 所示为三相交流电动机的实物图。 图 2.7  三相交流电动机 [任务实施] 自动控制部件的选择,应该根据农作物自动控制系统的设计目标来选择系统的相关构成部件; 可以先通过网络资源或到市场调研,再根据元器件的参数、价格、工艺等指标进行综合考虑。  2.6 控制芯片选型 由于单片机种类繁多, 各种型号都有其一定的应用环境, 因此在选用时要多加比较, 合理选择, 以期获得最佳的性价比。如何选择单片机,首先也是最重要的一点就是考虑功能要求,即设计的对 象是什么,要完成什么样的任务,再根据设计任务的复杂程度来决定选择什么样的单片机。在选型 时可从下面不同角度进行考虑。  2.6.1 存储器 单片机的存储器可分为程序存储器(ROM)和数据存储器(RAM)。程序存储器是专门用来 存放程序和常数的,有 MASK(掩模)ROM、OTPROM、EPROM、FlashROM 等类型。  2.6.2 I/O(输入/输出)口  I/O 口的数量和功能是选用单片机时首先要考虑的问题之一,要根据实际需要确定 I/O 口的数 量,I/O 口多余了不仅芯片的体积增大,也增加了成本。选用时还要考虑 I/O 口的驱动能力,驱动 电流大的单片机可以简化外围电路。51  等系列的单片机下拉(输出低电平)时驱动电流大,但上 拉(输出高电平)时驱动电流很小。而 PIC 和 AVR 系列的单片机每个 I/O 口都可以设置方向,当 输出口使用时以推挽驱动的方式输出高、低电平,驱动能力强,也使得 I/O 口资源灵活、功能强大、 可充分利用。当然我们也可以根据 I/O 口的功能来设计外围电路,例如用 51 单片机驱动数码管, 我们选用共阳的数码管就能发挥其输出口下拉驱动电流大的特点。  2.6.3 定时/计数器 大部分单片机提供 2~3 个定时/计数器还具有输入捕获、输出比较和 PWM(脉冲宽度调制) 功能,如 AVR 单片机。有的单片机还有专门的 PCA(可编程计数器阵列)模块和 CCP(输入捕获  /输出比较/PWM)模块,如 PIC 和 Philips 的部分中高档单片机。利用这些模块不仅可以简化软件 设计,而且能少占用  CPU  的资源。现在还有不少单片机提供了看门狗定时器(WDT),当单片机 “死机”后可以复位。选用时可根据自己的需要和编程要求进行选择,不要片面追求功能多,用不 上的功能就等于金钱的浪费。  2.6.4 串行接口 单片机常见的串行接口有:标准 UART 接口、增强型 UART 接口、I2C 总线接口、CAN 总线

(10)

接口、SPI 接口、USB 接口等。大部分单片机没有串行接口。在没有特别说明的情况下我们常说的 串行接口,简称串口,指的就是 UART。 如果系统只用一个单片机芯片时,UART 接口或 USB 接 口通常用来和计算机通信,不需要和计算机通信时可以不用。SPI 接口可用来进行 ISP 编程,当你 没有编程器时,尽量选用带这种接口的单片机,当然 SPI 接口也能用来和其他外设进行高速串行通 信。I2C 总线是一种两线、双向、可多主机操作的同步总线,I2C 总线是一种工业标准,被广泛应 用在各种电子产品中。 具有 I2C 总线接口的单片机在使用 AT24C01 等串行 EEPROM 时可以简化程 序设计。通常情况下使用最多的是  UART  接口,其他接口可根据开发人员的适用性选择。这也是 一个很实际的问题,如果有两种单片机都能解决问题,当然选一种你熟悉的品种。在大多数情况下 大家往往优先考虑选择 51 系列的单片机。  2.6.5 技术支持和服务 可以从下面几个方面进行考虑。 l 技术是否成熟:经大量使用被证明是成熟的产品你可以放心使用。 l 有无技术服务:国内有没有代理商和相应的技术支持,网站提供的资料是否丰富,包括 芯片手册,应用指南,设计方案,范例程序等。 l 单片机的可购买性:单片机是否可直接购买到,这是指单片机能否直接从厂家或其代理 商处买到,购买的途径是否顺畅。单片机是否有足够的供应量,以保证所选择的单片机 能满足产品的生产需要。选择单片机,还应注意选择那些仍然在生产中的型号,已经停 产的单片机是不能使用的,因为它已无后续供货能力,直接影响到产品的继续生产和生 命力。同时,也会给人以一种过时的感觉,从而影响产品的新颖性。最好还要看一下所 选用的单片机是否在改进之中,显然,对于准备推出新版本或有新版本的单片机,选择 用于应用系统或产品具有较强的后劲。 l 产品价格:这也是一个重要的因素,在其他条件相当的情况下,当然选择价格低的产品, 这样可以提高性价比。根据上面几个原则对单片机进行选择,就可以选择最能适用于你 的应用系统的单片机,从而保证应用系统有最高的可靠性、最优的性价比、最长的使用 寿命和最好的升级换代性。 从我们控制系统方案的选择上分析,我们选择 STC  89C52 单片机作为控制模块。它具有丰富 的资源:RAM,ROM 空间大、超强抗干扰、超低功耗、可送 STC­ISP 下载编程器、指令周期短、 低电压、易于编写和调试等优点。这些特点极大地提高了开发效率。  2.7 继电器选型 面对纷繁复杂的继电器产品,如何合理选择、正确使用,是系统开发、设计人员密切关注并且 必须优先解决的实际问题。要做到合理选择,正确使用,就必须充分研究分析系统的实际使用条件 与实际技术参数要求,按照“价值工程原则” ,恰如其分地提出所选用继电器产品必须达到的技术 性能要求。在整机的可靠性设计中,要求合理选用元器件。首先要根据整机系统的重要程度、可靠 性要求、所使用的环境条件及成本等项要求综合考虑和选择。具体说来,大致可按下列要素逐条分 析研究,确认所要求的等级以及量值范围。选择时必须重视以下几个方面的要求。  2.7.1 环境对继电器的影响 (1)温度对继电器的影响。 继电器是怕热元件, 高温可加速继电器内部塑料及绝缘材料的老化、 触点氧化腐蚀、 熄弧困难、 电参数变坏,使可靠性降低,所以,要求设计时使继电器不要靠近发热元件,并有良好的通风散热

(11)

条件。继电器虽然是怕热元件,但对过低温度也不能忽视。低温可使触点冷粘作用加剧,触点表面 起露,衔铁表面产生冰膜,使触点不能正常转换,尤其是小功率继电器更为严重。 (2)低气压对继电器的影响。 在低气压条件下,继电器散热条件变坏,线圈温度升高,使继电器给定的吸合、释放参数发生 变化,影响继电器的正常工作;低气压还可使继电器绝缘电阻降低、触点熄弧困难,容易使触点烧 熔,影响继电器的可靠性。对于使用环境较恶劣的条件,建议采用整机密封的办法。 (3)机械应力对继电器的影响。 主要指振动、冲击、碰撞等应力作用要素。对控制系统主要考虑的是抗地震应力作用、抗机械 应力作用能力,宜选用采用平衡衔铁机构的小型中间继电器。电磁继电器的簧片均为悬梁结构,固 有频率低, 振动和冲击可引起谐振, 导致继电器触点压力下降, 容易产生瞬间断开或触点出现抖动, 严重时可造成结构损坏,可动的衔铁部分可产生误动作,影响继电器的可靠性。建议在设计中尽量 采取防振措施以防产生谐振。 (4)绝缘耐压。 非密封或密封继电器的引出端外露绝缘子长期受尘埃、水气污染,导致其绝缘强度下降,在切 换感性负载时的过电压作用下,引起绝缘击穿失效。针对继电器绝缘固有特性,在选型时必须依据 继电器的以下技术特性: l 足够的爬电距离:一般要求>3mm(工作 AC220V) ; l 足够的绝缘强度:无电气联系的导体之间>AC2000V(工作  AC220V) ,同组触点之间  >AC1000V; l 足够的负载能力:DC220V 感性;5 ms~40ms,>50W; l 长期耐受气候应力的能力:线圈防霉断、绝缘抗电水平长期稳定可靠。  2.7.2 继电器的选用注意事项 ①控制电路的电源电压,能提供的最大电流; ②被控制电路中的电压和电流; ③被控电路需要几组、什么形式的触点。选用继电器时,一般控制电路的电源电压可作为选用 的依据。控制电路应能给继电器提供足够的工作电流,否则继电器吸合是不稳定的; ④注意器具的容积。若是用于一般用电器,除考虑机箱容积外,小型继电器主要考虑电路板安 装布局。对于小型电器,如玩具、遥控装置则应选用超小型继电器产品。  2.8 电磁阀的选型 电磁阀选型首先应该依次遵循安全性、可靠性、适用性、经济性四大原则,其次是根据六个方 面的现场工况(即管道参数、流体参数、压力参数、电气参数、动作方式、特殊要求进行选择)。  2.8.1 根据管道参数选择电磁阀的通径规则、接口方式 l 按照现场管道内径尺寸或流量要求来确定通径(DN)尺寸。 l 接口方式,一般>DN50 要选择法兰接口,≤DN50 则可根据用户需要自由选择。  2.8.2 根据流体参数选择电磁阀的材质、温度组 l 腐蚀性流体:宜选用耐腐蚀电磁阀和全不锈钢。 l 食用超净流体:宜选用食品级不锈钢材质电磁阀。 l 高温流体:要选择采用耐高温的电工材料和密封材料制造的电磁阀,而且要选择活塞式 结构类型的。

(12)

l 流体状态:大致有气态、液态或混合状态,特别是口径大于 DN25 订货时一定要区分 开来。 l 流体粘度:通常在 50cSt 以下可任意选择,若超过此值,则要选用高粘度电磁阀。  2.8.3 根据压力参数选择电磁阀的原理和结构品种 l 公称压力:这个参数与其他通用阀门的含义是一样的,是根据管道公称压力来定。 l 工作压力: 如果工作压力低则必须选用直动或分步直动式原理;最低工作压差在 0.04Mpa  以上时直动式、分步直动式、先导式均可选用。  2.8.4 电气选择 l 电压规格应尽量优先选用 AC220V、DC24 较为方便。  2.8.5 根据持续工作时间长短来选择常闭、常开、或可持续通电 l 当电磁阀需要长时间开启,并且持续的时间多余关闭的时间应选用常开型。 l 要是开启的时间短或开和关的时间不多时,则选常闭型。 l 但是有些用于安全保护的工况,如炉、窑火焰监测,则不能选常开的,应选可长期通 电型。  2.8.6 根据环境要求选择辅助功能防爆、止回、手动、防水雾、水淋、潜水 l 爆炸性环境必须选用相应防爆等级的电磁阀。 l 当管内流体有倒流现象时,可选择带止回功能电磁阀。 l 当需要对电磁阀进行现场人工操作时,可选择带手动功能电磁阀。 l 露天安装或粉尘多场合应选用防水,防尘品种(防护等级在 IP54 以上) 。 l 用于喷泉必须采用潜水型电磁阀(防护等级在 IP68 以上) 。  2.9 直流电机选型 直流电机的在选型上可按以下几个方面进行考虑: (1) 直流电机的机械特性﹑启动﹑制动﹑调速及其他控制性能应满足工作特性和生产工艺过程的 要求,电动机工作过程中对电源供电质量的影响(如电压波动﹑谐波干扰等),应在容许范围內。 (2)按预定的工作制﹑冷却方法及负载情况所确定电动机功率,电动机的温升应在限定的范 围内。 (3)根据环境条件﹑运行条件﹑安装方式﹑传动方式, 选定电动机的结构﹑安装﹑防振形式, 保证电动机可靠工作。 (4)综合考虑一次投资及运行费用,整个驱动系统经济、节能、合理﹑可靠和安全。  2.10 异步交流电机选型 正确选择电动机的功率、种类、型式是极为重要的。  2.10.1 功率的选择 电动机的功率根据负载的情况选择合适的功率,选大了虽然能保证正常运行,但是不经济,电 动机的效率和功率因数都不高;选小了就不能保证电动机和生产机械的正常运行,不能充分发挥生 产机械的效能,并使电动机由于过载而过早地损坏。对连续运行的电动机,所选电动机的额定功率 等于或稍大于生产机械的功率即可。 短时运行电动机功率的选择如果没有合适的专为短时运行设计 的电动机,可选用连续运行的电动机。  2.10.2 种类和型式的选择 选择电动机的种类是从交流或直流、 机械特性、 调速与起动性能、 维护及价格等方面来考虑的。

(13)

(1)种类的选择。 l 交、直流电动机的选择 如没有特殊要求,一般都应采用交流电动机。 l 鼠笼式与绕线式的选择 三相鼠笼式异步电动机结构简单,坚固耐用,工作可靠,价格低廉,维护方便,但调速困难, 功率因数较低, 起动性能较差。因此在要求机械特性较硬而无特殊调速要求的一般生产机械的拖动 应尽可能采用鼠笼式电动机。 因此只有在不方便采用鼠笼式异步电动机时才采用绕线式电动机。 (2)结构型式的选择。 电动机常制成以下几种结构型式: l 开启式 在构造上无特殊防护装置,用于干燥无灰尘的场所。通风非常良好。 l 防护式 在机壳或端盖下面有通风罩,以防止铁屑等杂物掉入。也有将外壳做成挡板状,以防止在一定 角度内有雨水滴溅入其中。 l 封闭式 它的外壳严密封闭,靠自身风扇或外部风扇冷却,并在外壳带有散热片。在灰尘多、潮湿或含 有酸性气体的场所,可采用它。 l 防爆式 整个电机严密封闭,用于有爆炸性气体的场所。 (3)电压和转速的选择。 l 电压的选择 电动机电压等级的选择,要根据电动机类型、功率以及使用地点的电源电压来决定。Y 系列鼠 笼式电动机的额定电压只有 380V 一个等级。只有大功率异步电动机才采用 3000V 和 6000V。 l 转速的选择 电动机的额定转速是根据生产机械的要求而选定的。但通常转速不低于 500r/min。因为当功率 一定时,电动机的转速越低,则其尺寸越大,价格越贵,且效率也较低。因此就不如购买一台高速 电动机再另配减速器来得合算。 [任务小结] 本任务主要是根据农作物生长最佳环境要求设计农作物生长环境控制系统的方案;根据市面元器件 的技术参数、价格、工艺水平等指标及农作物生长环境控制系统的设计目标选择(购)系统构成部件。 [思考与扩展训练] 读者根据自己设计的农作物生长环境控制系统目标和参数要求通过上网查询或到市场进行系 统构成部件的购买。

(14)

任务 3 了解农作物生长环境自动控制系统的组装与调试

[任务目标]  1.学习“预备知识”所述内容,掌握农作物生长环境自动控制系统的开发平台  2.掌握农作物生长环境自动控制系统的设计  3.农作物生长环境自动控制系统的组装与调试 [任务分析] 本任务的关键点:  1.农作物生长环境自动控制系统的开发平台  2.农作物生长环境自动控制系统的设计  3.农作物生长环境自动控制系统的组装与调试 [预备知识]  GPRS 是基于 GMS 提供的通用分组无线业务,采用基于分组传输模式的无线 IP 技术,以一种 有效的方式高速传送数据。GPRS 支持 Internet 上应用最广泛的 TCP/IP 协议和 X.25 协议,为网络 终端分配动态的 IP 地址,通过 GGSN 接入 Internet,用户可以直接访问 Internet 站点。数据传输通 过 PDCH 信道,具有很高的传输速率和更少的费用。传输速率理论上最高达 171.2kbit/s,具有永远 在线和收费低廉的优点。  3.1 GPRS 通信原理  GPRS 是通用分组无线业务(General Packet Radio Service)的英文简称,是在现有 GSM 系统 上发展出来的一种新的承载业务, 目的是为 GSM 用户提供分组形式的数据业务。 GPRS 采用与 GSM  同样的无线调制标准、同样的频带、同样的突发结构、同样的跳频规则以及同样的 TDMA 帧结构, 这种新的分组数据信道与当前的电路交换的话音业务信道极其相似。因此,现有的基站子系统 (BSS)从一开始就可提供全面的 GPRS 覆盖。GPRS 允许用户在端到端分组转移模式下发送和接 收数据,而不需要利用电路交换模式的网络资源。从而提供了一种高效、低成本的无线分组数据业 务。特别适用于间断的、突发性的和频繁的、少量的数据传输,也适用于偶尔的大数据量传输。  GPRS 理论带宽可达 171.2Kbit/s,实际应用带宽大约在 40~100Kbit/s,在此信道上提供 TCP/IP 连 接,可以用于 Internet 连接、数据传输等应用。  GPRS 是一种新的移动数据通信业务,在移动用户和数据网络之间提供一种连接,给移动用户 提供高速无线 IP 或 X.25 服务。GPRS 采用分组交换技术,每个用户可同时占用多个无线信道,同 一无线信道又可以由多个用户共享,资源被有效的利用,数据传输速率高达 160Kbps。使用 GPRS  技术实现数据分组发送和接收,用户永远在线且按流量计费,迅速降低了服务成本。 单片机与 GPRS 通信模块如图 2.8 所示。  3.2 Keil 软件介绍 

Keil  是 一 个 公 司 的 名 字 。 是 由 德 国 慕 尼 黑 的  Keil  lektronik  GmbH  和 美 国 德 克 萨 斯 的  Keil Software 组成。Keil 软件是目前最流行开发 51 系列单片机的软件。支持 C 语言,汇编语言。

(15)

图 2.8  通信模块 

Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统。Keil 提供 了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案, 通过一个集成开发环境(uVision)将这些部分组合在一起。运行  Keil  软件需要  WIN98、NT、  WIN2000、WINXP 等操作系统。如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选,即使 不使用  C  语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你 事半功倍。Keil 经过改进已经有了几个版本。但是操作方法大同小异,我们就用 keil4 讲解如何使 用 keil 软件。  3.2.1 Keil 工程的建立 (1)启动 Keil uVsion。 双击桌面上的 Keil uVsion3 图标可启动 Keil 软件的集成开发环境,如图 2.9 所示。 图 2.9  启动界面 源文件的建立:使用菜单 File→New 或是单击工具栏的新建文件按钮,即可在项目窗口右侧打 开一个新的文本编辑窗口,如图  2.10  所示,在该窗口中可对源程序进行编辑,保存文件时,注意 必须加上扩展名(汇编语言源程序一般用.asm 或.a51 为扩展名,C 语言源程序一般用.c 为扩展名)。 (2)建立工程文件。 在项目开发中, 并不是仅有一个源程序就行了, 还要为这个项目选择 CPU (Keil 支持数百种 CPU, 而这些 CPU 的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有些项目还会 有多个文件组成等,为管理和使用方便,Keil 使用工程(Project)这一概念,将这些参数设置和所需的 所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译和连接等操作。  GPRS 网络  GPRS 模块 单片机  PC 机  RS23  Intern

(16)

图 2.10  文本编辑窗口 执行 Project→New Project 命令,弹出对该项目保存的对话框,如图 2.11 所示。 图 2.11  新工程项目对话框 选择好项目保存位置及项目名称后单击保存命令,即弹出如图  2.12 所示的对话框,该对话框 用于选择 CPU 的类型,Keil 支持的 CPU 类型很多,在此我们选择 Atmel 公司的 AT89C51 芯片, 然后单击“确定”按钮,回到主界面,此时,在工程管理窗口的文件页中,出现了 Target 1,前面 有+号,单击+号展开,可以看到一下层的 Source Group 1,这时的工程还是一个空的工程,里面什 么文件也没有,选中  Source  Group  1,单击鼠标右键,出现一个下拉菜单,单击其中的  Manage  Components,弹出如图 2.13 所示的对话框,选择 Add Files 即弹出如图 2.14 所示的对话框,先在该 对话框下面的“文件类型” (默认为 C source file(*.c) )中选择文件类型,然后在列表框中就可以 找到我们所需的源程序文件了。  3.2.2  工程设置 工程建立好后, 要对工程进行设置, 以满足要求。 选中工程管理窗口中 Project 窗口中的 Target 1, 然后单击鼠标右键,在弹出来的快捷方式中选择 Option for Target→Target 1,此时会弹出如图 2.15 所

(17)

示的工程设置对话框。

图 2.12  CPU 选择

图 2.13  添加文件选项

(18)

图 2.15  工程设置选项

该对话框有 10 个选项,在此只给大家介绍常用选择项。设置对话框中的 Target 选项,Xtal 后 面的数值是晶振频率值, 默认值是所选目标 CPU 的最高可用频率值。 Memory Model  用于设置 RAM  使用情况,有三个选择项,其中 Small 是所有变量都在单片机的内部 RAM 中;Compact 是可以使 用一页外部扩展 RAM;而 Larget 则是可以使用全部外部的扩展 RAM。Code Model 用于设置 ROM  空间的使用,同样也有三个选择项,即 Small 模式,只用低 2K 的程序空间;Compact 模式,单个 函数的代码量是不能超过 2K,整个程序可以使用 64K 程序空间;Larget 模式, 可用全部 64K 空间。  Use  on­chip  ROM 选择项,确认是否仅使用片机 ROM(注意:选中该项并不会影响最终生成的目 标代码量); Operating 项是操作系统选择, 用于操作系统的选择, 通常不使用任何操作系统。 Off­chip  Code memory 用于确定系统扩展 ROM 的地址范围, Off­chip XData memory 用于确定系统扩展 RAM  的地址范围,这些选择项必须根据所用硬件来决定。 设置对话框中的 OutPut 选项,如图 2.16 所示,Creat Hex file 用于生成可执行代码文件(用于下载 到单片机程序存储器中的文件,文件扩展名为.HEX),一般把此项选中。Select Folder for objects 选项, 是用来选择最终的目标文件所存放的地方,默认是与工程文件在同一个文件夹中。Name of Executable  用于指定最终生成的目标文件的名字,默认与工程的名字相同。其他选项一般采用默认设置即可。 图 2.16  OutPut 选项

(19)

3.2.3 编译、连接 对源程序或是修改后的程序进行编译、连接可以通过菜单方式进行, 也可以通过工具栏命令直 接进行。下面介绍通过菜单方式来对源程序进行编译、连接。执行菜单 Project→Build target 命令, 对当前工程进行连接, 如果当前文件已修改, 软件会对该文件进行编译, 然后再连接产生目标代码; 如果选择 Rebuild All target files 将会对当前工程中的所有文件重新进行编译后再连接,确保最终生 产的目标代码是最新的;而 Translate 选项仅对该文件进行编译,不进行连接。 编译过程中的信息将出现在输出窗口中的 Build 中,如果源程序有语法错误,将提示出错信 息,双击错误信息行,可以定位到源程序发生出错的位置。当在 Build 窗口中出现 0 Error(s) ,  0 Warning(s)时,我们就可以进入下一步的调试工作。 有关 Keil 的调试命令、在线汇编与断点设置请大家参考相关资料,在此就不一一作介绍。 [任务实施] 要完成农作物生长环境自动控制系统的组装与调试,应该熟悉自动控制系统的相关组成电路, 并能够掌握其工作原理,具体实施步骤应该完成以下三方面的内容。  3.3 准备工作 通过任务一的学习及其任务实施, 准备好自动控制系统设计方案的图纸;通过任务二的学习及 其任务实施,把采购回来的相关配件准备好,便于完成自动控制系统的设计与制作。在自动控制系 统的组装与调试过程中,在工具上将用到示波器、万用表、铬铁等相关工具;在开发平台上要搭建 好相关的软件工作环境,这两方面的内容通过前面相关任务的实施完成。  3.4 系统中具体电路的设计  3.4.1 单片机最小系统设计 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。 对 51 系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。  3.4.1.1 复位电路 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下“重启”按钮电脑内 部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时 候,按下“复位”按钮内部的程序自动从头开始执行。 本最小系统采用上电自动复位和按键手动复位方式。上电自动复位由 CE1 充电来实现,按键 手动复位通过复位端经电阻和 VCC 接通而实现。单片机复位电路如图 2.17 所示。 图 2.17  复位电路

(20)

51 系统单片机要复位只需要在第 9 引脚接个高电平持续 2US 就可以实现,那这个过程是如何 实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如 果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。 开机的时候为什么会复位?在电路图中,电容的的大小是  10uF,电阻的大小是  10k。所以根 据公式, 可以算出电容充电到电源电压的 0.7 倍 (单片机的电源是 5V, 所以充电到 0.7 倍即为 3.5V), 需要的时间是 10K*10UF=0.1s。也就是说在电脑启动的 0.1S 内,电容两端的电压时在 0~3.5V 增 加。这个时候 10K 电阻两端的电压为从 5~1.5V 减少(串联电路各处电压之和为总电压)。所以在  0.1s 内,RST 引脚所接收到的电压是 5V~1.5V。在 5V 正常工作的 51 单片机中小于 1.5V 的电压 信号为低电平信号,而大于 1.5V 的电压信号为高电平信号。所以在开机 0.1s 内,单片机系统自动 复位(RST 引脚接收到的高电平信号时间为 0.1s 左右)。 按键按下的时候为什么会复位?在单片机启动 0.1s 后,电容 C 两端的电压持续充电为 5V,这 是时候 10K 电阻两端的电压接近于 0V,RST 处于低电平所以系统正常工作。当按键按下的时候, 开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容 开始释放之前充的电量。随着时间的推移,电容的电压在 0.1s 内,从 5V 释放到变为了 1.5V,甚 至更小。根据串联电路电压为各处之和,这个时候 10K 电阻两端的电压为 3.5V,甚至更大,所以  RST 引脚又接收到高电平。单片机系统自动复位。  3.4.1.2 晶振电路 晶振是为电路提供频率基准的元器件,通常分为有源晶振和无源晶振两个大类,无源晶振需要 芯片内部有震荡器,并且晶振的信号电压根据起振电路而定,允许不同的电压,但无源晶振通常信 号质量和精度较差,需要精确的匹配外围电路,如需更换晶振时要同时更换外围电路有源晶振不需 要芯片的内部振荡器,可以提供高精度的频率基准,信号质量也较无源晶振要好。实际应用中多采 用无源晶振设计的电路居多。本单片机最小系统晶振电路即时钟源电路,如图 2.18 所示。 在引脚 XTAL1 和 XTAL2 跨接晶振 Y1 和微调电容 C1、C2 就构成了内部震荡方式,由于单片 机内部有一个高增益反相放大器,当外接晶振后,就构成自激振荡器并产生震荡时钟脉冲。其中  Y1 是可插拔更换的,默认值是 22.1184MHz。  3.4.2 直流电机的控制 温室大棚通风是温室大棚内部空气与室外空气进行交换的过程,以调控温室内温度、湿度、二 氧化碳浓度和排除有害气体为目的, 达到满足室内栽农作物正常生长要求的需要。大棚温室通风在 大棚设计中占据重要位置,是大棚温室生产环境调控必须采取的措施。 温室大棚建设中对通风系统 的要求较为严格。设置好通风系统,具有以下几方面的好处。 (1)将有利于蔬菜农作物的生长。 (2)有利于调整温室内空气成份,排走有害气体,提高温室内空气的新鲜程度。 (3)有利于排除温室内的余热,使温室内的环境温度保持在适于植物生长的范围内。 (4)有利于排除温室内多余水分,使温室内的环境湿度保持在适于植物生长的范围内。 通过直流电机的控制将大棚温室顶窗或侧窗开启和关闭。  3.4.2.1 直流电机控制电路设计  TA7267BP 是东芝公司生产的一款专用于小型直流电机驱动的专用芯片。该芯片在相应的逻辑 电平的控制下,能够实现电机的正转、反转、停止和刹车四种动作。其逻辑电平的工作电压为 6~  18V,驱动电机工作的电压为 0~18V,是一款单电源供电芯片。该芯片外观如图 2.19 所示。

(21)

图 2.18  时钟电路 图 2.19  TA7267BP 驱动芯片 实际上,TA7267BP 的驱动原理是将桥式电路中所用的分离器件集成为一体,并定义了相关管 脚的逻辑电平,从而使得驱动部分模块化,便于用户使用。如表 1.1 所示为 TA7267BP 中 7 个管脚 的定义。这 7 个管脚中的 1 和 2 连接到单片机的逻辑控制指令输出管脚,而 3 和 5 管脚则分别连接 到所要控制的电机上。 表 1.1  TA7267BP 管脚定义 管脚号 名称 作用  1  IN1  控制指令输入 1  2  IN2  控制指令输入 1  3  OUT1  电机输出 1  4  GND  地信号  5  OUT2  电机输出 2  6  VS  驱动电机电源  7  VCC  逻辑电路电源  TA7267BP 是依靠单片机输入到 1、2 管脚上的逻辑电平变化实现电机正转、反转、停止、刹 车四个状态的选择。这四个状态的变化所对应的逻辑电平如表 2.2 所示。 表 2.2  TA7267BP 输出和电机状态的变化 

IN1  IN2  OUT1  OUT2  电机状态 

1  1  L  L  刹车  0  1  L  H  正转  1  0  H  L  反转  0  0  High Imedance(高阻抗状态) 停止  TA7267BP 与单片机的硬件连接如图 2.20 所示。 在 TA7267BP 中,施加在 6、7 管脚上的电源电压最大不能超过 25V,常规的数字电路电源应 该在 6~18V 之间,不能超过这个范围。工作电流平均为 1A,峰值为 3A,TA7267BP 在电机启动 时的电流不能超过这个峰值。根据 TA7267BP 各引脚对电平的控制,可以很方便地利用单片机实现 对小电机的转动状态控制。  3.4.2.2 直流电机控制程序 软件设计是在硬件电路的基础上进行程序设计,先通过单片机的 I/O  接口,输出到 TA7267BP  的控制字,再通过  TA7267BP  驱动电机,并控制电机的运行状态。利用单片机的直流电机控制流 程以控制直流电机正转为例说明程序的编写方法,其他三种状态的程序编写与之相似:

(22)

if (KEY==0)  //判断正转按钮是否按下  {  delay(10) ;  //延时 10ms,按键软件消抖  if(KEY ==0)  {  P1_1 =0;  P1_0 =1;  //通过  P1.1  和  P1.0  给  TA7267BP  的 1 2  引脚输入 1 0,驱动电机正转  P2_4 =0;  //正转状态指示灯亮;  }  while ( !KEY) ;  //等待按键释放  }  else  {  ……  //其他三种状态的判断 程序、  }  图 2.20  TA7267BP 驱动芯片与 AT89C51 单片机连接电路 3.4.3 电磁阀控制 在智能温室大棚中一般采用滴灌或微喷雾的方法对农作物进行降温或增加湿度。 采用滴灌或微 喷雾方法有以下几方面的优点。 (1)效益明显。简便滴灌能适时、适量地向蔬菜根区供水供肥,使蔬菜根部土壤坚持适合的 水分、氧气和营养。 (2)节约用水。 (3)节约肥料。大棚蔬菜所追施的化肥悉数放入水池中随水滴施于作物根际的土层中,防止 肥料的丢失、渗漏和蒸发。 (4)微喷雾化好,有利于提高温室湿度。对要求湿度高的叶菜类蔬菜及花卉生长有利。 当温度高于设定值或湿度低于设定值即打开滴灌电磁阀进行喷水, 当温度低于设定值或湿度与 设定值的偏差满足要求时即关闭电磁阀。  3.4.3.1 电磁阀控制电路 电磁阀控制电路主要由小功率三极管及继电器组成, 当三极管导通时, 继电器的常开触点吸合, 电磁阀接通开始喷水。电磁阀控制电路如图 2.21 所示。  3.4.3.2 电磁阀控制程序设计  #include <reg52.h>  sbit key1=P1^6;  //定义按键位置  sbit key2=P1^7;  //定义按键位置  sbit RELAY = P1^2;

(23)

图 2.21  电磁阀控制电路  void delay(unsigned int cnt)  {  while(­­cnt);  }  main()  {  while(1)  {  if(!key1)  //按下相应的按键  {  delay(5000);  if(!key1)  //去抖后是否按下相应的按键  {  RELAY=0;  //继电器吸合  }  }  if(!key2)  //按下相应的按键  {  delay(5000);  if(!key2)  //去抖后是否按下相应的按键  {  RELAY=1;  //继电器释放  }  }  }  }  3.4.4 加热丝控制 当温室大棚中的温度比设定的温度值低时,加热丝工作; 当温室大棚中的温度到达或超过设定 的温度值时,加热丝停止工作,从而使大棚中的温度与设定的温度一致。  3.4.4.1 加热丝控制电路设计 加热器驱动电路也同样选用继电器隔离,当温度低于设定温度时,相应引脚输出低电平,电流 经过三极管放大,继电器常开端闭合,电热器工作, 当温度高于设定温度时, 相应引脚输出高电平, 继电器常开端关闭,电热器不工作。热丝控制电路如图 2.22 所示。  3.4.4.2 加热丝控制程序设计  #include <reg52.h>  sbit key1=P1^6;  //定义按键位置  sbit key2=P1^7;  //定义按键位置

(24)

图 2.22  加热丝控制电路  sbit HEATER = P1^3;  void delay(unsigned int cnt)  {  while(­­cnt);  }  main()  {  while(1)  {  if(!key1)  //按下相应的按键  {  delay(5000);  if(!key1)  //去抖后是否按下相应的按键  {  HEATER=0;  //继电器吸合  }  }  if(!key2)  //按下相应的按键  {  delay(5000);  if(!key2)  //去抖后是否按下相应的按键  {  HEATER=1;  //继电器释放  }  }  }  }  3.4.5 温度报警电路 如图 2.23 所示为温度警电路图。  /********************************************************************  *  名称  : void Beep()  *  功能  :  蜂鸣器发声程序  ***********************************************************************/  void Beep()  {  uchar i,x=20;  while(x­­)  {  for(i=0;i<120;i++);  SPEAKER=~SPEAKER;  }  }

(25)

图 2.23  温度报警电路  3.5  电路集成组装、调试 按电路中标注的相关接口,把各部分电路组装在一起,进行联机调试。具体调试步骤如下: (1)在通电之前,先用万用表的欧姆档检测一下电源与地是否存在短路现象。如果电源与地 短路,应单独对各部分电路进行检测;如果电源与地没有短路现象,方可通电进行检测。 (2)晶振电路的检测。通电后,可以用万用表的直流档检测一下单片机的 18 脚和 19 脚之前 的电压, 如果 18 脚与 19 脚之前有电压差说明晶振电路是工作正常的, 反之说明晶振电路出现问题。 如果有示波器,还可以用示波器去检测 18 脚或 19 脚,应该有一定频率的信号输出。 (3)复位电路的检测。通电后,用万用表的欧姆档检测一下单片机 9 脚的电压。如果当按键 按下时,9 脚应为低电平;按键释放后,9 脚为高电平,则说明单片机的复位电路是正常工作的, 反之说明复位电路是不正常的。 单片机复位电路与晶振电路如果不能正常工作, 整个系统将会出现不工作的现象。 因此当整个 系统不工作时,我们应先考虑对电源、晶振电路及复位电路的检测。 (4)各电路的调试。将各部分电路编写好的程序单独写入单片机中,通电后观测现象,看看 电路是否能完成程序中规定相关动作,如果能完成,说明电路和程序都没有问题。如果观测到的现 象不能完成我们规定的动作,则应从以下两个方面进行考虑。 第一、从硬件电路方面进行考虑。此时应该检测相应的电路是不是连接正确。在电路连接正 确的情况下,要考虑电路中相关元器件的焊接是否正确,检测各部分电路相关元器件有没有虚焊 等情况。 第二、从软件方面进行考虑。在硬件电路没有问题的情况下,此时应该从软件方面进行考虑。 检测软件在逻辑方面是不是存在问题等。 (5)运行。在完成上面四个方面的调试与检测后,可以将完整的程序写入单片机进行运行。 根据运行的情况不断完善整个系统的功能。 [任务小结] 本任务主要是让学生掌握农作物生长环境自动控制系统的分析与设计; 并且能够完成农作物生 长环境自动控制系统的装配和调试技术。 [思考与扩展训练] 调研农作物生长环境智能控制的方法与应用。

(26)

[拓展知识]  3.6 通信电路 串口通讯对单片机而言意义重大, 不但可以实现将单片机的数据传输到计算机端, 而且也能实 现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛 的运用。  3.6.1 串行电路设计  RS­232  是目前最常用的串行接口标准,主要用于计算机与计算机之间、计算机与外设之间的 数据通信。RS­232  提供了单片机与单片机、单片机与  PC  机之间串行数据通信的标准接口。进行 串行通讯时要满足一定的条件,比如计算机的串口是 RS232 电平的,而单片机的串口是 TTL 电平 的,两者之间必须有一个电平转换电路,系统方案中采用了专用芯片 MAX232 进行转换。采用了 三线制连接串口,也就是说和计算机的 9 针串口只连接其中的 3 根线:第 5 脚的 GND、第 2 脚的  RXD、第 3 脚的 TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如图 2.24  所示,MAX232 的第 10 脚和单片机的 11 脚连接,第 9 脚和单片机的 10 脚连接,第 15 脚和单片 机的 20 脚连接。 图 2.24  串口通信电路图  3.6.2 串行通信程序设计 (1)串行发送程序设计。 描述:该文件实现通过串口把数据从单片机发送到电脑,通过串口调试助手显示出来。  ***********************************************************************/  #include<reg52.h>  #include<intrins.h>  #define uchar unsigned char  #define uint    unsigned int  /********************************************************************  *  名称  : Com_Init()  *  功能  :  初始化串口程序,晶振 11.0592,波特率 9600  *  输入  :  无  *  输出  :  无  ***********************************************************************/  void Com_Init(void)  {

(27)

TMOD = 0x20;  PCON = 0x00;  SCON = 0x50;  TH1 = 0xFd;  TL1 = 0xFd;  TR1 = 1;  }  /********************************************************************  *  名称  : Main()  *  功能  :  主函数  *  输入  :  无  *  输出  :  无  ***********************************************************************/  void Main()  {  uchar i = 0;  uchar code Buffer[] = "Welcome To The MCU World.      //所要发送的数据  uchar *p;  Com_Init();  P2 = 0x00;  p = Buffer;  while(1)  {  SBUF = *p;  while(!TI)  //如果发送完毕,硬件会置位 TI  {  _nop_();  }  p++;  if(*p == '\0') break;  //在每个字符串的最后,会有一个'\0'  TI = 0;  //TI 清零  }  while(1);  }  (2)串行接收程序设计。  /********************************************************************  *  文件名:串口接收程序设计.c  *  描述:该文件实现通过单片机从电脑接收数据。使用的晶振是 11.0592,如果使用 12M 晶振,会出现串口接收不正常 的情况。原因是用 12M 晶振,波特率 9600 时的误差率达  8%。  ***********************************************************************/  #include<reg52.h>  #include<intrins.h>  #define uchar unsigned char  #define uint    unsigned int  uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  uchar LED_Buffer[8] = {0};      //从串口接收的数据  /********************************************************************  *  名称  : Delay_1ms()  *  功能  :  延时子程序,延时时间为  1ms * x  *  输入  : x (延时一毫秒的个数)  *  输出  :  无  ***********************************************************************/  void Delay_1ms(uint i)//1ms 延时  {  uchar x,j;  for(j=0;j<i;j++)  for(x=0;x<=148;x++);  }  /********************************************************************  *  名称  : Com_Int()  *  功能  :  串口中断子函数

(28)

*  输入  :  无  *  输出  :  无  ***********************************************************************/  void Com_Int(void) interrupt 4  {  static uchar i = 7;  //定义为静态变量,当重新进入这个子函数时  i  的值不会发生改变  EA = 0;  if(RI == 1)  //当硬件接收到一个数据时,RI 会置位  {  LED_Buffer[i] = SBUF ­ 48;  //这里减去 48 是因为从电脑中发送过来的数据是 ASCII 码。  RI = 0;  if(i==0) i = 8;  i­­;  }  EA = 1;  }  /********************************************************************  *  名称  : Com_Init()  *  功能  :  串口初始化,晶振 11.0592,波特率 9600,使能了串口中断  *  输入  :  无  *  输出  :  无  ***********************************************************************/  void Com_Init(void)  {  TMOD = 0x20;  PCON = 0x00;  SCON = 0x50;  TH1 = 0xFd;  //设置波特率  9600  TL1 = 0xFd;  TR1 = 1;  //启动定时器 1  ES = 1;  //开串口中断  EA = 1;  //开总中断  }  /********************************************************************  *  名称  : Main()  *  功能  :  主函数  *  输入  :  无  *  输出  :  无  ***********************************************************************/  void Main()  {  uchar i = 0;  Delay_1ms(100);  Com_Init();  P2 = 0x80;  //这里把 P2 口的最高为置 1,进入循环后循环左移一位正好是 P2  最低为置 1  while(1)  {  P0 = table[LED_Buffer[i]];  P2 = i++;  Delay_1ms(1);  if(i == 8) i=0;  }  }

參考文獻

相關文件

经营费用:包括自用物料、水费、燃料、电费、保养及维修、场所租金、提供连司机的旅游车租赁服务、非劳工保

经营费用:包括自用物料、水费、燃料、电费、保养及维修、场所租金、机器及设备租金、机动车租赁、连司机的

由第三者提供予企業使用之商品及服務總數。包括:自用物料、水費、燃料、電費、保養

经营费用:包括自用物料、水费、燃料、电费、保养及维修、场所租金、机器及设备租金、机动车租赁、连司机的汽车租

Jack Little(又稱為 John Little)將 MATLAB 以 C 語言重 寫,並於 1984 年成立 MathWorks 公司,首次推出 MATLAB 商用版。.. MathWorks 在

Jack Little(又稱為 John Little)將 MATLAB 以 C 語言重 寫,並於 1984 年成立 MathWorks 公司,首次推出 MATLAB 商用版。.. MathWorks 在

此計劃主要包含一個以「智慧城市」為主題的專題研習展覽,再附以一系列的活動,其中包

学校现有教学仪器设备超过1亿元,学校图书馆纸质藏书125万册,电子图书