版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32的饲养喂食自动控制系统设计与实现摘要随着畜牧养殖行业向规模化、智能化方向转型,传统人工饲养模式存在人力成本高、投喂不精准、环境调控不及时、养殖数据追溯难等问题,已无法满足现代养殖行业的发展需求。针对上述问题,本文设计并实现了一套基于STM32单片机的饲养喂食自动控制系统,可实现规模化圈舍养殖场景下的全流程自动化管控。系统以STM32F103C8T6单片机为核心控制载体,集成温湿度采集、重量监测、水位检测、红外计数等多种数据采集功能,同时配套环境调控、自动投料、自动补水、定时清粪、语音提醒等执行机构,通过OLED显示屏实现本地数据可视化,借助ESP8266无线模块完成与阿里云物联网平台的数据交互,实现手机APP端的远程监控与设备控制。经实际测试,系统各项功能运行稳定,数据采集精度符合设计要求,执行机构响应及时,可有效降低养殖人力成本,提升饲养管理的精细化水平,具备较强的实际应用价值。关键词STM32单片机;自动饲养;物联网;环境调控;远程控制AbstractWiththetransformationofanimalhusbandryindustrytowardslarge-scaleandintelligentdevelopment,thetraditionalmanualbreedingmodehasmanyproblems,suchashighlaborcost,inaccuratefeeding,untimelyenvironmentalregulationanddifficulttraceabilityofbreedingdata,whichhasbeenunabletomeetthedevelopmentneedsofmodernbreedingindustry.Aimingattheaboveproblems,thispaperdesignsandimplementsasetofautomaticfeedingcontrolsystembasedonSTM32singlechipmicrocomputer,whichcanrealizethewholeprocessautomaticmanagementandcontrolinthesheeppenbreedingscene.ThesystemtakesSTM32F103C8T6singlechipmicrocomputerasthecorecontrolcarrier,integratesvariousdataacquisitionfunctionssuchastemperatureandhumidityacquisition,weightmonitoring,waterleveldetection,infraredcountingandclocktiming,andisequippedwithactuatorssuchasenvironmentalregulation,automaticfeeding,automaticwaterreplenishment,regularmanurecleaningandvoicereminder.ItrealizeslocaldatavisualizationthroughOLEDdisplayscreen,andcompletesdatainteractionwithAlibabaCloudInternetofThingsplatformthroughESP8266wirelessmodule,soastorealizeremotemonitoringandequipmentcontrolonmobileAPP.Theactualtestresultsshowthatallfunctionsofthesystemrunstably,thedataacquisitionaccuracymeetsthedesignrequirements,andtheactuatorrespondsinatimelymanner.Itcaneffectivelyreducethelaborcostofbreeding,improvetherefinementleveloffeedingmanagement,andhasstrongpracticalapplicationvalue.KeywordsSTM32singlechipmicrocomputer;automaticbreeding;InternetofThings;environmentalregulation;remotecontrol目录28618摘要 I10471Abstract II158941绪论 1237811.1研究背景和意义 2178161.2国内外发展现状 2234352功能与设计方案 328772.1系统功能要求 3170162.2系统设计方案 3145942.3器件方案对比 4294792.3.1单片机的选择 4215372.3.2温湿度检测模块的选型 522802.3.3通信模块的选型 545113系统的硬件设计 7142713.1STM32F103单片机 792853.2DHT11温湿度检测模块 889513.3ESP8266无线模块 9305273.4水位检测模块 10291133.5HX711重量检测模块 1189653.6OLED显示模块 12227553.7DY-SV17F语音模块 1256873.8FC-33红外对管 13196853.9按键模块 14313684系统的软件设计 15254814.1软件介绍 15240574.2软件程序的设计 16278364.2.1主程序流程图 16109924.2.2水位检测程序流程介绍 17171044.2.3语音模块程序流程介绍 1835605系统的测试 1956055.1软硬件调试 1976355.2实物展示 19213175.2.1自动投食功能 1911305.2.2动物数量检测功能 2043505.2.3手机APP远程操作界面 213567结论 2226371参考文献 231086谢辞 2510904附录A 265913附录B 271绪论1.1研究背景和意义畜牧养殖是我国农业经济的重要组成部分,规模化畜禽养殖凭借繁殖率高、适应性强、养殖收益稳定等优势,成为众多地区乡村振兴与农户增收的核心产业。随着市场需求的持续提升,畜禽养殖模式逐步从散户散养向规模化、集约化方向转型,传统人工饲养模式的短板也日益凸显。人工饲养模式下,投喂、补水、环境调控、清粪等日常工作均需人工完成,人力成本占养殖总成本的比重持续升高,且人工操作存在投喂量不精准、环境调控不及时、动物数量统计误差大等问题,直接影响动物的生长状态与养殖收益。同时,人工管理模式下,养殖过程中的各项数据无法实现系统化记录与追溯,难以形成精细化的养殖管理体系,无法适配现代畜牧养殖的发展需求。近年来,物联网、单片机控制、大数据等技术的快速发展,为农业养殖的智能化转型提供了坚实的技术支撑[1]。智能化养殖系统可通过各类传感器实现养殖环境与养殖过程的实时监测,通过自动执行机构完成全流程的自动化管控,大幅降低人力成本,提升养殖管理的精准度。在此背景下,本文设计一套基于STM32单片机的饲养喂食自动控制系统,针对养殖的实际场景需求,实现投喂、补水、环境调控、清粪、动物计数等全流程自动化管控,同时配套远程监控功能,为中小型养殖场提供一套低成本、高实用性的智能化养殖解决方案,助力畜牧养殖行业的数字化转型。1.2国内外发展现状1.2.1国外研究现状欧美等发达国家的畜牧养殖行业起步较早,规模化、智能化水平处于全球领先地位,为提升养殖效率与管理水平,这些国家自20世纪80年代就已开始将自动化控制技术应用于畜牧养殖场景。目前,国外发达国家的规模化养殖场已普遍实现全流程的智能化管控,形成了集环境监测、精准饲喂、健康监测、粪污处理于一体的智能化养殖体系[2]。美国作为全球畜牧养殖大国,在精准饲喂技术领域的研究成果尤为突出,多家农业科技企业研发的智能化饲喂系统,可通过RFID技术识别个体牲畜,根据牲畜的生长周期、体重与健康状态,精准控制投喂量与饲料配比,同时配套完整的养殖数据管理系统,实现养殖全流程的数据追溯。荷兰在畜牧环境智能管控领域技术成熟,研发的闭环式环境控制系统,可实时监测养殖棚内的温湿度、氨气浓度、通风量等参数,通过PID算法自动调控通风、加热、加湿等设备,为牲畜提供最适宜的生长环境,有效降低牲畜的发病率。欧洲多国的科研机构还研发了基于物联网的畜牧养殖管理平台,可实现多个养殖场的集中化远程管理,同时结合大数据分析技术,为养殖管理提供决策支撑,大幅提升养殖管理的效率。整体来看,国外的智能化养殖系统技术成熟,功能完善,但系统成本较高,配套设施要求严格,难以适配我国中小型养殖场的实际使用需求。1.2.2国内研究现状我国的畜牧养殖智能化发展起步较晚,但近年来随着乡村振兴战略的推进与农业现代化政策的扶持,国内众多科研机构与企业针对智能化养殖技术展开了大量研究,取得了丰富的研究成果,智能化养殖系统的应用也逐步普及。国内众多学者针对基于单片机的小型化饲喂系统展开了深入研究,设计了多款基于51系列或STM32系列单片机的自动饲喂系统,可实现定时定量投喂、环境参数监测等基础功能,系统成本低廉,适配中小型养殖场的使用需求。同时,国内物联网技术的快速发展,也推动了养殖监控系统的升级,众多设计将WiFi、4G等无线通信技术与养殖系统结合,实现了养殖数据的远程上传与监控,解决了传统系统本地管控的局限性[3]。此外,图像识别、人工智能等技术也逐步应用于畜牧养殖场景,实现了牲畜的个体识别、行为分析、疫病监测等进阶功能,进一步提升了养殖系统的智能化水平。但目前国内的智能化养殖系统仍存在一定的短板,多数系统功能单一,仅能实现单一的投喂或环境监测功能,无法实现养殖全流程的一体化管控;部分高端系统功能完善,但成本较高,操作复杂,对操作人员的专业能力要求较高,难以在中小型养殖场与散户养殖场景中推广应用。基于此,本文设计一套低成本、功能全面、操作便捷的饲养喂食自动控制系统,整合养殖全流程的自动化管控功能,同时配套简单易用的远程监控功能,适配国内中小型养殖场的实际使用需求。1.3本章小结本章阐述了畜牧养殖行业智能化转型的背景与趋势,指出了传统人工饲养模式存在的短板与不足,明确了本设计的研究意义与应用价值。通过梳理国内外智能化养殖技术的研究现状,分析了现有技术的优势与不足,为本设计提供了理论参考与技术方向。2功能与设计方案2.1系统功能要求结合养殖的实际工作流程与管理需求,本系统需要实现养殖全流程的自动化管控,具体功能需求分为以下几个方面:当环境温度低于设定下限值时,自动开启加热设备升温;温度高于设定上限值时,自动开启通风设备降温。当环境湿度低于设定下限值时,自动开启加湿设备;湿度高于设定上限值时,自动开启除湿设备,确保圈内的环境始终处于适宜动物生长的范围。系统可实时监测食槽内的饲料剩余重量,当重量低于设定的阈值时,自动控制舵机打开投料口,完成定量投喂,同时触发语音模块播放投喂提醒,引导动物进食[4]。投喂完成后,自动关闭投料口,避免饲料受潮浪费。同时支持定时投喂功能,可设定固定的投喂时间,到达时间后自动完成投喂动作。系统可实时监测饮水槽内的水位高度,当水位低于设定的下限值时,自动开启继电器控制水泵补水,当水位达到设定的安全值时,自动关闭水泵,确保饮水槽内始终有充足的清洁饮水,避免动物缺水。在入口与出口分别安装红外对管传感器,系统可通过检测红外对管的电平变化,自动识别动物的进出动作,入口检测到动物通过时数量加1,出口检测到通过时数量减1,实时统计动物数量,无需人工清点,降低管理工作量。通过实时时钟模块获取精准时间,可设定固定的清粪时间,到达设定时间后,自动控制步进电机正转,带动清粪刮板沿着地面移动,完成粪便清理工作,刮板移动到指定位置后,自动反转复位,无需人工操作,保持圈内的环境卫生。系统应具备便捷的本地人机交互功能,通过OLED显示屏实现全参数可视化展示,需实时显示系统实时时间、存栏畜禽数量、圈舍环境温湿度、饲料剩余重量、饮水槽水位高度等核心采集数据;同时配套独立按键模块,支持通过按键完成显示界面切换、温湿度/重量/水位等控制参数阈值调整、无需连接上位机电脑即可完成全部系统参数的本地化配置,保证操作便捷性。系统应具备远程监控与控制功能,通过WiFi无线通信模块接入阿里云物联网平台,需实现养殖现场采集数据的实时上传与云端存储;用户可通过手机APP端远程查看圈舍内全部养殖数据与设备运行状态,同时支持通过APP远程下发参数调整指令,修改系统各项控制阈值,远程控制加热、通风、补水、投料等执行设备的启停,实现养殖场的无地域限制远程管理,满足无人值守场景的管控需求。2.2系统设计方案单片机上电完成初始化后,数据采集层的各类传感器与模块持续采集数据,传输到单片机中;单片机对采集到的数据进行有效性校验与换算处理,通过OLED显示屏实时显示,同时通过ESP8266模块上传到阿里云平台;单片机将实时数据与设定的阈值参数进行对比,按照预设逻辑输出控制指令,控制对应的执行机构完成环境调控、投喂、补水等动作;用户可通过本地按键调整系统参数,也可通过手机APP完成远程查看与控制,形成完整的闭环管控体系。系统硬件模块工作框图如图2.1所示:图2.1系统硬件模块工作框图2.3器件方案对比2.3.1单片机的选择方案一:STM32F103C8T6单片机STM32F103C8T6基于ARMCortex-M3内核,主频最高72MHz,内置64KBFlash和20KBSRAM,拥有丰富的外设接口,包括3路12位ADC、3路USART串口、2路I2C接口、2路SPI接口,可同时对接多个传感器和执行机构,满足系统多数据采集与多设备同步控制的需求。芯片支持-40℃至85℃的工业级工作温度范围,抗干扰能力强,可适应养殖场景复杂的环境,同时开发资料丰富,库函数完善,可大幅缩短开发周期,兼顾处理性能、接口扩展性与开发便捷性。方案二:STC89C52单片机STC89C52基于51内核,主频最高11.0592MHz,内置8KBFlash和512BRAM,外设接口资源有限,仅支持基础的串口与IO口控制,开发难度低,成本低廉,但处理能力有限,无法满足系统多路ADC采集、多电机同步控制、无线通信数据处理的需求,多任务运行时易出现卡顿和数据延迟,仅能实现简单的单功能控制,无法适配本系统多任务、多设备的控制需求。综合对比处理性能、接口扩展性、环境适应性与开发便捷性,最终选择STM32F103C8T6作为系统的主控制器。2.3.2无线通信模块选型方案一:ESP8266-12FESP8266内置完整的TCP/IP协议栈,支持WiFi通信,通过简单的AT指令即可完成网络配置与数据传输,开发难度低,传输速率快,可直接对接阿里云物联网平台,模块体积小巧,成本低廉,且养殖场景内可直接复用现有WiFi网络,无需额外搭建通信基站,无需持续投入通信资费,适配中小型养殖场的使用需求。模块支持低功耗运行模式,可满足系统长期稳定运行的需求。方案二:BC20NB-IoT模块BC20NB支持窄带物联网通信,可实现广域覆盖,无需依赖本地WiFi网络,适合偏远户外养殖场景,但模块成本较高,数据传输速率低,仅能满足小数据量的传输需求,通信资费需持续投入,开发流程复杂,且本设计的应用场固定,可稳定接入本地WiFi网络,该方案的优势无法充分发挥,整体性价比低于WiFi方案。综合对比开发难度、使用成本、通信性能与场景适配性,最终选择ESP8266-12F作为系统的无线通信模块。2.3.3显示模块选型方案一:OLED显示屏OLED分辨率128×64,采用自发光显示技术,无需背光源,黑暗的养殖棚内仍具备高对比度与清晰可视性,仅需2根信号线即可完成与主控的通信,占用IO口资源少,功耗低,抗震动性能强,可适应养殖场景内的潮湿、多尘环境,支持中文、数字与符号显示,可分区呈现系统各项采集数据与参数设置,人机交互体验良好。方案二:1602LCD1602LCD仅支持显示两行英文与数字,无法显示中文,可视角度小,黑暗环境下需额外加装背光源,功耗较高,占用IO口资源多,需要8根数据线与3根控制线才能完成驱动,无法满足系统多参数显示与中文标注的需求,人机交互体验较差,且抗潮湿、抗粉尘能力弱于OLED显示屏,不适合养殖场景的使用环境。综合对比显示效果、接口占用、环境适应性与人机交互体验,最终选择0.96寸I2C接口OLED显示屏作为系统的本地显示设备。2.4本章小结本章完成了系统的功能需求分析,明确了系统需要实现的环境调控、自动投喂、自动补水、动物计数、定时清粪、人机交互、远程控制等核心功能,设计了系统的四层总体架构与整体工作流程。同时,针对系统的核心器件完成了方案对比与选型,通过分析不同方案的优势与不足,确定了主控制器、无线通信模块、显示模块的最终选型,为后续的硬件电路设计与软件开发奠定了坚实的基础。3系统的硬件设计3.1STM32F103单片机最小系统电路是单片机正常运行的基础,为整个系统提供核心控制与时钟基准,本设计的最小系统电路主要由电源电路、晶振电路、复位电路、BOOT设置电路四部分组成。电源电路采用Type-C接口输入5V电源,通过XC6206线性稳压芯片将5V电压转换为3.3V,为单片机与周边外设供电,电源输入端并联100μF电解电容与0.1μF陶瓷电容,滤除电源中的纹波与干扰,单片机的每个电源引脚都并联0.1μF去耦电容,就近接地,进一步提升电源稳定性。晶振电路分为两路,8MHz无源晶振连接到单片机的OSC_IN与OSC_OUT引脚,两端并联22pF匹配电容,为系统内核提供主时钟基准;32.768kHz无源晶振连接到RTC时钟引脚,两端并联12.5pF匹配电容,为实时时钟提供精准的计时基准。复位电路采用RC复位网络,10K电阻与0.1μF电容组成上电复位电路,同时搭配轻触按键实现手动复位,保证单片机上电自动复位与运行过程中的手动复位需求。BOOT设置电路通过两个10K电阻,将BOOT0与BOOT1引脚下拉至地,设置单片机为闪存启动模式,匹配程序烧录与正常运行的需求。代码中完成系统时钟配置,将PLL倍频至64MHz,为所有外设提供稳定的时钟基准,同时完成所有IO口的时钟使能与初始化配置。系统核心硬件模块与STM32单片机引脚连接表如表3.1所示:表3.1系统核心硬件模块与STM32单片机引脚连接表模块名称模块引脚STM32单片机引脚功能说明DHT11温湿度检测模块DATAPA7温湿度数据单总线通信ESP8266-12F无线模块RXDPA2(USART2_TX)串口数据接收ESP8266-12F无线模块TXDPA3(USART2_RX)串口数据发送电阻式水位检测模块OUTPA0(ADC1_CH0)水位模拟信号采集HX711重量检测模块DTPB13重量数据串行输入HX711重量检测模块SCKPB12模数转换时钟输出0.96寸I2COLED显示模块SDAPB14I2C串行数据信号0.96寸I2COLED显示模块SCLPB15I2C串行时钟信号DY-SV17F语音模块RXDPA9(USART1_TX)串口指令发送DY-SV17F语音模块TXDPA10(USART1_RX)模块应答接收FC-33红外对管模块(入口)OUTPA6入口动物通过信号检测FC-33红外对管模块(出口)OUTPA8出口动物通过信号检测独立按键模块S1PB3界面切换功能独立按键模块S2PB4参数上调功能独立按键模块S3PB5参数下调功能独立按键模块S4PB6确认设置功能独立按键模块S5PB7手动控制功能STM32F103单片机接线情况如图3.1所示:图3.1STM32F103单片机接线情况3.2DHT11温湿度检测模块环境温湿度是畜禽生长状态与健康水平的关键影响因子,其采集数据是系统环境自动调控功能的核心决策依据,因此本设计需实现圈舍环境温湿度的高稳定性、高可靠性实时采集。本设计选用DHT11数字温湿度传感器完成温湿度数据采集,该传感器内部集成了温湿度传感元件、信号调理电路与高精度模数转换单元,可直接输出经出厂校准的数字信号,无需额外搭建模拟信号放大与调理电路,大幅简化了外围硬件设计。同时,模块采用单总线通信协议,仅需1根数据线即可完成主控与传感器间的双向数据交互,极大节约了单片机IO口资源,适配本系统多外设同步接入的硬件资源规划。电路连接上,传感器VCC引脚接入系统3.3V直流电源,GND引脚直接连接系统地,DATA串行数据引脚与单片机的PA7引脚相连;为保障总线通信稳定性,在DATA引脚与VCC之间接入1kΩ上拉电阻,确保总线空闲状态下维持稳定高电平,避免信号传输过程中出现电平抖动与误码问题。DHT11温湿度检测模块实际接线图如图3.2所示:图3.2DHT11温湿度检测模块实际接线图3.3ESP8266无线模块无线通信模块是系统实现远程监控与控制的核心桥梁,负责完成单片机与阿里云物联网平台之间的数据交互,本设计选用ESP8266-12F模块完成无线通信功能。该模块支持32位处理器与完整的TCP/IP协议栈,支持WiFi通信与MQTT协议,可直接对接阿里云物联网平台,通过简单的AT指令即可完成网络配置、服务器连接、数据发布与订阅等操作,开发难度低,体积小巧,成本低廉,完全满足系统的远程通信需求。电路连接上,模块的VCC引脚接入系统3.3V电源,GND引脚连接到系统地,RXD串口接收引脚与单片机USART2的TX2引脚相连,TXD串口发送引脚与单片机USART2的RX2引脚相连,实现串口双向通信,EN使能引脚通过10K电阻上拉至3.3V电源,保证模块上电后自动进入运行模式,RST复位引脚通过轻触按键接地,配合上拉电阻构成复位电路,可实现模块的手动复位。模块与单片机之间通过UART串口实现数据交互,通信波特率设置为115200bps,可满足数据实时传输的需求。在模块的电源输入端并联100μF电解电容与0.1μF陶瓷电容,组成二级滤波电路,滤除电源纹波,避免模块发射无线信号时产生的电源波动,影响模块的稳定运行,同时在串口通信线上串联22Ω限流电阻,抑制信号线上的高频干扰,保证通信的稳定性。代码中完成USART2串口的初始化配置,开启串口接收中断,实现AT指令的发送与响应数据的解析,完成传感器数据的上传与远程控制指令的接收。ESP8266无线模块实际接线图如图3.3所示:图3.3ESP8266无线模块实际接线图3.4水位检测模块饮水槽内水位是保障动物正常饮水的关键参数,自动补水功能对水位数据的实时性与稳定性要求较高。本设计选用电阻式水位传感器,完成饮水槽水位高度的实时监测。该传感器可将水位高度转换为线性变化的模拟电压信号,水位越高,传感器内部的导通电阻越小,输出的模拟电压值越大,输出电压与水位高度呈良好的线性关系,无需复杂的换算即可得到准确的水位数据。电路连接上,传感器的VCC引脚接入系统3V电源,GND引脚连接到系统地,模拟信号输出引脚与单片机的PA0引脚相连,PA0引脚对应单片机内部ADC1的第0通道,可将输入的模拟电压信号转换为12位的数字量。电路中在信号输出端与地之间接入0.1μF陶瓷滤波电容,滤除信号线上的高频干扰,避免养殖环境内的电机、水泵等设备运行时产生的电磁干扰,导致采集数据出现跳变,保证水位数据的稳定性。代码中完成ADC1通道的初始化配置,开启连续转换模式,设置12位转换精度,程序中每500ms完成一次ADC数据的读取与线性换算,将转换后的数字量换算为0-100%的水位百分比,为自动补水动作提供准确的判断依据。水位检测模块实际接线图如图3.4所示:图3.4水位检测模块实际接线图3.5HX711重量检测模块食槽内剩余饲料重量是自动投料功能的核心决策依据,该功能的稳定运行必须以高精度、高稳定性的重量采集能力为支撑。为此,本设计选用HX711高精度模数转换芯片,搭配电阻应变式压力传感器,完成食槽内饲料剩余重量的实时精准采集。HX711芯片内置24位高精度模数转换器与可编程增益放大器,可将压力传感器输出的毫伏级微弱差分信号放大并转换为数字信号,无需额外搭建运算放大电路,有效降低了养殖环境内的电磁干扰对测量精度的影响。电路连接上,HX711芯片的VCC引脚接入系统5V电源,GND引脚连接到系统地,DT串行数据引脚与单片机的PB13引脚相连,SCK串行时钟引脚与单片机的PB12引脚相连,电阻应变式压力传感器的差分信号输出端,直接接入HX711芯片的A+与A-模拟输入通道。芯片采用两线制串行通信方式,通过SCK引脚输入时钟信号,DT引脚同步输出转换完成的数字信号,通信时序简单,无需占用硬件通信接口,通过普通IO口模拟时序即可完成数据读取。代码中对PB12与PB13引脚进行通用IO口初始化,分别配置为推挽输出与浮空输入模式,通过模拟时序完成芯片的配置与重量数据的读取,同时在程序初始化阶段完成去皮校准操作,消除食槽自重对测量结果的影响。HX711重量检测模块实际接线图如图3.5所示:图3.5HX711重量检测模块实际接线图3.6OLED显示模块本地显示是系统人机交互的核心载体,需要直观、清晰地呈现系统的各项采集数据与参数设置状态,本设计选用0.96寸I2C接口OLED显示屏完成本地数据显示。该显示屏基于SSD1306驱动芯片,分辨率128×64,支持I2C串行通信协议,仅需两根信号线即可完成指令与数据的传输,大幅节省单片机的IO口资源,同时采用自发光显示技术,无需背光源,在黑暗的养殖棚内仍能保持清晰的显示效果,可视角度广,功耗低,抗震动性能强,适配养殖场景的使用环境。电路连接上,显示屏的VCC引脚接入系统3.3V电源,GND引脚连接到系统地,SCL串行时钟线与单片机的PB15引脚相连,SDA串行数据线与单片机的PB14引脚相连,两根信号线分别串联22Ω限流电阻,避免信号传输过程中的尖峰电压损坏显示屏的驱动芯片,同时在电源引脚处并联0.1μF去耦电容,保证电源的稳定性。电路设计中严格控制信号线的长度,降低传输过程中的电磁干扰,避免显示屏出现乱码、卡顿等问题。代码中完成单片机硬件I2C接口的初始化配置,适配显示屏的通信时序,实现中文、数字与符号的点阵显示,同时支持多页显示模式,可根据按键操作切换不同的显示界面,完成采集数据展示与参数设置的可视化呈现。显示模块实际接线图如图3.6所示:图3.6显示模块实际接线图3.7DY-SV17F语音模块DY-SV17F是一款性价比较高的语音合成模块,集成了文本到语音的转换芯片,内置普通话语音库,并支持用户自定义词典。DY-SV17F模块的供电电压为5V,串口波特率9600bps。模块的VCC和GND分别接5V和地,RXD和TXD引脚分别接STM32的PA9(USART2_TX)和PA10(USART2_RX)。语音合成芯片内部Flash的容量有限,需要我们在MCU端缓存文本数据,然后分段发送给模块合成播放。DY-SV17F模块对文本格式有严格要求,必须是GB2312编码的文本文件,否则会出现乱码。DY-SV17F语音模块实际接线图如图3.7所示:图3.7DY-SV17F语音模块实际接线图3.8FC-33红外对管畜禽存栏数量统计是养殖日常管理的核心工作之一,传统人工清点方式不仅耗时费力、工作强度大,还极易出现漏数、多数等统计误差。针对这一痛点,本设计通过两组红外对管传感器,实现畜禽进出圈舍动作的精准识别,完成存栏数量的自动化实时统计。红外对管分为发射端与接收端,发射端持续发射红外光线,接收端在无遮挡时可接收到红外光线,输出高电平,当有动物通过遮挡红外光线时,接收端输出电平翻转为低电平,单片机通过检测引脚电平的变化,即可识别动物的通过动作。电路连接上,两组红外对管分别安装在入口与出口位置,每一组红外对管的发射端阳极通过100Ω限流电阻接入5V电源,阴极直接接地,接收端的集电极通过10K上拉电阻接入5V电源,发射极直接接地,输出引脚分别与单片机的PA6、PA8引脚相连,入口红外对管对应PA6引脚,出口红外对管对应PA8引脚。电路中在输出引脚与地之间并联0.1μF滤波电容,滤除养殖环境内的自然光、灯光等光线干扰,避免出现误触发的情况。代码中对PB4、PB5引脚进行下拉输入模式初始化,开启引脚电平变化中断,当检测到引脚电平从高到低的跳变时,触发中断服务函数,完成动物数量的加减统计,入口触发时数量加1,出口触发时数量减1,最终得到实时动物数量。FC-33红外对管实际接线图如图3.8所示:图3.8FC-33红外对管实际接线图3.9按键模块为了实现人工干预和参数设置,系统外接了5个轻触按键。按键的一端分别接STM32的PB3、PB4、PB5、PB6、PB7引脚,另一端共同接地。利用STM32的GPIO外部中断功能,实现按键事件的检测和处理。GPIO中断可以配置为上升沿触发、下降沿触发或双边沿触发。为了避免按键抖动带来的误触发,我们选择下降沿触发模式。每当按键按下时,就会触发EXTI中断,MCU在中断服务函数中执行相应的操作。在中断服务函数中不宜执行过于耗时的操作,否则会影响其他中断的响应。可以通过标志位的方式,在主循环中判断按键事件,然后再执行相应的任务。按键模块实际接线图如图3.9所示:图3.9按键模块实际接线图3.10本章小结本章详细完成了饲养喂食自动控制系统的全部硬件电路设计,从核心控制的最小系统电路,到各类数据采集电路,再到执行机构的驱动电路与无线通信电路,逐一完成了电路连接设计与器件匹配。同时结合养殖场景的潮湿、多尘、电磁干扰复杂的使用环境,针对性加入了电源滤波、信号抗干扰、防误触发、断电保护等设计,保证系统在复杂的养殖环境中仍能稳定运行。所有电路设计均完成了引脚匹配与代码初始化适配,为后续的软件开发与系统联调奠定了完整的硬件基础。4系统的软件设计4.1软件介绍本系统的软件开发基于KeilMDK5集成开发环境完成,该环境由ARM公司推出,专为ARM内核单片机设计,内置完整的C/C++编译器、代码编辑器、硬件仿真调试器与程序烧录工具,可完成从代码编写、编译、调试到程序下载的全流程开发。程序编写采用C语言完成,代码结构清晰,可读性强,可移植性好,基于STM32标准外设库实现底层外设的配置与驱动,无需直接操作底层寄存器,大幅简化了开发流程,缩短了开发周期。阿里云物联网平台的设备对接,采用平台提供的MQTT协议固件,通过AT指令完成WiFi连接、服务器对接、数据发布与订阅等操作,无需额外编写复杂的协议解析代码,降低了开发难度。手机APP端基于阿里云飞燕平台的公版APP模板完成界面配置,通过可视化拖拽的方式完成控件布局与物模型参数绑定,无需额外进行安卓与IOS原生代码开发,进一步缩短了开发周期,同时保证了APP的稳定性与兼容性。Keil_5软件界面如图4.1所示:图4.1Keil_5软件界面4.2软件程序的设计4.2.1主程序流程图系统主程序采用轮询式架构设计,避免复杂的实时操作系统带来的资源占用,同时保证各项功能的同步稳定运行。单片机上电后,首先进入SystemClock_Config函数完成系统时钟配置,将内核时钟倍频至64MHz,为所有外设提供稳定的时钟基准;随后进入MX_GPIO_Init、MX_ADC1_Init、MX_TIM_Init、MX_USART2_UART_Init等函数,完成所有外设的初始化配置,包括GPIO口、ADC、定时器、串口、中断等;初始化完成后,进入外设自检流程,依次完成OLED显示屏初始化、DS1302时钟芯片初始化、HX711重量传感器去皮校准、ESP8266模块初始化与WiFi连接、阿里云平台对接,所有外设自检通过后,进入主循环流程。主循环采用无限轮询的方式,依次执行按键扫描与参数设置函数、传感器数据采集函数、OLED显示刷新函数、执行机构逻辑控制函数、WiFi数据上传与远程指令解析函数,每一个函数都设置固定的执行周期,通过定时器中断生成的1ms时基信号控制执行频率,避免程序出现阻塞,保证各项功能的实时性。其中,按键扫描函数每10ms执行一次,传感器数据采集函数每500ms执行一次,显示刷新函数每200ms执行一次,执行机构控制函数每100ms执行一次,WiFi数据上传函数每1s执行一次,所有函数均采用非阻塞式设计,确保主循环可流畅运行。系统逻辑流程图如图4.2所示:图4.2系统逻辑流程图4.2.2水位检测程序流程介绍水位检测是本系统的重要功能之一,主要目的是实时监测饮水槽的水位高度,当水位低于设定阈值时,及时开启水泵补水,保证饮水供应。在主程序初始化阶段,我们需要配置ADC1的工作模式。这里我们选择DMA传输模式,设置好DMA通道、传输方向、数据宽度等参数。我们还要设置ADC1的采样通道、采样时间、转换顺序等。进入主循环后,水位检测程序每隔一定时间自动执行一次。一旦发现标志置位,就立即驱动继电器吸合,水泵开始工作。程序继续监测水位的变化,一旦水位恢复到阈值以上,就立即清除水泵标志,水泵停止工作。水位采集程序流程图如图4.3所示:图4.3水位采集程序流程图4.2.3语音模块程序流程介绍语音模块在本系统中主要用于发布投喂开始、结束等提示信息,在主程序初始化阶段,我们需要配置USART2的工作模式,如波特率、数据位、停止位等参数,以匹配语音模块的通信协议。然后,我们还需要初始化语音模块,设置音量、播放速度等参数。主程序在运行过程中,如果需要播放语音,就会置位语音播放标志。语音模块的通信协议比较特殊,需要严格遵守帧头、帧尾等格式,否则容易出现乱码或沙哑等问题。语音模块的合成速度有限,发送文本时不宜过快,每发送一个字节都需要等待应答,以免数据丢失。为了提高语音播报的实时性,我们可以采用中断方式,一旦检测到需要播报的事件,就立即触发语音合成和播放,减少延迟。语音子程序流程图如图4.4所示:图4.4语音子程序流程图4.7本章小结本章完成了系统全部软件程序的设计,从底层外设驱动到上层业务逻辑,从本地功能实现到远程平台对接,逐一完成了程序流程设计与功能实现。所有程序均采用结构化设计,逻辑清晰,运行稳定,与硬件电路完全适配,实现了系统设计的全部功能需求,为系统的联调测试与实际应用提供了完整的软件支撑。5系统的测试5.1软硬件调试5.1硬件焊接与基础调试系统硬件电路设计完成后,绘制PCB电路板,完成元器件的采购与焊接,焊接完成后,首先进行基础的硬件调试工作,确保硬件电路可正常运行。第一步进行通断检测,使用万用表的通断档,对电路板的电源与地网络进行检测,确认二者之间无短路情况,随后对所有元器件的焊接引脚进行检测,确认无虚焊、连焊、漏焊等问题,焊接质量符合设计要求。第二步进行电源测试,通过Type-C接口为系统接入5V直流电源,使用万用表测量各电源节点的电压值,确认XC6206稳压芯片的输出电压稳定在3.28V-3.32V之间,符合设计要求,5V与3.3V电源网络无明显纹波,电源稳定性良好。第三步进行最小系统测试,通过ST-Link下载器将测试程序烧录到单片机中,确认单片机可正常启动与运行,所有IO口电平输出正常,晶振电路起振正常,复位功能正常。第四步进行外设单元测试,对每一个外设电路进行单独的测试,通过测试程序验证传感器是否可正常采集数据,执行机构是否可正常响应控制指令,无线通信模块是否可正常连接WiFi网络,逐一排查并解决焊接与电路设计中的问题,确保所有外设电路均可正常工作,完成全部硬件电路的调试。5.2软件烧录与联调硬件单元测试完成后,进行系统的软硬件联调工作。首先将编写完成的完整系统程序,在KeilMDK5环境中进行编译,解决编译过程中出现的语法错误与警告,编译无错误后,通过ST-Link下载器将程序烧录到单片机中。系统上电后,通过串口调试助手查看系统的启动日志,确认系统可正常启动,所有外设完成初始化与自检,无报错情况,程序可正常进入主循环。联调工作分为四个步骤,第一步测试本地数据采集功能,通过串口调试助手打印采集到的各项数据,确认所有传感器可正常采集数据,数值准确,无跳变、缺失等问题,数据校验与异常值剔除功能正常。第二步测试按键与显示功能,依次按下所有功能按键,确认按键可正常切换界面、修改参数,OLED显示屏内容同步刷新,无乱码、卡顿、花屏等问题,人机交互功能正常。第三步测试执行机构的控制功能,通过修改程序中的阈值参数,模拟不同的采集数据场景,确认所有执行机构可按照预设逻辑正常启停,动作响应及时,无误触发、不动作等问题,互锁保护功能正常。第四步测试无线通信与远程对接功能,确认ESP8266模块可正常连接WiFi网络与阿里云平台,数据可正常上传到平台,平台下发的远程指令可被系统正常接收与执行,完成系统整体的软硬件联调。5.2实物展示5.2.1自动投食功能测试过程中,在食槽内放置不同重量的砝码,模拟饲料剩余量的变化,对比设定的重量阈值,测试舵机的投料控制与语音提醒功能。测试结果显示,重量采集精度符合设计要求,重量低于阈值时自动完成投料动作,语音提醒同步触发,功能运行稳定。自动投食功能如图5.1所示:图5.1自动投食5.2.2动物数量检测功能测试过程中,用遮挡物模拟动物的进出动作,分别遮挡入口与出口的红外对管,查看系统统计的动物数量变化。测试结果显示,系统可准确识别进出动作,数量统计无误差,无漏触发、误触发的情况,完全满足动物计数的功能需求。动物数量检测功能如图5.2所示:图5.2动物数量检测功能5.2.3手机APP远程操作界面测试过程中,通过手机APP绑定设备,查看实时上传的各项数据,同时下发阈值修改、设备启停的远程指令,查看系统的响应情况。测试结果显示,数据上传实时性良好,无延迟、丢包情况,远程指令可被准确识别与执行,远程监控与控制功能完全符合设计要求。手机APP远程操作界面如图5.3所示:图5.3手机APP远程操作界面5.3本章小结本章完成了系统的硬件焊接调试、软件联调与全功能分项测试,测试结果显示,系统所有硬件电路运行稳定,数据采集精度符合养殖场景的实际需求,软件程序逻辑正确,执行机构响应及时,无线通信功能正常,所有设计功能均已完整实现,可稳定应用于实际的饲养场景,达到了预期的设计目标。结论本文针对传统饲养模式存在的人力成本高、管理精细化不足、智能化水平低等痛点问题,设计并实现了一套基于STM32的饲养喂食自动控制系统,完整完成了系统的需求分析、方案设计、硬件电路开发、软件程序编写、云平台对接与系统测试全流程工作。系统以STM32F103C8T6单片机为核心控制载体,整合了多维度的数据采集功能,可实现环境温湿度、饲料剩余重量、饮水槽水位、动物数量的实时监测,同时配套了自动化的环境调控、精准投喂、自动补水、定时清粪等执行功能,通过本地OLED显示与独立按键实现了便捷的人机交互,借助ESP8266无线模块与阿里云物联网平台,实现了手机端的远程监控与控制,形成了养殖全流程的闭环管控体系。经实际测试,系统各项功能运行稳定,数据采集精度满足养殖场景的实际使用需求,执行机构响应及时,无误触发、漏动作等问题,可7×24小时长期稳定运行,有效降低了养殖过程中的人力投入,提升了饲养管理的精细化与智能化水平。系统硬件成本低廉,安装调试便捷,操作简单,无需操作人员具备专业的技术能力,可完美适配国内中小型养殖场与散户养殖的实际使用需求,具备较强的实际应用价值与市场推广前景。参考文献王荣华,张燕斌,杨凯.羊圈带式饲喂输送系统设计研究[J].安徽农业科学,2025(5).颜中练,叶俊指导,余永海,等.基于51单片机的家禽养殖投食系统设计与实现[J].电子制作,2022,30(17):14-17.黄万转,吴晓刚.多功能智能宠物投食器的设计与实现[J].福建电脑,2023,39(2):90-93.高文静,王静.智能鱼缸远程控制系统的设计[J].电子测试,2021(17):6.龙小丽,杨泽锋,黄闯,等.基于单片机的智能宠物投食系统设计[J].信息技术与信息化,2021(04):076.魏雨婷.一种便于清洗的宠物喂食器的设计[J].内江科技,2024,45(6):15-16.刘红刚,张丽慧,钟林忆,等.基于数字孪生的智慧猪场管理平台设计与应用研究[J].现代农业装备,2022,43(6):38-44.金红伟,吕占民,周小燕,等.2022年畜牧养殖机械化进展情况[J].农机科技推广,2023(2):12-16.施安,马小明,杨坚,等.现代化畜牧业"智慧"发展探析[J].饲料博览,2022(001):000.李想,李保明,施正香.畜禽智能化养殖技术装备研究现状与发展趋势[J].农业工程学报,2023,39(02):1-14.杨梦迪,麦欢欢,葛宏义.基于Arduino的智能家兔产箱系统设计与实现[J].现代信息科技,2023,7(20):45-49.禚度鹏."智慧畜牧"在县域畜牧业监管中的应用实践[J].中国动物检疫,2024,41(4):31-37.许亚改,韩立肖,刘宏娟,等.智能化技术在生猪养殖中的应用[J].畜牧业环境,2024(4):32-33.鲍健,张桐语,张印.规模化畜禽养殖环境影响及生态治理对策研究[J].家畜生态学报,2023,44(08):80-86.张贺,徐安安,徐晓红.乡村振兴背景下滨州市畜牧业发展水平研究[J].东北农业科学,2024(6).杨红杰.畜牧养殖技术推广中存在的问题及对策[J].中国畜牧杂志,2022,58(04):238-241.朱立红.浅谈智能化育肥猪养殖的发展趋势[J].畜牧业环境,2024(10):138-139.胡天赐,王文生,齐景伟,等.新一代信息技术背景下养殖智能装备发展趋势分析[J].农业大数据学报,2023,5(3):56-68.邓开美,姚兰.畜禽养殖污染物控制系统设计与处理[J].中国畜牧业,2022(1):32-33.沈明霞,陈金鑫,丁奇安,等.生猪自动化养殖装备与技术研究进展与展望[J].农业机械学报,2022,53(12):1-19.熊本海,蒋林树,杨亮.我国畜禽智慧养殖现状与未来发展方向[J].智慧农业(中英文),2020,2(04):1-12.赵春江.农业智能装备与智慧农业发展展望[J].农业机械学报,2020,51(01):1-11.谢辞本论文的完成,离不开各位老师、同学与家人的支持与帮助,在此我谨致以最诚挚的谢意。首先,我要衷心感谢我的指导老师。从论文的选题、方案设计,到硬件开发、软件编写,再到论文的撰写与修改,老师都给予了我悉心的指导与耐心的帮助。老师严谨的治学态度、深厚的专业知识与丰富的实践经验,为我解决了设计过程中遇到的诸多难题,也让我学到了科学的研究方法与严谨的学术态度,在此向老师致以最崇高的敬意。同时,我要感谢我的同学与朋友们,在系统设计与调试的过程中,我们相互交流、相互帮助,共同解决了很多技术难题,他们的支持与陪伴,让我顺利完成了系统的设计与论文的撰写。最后,我要感谢我的家人,在我的学习与论文写作过程中,他们始终给予我无条件的支持与鼓励,为我提供了安心的学习环境,是我完成学业与论文写作的坚强后盾。求学之路漫漫,此次毕业设计是我大学学习生涯的总结,也是我未来人生的新起点。在未来的工作与学习中,我将继续保持严谨的治学态度与不断探索的精神,努力提升自己,不负各位老师与家人的期望。附录A原理图:附录B部分源程序:#include"main.h"#include"adc.h"#include"tim.h"#include"usart.h"#include"gpio.h"/*Privateincludes*//*USERCODEBEGINIncludes*/#include"./HAL/key/key.h"#include"./HAL/OLED/OLED_NEW.H"#include"./HAL/delay/delay.h"#include"./HAL/ds1302/ds1302.h"#include"./HAL/dht11/dht11.h"#include"./HAL/HX711/hx711.h"#include"./HAL/motor_bujin/motor_bujin.h"#include"./HAL/AliESP8266/AliESP8266.h"/*USERCODEENDIncludes*//*Privatetypedef*//*USERCODEBEGINPTD*/voidKey_function(void); //按键函数voidMonitor_function(void); //监测函数voidDisplay_function(void); //显示函数voidManage_function(void); //处理函数/*USERCODEENDPTD*//*Privatedefine*//*USERCODEBEGINPD*/uint8_tUSART1_TX_BUF[200];#defineu1_printf(...)HAL_UART_Transmit(&huart1,USART1_TX_BUF,sprintf((char*)USART1_TX_BUF,__VA_ARGS__),0xffff)uint8_tUSART2_TX_BUF[200];#defineu2_printf(...)HAL_UART_Transmit(&huart2,USART2_TX_BUF,sprintf((char*)USART2_TX_BUF,__VA_ARGS__),0xffff)uint8_tUSART3_TX_BUF[200];#defineu3_printf(...)HAL_UART_Transmit(&huart3,USART3_TX_BUF,sprintf((char*)USART3_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届山东省滨州市惠民县物理高二第一学期期中达标测试试题含解析
- 2027届浙江省杭州市北斗联盟物理高二第一学期期中复习检测试题含解析
- 2026年生物安全考试题库及答案详解
- 2026年报关实务海关监管方式题库及答案详解
- 2026年天津渤海轻工投资集团有限公司校园招聘考试题库及答案详解
- 2026年三基药学考试题库及答案详解
- 2026年司法考试笔试题库及答案详解
- 2026年石料矿安全员考试题库及答案详解
- 2026年输血知识考试模拟题库及答案详解
- 2026年骨外科主治医师专业实践能力考试题库及答案详解
- 2026年龙游经开高新控股集团有限公司及其子公司公开招聘合同制员工11人的笔试备考试题及答案详解
- 2026年咸宁通山县公安局公开招聘警务辅助人员10人(第四批)笔试模拟试题及答案详解
- 2026年安徽农金稽核考试题库
- 2025年舟山市定海区工会人员招聘考试试题及答案详解
- 2026新教科版四年级科学上册第一单元第5课《空气流动有力量》课件
- 2026年广东省春季高考(学考)语文真题(含解析)
- 2026年秋统编版(新)小学道德与法治三年级上册(全册)分层作业及答案(附目录)
- 2026年广州市中考物理试卷(含答案及解析)
- 《UI界面设计》高职全套教学课件
- 2026年江苏事业单位招聘(公共基础知识)考试真题及答案
- 2025年江苏泰州市中考语文试卷真题及答案详解(精校打印)
评论
0/150
提交评论