基于STM32的生猪生长参数自动检测系统
2020-03-16毛凌青匡迎春黄佳琪邓力元
毛凌青 匡迎春 黄佳琪 邓力元
摘要:随着科学的发展与时代的进步,传统的农业已经向着智能化、自动化、信息化的方向发展。本文主要说明设计制造一个基于STM32单片机的生猪生长参数自动检测系统。TFT LCD触摸液晶屏显示与发出指令,射频模块识别每一头生猪,HC-SR04超声波测量生猪的高度,MLX90614红外测温模块测量生猪的体温,HX711重量传感器测量体重并且STM32采集AD数据返回体重值。通过这一系列的模块测量以及STM32对其数据采集,最后可完成这套自动检测系统的设计,实现生猪检测自动化、智能化。
关键词:生猪;STM32单片机;HC-SR04超声波;MLX90614红外线;自动检测
中图分类号:S24 文献标识码:A
文章编号:1009-3044(2020)02-0244-03
Abstract: With the development of science and the progress of the times, traditional agriculture has developed towards the direction of intelligence, automation and information. This paper mainly describes the design and manufacture of an automatic detection system for pig growth parameters Based on STM32 microcontroller. The TFT LCD touches the LCD screen to display and issue commands, the RF module identifies each pig, the HC-SR04 ultrasonic measures the height of the pig, the MLX90614 infrared temperature module measures the body temperature of the pig, the HX711 weight sensor measures the weight and the STM32 collects the AD data to return the weight. Through this series of module measurement and STM32 data acquisition, the design of this automatic detection system can be completed, and the pig detection is automated and intelligent.
Key words: Pig; STM32 single chip; HC-SR04 ultrasonic; MLX90614 infrared; automatic detection
1 概述
隨着现代科学技术的发展与进步,出现了越来越多的智能化设备,农业生产已经向着智能化、机械化、自动化的方向发展。但是目前生猪养殖还未向着智能化、自动化方向发展,传统养殖的方式依旧占据的大多数。近年来随着各种各样的单片机被制作与研发,单片机已经应用于工业控制领域、农业领域等一系列领域。为了让农场主了解生猪生长的状况以及预防应对各种如传染病一类的疾病,本文设计了一个基于STM32单片机的生猪生长参数自动检测系统,能够检测每一头生猪的身高、体重、体温,可以通过STM32的TFTLCD液晶触摸显示屏显示生猪的身高、体重、体温,通过按键可以切换不同的生猪显示信息,并且可以通过STM32单片机将数据传送给PC主机。从而实现对生猪各种生长参数自动检测以及监控预防生猪的一些疾病。本系统实用性好,发展前途较好,是一个优秀稳定的生猪生长参数自动检测系统。
2 系统结构
本系统将STM32F103ZET6作为主要的控制芯片,整个设备主要由STM32F103ZET6单片机系统板、HC-SR04超声波模块、MLX90614红外测温模块、HX711重量传感器、RFID射频识别模块、TFT LCD触摸液晶屏组成。利用射频识别系统,在每只生猪的耳朵上设置一个电子耳标,从而可以识别出每头生猪。在生猪进食的附近设置检测站,当生猪进食的时候,超声波可以检测到生猪与天花板的距离,从而根据整个房间的高度算出生猪的身高,红外测温模块不需要直接接触生猪,可以间接测出生猪的体温,在生猪进食的检测站下放置HX711重量传感器,可以测出生猪的体重参数。STM32单片机可以采集红外测温模块和重量传感器的AD数值,从而得到具体的体重体温参数。最后通过WIFI通信模块将数据传送给PC主机。系统结构图如图1所示。
3 系统硬件设计
3.1 单片机选用
STM32F103系列属于中低端的32位ARM微控制器。STM32F103系列最高工作频率72MHZ,具有从256K至512K字节的闪存程序存储器、高达64K字节的SRAM。该系列芯片性能强大,性能远远高于51单片机,而成本则低于STM32F4系列单片机,完全适用于本系统的设计。
3.2 射频识别模块
射频识别技术(Radio Frequency Identification,简称RFID)是一种非接触式的自动识别技术,它通过射频信号可以自动识别目标对象,并且可以进行物品追踪和快速的数据交换[1]。该模块的目的是对于每一头生猪进行识别,在生猪的耳朵上设置一个电子标签,当生猪进入传感器范围内,电子标签能够发送每一头生猪对应的编号以及其生理参数等信息给读写器,从而STM32单片机可以识别出每一头生猪,同时也对该生猪的各项生理参数进行检测并且将数据更新返回至电子标签。养殖业主便能轻易地了解到每一头生猪的生长状况。
3.3 HC-SR04超声波模块
HC-SR04超声波测距模块是一种非接触式的测距传感器,可提供2cm-400cm的非接触式距离感测,实测数据显示,测量精度较高,性能稳定[2]。在本系统中该模块的作用是测量生猪的垂直高度,HC-SR04精确度高,最小测量单位可以达到到1mm,生猪的垂直高度一般在50cm到90cm之间,所以HC-SR04完全可以精确测量生猪的垂直高度。
3.4 MLX90614模块
MLX90614 是一款用于非接触式温度测量的红外温度计。MLX90614 集成有低噪声放大器、17 位 ADC 和强大的 DSP 单元,因此温度计兼具高精度和高分辨率。MLX90614可以在不接触物体情况下,利用物体自身红外辐射,直接测量温度,实现非接触实时采集显示温度数据[3]。MLX90614具有体积小、精度高、测温范围宽等优点,该传感器具有结构简单、性价比高、工艺性强,便于实现批量化生产等特点[4]。在本系统中该模块用于测量生猪的体温,MLX90614对物体温度的测量范围在-40至85°C,精度高达0.5°C,分辨率高达0.02°C,MLX90614完全可以精准测量生猪的体温。
3.5 HX711模块
HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片。用HX711设计的电子秤精度可达1g,测量的一致性好,测量误差为+/-1g,且成本低、体积小等优点,可广泛应用于小量程高精度电子称重的场合[5]。本系统使用HX711模块采集生猪体重信息,通过STM32单片机进行AD采样,读取HX711的24位AD值,从而得到生猪的体重参数。HX711精度高、测量范围大,足够生猪体重的测量。
本文设计了一个全桥电路,该全桥电路由四个压力传感器组成,每个传感器最大负载值为50kg,所以总的最大负载为200kg。而成年生猪的体重在90kg到120kg之间,所以该全桥电路组成的重力传感器完全能够测量生猪体重。下图2是全桥电路电路图。R1、R2、R3、R4应变电阻相同,C接HX711的E+端口,A接HX711的E-端口,由HX711对全桥电路AC端提供电压。B接HX711的A+端口,D接HX711的A-端口。由HX711采集BD端的电压变化。传感器无负载时,该传感器上BD端的电压U0为未放重物的初始电压,可通过HX711采集未放重物时对应的AD初值。当有重物在传感器上时,应变片电阻会发送变化,导致UBD会发送变化,因为所用四个应变片完全相同,所以△UBD≈E*dR/R。Ks为材料灵敏系数,应变为ε,电阻变化率为dR/R,有公式dR/R=Ks*ε。根据胡克定律,固体材料受力之后,材料中的应力 σ与ε成正比[6]。所以dR/R与应力σ成正比,即输出电压变化△UBD与传感器所受应力成正比。测量传感器负载时的AD值,再与传感器无负载时的AD值比较,通过实际测量重量转换公式即体重=(ADnow-ADinit)/7800,可算出物体的重量。
4 系统软件设计
4.1 系统主程序
首先进行设备初始化,当生猪在进食站进食时,STM32单片机控制射频读写器发送射频信号给生猪上的射频卡,当贴有电子标签的生猪进入发射天线工作区域时,就能将存储在电子标签的数据发送出去,读写器便能读取出电子标签内的数据信息,从而达到识别的目的。之后进行生猪生长参数测量。将得到的数据进行存储并且通过WiFi模块传送给PC主机。系统主流程图如图3所示。
4.2 射頻识别模块程序
将射频读写器进行初始化,通信过程就是射频读写器与射频卡之间进行通信,通信方式为半双工通信,所以在通信之前要建立一定的通信协议。射频读写器发出指令信号,如果射频卡在射频信号范围内就会接收到信号,射频卡接受信号后指令译码,处于被有限状态的控制中,处理数据,并把处理后的结果返回。该模块的工作流程图如图4所示。
4.3 信息采集模块程
生猪识别之后,可通过STM32F103ZET6单片机采集生猪的垂直高度、体重、体温等生理参数。将采集的数据保存并返回至生猪的电子耳标的射频卡中,还可将生猪生理数据通过WiFi模块传至PC主机。该模块的工作流程图如图5所示。
5 总结
本系统将STM32F103ZET6作为主控芯片,为每一头生猪安装电子耳标,通过射频识别模块识别每一头生猪。利用STM32F103ZET6单片机测量与采集生猪的身高、体重、体温等生长生理参数,并且将数据传送至PC主机。实验证明本系统成本低,性能好,可靠性较高,系统性能完善。通过本系统,用户可以直观地观测到生猪生长的生理状况,较大程度上可以满足用户需求,适用于用户对生猪生长参数的自动检测。
参考文献:
[1] 邓泽群.射频识别RFID技术及其应用[J].中外企业家,2019(25):131.
[2] 苏琳.基于HC-SR04的超声波测距器的设计[J].科技信息,2012(09):125+124.
[3] 余国卫.基于单片机的非接触式测温系统[J].电脑知识与技术,2017,13(24):206-207.
[4] 徐留根. 基于MLX90614的数字式红外温度传感器设计[A]. 航空工业测控技术发展中心、中国航空学会测试技术分会、状态监测特种传感技术航空科技重点实验室.“测试性与智能测控技术”——2018年中国航空测控技术专刊[C].航空工业测控技术发展中心、中国航空学会测试技术分会、状态监测特种传感技术航空科技重点实验室:中国航空学会,2018:3.
[5] 葛海江.基于HX711的高精度电子称重研究[J].电子测试,2019(10):31-32.
[6] 段然,肖立峰.材料拉伸试验中影响应变片测量精度的因素分析[J].机械设计,2013,30(12):76-80.
【通联编辑:梁书】