基于单片机的奶牛精量饲喂系统的设计研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的奶牛精量饲喂系统的设计研究
余泳昌;栗文雁;胡丰收;李春亮;张伟峰
【摘要】开发了由PC机为管理平台基于单片微机控制的奶牛精量饲喂系统,介绍了系统的硬件、软件设计等方面的问题.本系统以PC机为管理软件运行平台,以ETR100嵌入式系统为控制平台,共同作为奶牛个体识别的Rf射频身份识别系统和给料系统的核心.该系统能够实现奶牛身份自动识别,并通过采集奶牛信息,根据不同情况自动计算奶牛应喂的精料量及饲喂次数,自动分多次、分时段对每头奶牛进行精量饲喂.经试验证明,该系统可靠性高、稳定性好、功能强、可扩展性好等,有广阔的开发应用前景.
【期刊名称】《农机化研究》
【年(卷),期】2008(000)009
【总页数】4页(P108-111)
【关键词】精量饲喂系统;单片机;奶牛;识别
【作者】余泳昌;栗文雁;胡丰收;李春亮;张伟峰
【作者单位】河南农业大学,机电工程学院,郑州,450002;河南农业大学,机电工程学院,郑州,450002;河南农业大学,机电工程学院,郑州,450002;河南农业大学,机电工程学院,郑州,450002;河南农业大学,机电工程学院,郑州,450002
【正文语种】中文
【中图分类】S818.5
0 引言
目前,我国大多数奶牛场仍然采用传统的人工饲喂、人工管理,特别是在奶牛的精饲料饲喂方面,一般是人工进行精料掺料工作,这样容易造成奶牛精料食入量不易控制,更做不到对每头奶牛的饲养进行精确控制,造成了奶牛个体摄入量差异大、不合理。
这种饲喂方式浪费了大量的人力,而且对精饲料也是一种浪费,同时也无法按每头奶牛的具体情况进行单独的精量饲养[1]。
据统计,国内现在仅有少数奶牛场引进了国外的奶牛精料自动饲喂系统[1,2]。
由于经济水平所限和进口产品的价格因素,主要用于良种牛的饲养,未进行广泛的推广。
奶牛自动饲喂设备可以针对每头奶牛的不同情况,采用计算机自动控制供给不同量的精料,这样不仅提高了精料的利用率,避免了精料的利用不均,而且容易提高奶牛的奶产量,节省精料,可以提高牛场的经济效益。
因此,开发研制精量饲喂系统对转变传统饲喂方式具有重要的作用和积极的现实意义。
1 自动精量饲喂系统的硬件组成
1.1 系统的整体组成
系统的硬件结构示意图,如图1所示。
该系统主要由自动饲喂管理平台、奶牛饲喂控制台、奶牛身份自动识别系统和自动给料系统4部分组成。
采用PC机为自动饲喂管理平台运行管理软件;嵌入式系统作为控制台;采用Rf射频身份识别系统对奶牛的编号和身份进行自动识别[3,4]。
自动饲喂管理平台根据输入的奶牛信息查询数据库中的详细数据,自动判断是否达到精料供给的时间,并计算出需要供给的精料量,通过系统总线传输给奶牛饲喂控制台,给料系统接收到奶牛饲喂控制台发出的给料信号后,按预定的给料量自动下料,供奶牛采食[4,5]。
图1 硬件系统结构示意图Fig.1 The systematic structure figure of hardware 1.2 奶牛身份自动识别系统
奶牛身份自动识别系统主要完成奶牛身份的识别和数据的上传,由识别器和身份卡组成。
识别器采用进口射频识别模块,内部带有的处理芯片[6],负责完成读卡、
控制和通讯任务,RS485口带有静电防护能力,识别器接口连线简单,可以满足
大型工程安装布线的需要。
识别器由射频读卡模块、微处理芯片(AT89C2051)、
保护及串行存储、485接口芯片等硬件组成。
系统硬件结构图,如图2所示。
1.3 自动饲喂管理系统
硬件采用普通PC机,本系统对PC的硬件配置要求不高,CPU 133、内存64K以上即可。
自动饲喂管理软件是运行于PC机上的一套软件系统[6-8],是本系统数
据分析与计算的核心,用来完成数据收集、数据计算、数据分析处理,完成与饲喂台的通讯,获取饲喂台饲喂记录,向饲喂台发送计算过的饲喂数据,及时显示实时监控情况。
图2 奶牛身份自动识别系统结构图Fig.2 The systematic structure figure of com status automatic diagnosis
1.4 奶牛饲喂控制台
饲喂控制台由嵌入式微处理模块、通讯接口、LCD液晶显示屏、小型键盘、电源、机壳等组成。
微处理芯片采用Intel高性能32-bit嵌入式微处理器386EX为核心
的CPU板级模块-ETR100嵌入式PC。
其可以与计算机联机运行,也可以独立运行,即无论PC机开机与否都不影响饲喂控制台的运行[6,9],独立运行时可根据需要人工输入给料量等基本参数,也可以根据用户需求完全脱离PC机实现数据自动计算等全部功能。
1.5 给料系统
给料系统主要由单片微处理芯片、给料电机控制器、螺旋给料器、储料槽、饲喂槽等硬件组成。
通过485总线接收到PC机发出的给料信号后,给料系统自动按预
定的程序,输出给驱动电机,驱动电机按照一定转速运转,并通过螺旋给料器把储
料槽的饲料输出到饲喂槽中,供奶牛采食。
系统的关键是给料电机的转速精量控制,因此首先应该拟合出电机转速和给料量的函数关系式,输入到程序中,以达到精量控制的目的。
2 精量饲喂系统的软件设计
2.1 主程序设计
系统软件的主要功能是完成奶牛信息的采集、识别、处理,系统正常运行后,利用识别软件识别奶牛编号和身份[3,6]。
根据数据库内的资料进行对比分析,若不需
处理则转入下一个等待过程,若需处理则进行相应的处理,通过系统主信号线由主
系统发送给给料系统给料信号,让给料系统按照优化程序确定需要施加的精确给料量,供奶牛采食。
系统的主要流程如图3所示。
其中省略了主要的判断识别程序,而只用一个“等
待中断,循环工作”来表示这一过程。
由于整个系统采用PC机和单片微机共同控制,既相互独立又互相协作,大大增加了系统的可靠性,防止其中一个系统发生异常情况重新启动时系统瘫痪,保证了正常的运行。
图3 主程序设计Fig.3 Master routine design
2.2 精量饲喂控制台软件设计
控制台软件由主程序、数据库、通讯子程序、人机界面子程序等组成。
程序运行后通过人机交互程序在显示屏上显示信息,可以进行信息的输入、日志查询、日志打印等操作。
程序运行后,首先对下位机巡检一遍,看下位机是否运行正常,随后对下位机进行详细巡检;若无奶牛则进行下一下位机的巡检,若有奶牛在饲喂机旁,则识别奶牛编号,调用数据库信息给下位机发出相应的饲喂信息,由下位机执行。
下位机将饲喂信息在显示屏上显示,并将写入饲喂日志,同时每日定时向上位机传送饲喂日志信息[7-9]。
饲喂控制台要求即能联机工作又能独立工作,因此饲喂控制台有两种工作方式。
1)独立运行工作模式:开机后显示主窗口界面,用户根据提示输入基本信息,按“运行”后开始工作,若开机后5s内没有任何输入则转入自动运行。
进入自动运行后控制台首先对基本资料及各执行设备进行检查,若资料或设备非正常则提示用户进行数据输入或检查设备;若正常,控制台开始对奶牛身份识别器和给料电机控制器进行巡检,有数据后读取数据,并对数据进行分析,然后对相应的给料电机控制器发出控制命令,同时进行纪录。
2)主机联机模式:不仅完成上述功能,另外还完成与主机的通讯,根据主机发出的命令进行基础资料的上传和下传以及运行纪录的上传。
基础资料修改后,控制台会自动重新启动并自动运行。
2.3 奶牛信息自动识别系统软件设计
每台识别器单独连接计算机并设置好机号后就可以连入RS485网络,控制台逐台的巡检识别器,如果有读卡数据,就从这台识别器上读取数据,进行处理后,再巡检下一台。
识别程序包括主程序、读卡程序和串口通信中断服务程序。
主程序首先从X25045中取出本设备编号备用,然后进入循环,定时读卡。
通信中断服务程序用于检测RS-485总线发送的信号和起始代码。
当两者同时有效时,开始对后续接收的数据帧进行计数,当计数值与设备编号相同时,说明当前帧是给本设备的指令和数据,于是根据该指令和数据就可做出相应动作[8,9]。
2.4 给料系统软件设计
软件由主程序、通讯程序及步进电机驱动程序等组成。
主程序根据通讯程序接收到PC机发出的控制命令信息后,会进行判断操作,若不是发给本机的命令则不予理会,若是发给本机的命令则进行处理,调用电机驱动程序。
电机驱动程序根据命令产生相应频率和脉冲个数,驱动电机按照需要的速度运转,同时通过通讯程序反馈给上位PC机一个回应信号,确认已经进行操作。
2.5 可靠性设计
单片机系统对环境要求较高,为了保证系统能够在实际应用中连续、可靠地工作,保证总线中信号传输的可靠性,主要采取的措施有光电隔离、双绞线传输、阻抗匹配[7,9]。
设计有效的低通滤波器吸收电网中的大部分噪声干扰。
印刷电路板时考
虑把相互有关的器件尽量放得靠近些,在电路板的各个关键部位配置去偶电容,正确地将接地和屏蔽结合起来。
如果由于干扰跑飞的程序落到一个随意区域构成死循环,冗余指令和软件陷阱都将无能为力。
本系统控制台和饲喂台均采用“看门狗”电路;一旦出现程序执行异常或者死机,在规定时间内可重启动运行,从而达到保护系统的作用,大大提高了可靠性 [10,11] 。
3 系统调试试验
经过反复调试和试验验证,在奶牛身份自动识别系统上采用成熟、稳定、价格较低的Rf射频身份识别系统后,识别率和稳定性均达到了较高的水平,可以实现奶牛
身份的自动识别,并可自动分多次对每头奶牛进行精料饲喂。
对自动识别系统进行试验过程中,选择20头奶牛进行1000次识别,仅有4次识别出现错误,经过验证发现是由于操作不当和信号干扰产生的,系统识别正确率达到99.6%,可认为较高地满足了要求。
对给料系统进行调试时[12],首先采用人工输入信息法,即首先输入计算机中某奶牛对精料的需求量,由系统输出到对应的给料系统,检测给料系统的输出量。
试验共测了5组,每组测试10次,取其加权平均值,结果及其误差如表1所示。
表1 给料系统准确性测定Tab.1 For material system accuracy determination
试验组数输入给料量/kg实际给料量/kg误差
/%11.5001.5030.20021.5501.5550.323 31.7501.7480.114 42.0002.0100.500 52.5002.5120.480
从表1结果可以看出,系统采用步进电机和控制程序参数调整控制给料,给料量
调整方便可靠,选取电机功率远远大于拖动荷载,几乎不受荷载变化的影响。
因此,给料精度高,误差率仅为0.5%。
通常情况下,每天由管理员对料槽加料一次,供奶牛1天食用[6,13]。
由于系统设置了LED灯光和蜂鸣器声音提示线路,当料槽中的饲料减少到一定程度时,系统
会自动报警,灯光闪烁或者蜂鸣器发声,提示管理员进行相应的操作。
在程序调试过程中,通过安装Watch Dog防干扰技术,程序的自检测能力增强,通过人为的施加强干扰试验[14],系统可以在不能正常工作时自动重新启动,并且复位后可以继续工作,不存在信息丢失或者信息错乱的问题,系统的运行可靠[15]。
4 结论
1)本奶牛自动精量饲喂系统奶牛身份识别率高达99.6%,读卡准确,性能稳定,
在不同季节、不同地区使用不受环境因素影响,运行十分可靠。
2)采用步进电机和控制程序参数调整控制给料,给料量调整方便可靠,选取电机功率远远大于拖动荷载,几乎不受荷载变化的影响,给料精度高,误差率仅为0.5%。
3)本系统硬件设计方面在满足要求的前提下,尽可能选取价格较低的部件,软件设计遵循模块化原则,非常适合我国国情和农户、奶牛场的经济水平,具有广阔的推广应用前景,将为奶牛养殖业实现规模化、集约化、现代化发挥重要作用。
【相关文献】
[1] 高祀敏.奶牛喂饲料存在的问题[J].饲料世界, 2006(7):53-55.
[2] 谢岷.牛肉也有了“身份证”[J].山西农业:畜牧兽医版,2007(3):49.
[3] 周良墉.9WAFM-11型奶牛自动精准饲喂系统[J].农业装备技术,2004,30(1):45.
[4] 张华,魏臻.无线射频识别技术RFID及其应用[J].计算机安全,2007(7):26-28.
[5] 虞俊俊,赵犁,郜笙.应用无线射频识别技术的配送中心系统设计[J].工业工程与管理,2007,12(3):
95-98.
[6] 谭春林,坎杂,曾明军,等.无线射频识别技术在奶牛饲喂机器人上的应用[J].农机化研
究,2007(2):169-171.
[7] 杨季文. 80X86汇编语言程序设计教程[M].北京:清华大学出版社,1998:164-187.
[8] 师宝山,孙玉胜,陈继彬.电子标签技术及应用[J].郑州轻工业学院学报, 2006,21(4):32-34.
[9] 吴南斌.PC机及单片机数据通信[J].江西光学仪器,2001(2):8-12.
[10] 胡谦,赵丹阳.单片机应用系统抗干扰技术[J].黑龙江科技信息,2007(08S):52.
[11] 耿凡娜,张富庆.单片机应用系统设计中的看门狗技术探究[J].科学技术与工程 ,2007,7(13):3269-3271.
[12] 覃战冰,邓斌.基于单片机仿真器的单片机应用电路板故障测试系统的研究[J].国外电子测量技术,2006,25(11):16-19.
[13] 陈国先.PIC单片机应用系统可靠性技术研究[J].山东交通学院学报,2005,13(3):74-76.
[14] 杨宏丽,张健.单片机应用系统的抗干扰解决方案[J].微计算机信息,2005,21(5):121-122.
[15] 丁向荣,林知秋.基于PLC运行模式的单片机应用系统设计[J].机电工程, 2004,21(12):32-33.。