智能喂食系统设计_第1页
智能喂食系统设计_第2页
智能喂食系统设计_第3页
智能喂食系统设计_第4页
智能喂食系统设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1哈尔滨工业大学毕业设计(论文)I-摘要本文主要是实现一个宠物智能喂食系统的设计,智能喂食系统主要是以单片机为控制核心,通过单片机的定时系统,用户可随意设置宠物喂食时间,当系统定时时间到了,系统控制执行机构自动往宠物的食物盘中倾倒食物,根据设定的倾倒食物时间倾倒预先设定的食物量,当食物倾倒完成后,系统控制音频模块发出诱食的声音,吸引宠物到食物盘处进食,并且用户可以通过物联网系统随时查看宠物的进食数据以及控制和修改系统的进食时间设定。在完成本系统设计过程中,主要完成了以下内容。首先,阐述了本文研究的背景及目的意义,并分析了国内外关于智能喂养系统的研究现状。其次,设计了智能喂食系统的方案,并对整个系统的流程进行了分析,针对方案的模块进行了详细介绍。在设计得到的方案基础上对智能喂食系统的硬件进行了设计,并对其中各个模块电路进行了设计。本文设计了智能喂养系统的软件流程,对系统的字模块软件进行了分析和设计。最后,设计了智能喂食系统的实物,在此基础上进行了喂食过程的实验验证。关键词:定时;智能喂养;单片机

