找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5122|回复: 1
打印 上一主题 下一主题
收起左侧

宠物定时喂食器设计

[复制链接]
跳转到指定楼层
楼主
ID:314521 发表于 2018-4-23 15:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
4.2程序设计软件概述
本设计是以AT89S52最小系统为主控,通过编写软件控制单片机,通过按键操作设定喂食时间和调整万年历,实现温度和万年历的显示,喂食过程伴随照明灯的点亮,启动闹铃。
本系统中单片机的开发软件是采用 KeilC51软件,该软件集编译和调试于一体,包括查看单片机I/O口,串口通信,定时器等内部资源。下载软件和程序写入。
KeilC51美国公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在结构性、功能、可读性、可维护性显著的优势,所以很容易学。此软件包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。如果你使用C语言编程,那么KeilC51就是你的最佳选择,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编,PLM语言和C语言的程序设计。
4.3软件调试
1.使用Keil软件编程步骤:
1)       使用软件Project菜单项中的New Project建立一个新的工程。
2)       为新工程选择芯片,添加源程序文件(.c 或是.asm)。
3)       对工程进行相关的配置,Option for Target1配置页面窗口中选中Output页面中的Create HEX选项。
4)       编写程序并使用Project菜单项中的Build All子菜单为应用创建可执行(.HEX)。
2.调试程序
调试程序是发现查找程序的逻辑错误的过程。
1)       AT89S52单片机下载线,打开实验 箱电源。
2)       打开电脑桌面上的双龙电子软件SLISP
3)       在SLISP软件界面中,器件选择AT89S52 FLASH存储器选择由Keil软件生成的**.Hex文件,之后点击软件界面最下方的编程按钮,下载程序,下载完成,单片机会自己执行程序。
4)       观察程序执行结果,程序运行结果与预期不一致,则返回Keil编程界面,检查程序逻辑。
5系统调试
5.1硬件调试方法
1.是焊接的顺序问题。
当初板子做好以后,我一口气就把所有的元件焊上去了,这样对于没有调试过的板子,就很难找到原因。所以焊接的顺序很重要,应该是应该按功能划分的器件进行焊接,顺序是功能部件的焊接--调试(OK)--另一功能部件的焊接,这样能容易找到问题的所在。
2.调试功能划分的器件上出现问题,按以下步骤进行:
1)检查原理图连接是否正确。
2)检查原理图与PCB图的一致性。
3)检查原理图与器件的DATASHEET上引脚是否一致。
4)用万用表检查是否有虚焊,引脚短路现象。
5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确。
6)用示波器进行检测。如我就是通过示波器对SRAM各个引脚进行检查,发现地址线都是有信号的,而数据线无信号出现,才找到问题所在。
7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。
3.多观察,多思考。在调试过程中,对于出现的任何现象都不要放过,问题的解决就是从一些小的现象入手的。
4.软件的调试要和硬件配合进行,往往问题可能不是硬件上的问题。
5.2硬件调试技巧
1.排除逻辑故障
这类故障往往是由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查
系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。
2.排除元器件失效
造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。
3.排除电源故障
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCCGND之间电位,若在5V4.8V之间属正常。
5.3调试遇到问题
1. LCD12864调试
在测试中遇到LCD12864不能够显示出时间和日期,经过检查才发现是LCD12864的背光没有调好,通过调节接在LCD128643脚上的滑动变阻器,改变所给的电压,可以清晰地看见了LCD能够显示。
2.对于DS1302在测试
发现上电后不久会发热,在检查电路过程中,不是因为发现芯片短路,最终检查发现原来是DS1302的引脚接法不正确,给+5V的应该是芯片的脚,给后备电池的是1脚,换过来之后,芯片就不发热了,而且可以正常显示出我们要显示的时间和日期。
3. 电源调试
将变压器接入电路,接到220V的电源,用万用表测量发现有的地方没有接电源线,出现断路现象。


   
本设计所研究的是基于单片机技术的智能喂食系统,实现一个宠物自动喂食器,主要包括单片机AT89S52控制、电源电路设计、电机控阀门、按键电路、显示模块、照明灯DS1302电路模块、DS18B20温度测试模块和蜂鸣器模块,宠物喂食器的发展和应用给饲养宠物者带来了很大的便利,意义重大。
宠物喂食器主要是通过蜂鸣器发出声音吸引宠物过来进食,蜂鸣器发出的音乐是由程序控制的,音乐内容可以根据程序随时改变,非常方便。喂食时间通过键盘设定不同的时间点,当依次到达时间时,控制阀门打开,发光二极管发光,蜂鸣器发出音乐,吸引宠物进食并自动投放食物。温度传感器DS18B20是能随时测试室内温度,万年历能显示年、月、日、星期、时、分、秒,方便记录宠物的生长周期,更好的改善宠物的生活。此设备最大特点就是使用户能够操作简单、易懂、灵活;且安全、稳定、智能性高、性价比高,是一款小功率的智能宠物喂食系统。随着现代人们饲养宠物意识的增强以及科学技术的快速发展,相信该喂食系统必将在更广阔的领域得到更深层次的应用。
本系统在喂食过程中由单片机AT89S52主控整个系统,对宠物更好的喂养;喂食过程中伴随着照明灯的点亮,照明灯是由一个继电器控制的。有万年历、温度显示、闹钟提醒等很有实用价值。
本设计同时也存在着一些不足之处:没有设置更多的食物放置槽,能方便宠物进食不同的食物和更好的饮水。
本设计还有很多可以完善的地方,可以着手从下面几个方面继续扩展:
1.该系统还可以加入远程短信通知模块,如果设备出故障及室内温度过高可以通知用户,让用户更好的喂养宠物。使功能更加可靠完善。
2.可以设置4个或更多的食物放置槽,按提前设置的时间依次打开,由电机控制阀门打开食物槽,方便宠物进食。
3.本设计可以设置几个不同的定点时间,这样即使宠物饲养者几天不在家,宠物的饮食规律也能得到保障。

摘  要

本文设计的是宠物定时喂食器,即先将宠物饲料放入其中,通过设定喂食时间点,当到达这一时间点后,系统发出喂食信号吸引宠物,自动进行喂食。本设计主要研究如何设定时间点并发出喂食信号。宠物自动喂食器主要包括单片机AT89S52、电源电路、电机控阀门、按键电路、显示模块、照明灯、DS1302电路模块、DS18B20温度测试模块和蜂鸣器模块。其中单片机为核心单元,对各个模块的工作进行控制。喂食器的喂食过程是,通过键盘设定倒计时间,当依次到达设定时间时,单片机驱动发光二极管发光,蜂鸣器发出响声,吸引宠物过来进食并自动投放食物。设计中加入的万年历和温度传感器,方便记录宠物的生长周期。倒计时和日期等信息通过LCD12864液晶显示。本设计解决了工作日或节假日由于主人不在不能对宠物喂食和宠物饮食不规律的问题,系统操作简单,电路运行稳定,具有一定的推广价值


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:769694 发表于 2020-6-19 10:18 | 只看该作者
有程序么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表