2.3系统结构
整个系统结构如图2.1所示。控制系统选用永磁感应子式步进电机作为自动变量施肥的执行部分。步进电机工作原理是每接收一个脉冲,步进电机就转过一个角度,在扭矩允许的范围内,不会因为扭矩的变化而失步;可以避免液压马达或直流电机驱动需要使用减速装置,便于进行控制,简化了系统,对于控制机构的稳定性和田间作业环境都是有利的。永磁感应子式步进电机同时兼有磁阻式和永磁式两种步进电机的优点,具有体积小、驱动电流和功耗小、保持力矩大、运行频率高、在绕组不通电的情况下具有定位转矩等特点。该电机还具有很好的内部阻尼特性,无低频共振现象,运行平稳、噪音低、可靠性高、寿命长等优点,是理想的自动控制系统终端执行元件。
shape \* mergeformat
13 0byg428永磁感应子式步进电机的主要技术参数:
步距角: 1.50(四相四拍)/0.750(四相八拍)
相数: 4相
每相静态电流: 8a
最大静力矩: 28n.m
空载启动频率: 1000hz
空载运行频率: 7000hz
步进电机的电源驱动器具有脉冲分配器和功率放大电路,控制器输出的变频脉冲信号经过电源驱动器的脉冲分配和功率驱动,控制步进电机的转速。WWW.133229.coM
自动工作模式下dgps接收装置采用美国trimble公司【47】生产的aggps农用全球定位系统,实现对机具位置和速度信息的获取。
手动工作模式下,机具前进速度通过静电电容式接近开关传感器获得。上海巨龙 电子 股份有限公司生产的静电电容式接近开关传感器,具有定位精度高、防水、耐震、反应速度快,以及抗干扰性强、密封性能好、稳定可靠、安装方便、使用寿命长,能在湿度大、温度高及其它恶劣环境下工作等特点。
自动变量施肥控制系统中,步进电机电源驱动器需要80v电压。将一个12v的蓄电池通过逆变器将电源转变为220v交流电,然后通过变压器可以得到80v电压。也可以将电源线直接连接到拖拉机的发电机上,得到控制系统所需电源。dgps接收机需要12v的直流电源,直接连接到一个蓄电池即可。控制器需要的电压为5v的直流电压,自动变量施肥机的工作环境属于田间作业,没有直接的5v电压可以利用。在电路中使用变压模块可以直接把12v直流电压转换为5v,提供给控制器的硬件电路使用。
2.4系统功能
变量施肥机有手动和自动两种工作方式【4】。
在自动工作方式变量施肥作业时,控制系统实现如下工作:
(1) 单片机初始化时读取存储在单片机中或ic卡中的农田参数和排肥器标定参数;
(2) 单片机从rs-232串口读取dgps信号,提取施肥机实时位置和速度信息;
(3) 通过对网格的识别 计算 判断施肥机所在的施肥网格编号,根据施肥网格编号查询相应的施肥量;
(4) 根据排肥器标定参数、施肥量及施肥机前进速度计算所需的步进电机转速;
(5) 计算控制频率值并输出,通过控制步进电机转速来改变排肥轴转速,达到变量施肥的目的;
(6) 显示施肥网格和施肥量,报警等。
在手动工作方式变量施肥作业时,控制系统实现如下功能:
(1) 单片机初始化时读取存储在单片机中或ic卡中的排肥器标定参数;
(2) 读取地轮转速传感器的脉冲值,计算施肥机前进速度;
(3) 读取键盘输入的施肥量;
(4) 根据排肥器标定参数、施肥量及施肥机前进速度计算所的需步进电机转速;
(5) 计算控制频率值并输出,通过控制步进电机转速来改变排肥轴转速,达到变量施肥的目的;
(6) 显示拖拉机前进速度和施肥量,报警等。
第三章 硬件设计
3.1 微处理器
控制器中的核心是atmel公司生产的at89c55wd单片机。它是一种低功耗、低电压、高性能的8位单片机,片内带有一个20k字节的电擦除可编程只读存储器和256字节的数据存储器;有32个可编程i/o口,三个16位定时/计数器,8个中断源,全双工串行口,片内振荡器及时钟电路。它采用了cmos工艺和atmel公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与mcs-51兼容。可进行1000次读写和擦除,工作电压在4~5.5v之间【11】。在系统中at89c55wd单片机完成的功能主要有:dgps信号接收、网格识别计算、施肥量查询、按键处理、电机转速计算和显示等任务。
在dgps接收机工作时,因为单片机at89c55wd能够接受处理的是ttl电平信号,需要将rs232电平与ttl电平转换,利用max232s芯片实现单片机与dgps接收机的通讯电平转换。
3.2 trimble aggps 132 差分接收机
gps 信号接收机是一种能够接收、跟踪、变换和测量gps 信号的卫星信号节后设备。它对所接收到的gps 信号进行放大、变换和处理,以便测量出gps 信号从卫星到接收天线的传播时间,解译出gps 卫星所发送的导航电文,实时地计算出三维位置、速度和时间。在作业过程中,使用者通过gps信号接收机面板上的控制键盘,可以从视屏显示窗上读取所要求的数据和信息,数据接口一般均为通用接口,如数据传输接口为rs-232c.。
trimble aggps 132 差分接收机具有亚米级差分改正精度,易于安装,并可以连接包括产量监视器、可调速率播种机、应用控制器及便携田间计算机在内的多种精确农业机械,是适合精确农业中使用的差分gps接收机。
trimble aggps 132 差分gps 接收机采用了the choice 技术。该技术将一个gps 接收机、一个信标差分接收机和一个卫星差分接收机集成在同一外壳内。这些接收机通过一根电缆公用一个组合天线。这一配置极大地提高了差分gps 改正的精度、可靠性和可用性。
这种接收机可输出 工业 标准的nmea- 0183 电文。用户可选的输出包括位置、速度、导航和状态信息。标准配置的接收机每秒输出一次位置,时延很短。对于在快速运动车辆的应用,aggps 132 可选择每秒输出十次位置,时延小于100 毫秒。
aggps 132 接收机有两个rs232 串口,利用其中之一可以向本控制系统传送位置信息。rs-232c 有9 条信号线(db9 口)。本系统中使max232芯片将gps 串口与89c55wd 连接起来。gps 信号通过rs-232c 串口,经由max232 进行电平转换,传送到单片机,再经过单片机内部解码得到当前机具位置信息。max232 与rs-232c 串口和单片机之间是通过max232 的引脚8(r2 in)与rs-232c 的引脚2(接收数据)相连,max232 的引脚9(r2out)与89c55wd 的rxd 相连,引脚10(t2 in)与89c52 的txd 相连引脚,7(t2 out)与rs-232c 的引脚3(发送数据)相连。串口通讯设定为:1位起始位,8 位数据位,无奇偶校验位,1 位停止位,波特率为4800bps。
3.3扩展程序存储器
at89c4051也是atmel公司生产的20引脚8位单片机,具有低功耗、低电压、高性能等特征,片内带有一个4k字节的电擦除可编程只读存储器和128字节的数据存储器;有15个可编程i/o口,两个16位定时/计数器,6个中断源,用于多机通讯的全双工串行i/o口,片内振荡器及时钟电路,工作电压在2.7~6v之间【50】。
在系统中,at89c4051的作用是通过自身的定时/计数器t0每秒接收一次接近开关传感器或角度—数字编码器的脉冲信号,经过计算转化为机具前进速度值并将其通过三态缓冲器74als244传输给主机。
3.4键盘
本系统设计有两种输入施肥量信号的方式,一种是由自动控制系统从ic 卡读取,另一种是由键盘输入。因为键盘只需要输入数字,因此选用了4×4键盘,并选用intel8279 芯片作为与单片机at89c55wd 的接口芯片。
利用8279的8根数据线直接与at89c55wd的p0口连接实现键盘的接口。8279可实现对键盘的自动扫描,并能识别键盘上闭合键的键号。不仅可以节省cpu对键盘的操作时间,减轻负担,而且编程简单,不会出现误动作。
在接收不到gps信号或不需要自动控制的情况下,用于手动施肥控制模式。施肥量通过按键输入,并传送给主机处理。
intel8279 是一种通用的可编程序的键盘、显示接口器件,单片器件就能够完成键盘输入和led 显示控制两种功能。但是,由于本系统的显示部分是由液晶显示器件完成,因此只使用intel8279 通用可编程的键盘接口部分。intel8279 键盘部分提供一种扫描的工作方式,可以和具有64 个触点的键控阵列相连接,也可以与传感器阵列相连。能自动消振(去抖动毛刺)和实现双键同时下按保护或n 键同时下按保护。
本系统选用4×4 薄膜开关键盘作为人机接口,本系统中intel8279 扫描计数器设定为内部译码方式,sl0~sl3 输出信号直接作为键盘、显示器的扫描信号。查询反馈输入线由rl0~rl4 提供,在8279内部有提升电路,当某一开关没有闭合时,对应一条引线被拉成高电平,当闭合时,则被开关锁成低电平。
3.5 ic卡
at24cxx 系列ic 卡是美国atmel 公司生产的存储式ic 卡,产品型号有at2401/02/08/16/32/64,卡片存储容量分别有1kbits/2kbits/4kbits/8kbits/16kbits/32kbits/64kbits,工作频率为1mhz(5v),1mhz(2.7v),400khz(1.8v);工作电压为5v 士10%,根据要求最低可至1.8v;icc 电流最大为1 ma,写最大为3ma;双线串行接口,双向数据传送,支持iso/iec7816—3 同步协议,写/擦除次数>1,000,000 次,数据保存期>100 年;工作温度为0-70℃,它是目前国内使用最多的ic 卡之一。这几个型号的ic 卡是一种不具备加密功能的eeprom 卡,它们的使用方法与eeprom 完全相同,存储结构简单,只有读写两种操作功能,主要用于存放一些保密性要求不高的数据。
本系统存储施肥量选用的存储器是at24c16。 单片机对ic 卡进行读/写操作,读取ic 卡存储的数据。应用设计中,ic 卡的scl 引脚接到89c55wd 的p1.3引脚,ic 卡的sda 引脚接at89c55wd 的p1.4 引脚,将ic 卡座上接有弹簧片的触点接到at89c55wd 的外部终端0 引脚上。当插入卡片时,就会产生中断。也可以直接将决策出来的施肥量存储到at89c55wd中。
3.6 脉冲发生器
msm8253是一种用于微机系统的可编程定时/计数器, 其中包含3个独立的定时/计数器。用于接收at89c55wd发出的不同电机转速对应的频率设定值,然后按一定的频率从out1引脚输出。由于步进电机驱动电源有脉冲分配器和功率放大电路,所以,控制口的输出仅为单路脉冲信号。此信号经过步进电机驱动电源的脉冲分配和功率放大,控制步进电机工作。
3.7液晶显示器
液晶显示器是一种极低功耗显示器,其应用特别广泛。液晶显示器的驱动方式由电极引线的选择方式确定,因此,在选择好液晶显示器之后,用户无法改变驱动方式。
本系统选用10 位多功能通用型8 段式液晶显示模lcm103,可实时显示施肥网格名称和该网格的施肥量,也可根据需要显示速度值和施肥量,以便进行观察监测。它内含看门狗(wdt)/时钟发生器,2 种频率的蜂鸣驱动电路,内置显示ram,可显示任意字段笔划,3~4 线串行接口,可与任何单片机、接口ic 接口,低功耗特性。显示状态50μa(典型值),省电模式<1μa 工作电压为2.4~5.2v,视角对比度可调,显示清晰,稳定可靠。蜂鸣频率可设为2khz、4khz 两种,定时器可设为1-128hz 之间的8 档,数据读/写频率为300khz/500khz。在本系统中,还充分利用了液晶显示器有定时输出的这项功能,设定lcm103 工作在定时方式下,且定时频率为1hz,用于控制at89c55wd芯片上的定时计数器2 的计数时间,从而可以确定机具行进速度。蜂鸣器工作于开放状态,频率设定为2khz,随时提供报警信息。b 处外接32768h 的晶振,在bz 和/bz 之间接入蜂鸣器,vlcd 处接入50k 可调电阻,调节此电阻可以调整lcm103 的显示仰角,使显示清晰。3.8“手动/自动”模式的转换
“手动/自动”模式的转换通过对at89c55wd单片机p3.5引脚高低电平的切换来实现,低电平表示手动控制模式,高电平表示自动控制模式。
为了实现对排肥量的自动监测,系统需要接收检测排肥量传感器传来的反馈信号,修正输出脉冲。所以还要给检测电路预留接口,为实现闭环控制做好准备。
系统还需要能使芯片工作起来的晶振电路和复位电路,晶振选择12mhz频率。
通过对系统要求的分析和单片机各个部分工作的分配,设计系统硬件电路原理图。如图所示。
第四章 软件设计
在研制单片机应用系统时,汇编语言是一种常用的软件工具。它能直接操作硬件,指令的执行速度快。但其指令系统的固有格式受硬件结构的限制很大,且难于编写与调试,可移植性也差。随着单片机硬件性能的提高,其工作速度越来越快,因此在编写单片机应用系统程序时,更着重于程序本身的编写效率。因此在单片机的开发应用中,已逐渐开始引入高级语言,c语言就是其中的一种。
c语言是一种高级程序设计语言,它提供了十分完备的规范化流程控制结构。c语言具有库函数丰富、运算速度快、可移植性强、较高的编译效率及可产生较紧凑的代码等特点。美国archimedes公司和franklin software公司在九十年代初专门为基于51系列的单片机开发了高级语言工具c51。利用该工具编写的代码简单高效,结构清晰,可以直接实现对系统硬件的控制【12】。尤其是后来不同类型的微处理器及其更新产品的开发工具基本上都支持c语言,使得采用c51语言设计的单片机应用程序易于移植和维护,整个程序应用系统易于调试。
4.1 dgps数据读取
当系统处于自动工作模式时,需要通过串口接收dgps传输的信息,用于确定当前施肥机具所处的位置和所具有的速度。
dgps接收机所发送的数据一般都是标准的nema-0183格式,nmea-0183卫星差分数据主要包括utc_date(日期)、utc_time(时间)、gps_status(卫星状态)、dop(dop值)、ant_lat(纬度)、 ant_lon(经度)、ant_hae(高程)和speed(速度),等等。数据采用ansi标准,以串口非同步方式传送【14】。
aggps132的输出频率有1hz、2hz、5hz和10hz四种,根据实际需要选用频率为1hz。这里设定rs-232串口数据通讯协议为:接收波特率为4800bit/s,数据为8bit,无奇偶校验位,1位开始位,1位停止位。接收到的语句如下:
$gpgga,151924350.983182,n,12519.855573,e,1,03,2.9,244.31,m,12.16,m,,*6e
$gpvtg,0,t,,,5.163497,n,5.356732,k,a*33
通过截取$gpgga语句中的第2、4字段,得到当前施肥机位置信息,截取$gpvtg语句中的第7字段得到当前施肥机速度信息。
由于大多数情况下一个地块通常不足以跨越一度的距离范围,所以将位置信息中表示“度”的值舍去,只取表示“分”的值,以减小信息存储量,提高运算速度。如果出现一个地块跨越了“1度”范围的情况,则在程序中将读到的实时位置信息中表示“分”的值加上常量60,再用于 计算 。
程序中,通过判断前缀的方法来识别不同的数据信息,用检测回车换行符的方法进行分行。提取有用信息的过程是:判断是否接收到$符号,如果是$符号则接收,到第二个逗号时开始将接收到的纬度前两位舍弃,只截取后九位字符存到f1h~f9h单元中;接着判断是否接收到第四个逗号,如果是第四个逗号则开始将接收到的经度前三位舍弃,只截取后九位,其中六位存到fah~ffh单元中,最后三位存到84h~86h单元中;同样方法截取速度前4位字符存到94h~97h单元中;判断是否到回车或换行符,若是回车或换行符则接收完毕。串口中断接收程序流程如图4.1所示。
读取到的经纬度数据代入网格识别公式(2-7)和(2-8)中,算出拖拉机当前所在地块网格的行号n和列号m,分别存入单元ceh和cfh中,用来进行施肥量的查询。
4.2查表方式/ic卡存储
自动变量施肥模式下,施肥量q以表格的形式写入单片机或ic卡。根据存储表格,第n行m列个网格的施肥量查询公式为:
(4-1)
其中,每个地块有 个施肥决策数据。
如德惠地块一共有12行6列网格,即有12行6列个施肥决策数据,每个数据分2列写入单片机或ic卡,则数据表是12行12列,得nm号网格施肥量为:
(4-2)
将施肥量查出,高位存入d2h,低位存入d3h,代入电机转速控制公式(2-6)中。
4.3键盘处理程序
当系统处于手动施肥模式下时,at89c55wd单片机的p3.5脚处于高电平,施肥量q由键盘给出。施肥量的百位、十位、个位分别放到bbh、bch和bdh单元中,键的个数放到e3h单元中,然后进行显示和计算。流程图如图4.2所示。
4.4机具前进速度处理
手动施肥模式下,使用at89c4051外部中断int0实现机具速度的处理。t0定时/计数器工作于方式1,用来计接收到的脉冲个数。利用接近开关传感器测地轮转速得到机具前进速度公式为:
(4-3)
其中:v-机具前进速度(km/h);
d-地轮直径(m);
z-地轮每转脉冲数(个/转);
p-每秒传感器得到的脉冲数(个/秒)。
把每秒接收到的脉冲数存到4ch单元中,代入公式(4-3),得到机具前进速度值,存到48h单元中。然后主机经过译码器读速度值并存到d1h单元,将其代入式(2-6)中,用于计算控制电机转速。传感器子程序流程如图4.3所示。
通过对整个系统流程和各个功能块程序的分析,得到主程序流程图如图4.4所示。
第五章 调试环境
单片机在应用之前,必须按照相应的硬件对其进行编程后才能使用。编程调试的过程就是开发过程,需要有仿真器和编程器才能进行。仿真器分软件仿真器和硬件仿真器两种。硬件仿真器是开发调试的利器,软件仿真可以起到辅助调试的作用。软件仿真调试好后,还需固化后才能使用。
软件开发环境是windows2000/xp下使用南京伟福e6000软件仿真器,它是集成了编缉器、编译器、调试器的调试环境。有众多强大软硬件调试手段,包括逻辑分析仪、跟踪器、逻辑笔、波形发生器、影子存储器、记时器、程序时效分析、数据时效分析、硬件测试仪、事件触发器等。支持汇编、c、pl/m源程序混合调试、软件模拟及项目管理等。
wave6000编译器是可以对80c51系列单片机进行c语言编译,使用它可以缩短开发周期,降低开发成本,而且开发出的系统易于维护,可靠性高,可移植性好,即使在代码的使用效率上,也完全可以和汇编语言相比。硬件支持包括:南京伟福e6000硬件仿真器、北京润飞机电公司产的rf-810智能型通用编程器及编程软件、深圳澳汉r&w读卡器等。
第六章 总结 与展望
变量施肥技术是精确农业技术的重要组成部分,对 发展 符合我国国情的变量施肥技术和实现农业可持续发展具有重要的理论意义和实用价值。本文在前人的研究基础上,借鉴国内外发展经验,结合吉林省科技基金等项目,以实现自动变量施肥作业的控制方法为研究对象,以自动变量施肥控制系统设计与地块网格识别和施肥机田间工作状态模拟为研究内容,进行自动变量施肥试验与示范。 论文 的主要研究工作和结论可以概括为:
(1) 分析影响施肥的主要因素和施肥控制原理,确定了自动变量施肥步进电机转速控制模型: ,确定变量施肥控制系统采用手动和自动两种控制方式。
(2) 分析了控制系统输入和输出条件,设计单片机硬件系统作为自动变量施肥执行机构的控制器。硬件电路主要包括dgps信号接收、速度传感器信号接收、键盘接收、ic卡接口、控制输出、显示及报警等部分。经过试验验证,系统稳定、可靠,达到使用要求。
(3) 使用单片机开发的高级语言工具c51编写控制程序,实现了自动模式下对dgps位置和速度信息的提取,完成对地块网格的正确识别和施肥量的查询,控制输出实现自动变量施肥;手动模式下实现了对地轮转速传感器脉冲信号和键盘值的读取与处理,控制输出频率,实现手动变量施肥。程序具有简单高效、结构清晰和一定的通用性等特点。
(4) 通过计算机与控制系统的通信,为控制系统提供地块和模拟dgps信号,实现控制系统对地块网格的识别和控制模拟。缩短系统开发和实验周期,同时为使用计算机直接控制变量投入等后续研究工作提供了思路,奠定了基础。
本文研究是基于地图的自动变量施肥控制,系统的稳定性也有待进一步提高。随着传感器技术和算法的进展,实时监测判断作物长势及营养需求一定能达到相当高的精度,从而实现真正意义上的实时自动变量作业。
目前,我国在精确农业技术很多方面处于消化吸收阶段,变量施肥的部分技术得到试验或应用。但是,对于如何结合国内的具体情况,进行变量施肥整个作业流程的设计和规划,如何把分散的变量施肥相关技术有机地整合在一起,在这方面尚缺乏必要的研究和试验。精确农业技术的普及推广在很大程度上依赖于与精确农业有关的机械设备研究,它们是传统的农业工程技术和 现代 信息技术结合的有机体。我国发展精确农业必须适应我国国情,既不能完全照搬国外的模式,又不能完全排外。在研究的初期采取采取国外与国内技术相结合的方法,根据我国现有技术及研究水平,组装研制适合我国田间的变量作业机具,在此基础上实现外购部件的国产化和产业化,这是降低精确农业各项投入成本的有效途径。
精确农业在 中国 的推广应用必将是一个漫长、渐进的过程,需要全社会相关部门的通力合作。
参考 文献
[1] 姚娜.《gis、mapinfo与mapbasic学习教程》.北京:北京大学出版社,2000
[2] 刘刚. 精细农业的技术组成、决策分析及在我国的应用实践. 农业现代化研究,2000,01:57~60
[3] 张书慧,马成林,于春玲.应用于精确农业变量施肥地理信息系统的开发研究. 农业工程学报,2002,18(2):153~155
[4] 吴才聪,张书慧,马成林,杨印生,韩云霞. 利用mapbasic划分精确农业田块网格方法的研究. 农业工程学报,2002,18(2):156~159
[5] 中国 电子 网.
[6] 黄智伟,王建军,盛国森. at24xx系列ic卡的读写操作控制.电子工程师,2000,10:46~48
[7] 马忠梅,马岩,张凯等. 《单片机的c语言应用程序设计》. 北京:北京航空航天大学出版社,1999
[8] 王广运,郭秉义. 差分gps定位技术与应用[m]. 北京:电子 工业 出版社,1996
[9] 南京伟福实业有限公司.
[10] trimble navigation limited. aggps™ 124 / 132 operation manual, revision: a. trimble navigation limited, february 1999, part number: 38747-00.
[11]韩云霞,张书慧,马成林等. 基于gps和gis的精确农业变量施肥空间数据采集与分析研究. 吉林省农业机械学会年会论文集,2002.12
[12]范逸之,陈立元等. 利用visual basic实现串并行通信技术. 清华大学出版社,2001
[13] 巩伟,陈志坚,梁冬莹. vb语言与mcs-51单片机在主从式通信中的应用.自动化技术与应用,2000,6(19):23~25
[14] 岳新利,张永进,孙毅. 基于mapx平台的地理信息系统开发技术的研究. 现代电子技术,2003,8:75~77