AbstractThisarticleismainlytorealizethedesignofapetintelligentfeedingsystem.Theintelligentfeedingsystemmainlyusesasingle-chipmicrocomputerasthecontrolcore.Throughthetimingsystemofthesingle-chipmicrocomputer,theusercanfreelysetthepetfeedingtime.Whenthesystemtimingisreached,thesystemcontrolactuatorautomaticallysendsthepettothepet.Thefoodisdumpedinthefoodtray,andthepresetfoodamountisdumpedaccordingtothesetfooddumpingtime.Afterthefoodisdumped,thesystemcontrolstheaudiomoduletomakeatemptingsoundtoattractpetstothefoodtraytoeat,andtheusercanTheInternetofThingssystemcanviewpets'feedingdataatanytimeandcontrolandmodifythefeedingtimesettingsofthesystem.Incompletingthedesignofthissystem,thefollowingcontentsweremainlycompleted.First,thebackground,purposeandsignificanceoftheresearchinthisarticlearedescribed,andthecurrentstatusofresearchonintelligentfeedingsystemsathomeandabroadisanalyzed.Secondly,theschemeofintelligentfeedingsystemisdesigned,andthewholesystemprocessisanalyzed,andthemodulesoftheschemeareintroducedindetail.Basedonthedesignscheme,thehardwareoftheintelligentfeedingsystemisdesigned,andthecircuitofeachmoduleisdesigned.Thispaperdesignsthesoftwareprocessoftheintelligentfeedingsystem,andanalyzesanddesignsthewordmodulesoftwareofthesystem.Finally,thephysicaldesignoftheintelligentfeedingsystemisdesigned,andtheexperimentalverificationofthefeedingprocessisperformedonthisbasis.Keywords:TimingIntelligentfeedingSinglechipmicrocomputer目录TOC\o"1-3"\u摘要 IAbstract II第1章绪论 11.1研究背景 11.2研究目的 21.3国内外研究现状 31.4本文主要研究内容及章节安排 41.4.1本文主要研究内容 41.4.2本文章节安排 5第2章智能喂食系统方案设计 62.1智能喂食系统方案 62.2主控芯片STM32 72.3显示屏LCD1602 82.4电机驱动模块 102.5物联网NB-IOT 11本章小结 12第3章智能喂食系统硬件设计 133.1智能喂食系统硬件设计方案 133.2主控芯片STM32最小系统电路设计 143.3音频驱动电路 173.4LCD显示电路 173.5按键输入电路 183.6物联网模块电路 19本章小结 20第4章智能喂食系统软件设计 214.1智能喂食系统软件设计 214.2喂食过程软件流程设计 224.3LCD显示流程设计 234.4按键模块 244.5WIFI通信程序设计 25本章小结 26第5章智能喂食系统实物设计 275.1智能喂食系统实物组成 275.2硬件调试 275.3系统功能调试 285.4智能喂食系统实验验证 29本章小结 30结论 31致谢 错误!未定义书签。参考文献 错误!未定义书签。附录1译文 错误!未定义书签。附录2英文参考资料 错误!未定义书签。附录3硬件原理图 错误!未定义书签。附录4部分程序源码 错误!未定义书签。第1章绪论1.1研究背景随着生活环境的改善,人们对生活的追求越来越高,现在饲养宠物的人越来越多,对于动物的关注目前也是社会一个很现实的问题,保护动物是生活中文明的体现。由于宠物的主人将宠物放在家中,白天因为工作会经常错过宠物喂食的时间,这样会导致宠物成长过程不健康。因此市面上出现了宠物自动喂食器产品,主要就是解决家中无人是自动给宠物喂食。不过目前市面上的产品很多都是半自动产品,无法精确喂食的食物量,主人也不能随时远程控制喂食。在我国市场上目前主要是针对一两种宠物的自动喂食产品,并没有针对大众动物的自动喂食产品,目前市面上的产品主要针对于猫或者狗之类的宠物,其他的还没有在市场上销售的。另外,市场反馈的数据,像这种智能化的产品销量不是很好,目前用户使用的不多,原因主要由大多数宠物饲养者还是习惯了人工喂食,即使因为工作忽略了宠物的喂食,另外智能喂养产品的销售价格偏高,而且操作复杂,一旦系统出现问题,售后也很难跟上。智能喂食系统可放入的宠物食品的种类不多,也不能更新新的技术和客户其他要求。这些又将涉及到新产品的系统设计是否成熟,包括市场销售服务系统设计是否结合实用环境考虑,是否从行业的持续性发展考虑,是否从动物身体需要的深层考虑等因素。因此本文针对这些问题,结合不同地域、不同的生活环境、不同的消费能力,从产品设计角度结合物联网技术和智能化技术,对家庭宠物智能化喂食器进行研究,并加以论述和提出新的改进方案。因此本文提出了设计智能喂食系统。智能喂食系统以单片机为控制核心,通过控制电机驱动系统实现食物的传输。扩展系统的外围模块,可实现录音诱食、远程监控等功能。目前,计算机技术以及控制水平的不断发展,各种数字控制电子产品不断被应用到市场上,MCU技术发展迅速,各种IC器件的成本也不断下降,所以实现低成本的自动化喂食系统产品十分必要。宠物的智能喂养系统主要是完成对家庭宠物的自动喂食服务,在人工喂养耗时以及家里没人情况下,智能喂食系统完美的替代人工喂食。智能喂食系统不需要人在现场,可实现远程操作,十分方便。本文设计宠物智能喂食系统的可以实现对宠物的进行科学喂食,并且可以完全解决无人在家时宠物的喂养问题。另外,物联网系统可将数据传至服务器端,用户可进一步对数据进行分析,从而实现对宠物健康状态全方面分析。1.2研究目的我国经济水平快速发展,各地方城市化脚步加快,目前家庭饲养宠物已经成为了越来越普遍的现象,并且宠物在家庭的地位也是不断的提升,因此宠物的喂养也是饲养家庭关心的问题。很多饲养宠物的家庭都无法保证按照给宠物喂食,当今高速发展的社会生活中,很多宠物饲养者由于工作和学习等原因十分繁忙,这样白天或者由于工作原因去外地出差,宠物无法按照正常时间进食,有许多人会将宠物寄养到自己的朋友或亲戚处,也有将宠物送到宠物店,可是由于有些宠物对生人或者是新环境不适应导致生病或者出现其它状况。因此,研究出新型的宠物自动喂食器是市场需求。因此本课题选择智能喂食系统为研究,智能喂养系统主要是以单片机为控制核心,通过单片机的定时系统,用户可随意设置宠物喂食时间,当系统定时时间到了,系统控制执行机构自动往宠物的食物盘中倾倒食物,根据设定的倾倒食物时间倾倒预先设定的食物量,当食物倾倒完成后,系统控制音频模块发出诱食的声音,吸引宠物到食物盘处进食,并且用户可以通过物联网系统随时查看宠物的进食数据以及控制和修改系统的进食时间设定。宠物智能喂食系统可以保障宠物能够按时按需得到食物,让宠物主人出远门也能安心。此外,智能宠物喂食系统可以随时远程控制宠物定时定量的进食,设计简单方便,在市场上具有实用价值和商业价值。近年,城市中越来越多的人饲养宠物,但由于工作和其它因素,一些人不能经常在家喂养宠物,造成宠物不能按时进餐,从而出现一系列不良的问题。因此,为解决上述问题,有人开始研发适合家庭宠物自动喂食的产品,为了确保宠物单独在家无人照料时,自动喂食系统可对宠物进行喂食,此产品的概念不仅智能化,还要合理化,并且使用简单化。可合理的设定喂食的时间以及喂食的多少,另外,系统操作简单,方便用户快速上手。关于宠物智能喂食系统研究,对于我国宠物行业的发展有重要意义,对预测整个行业的发展趋势有很大帮助,从而可以更精确的掌握我国相对于国外的竞争力差距在哪,从而可以为减小差距提出更科学的措施。研究目的是让宠物用品能够充分发挥其自身优势和潜力,使宠物用品企业之间形成良性竞争,提高我国这类产品的生产信用度和产品竞争水平,从而提升我国关于宠物行业产品的国际竞争力。根据相应用户体验的反馈,在产品开发流程上有了较为明确的指导方向,提高家庭宠物喂食器产品的自主研发能力。综上所述,研究智能喂食系统不仅能解决宠物的自动进食问题,还对于我国发展宠物相关产业具有重要意义。1.3国内外研究现状目前国内外关于宠物智能喂食系统研究已经有不少成果,并且在市面上已经有很多相关产品,大多都是以单片机为控制核心实现的自动控制系统。之前在我国举办的国际宠物用品展会中,当时所有关注点都聚焦在宠物自动喂食产品上,这也从侧面反映出宠物的自动喂食设备是市场的需求,也是未来宠物用品需求较大的产品。在中国一家德国特瑞士中国分公司,在展会上展示了多款关于宠物自动喂食的产品,当时参与展会的公司相关技术人员也表明,未来宠物的用品都会朝着智能的方向发展,并且产品设计要简单适用。对于目前高科技处于迅速发展,智能化的普遍应用,使人在使用过程中更灵活、设备更精确和更人性化,并符合“绿色”电子的要求,体现了以人为本的设计理念。目前国内市场已开始有多款功能各异,价格参差不齐的宠物智能喂食产品,解决了一部分宠物饲养者的关于宠物定时定量喂养的难题。但是很多产品开发者都是从产品的角度出发,而忽略了饲养者的诉求,在国内这种情况非常普遍,很多产品只是实现单一的喂食功能,而忽略了产品向智能化以及信息化方向发展。目前万物联网的概念在国内非常普及,因此远程控制和监测宠物喂食是很多饲养者的诉求。国内学者发表的一篇名为“家庭智能宠物喂食器造型设计”的期刊,当中特别提到了智能家居是未来家庭电器发展的趋势。因此,智能喂食系统将会在国内的受到更大的关注。国外的宠物行业领先我国,他们的宠物行业更侧重于如何饲养培训宠物,还有实行医疗保健制度和实施方案,发展趋势和研究方向。在国外宠物的保险行业已经表现出非常拟人化。在查阅文献和资料可以发现,国外对宠物行业的研究的广度和深度都较我国前卫,其先进的管理给我国宠物产品设计带来重要启示。让产品既能满足基本的功能需求又能增加宠物主人在使用过程中的用户体验舒适性。实用性和适用性是判断宠物产品的重要标准。如今宠物用品市场中呈现两极分化,一种是欧美高端用品,其价格较高;另一种是来自东南亚的低端用品。还有一点,国外的宠物喂食器研究的重点是在产品的智能化方面,在智能化技术方面相对而言比较成熟,比国内厂商只注重产品本身方面要走得更远一些,但也存在一些问题。国外的过于注重智能技术,而忽视了人—机器—宠物三者之间的交互体验,缺乏一些以人为本的设计理念。Petnet智能宠物喂食器就是一个典型的案例。它可以提供自动化喂食、警告和通知,并给出合理的喂养方式。控制合理的喂食量。但忽视了人才是产品的操作者和用户体验者。目前“万物联网”的概念不断被提出,物联网技术的应用也在生活中随处可见。因此,通过物联网技术实现自动化宠物喂食系统是物联网技术的基本应用。1.4本文主要研究内容及章节安排1.4.1本文主要研究内容本文主要是实现一个宠物智能喂食系统的设计,智能喂养系统主要是通过用户设置宠物喂食时间,当设定时间到了,系统自动往宠物的食物盘中倾倒食物,根据设定的倾倒食物时间倾倒预先设定的食物量,当食物倾倒完成后,系统控制音频模块发出诱食的声音,吸引宠物到食物盘处进食,并且用户可以通过物联网系统随时查看宠物的进食数据以及控制和修改系统的进食时间设定。智能喂食系统是以STM32芯片为控制核心,通过按键设置定时喂养时间,电机驱动模块负责食物的传送。当开始启动系统智能喂养计时,系统内部实时比较设定时间与当前时间,当智能喂养时间达到后,系统控制电机驱动模块传输食物,当传输食物的时间达到了设定的时间,系统控制电机驱动模块停止传输食物,此时控制音频模块工作,发出诱食的声音,吸引宠物进食。用户可随时通过物联网系统远程进行喂养和获取系统的数据。智能喂食系统利用主控芯片STM32单片机对各个系统模块进行控制。通过键盘模块配合LCD显示模块设定喂养时间,主控芯片实时读取系统的当前时间,从而判断喂养系统是否开始工作。单片机通过IO控制电机驱动模块工作,喂食时电机正传,停止实物传输时电机停止运行。实物传输后,主控芯片控制音频发出声音进行诱食。本文主要完成的内容可概述如下:设计智能喂食系统的方案框架,系统利用STM32单片机作为主控芯片,利用电机控制食物倒入宠物的食物盘中;通过定时将食物通过到入食口,当倒食口的盖子打开时间达到设定时间时,系统关闭盖子。当食物满足要求后,频模块发出声音,进行诱食。设计智能喂食系统的硬件电路,以单片机STM32为核心的最小电路系统,包括电源电路,复位电路,晶振电路以及程序下载电路;按键输入模块电路设计、LCD显示电路以及控制电机驱动电路。设计智能喂食系统的软件流程,根据智能喂养系统的总体方案结合STM32主控芯片的程序运行原则,设计了智能喂养系统的程序主流程图,对喂食过程流程、LCD显示模块流程、按键输入流程以及物联网通信流程进行了设计。结合方案、硬件电路以及程序流程图,完成了智能喂养系统的实物设计,对每个实物模块功能进行了阐述,并对硬件以及软件调试进行了说明。1.4.2本文章节安排本设计主要研究设计智能喂养系统,在此基础上,对本文的结构安排如下所述。第一章节主要对宠物喂食的背景进行了分析,从而引出智能喂食的主题。在此基础上,分析了国内外关于宠物智能喂食的研究现状。第二章节,对宠物智能喂食系统方案的设计,并对系统的流程进行分析,对系统内的模块进行了详细说明。第三章节,对宠物智能喂食系统的硬件电路的设计,并对每个模块的电路进行了设计和分析。第四章节,对宠物智能喂食系统的软件进行设计,每个动作模块的流程图进行剖析和设计。第五章节设计宠物智能喂食系统的实物系统,模拟实验验证宠物智能喂食系统的工作流程。第2章智能喂食系统方案设计本章节主要对智能喂食系统方案进行研究与设计,并对整个智能喂食系统的工作流程进行概述,对方案中的模块进行说明。2.1智能喂食系统方案智能喂食系统,图2-1所示,系统包括以单片机为核心的主控系统,音频模块、电机驱动模块、物联网无线通信模块、按键输入模块以及LCD显示模块。智能喂食系统通过用户设置宠物喂食时间,当设定时间到了,系统自动往宠物的食物盘中倾倒食物,根据设定的倾倒食物时间倾倒预先设定的食物量,当食物倾倒完成后,系统控制音频模块发出诱食的声音,吸引宠物到食物盘处进食,并且用户可以通过物联网系统随时查看宠物的进食数据以及控制和修改系统的进食时间设定。主控芯片主要是通过检测按键输入信号,修改系统的喂食定时时间,并且通过LCD显示直接显示时间,便于用户直观查看定时时间。当到达喂食时间,主控芯片通过控制IO驱动电机驱动模块进行传送食物动作,根据设定的传送食物时间,主控芯片自动停止食物的传输动作,并且控制音频模块进行诱食动作。主控芯片实时读取物联网的数据,从而执行用户的远程命令。本系统主控芯片采用STM32是一种功耗低、性能好的32位微控制器,相对于很早之前的51单片机,STM32有了非常大优化,内部FLASH比较大,外设资源丰富,函数调用简单,目前STM32已经是市面使用最广的一款单片机芯片。本设计使用LCD1602,驱动模块使用步进驱动系统,无线模块使用目前市面上通用的NB-IOT设备,开发简单,音频模块使用蜂鸣器。STM32手机WIFI电路音频电路系统主控芯片LCDSTM32手机WIFI电路音频电路系统主控芯片LCD显示模块无线模块电机驱动模块音频模块按键模块键盘电路键盘电路LCD电路驱动电路LCD电路驱动电路系统主控芯片LCD显示模块无线模块电机驱动模块音频模块系统主控芯片LCD显示模块无线模块电机驱动模块音频模块按键模块系统主控芯片LCD显示模块无线模块电机驱动模块音频模块按键模块2.2主控芯片STM32单片机技术发展越来越普及,目前应用非常广泛,基本上生活中的电子设备使用的控制技术都离不开单片机技术。目前单片机广泛应用于各行各业的产品中。目前,单片机在仪器测量行业领域、医疗电子设备、智能家用电器设备以及工业控制领域应用非常广泛,市面上很多产品都是以单片机作为主控芯片。智能仪器领域中,因为单片机体积较小,在工作时功耗低,控制和运算能力强大,并且方便扩展使用,目前在智能仪器领域广泛应用。配合不同的传感器可以设计出不同的检测仪器。配合AD采样芯片可设计用于测试电压的仪器。配合精密采样电阻或者霍尔传感器,设计电流的检测仪器;配合DHT11温湿度传感器,设计温湿度检测仪器,其他很多物理量的测量都可以通过传感器加上单片机的方案实现。在工业控制领域中,目前像很多机电设备,电机控制器等都是使用的单片机,因为单片机体积较小,在工作时功耗低,控制和运算能力强大,并且方便扩展使用。在电机控制中,单片机外设丰富,主频高,运算能力强大,可以实现精确的控制。工业设备中,目前很多国产PLC系统、机器人控制系统、电梯控制系统以及变频器驱动系统都是应用单片机作为主控芯片进行稳定准确的控制。在家用电器领域,生活中只要用到的电器需要用到控制的基本上都使用了单片机。家家户户都需要用到的空调,就是通过单片机获取温度传感器的数据实现对室内温度的控制。家用扫地机器人、智能教育机器人以及微波炉等,都是单片机作为主控芯片进行智能控制。目前生活中几乎所有的电子产品都会有单片机集成的模块,手机,目前几乎人手一部,手机的系统里至少有两个及以上单片机集成的模块。汽车作为出行工具,在汽车的控制系统中,至少有50多个单片机模块。高铁系统中,至少上百个单片机模块工作。因此,单片机无论在任何领域,都有非常广泛的应用。本文设计的智能喂食系统可划分为智能家用电器的应用,解决了宠物喂养的难题,本系统使用的单片机为STM32作为主控芯片。STM32F1系列是一款32位的ARM处理器,由意法半导体ST公司研发并生产,内核采用Cortex-M3。STM32F1芯片的FLASH等级划分非常广,有小容量FLASH16K和32KByte,中等容量的64K和128KByte,大容量可达到512KByte。芯片内部集成了很多外设,方便用户使用。定时器外设,CAN通信、ADC采样、SPI通信、IIC、USB以及UART通信外设,正因为有如此多的通信外设模块,在系统级别的产品开发中应用非常广泛。本设计选用的是STM32F103R8T6芯片,此款芯片主频达到了72MHZ,有64KByte的FLASH,20KByte的RAM容量,IO总数达到了51个,有ADC采样外设、CAN通信、SPI通信、IIC、USB以及UART通信外设,通信模块可通过DMA模块传输总线数据,从而节省CPU的处理时间。另外,STM32F103R8T6还具有PWM模块,可发送PWM波。根据2.1的系统方案,本文设计的系统需要用到芯片的外设资源包括IO,UART外设等,STM32F103R8T6有51个IO足够控制按键以及LCD,UART用于与物联网设备通信。STM系列芯片应用非常广泛,相比于51系列芯片有很大的优势,可提供各种丰富开发资料,各种外设例程,编写程序时可至今操作库函数,不用深入操作每个寄存器,代码的可读性和理解性更强,非常方便本设计的开发参考,从而缩短开发周期。此款芯片成本低,而且在很多工业应用中都使用此系列芯片,在产品应用中可靠稳定,并且属于低功耗芯片,因此,在满足设计的要求下选择了此款芯片作为本设计的主控芯片。2.3显示屏LCD1602LCD1602液晶显示屏目前在电子设备上应用非常广泛。LCD1602是一种字符型显示的液晶显示模块,如图2-2它由多个模块集成组合,主要由用于显示的字符液晶显示屏、接收MCU指令的控制和驱动的电路以及扩展驱动电路,将结构件以及对应的电阻和电容就组成了LCD1602液晶显示模块。针对不同厂家生产的LCD1602所采用的芯片会有差异,但是目前市面上的所有LCD1602的但使用方法都是同一种方式的。在目前市场上,为了降低模块的成本,很多都是直接将LCD构成部分做到板子上。LCD显示的原理是液晶显示由很多个显示单元组成在一起显示。LCD1602一般有两种,背光和不背光,主要是在晚上无灯光时系统是否需要通过LCD显示。LCD总共有16个引脚,每个引脚都有不同的功能。其中引脚1接地,作为电源5V的地接入,是LCD1602与电源工地,避免电源影响显示屏工作。引脚2与引脚1配合使用,引脚2是接直流5V电源,主要给模块供电,因此,引脚1和2是作为模块的电源线引脚。引脚3主要用于调整LCD屏的亮度,模块根据接入的电平实现LCD屏亮度的调整,当接入5V时,此时LCD屏幕亮度最弱,将引脚3直接接地,则LCD亮度最强,在设计LCD模块时,为了将LCD亮度调整合适,一般都接一个电阻电位器进行调整,通过调整阻值从而实现对LCD模块亮度的调节。引脚4为LCD模块的寄存器操作引脚,当引脚4接高电平时,此时LCD工作在数据寄存器模式,当引脚4接低电平时,LCD工作在指令寄存器模式,因此,单片机通过控制引脚4的电平实现对LCD寄存器模式的控制。引脚5为读或写的信号线,LCD模块根据引脚5的电平实现数据的写入或数据传出。当引脚5为高电平时,此时可对LCD进行读操作,为低电平时,对LCD进行写操作。因此,当需要对LCD进行数据或指令的读或者写操作时,MCU可操作引脚4和5实现对LCD模块的操作。引脚6主要是使能LCD模块执行相应指令,当引脚6有下降沿发生时,LCD模块执行控制系统的命令,即更新显示内容。引脚7至引脚14,这8个引脚主要用于数据传输,数据传输的方向是双向的,MCU如果与LCD传输数据,就是通过这8个引脚进行并行传输数据。MCU控制LCD1602需要使用模块的命令进行写或者读操作,因此,LCD1602的具体命令由引脚4、5以及7~14控制,则可概括为指令为10位的二进制数字,即引脚4、5、14~7为BIT9~BIT0,具体命令如下所示。清屏指令,用于清除LCD的显示内容,执行此指令后LCD显示内容全部被清除,并且光标会自动复位到初始坐标00H处。清屏指令是“01H”。当MCU像LCD模块发送01H指令时,LCD会执行清屏指令。光标复位指令,用于复位光标到初始坐标00H处。复位指令码为“00H”。输入方式设置指令,用来控制光标移动的方向以及显示内容的移动。主要由BIT0~BIT2实现命令的控制。BIT2为1,BIT1控制光标的移动方向,高则向右移动,低则向左移动。BIT0表示整体显示内容是否跟随光标移动,高则跟随光标移动,低则不移动。显示开关控制命令,用于控制LCD显示屏是否显示内容。由BIT0~BIT3控制显示开关控制命令。BIT3为1,BIT2控制显示内容是否显示,BIT2位1时显示,为0时关闭显示。BIT1用于控制光标是否显示,为1则显示,为0则关闭光标功能。BIT0用于控制光标是否闪烁,为1闪烁,为0则关闭光标闪烁。光标或字符移位控制指令,由BIT0~BIT4控制,BIT4为1,BIT3控制移位,为1时移动显示的字符,为0时移动光标。功能设置指令,用于设置LCD模块是几位数据通信,由BIT0~BIT5控制,BIT5为1,当BIT4为1时,LCD模块为4位数据通信模块,当BIT4为0时,LCD模块为8位数据通信。综上所述,LCD1602不仅能显示字母、数字,还能显示文字,而LED模块组成的显示数码管不能显示文字。LCD1602在显示内容上开发非常简单,LCD1602指令丰富与单片机通讯数据通过并行数据口,使单片机对LCD1602的编程控制相对简单。另外,目前市面上的LCD1602封装非常多,而且模块独立,在本系统上应用焊接非常方便。LCD1602成本低,由于有指令控制LCD屏不显示内容,从而可设计节能模式,因此,本设计选用LCD1602作为本设计的显示界面模块。图2-2LCD1602实物图2.4电机驱动模块智能喂食系统采用步进驱动系统实现食物的传输。步进驱动系统包括步进驱动器和步进电机,步进驱动器接收智能喂食系统的指令,控制步进电机运转,从而实现食物的传输过程。当接收到系统的停止指令时,步进驱动器停止运行。步进驱动系统应用非常广泛,主要是将位置脉冲信号转换为电机运转的角度。系统架构简单。步进系统控制的结构如图2-3所示。脉冲信号信号分配功率放大步进电机负载脉冲信号信号分配功率放大步进电机负载图2-3驱动控制组成框图脉冲信号模块,是通过步进驱动器的主控模块产生PWM波,根据控制的速度调节PWM的占空比。信号分配,感应子式步进电机以二、四相电机为主,二相电机工作方式主要有单四拍和双八拍二种。功率放大电路主要是用于开关管工作,PWM波控制功率开关管的导通与断开实现对电机的控制。因此,对于电机控制性能的好坏,功率放大电路是驱动系统最重要的组成部分。在步进电机控制精度达不到控制要求时,需要对指令进行细分控制,从而更加精确的驱动步进电机。细分控制就是为了修正流入电机的电流,从而使电机运行更平稳。目前步进电机在市面上应用非常广泛,并且成本低,而且稳定可靠,一般家用电器或家用自动化产品使用较多。而伺服电机可实现精确定位,性能优越,响应快,一般用在工业生产制造上,但是伺服电机操作复杂,接线复杂,价格昂贵,由于本设计只需实现食物传输机构的正转与反转功能,对电机的运行性能没有什么要求,因此本设计选用步进驱动系统。如图2-4所示,为步进驱动器和电机的实物图。图2-4步进驱动系统实物图2.5物联网NB-IOT目前,物联网概念已经非常普及,强调的就是万物联网,通过网络可以控制所有联网设备。因此,物联网的重点就是物与物之间相连。因此,全面感知、可靠传送和智能处理是物联网的基本特征。全面感知,物联网连接的是物品,是用人的“慧”赋予物的“智”。具体来说就是利用感知单元(如射频感知、QRCode、传感器)及时对物体进行感应、搜集数据、和处理。可靠传输,通过各种可靠传输网络,将物体与信息网连接起来,全面及时的将各种信息进行实时传输。智能处理是将收集到的感知数据通过各种智能计算技术进行处理分析的过程,运用智能控制实现数据共享。依据信息论、系统论和控制论的视点,结合信息的传输过程,整理出物联网的采集信息、数据传送和反馈功能模型,来更加清晰地详述物联网有哪些关键环节。信息获取环节是用各种传感器、射频等方式实现所要获取信息的数据;信息传输是指数据信息从一端传到另一端,包括传送和接收两个过程;通过传感器加工获取的信息在信息处理中并产生决策;最后一个环节是信息施效环节,它可以通过对事物的调整,使事物状态发生改变。本设计采用NB-IoT模块,NB-IoT是一种应用于低功耗的物联网市场,覆盖面广,可同时连接很多设备,传输速率快,并且成本很低,开发简单。本文设计的系统在使用物联网模块时只用关注主控芯片与NB-lot的串口通信,其他的全是集成透传这样也减少了设计的工作量及开发难度。NB-IoT覆盖非常广,对于室内可进行全覆盖。在相同的通信频率下,NB-IoT比一般网络增益20dB,这样使得覆盖的面积扩大超过了100倍。NB-IoT可以连接很多设备,据相关资料显示,NB-IoT一个扇区可以连接10万个设备。NB-IoT在工作时功耗非常低,模块在待机状态下的时间非常长,可到达10万个小时。NB-IoT成本低,对于电子产品开发性价比非常高。如图2-5所示,NB-IOT智能模块,与主控芯片通过串口通信。目前NB-IOT无论在工业上还是智能家居上都适应非常广泛,模块独立,和系统搭配开发简单,数据透传,另外信号稳定。相比于wifi模块,信号相对稳定,而且在系统上只用接线,wifi模块需要设计电路引脚进行焊接,开发难度大,并且在代码实现上NB-IOT只是进行串口透传,但是WIFI模块还需要通过主控芯片进行驱动,因此本设计选用NB-IOT作为无线模块进行数据传输。图2-5NB-IOT智能模块实物图本章小结本章节设计了智能喂食系统的方案框图,分析了系统工作的流程,智能喂养系统主要是通过用户设置宠物喂食时间,当设定时间到了,系统自动往宠物的食物盘中倾倒食物,根据设定的倾倒食物时间倾倒预先设定的食物量,当食物倾倒完成后,系统控制音频模块发出诱食的声音,吸引宠物到食物盘处进食,并且用户可以通过物联网系统随时查看宠物的进食数据以及控制和修改系统的进食时间设定。并对每个模块进行了选型,并对相应模块进行了详细的介绍。第3章智能喂食系统硬件设计本章节主要对智能喂食系统的硬件进行设计,并对模块的硬件,主控芯片,LED电路和音频驱动电路进行分析设计,更加清楚的了解设计思路的发现其中的问题。3.1智能喂食系统硬件设计方案根据第2章节中智能喂食系统的方案,智能喂养系统主要是通过用户设置宠物喂食时间,当设定时间到了,系统自动往宠物的食物盘中倾倒食物,根据设定的倾倒食物时间倾倒预先设定的食物量,当食物倾倒完成后,系统控制音频模块发出诱食的声音,吸引宠物到食物盘处进食,并且用户可以通过物联网系统随时查看宠物的进食数据以及控制和修改系统的进食时间设定。设计智能喂养系统硬件框图如图3-1所示。STM32F103R8T6音频模块按键电路STM32F103R8T6音频模块按键电路无线模块电机驱动电路无线模块电机驱动电路LCD电路最小系统LCD电路最小系统图3-1智能喂食系统硬件图如图3-1所示,整个硬件包括六个模块,按键电路、无线模块通信电路、最小系统、音频模块电路、电机驱动电路以及LCD电路。主控芯片STM32是整个系统的控制核心,根据设定喂食时间,控制电机驱动电路以及音频电路。从而实现整个喂食的过程。按键电路主要用于设定喂食时间,将设定的时间存储到MCU中。3.2主控芯片STM32最小系统电路设计STM32主控芯片为主的最小系统包括电源系统,复位电路晶振电路以及程序下载口。电源系统,STM32主要是通过3.3V供电,因此在电路设计时需要通过电源转换专用芯片使主控芯片获得相应的工作电源,如图3-2所示。图3-2电源转换电路图通过专用电源芯片AMS1117,将输入的5V电源转换为稳定3.3V输出,给主控芯片供电。复位电路,就是当系统在上电的过程中可以控制CPU重启,或者通过引出复位按钮进行系统复位。复位就是为了是系统完全启动完成后CPU开始工作,防止CPU在系统处于不确定状态时,错误的接收或者发送指令,从而导致系统误操作,因此复位可以保证系统正常的工作。任何电子产品或者控制系统用到单片机作为主控芯片,都需要设计复位电路,从而确保整个电路正常工作。复位电路设计的水平直接影响了系统工作时的可靠性。有时系统在运行时出现了程序跑飞或者程序无缘无故自动启动,其中有部分原因是因为系统复位电路设计有问题导致的。系统电路在刚上电时都需要对电路进行复位的操作,复位操作后单片机就是重新开始工作。主要作用就是防止系统运行混乱。当系统在运行过程中,出现复位,系统的程序就要重新开始运行。目前在程序中结合硬件常用的复位方式就是看门狗复位,目前很多单片机都有看门狗这个模块,就是当系统程序运行时,每隔一段时间就会自动喂狗,一旦程序跑死机了,看门狗模块没有检测到喂狗,看门狗系统就会强制重启系统,使程序重新运行。系统CPU复位主要有上电复位、看门狗复位、掉电复位以及外部电路复位。上电复位就是系统每次在上电时系统会进行复位操作,系统在上电过程中,系统的电源是逐步建立的过程,在此过程中,系统各电路模块都会进行初始化,单片机系统也会进行初始化,整个程序都是重新开始运行。上电复位上电复位就是直接给产品上电,电源上电的过程是逐渐上升的曲线过程,这个过程不是瞬间的完成的,一上电时候系统进行初始化,此时振荡器开始工作并提供系统时钟,系统正常工作。看门狗复位,看门狗定时器CPU内部系统,它是一个自振式的RC振荡定时器,与外围电路无关,也与CPU主时钟无关,只要开启看门狗功能也能保持计时,该溢出时候也会溢出,并产生复位。在程序设计时一般控制系统都会增加看门狗复位的功能,防止系统程序设计的bug导致程序跑飞或者进入死循环中。在系统初始化时开启看门狗功能初始化,这个过程会定义多长时间不给看门狗发送信号,系统就会进入看门狗初始化。在程序设计中,一般大概100ms系统会给看门狗模块一个信号,简称“喂狗的过程”,如果程序正常运行,每隔100ms系统会喂一次狗,但是如果系统进入死循环后,看门狗模块没有收到喂狗信号,并且累加时间超过了看门狗模块的设定时间,看门狗模块就会强制重启系统,使系统重新开始运行程序。因此看门狗复位主要是用于针对软件设计bug导致的死机问题。外围电路复位是一种用户可操作的强制复位方式,当系统内部不能复位时可用此方式。整个电路设计比较简单,就是使用RC电路,如下图3-3所示,当按键按下电路接通后,连接到系统的复位信号RST被强制拉高,此时系统检测到复位引脚低电平,系统进入复位操作,当松开按键后系统结束复位操作,系统正常运行。本系统为了方便执行复位操作,设计采用外围电路复位,如图3-3所示。图3-3复位电路图当按键被按下时,单片机检测到RST引脚为低电平,系统进入复位操作,当按键被释放开后,系统检测到RST恢复高电平,系统结束复位操作,进入正常启动状态。晶振电路也可以被称为整个系统的时钟电路,芯片的工作时钟参考一般都是由晶振提供的,整个系统的工作时钟都是由晶振提供,例如延时多长时间,系统运算指令的机械周期,都是由晶振决定的。因此,时钟相当于控制系统的心脏,对于整个系统的运行提供了非常重要的作用。本设计选用的晶振参考芯片手册推荐,选用的8MHZ的晶振。时钟电路如图3-4所示。图3-4晶振电路图以上是对本设计以STM32主控芯片为核心的最小系统电路,综上所述,得到STM32芯片的为核心的最小系统电路图如3-5所示。图3-5STM32最小系统3.3音频驱动电路本设计的音频驱动电路使用蜂鸣器装置采用无源电压式蜂鸣器,较一般的蜂鸣器体积大,声音响亮,多适用于家用报警器的报警声音源。本系统选用的蜂鸣器是一种无源他激型蜂鸣器,通过方波信号输入蜂鸣器内部的谐振模块而产生声音,根据输入方波的频率和占空比控制发出不同声音,具体音频调试参考蜂鸣器数据手册方波与声音参照表部分内容。本系统采用STM32的PWM功能驱动蜂鸣器,通过STM32的PWM接口输出占空比一定的脉冲,发出诱食的音频,确保系统在诱食时音频模块会发出诱食的声音。本系统选用蜂鸣器因为蜂鸣器实现音频功能电路简单,开发内容简单,并且相对于复杂的音频模块,蜂鸣器成本非常低,因此在满足音频功能的前提下本设计选择了蜂鸣器作为音频模块。本系统设计的音频驱动电路原理图如图3-6所示。图3-6音频驱动电路3.4LCD显示电路LCD总共有16个引脚,每个引脚都有不同的功能。其中引脚1接地,作为电源5V的地接入,是LCD1602与电源工地,避免电源影响显示屏工作。引脚2与引脚1配合使用,引脚2是接直流5V电源,主要给模块供电,因此,引脚1和2是作为模块的电源线引脚。引脚3主要用于调整LCD屏的亮度,模块根据接入的电平实现LCD屏亮度的调整,当接入5V时,此时LCD屏幕亮度最弱,将引脚3直接接地,则LCD亮度最强,在设计LCD模块时,为了将LCD亮度调整合适,一般都接一个电阻电位器进行调整,通过调整阻值从而实现对LCD模块亮度的调节。引脚4为LCD模块的寄存器操作引脚,当引脚4接高电平时,此时LCD工作在数据寄存器模式,当引脚4接低电平时,LCD工作在指令寄存器模式,因此,单片机通过控制引脚4的电平实现对LCD寄存器模式的控制。引脚5为读或写的信号线,LCD模块根据引脚5的电平实现数据的写入或数据传出。当引脚5为高电平时,此时可对LCD进行读操作,为低电平时,对LCD进行写操作。因此,当需要对LCD进行数据或指令的读或者写操作时,MCU可操作引脚4和5实现对LCD模块的操作。引脚6主要是使能LCD模块执行相应指令,当引脚6有下降沿发生时,LCD模块执行控制系统的命令,即更新显示内容。引脚7至引脚14,这8个引脚主要用于数据传输,数据传输的方向是双向的,MCU如果与LCD传输数据,就是通过这8个引脚进行并行传输数据。图3-7LCD显示电路如图3-7,LCD1602液晶模块的控制都是通过指令来完成的。如读/写操作、显示屏和光标的处理,都通过相应的指令编程操作LCD模块的寄存器来实现的。LCD1602模块总共有8根数据线和3根控制线E,RS和R/W作为片选信号与单片机MCU相连后即可正常工作。一般产品开发应用中只是通过数据线LCD1602中写入命令和数据。因此,可将LCD1602的R/W读/写线的选择控制端直接接地,这样在电路设计时可节省1根数据线。VO引脚是调节液晶对比亮度的,需要连接一个10kΩ的电位器来实现液晶屏对比度的调整,或在确定亮度调整完成的前提下,用对应阻值的电阻从该引脚接地的方法进行调整。3.5按键输入电路按键是本系统除了物联网客户端,另外一个直接可以操作系统的输入接口,目前有两种按键电路方案。方案一是采用独立按键。独立按键为直接连接单片机I/O口的单个的电路,每个独立按键需要占用一个I/O,而按键之间为独立式的,不会互相影响。独立按键在操作方面非常灵活,如果在不需要多个按键时,可采用独立按键进行设置,但是如果需要的按键较多,则会造成I/O资源的浪费。而方案二是采用矩阵按键。矩阵按键有多种规格,一般为4*4或者2*3等规格,矩阵按键通过行扫描和列扫描的方式对按键进行读取,因此也可称为行列键盘。以4*4矩阵按键为例,总共有14个按键,但是只需要占用单片机8个I/O口即可,非常的节省I/O资源,因此如果需要的按键较多,例如输入数字、密码等,矩阵按键是一个非常好的选择。通过以上对比,矩阵按键在需要按键较多时是很好的选择,可节省大量的I/O资源,但是本设计需要的按键并不多,如果选用矩阵按键会有些浪费而且也不美观。采用独立按键,可更方便设定时间、选择模式等功能,因此设计选用独立按键作为设计的按键模块。本系统设计的按键输入电路如图3-8所示。图3-8按键输入电路3.6物联网模块电路相对于LTE技术而言,NB-IOT为了减少实现复杂性,精简了部分不必要的物理信道,下行只有三种物理信道和两种参考信号,上行只有两种物理信道和一种参考信号。NB-IOT的特点:超低功耗:它有三种不同的省电模式:PSM模式、DRX模式、EDRX模式,设备可以根据自己的需求选择省点模式,达到功耗最小的目的,可以延长电池的使用寿命;超低成本:它支持在现有的LTE网络上改造,大大的降低了网络建设成本;超强覆盖:它网络具有超大覆盖范围与超强穿透能力,设备无论在哪都能稳定接入网络;超大连接:NB-IOT网络允许多台设备同时接入,达到现有技术的50~100倍,据测试,现有NB-IOT网络单小区基站可接入5万个终端设备,这样的超大连接能使物联网真正做到“万物互联”。NB-IOT与通信协议,NB-IOT设备和物联网平台通信目前的主流通信协议是COAP和LWM2M协议。NB-IOT的应用场景,智慧城市是NB-IOT技术的主要应用场景之一,除此之外还有智能水表、智能烟感器等,NB-IOT也可以适应于共享设备、智能物流、智能农业等场景,前景很好。本设计使用NB-IOT模块,系统与物联网模块通过杜邦线的方式连接,主控芯片与物联网模块通过UART的通信方式进行数据传输,因此,系统与物联网模块的连接电路引脚如图3-9所示。图3-9物联网模块电路图本章小结本章节设计了智能喂食系统的硬件,对主控芯片STM32的最小系统进行了设计,并详细分析了最小系统每个模块的作用。设计了以蜂鸣器的驱动电路和分析了LCD显示的引脚作用并设计了LCD驱动电路。第4章智能喂食系统软件设计本章节对智能喂食系统的软件,喂食,LCD显示,按键模块进行设计,并对各个模块的软件进行设计说明。4.1智能喂食系统软件设计本文的设计思想是根据智能喂养系统的要求来设计的,如图4-1所示。程序中的主要处理过程的大体流程如下:该系统上电后,首先对硬件展开初始化,硬件的初始化包括系统的系统时钟初始化,单片机外设初始化,显示模块的初始化,按键模块的初始化,系统初始化结束后,系统会实时判断是否喂食时间是否到达,如果未到达喂食时间,系统则继续比较当前时间和设定喂食时间,当喂食时间到达,则进入喂食处理流程。开始开始系统初始化系统初始化喂食时间是否到?喂食时间是否到?NYY放食处理放食处理N放食时间是否到?N放食时间是否到?YY关闭放食口关闭放食口音频输出音频输出结束结束图4-1智能喂食系统软件设计主流程图4.2喂食过程软件流程设计当用户设置好喂食时间以及喂食数量后,则进入喂食状态,系统在喂食状态下,会自动计时,当计时时间到达喂食设定的时间后,系统启动放食系统,通过电机打开装食物容器的底盖,将食物倒入宠物的食物盘中,当放食系统达到了设定时间,则关闭底盖,投食工作结束,同时音频模块发声诱食,此时整个喂食流程结束。系统喂食流程如图4-2所示。开始开始放食时间是否到?放食时间是否到?N电机传送食物N电机传送食物YY电机停止传送食物电机停止传送食物音频工作,诱导宠物进食音频工作,诱导宠物进食结束结束图4-2喂食过程软件设计4.3LCD显示流程设计本设计的LCD显示主要是用作时间提示,根据LCD显示可设定需要喂食的时间。图4-3为LCD显示程序流程。LCD的显示过程,系统下发写的命令,根据设定的坐标,在LCD屏上显示系统需要显示的内容。开始开始LCD12864LCD12864显示屏初始化设置为写命令设置为写命令设置显示坐标设置显示坐标显示相应的字符显示相应的字符上一个字符是否显示完毕?上一个字符是否显示完毕?NNYY显示下一个字符显示下一个字符结束结束图4-3 LCD显示程序流程4.4按键模块如图4-4所示,系统通过按键进入定时设定模式,通过切换按键切换时分秒选项的设定值,“加”按键用于增加设定对象的值,“减”按键用于减小设定对象的值。开始开始进入定时设定进入定时设定Y可修改时或分或秒时间切换键是否按下?Y可修改时或分或秒时间切换键是否按下?NNY对应项加1“加Y对应项加1“加”键按下?NNNN“减”键按下?“减”键按下?YY对应项减1对应项减1结束结束图4-4按键模块软件流程图4.5WIFI通信程序设计本设计采用NB-IOT模块用于远程通信控制,并可通过手机端APP实时监控,NB-IOT与智能喂食系统的主控芯片是通过串口进行通信。NB-IOT作为主站与智能喂养系统进行通信,将数据获取之后通过网络将数据传到客户端,从而用户可实时的获取智能喂养系统的数据。WIFI通信的程序设计流程如下图4-5所示。一次物联网设备与主控芯片的通信流程,物联网设备发送数据,数据内容包括获取系统状态以及对系统的操作,比如强制喂食,或者修改喂食时间等,系统接收到数据后按照相应的命令执行操作,并将系统状态数据返回给物联网设备。开始开始是否接收到物联网模块数据?是否接收到物联网模块数据?NNY系统返回系统状态数据给物联网设备系统返回系统状态数据给物联网设备系统根据物联网命令执行相应的操作系统根据物联网命令执行相应的操作结束结束图4-5物联网通信程序流程设计本章小结本章主要根据智能喂养系统的方案设计智能喂食系统程序流程图,并对喂养过的流程进行了设计。设计了LCD显示模块流程图、按键模块软件流程图、以及喂食软件流程图。第5章智能喂食系统实物设计本章完成了系统的实物设计,并对系统每个模块的作用进行分析。5.1智能喂食系统实物组成如图5-1所示,智能喂食系统实物包括6个模块组成。图5-1智能喂食系统实物图其中1处时单片机系统模块,包括主控芯片、晶振电路、复位电路以及下程序电路。2处是按键输入模块,总共有4个按键组成。3处是LCD显示模块,用于结果显示。4处是物联网模块,通过串口与单片机系统通信。5处是音频输出模块,使用蜂鸣器实现音频输出功能。6处是电机模块,实现实物的传输功能。单片机作为整个系统的核心,用于设定定时和自动喂食控制。按键用于设定喂食时间定时,电机用于控制食物的传送,LCD用于显示时间以及提示设定的时间,音频用于发出声音,诱导宠物进食。5.2硬件调试按照原理图焊接完电路板的电源部分,其他部分先不焊接。对只有电源部分的电路板进行上电,用万用表测试5V和3.3V电源。图5-25V电源测试结果图图5-33.3V电源测试结果图在图5-2和图5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论