资源描述
. -*城建大学单片机原理及应用课程设计设计说明书自动洗碗机的控制系统设计起止日期: 2021 年6月23日至2021年6月27日学生*班级成绩指导教师(签字)控制与机械工程学院2021年 06月27 日*城建大学课程设计任务书2021 2021 学年第 1 学期控制与机械工程学院电气自动化专业 13电气11 班级课程设计名称:单片机原理及应用A课程设计设计题目:自动洗碗机控制系统设计完成期限:自 2021 年 6 月 23 日至 2021 年 6 月 27 日共 1 周设计依据、要求及主要内容可另加附页:一、课程设计的目的1、进一步熟悉和掌握单片机的构造及工作原理。2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3、通过课程设计,掌握以单片机为核心的电路设计的根本方法和技术。4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5、通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应用系统的全过程,为今后从事相应打下根底。二、课程设计的根本要求1、认真认识设计的意义,掌握设计工作程序,学会使用工具书和技术参考资料,并培养科学的设计思想和良好的设计作风。2、提高模型建立和设计能力,学会应用相关设计资料进展设计计算的方法。3、提高独立分析、解决问题的能力,逐步增强实际应用训练。4、课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、标准。5、课程设计说明书封面格式要求见*城市建立学院课程设计教学工作标准附表1。三、课程设计具体要求1、要求每位同学独立完成设计任务。2、原理图设计。 1原理图设计要符合工程的工作原理,连线要正确。 2图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。 3原理图要完整,CPU,外围器件,扩器接口,输入/输出装置要一应俱全。3、程序调计 1根据要求,将总体项能分解成假设干个子功能模块,每个功能模块完成一个特定的功能。 2根据总体要求及分解的功能模块,确定各功能模块之间的关系,设直出完整的程序流程图。4、设计说明书 1原理图设计说明简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。 2程序设计说明对程序设计总体功能及构造进展说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。 3画出工作原理图,程序流程图如并给出相应的程序清单。四、设计任务使用单片机AT89S51和键盘显示管理芯片设计的自动洗碗机的硬件控制系统的设计方法,给出了用控制键盘和显示的硬件电路,同时给出了系统软件和功能软件模块的流程图。该系统应能实现洗碗机的自动控制,完成自动进水、加温、清洗、消毒等功能。五、参考资料1 .zwmcu./News/2005,6/Article_209.htm指导教师签字:系教研室主任签字:批准日期:2021 年 6 月 18 日摘要介绍了一种以AT89S51为核心的自动洗碗机系统; 同时给出了系统软件和功能软件模块的流程图。该系统经过试验调试,可有效地实现洗碗机的自动控制,完成自动进水、加温、清洗、消毒等功能。关键词:全自动;AT89S52;洗碗机. 优选-. -目录一、绪论1二、自动洗碗机根本机构工作原理1三设计思路2四、控制器的介绍2五洗碗机的设计35.1 系统总体设计方案25.2 洗碗机控制系统硬件设计25.3 洗碗机控制系统的软件设计25.4 控制器程序设计2六总结2七参考文献2. 优选-. -一、绪论随着数字信息家用电器应用的普及,洗碗机已经广泛进入人民群众的家庭之中,从而使得人们能够从繁杂的家务劳动中逐步解放出来。作为一种家庭自动化设备,洗碗机一般需要实现诸如自动控制进水、自动加洗涤剂、冷洗、自动加温洗、清洗、排水、杀菌消毒,以及定时和故障报警等功能。从被控制量角度出发,一个洗碗机通常需要满足图1所示的一些具体要求,其中涉及的开关量信号有两种,一种是传感器的高、低电平信号检测,如机门开关、水位上下、温度调节保护器和行程开关等;另一种开关信号经由固态继电器控制强弱电压信号的断开和加载,如进水电磁阀门的开合、恒温加热器的开合、瞬间加热器的开合、清洁剂控制盒和消毒剂控制盒的工作等。图1中所涉及的模拟量信号主要用于实现以下几方面的功能:(1)用温度传感器实现水温/消毒水温度检测;(2)通过人机接口的显示输出、键盘输入和声音输出等实现水温显示、洗涤过程显示以及故障类型显示等;(3)根据用户需要通过设置键选择洗涤模式,并通过功能键启动相关功能;(4)机器使用情况统计、清洁剂和消毒剂剂量的使用情况计数等;(5)故障报警以及、洗涤完成报告等。AT89S52开关量人机接口模拟量机门磁传感器水位磁传感器进水电磁阀温度调节控制器恒温加热器消毒剂控制盒电机马达传动形成开关消毒水温度清洁器控制盒计数器显示接口键盘接口振铃接口图1 洗碗机被控制量二、自动洗碗机根本机构工作原理本设计的全自动洗碗机是前开门式构造的,它的外部构造如图2所示,内部还有加热管、进水电磁阀、洗涤装置、排水电机、过滤网、碗架、导轨、漂洗剂供料装置、排气风扇等。洗涤装置主要由旋转喷臂、清洗水泵等构成。清洗水泵安装在机座的底部,由清洗电机与叶轮泵构成。清洗电机直轴驱动叶轮泵,把水进展加压,通过喷臂的喷水孔从三维方向喷出具有一定压力的热水流,从而对餐具进展冲洗,构造如图3所示。由于喷水孔喷水时,受水的反作用力的作用,产生了一个转矩,使喷臂连同轴套一起绕空心轴转动,从而到达改变方向,从不同的角度清洗的目的。全自动洗碗机即是通过控制器的程序运行控制,由旋转喷臂将水从不同的角度喷射到餐具上,依靠水的压力、温度和洗涤消毒剂的作用,实现对餐具的清洗、消毒,最后烘干。图2 全自动洗碗机外部构造图3 旋转臂装置构造图(1-排气口2-把手3-门扣4-透明观察窗5-方式选择按钮6-时间选择按钮7-启动止停按钮8-状态指示灯;9-电源插头10-排水管11-进水管12-机壳)三设计思路根据洗碗机的控制要求,洗碗机主要过程为:(1) 冲水与洗涤。利用单片机控制电磁阀门,向水箱中注水,然后进展适当加热,冲水只要控制阀门的开关就可以实现;洗涤时尽量将混合液温度控制在40度到55度时,这样洗涤的效果更好。(2) 反复冲洗。由于乙肝类细菌高温杀菌不能实现去除,需要反复冲洗实现,大概控制在57次。(3) 烘干、消毒。烘干与杀菌同步进展,可以节省洗完时间,同时也可以到达要求,需要将温度控制在60度以上,同时翻开紫外线灯,可以消灭大局部细菌。四、控制器的介绍本设计中的核心器件微控制器,我们采用了Atmel公司的AT89S52单片机。下面简单介绍一下AT89S52。AT89S52功能特性描述AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash, 256字节RAM, 32位I/O口线,看门狗定时器, 2个数据指针,三个16位定时器/计数器,一个6向量2级中断构造,全双工串行口,片内晶振及时钟电路。另外, AT89S52可降至0Hz静态逻辑操作,支持2种软件选择节电模式。空闲模式下, CP停顿工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下, RAM内容被保存,振荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复位为止。AT89S521主要性能:u 与MCS-51单片机产品兼容u 8K字节在系统可编程Flash存储器u 1000次擦写周期u 全静态操作:0Hz33MHzu 三级加密程序存储器u 32个可编程I/O口线u 三个16位定时器/计数器u 八个中断源u 全双工UART串行通道u 低功耗空闲和掉电模式u 掉电后中断可唤醒u 看门狗定时器u 双数据指针u 掉电标识符图4 AT89S52构造五洗碗机的设计5.1 系统总体设计方案洗碗机自动控制系统的总体设计框图如图5所示。系统以单片机AT89S52为控制核心,包含水温检测电路、水位检测电路、门控电路、键盘电路、蜂鸣器、液晶显示电路及强电驱动电路等部件。其中,水温检测电路结合温度设置,采集水温信息,控制电阻丝加热;水位检测电路进展最高水位和最低水位判断,控制进水电磁阀和排水电磁阀开关;门控电路判断洗碗机门是否关闭;键盘电路设置洗涤水温及洗涤时间。为了实时显示洗碗机工作状态及可能出现的故障信息,系统中添加液晶显示电路和蜂鸣器,方便用户知道洗碗机工作模式和工作状态,便于故障排查。强电驱动电路作为单片机与外部器件的接口电路,驱动电磁阀、电阻丝、电动机及紫外线消毒器工作。图5 系统总体设计方案5.2 洗碗机控制系统硬件设计针对上述功能及可靠性、本钱和方便使用维护等因素,笔者设计了图2所示的洗碗机控制系统。单片机最小系统采用与MCS-51兼容的AT-MEL公司低功耗高性能CMOS芯片AT89LS8252设计2,其中片内8k字节在线可编程闪存用以存放系统程序,可通过SPI接口来下载程序;而2k字节的EEPROM则用以存放关键参数,如开机维护密码、产品的序列号、开机次数、洗涤设置参数等; 256字节的RAM用来存放临时变量。鉴于本洗碗机有较多的开关量信号,故此,设计中使用并行芯片8255来扩展I/ O接口,以配合P1和P3口局部管脚的使用,其输出和输入的比例为21/ 14,其中蜂鸣器由P1.3控制。从可靠性角度出发,输入和输出局部都采用光电隔离措施。考虑到局部驱动信号所要求的驱动电流较大,因此,本设计选用功率驱动器件ULN2803来驱动。温度采集有两种方案:一是使用热敏电阻配合芯片MA*150进展AD转换,然后通过存放在程序存储器里的表格来求得当前温度;二是使用三端温度传感器DS18B20进展采集,直接得到温度数据。相比之下,后一种方案较为经济简捷。键盘和LED显示选用HD7279A来进展控制,其电路图如图5所示。HD7279A无需外围元件即可直接驱动8位共阴式LED数码管;引脚DIG03对应03位数字输出驱动;引脚SASG和DP则对应于段ag及小数点的驱动输出;各位可独立控制译码/不译码及消隐和闪烁等属性。该芯片共有三种类型的指令:第一种是6条不带数据的8位纯指令,如复位、测试、左/右(循环)移位等;第二种是7条16位带数据指令,包括下载数据按方式0/ 1译码、下载不译码、闪烁、消隐、段点亮、关闭等;第三种是读取键盘数据指令。它们均采用串行方式与AT89LS8252进展通讯,串行数据从DATA引脚送入芯片并由CLK端同步。当片选信号CS变为低电平后, DATA引脚上的数据将在CLK引脚的上升沿时被写入HD7279A的缓冲存放器。此外, HD7279A片内含有去抖动电路,可控制64键键盘矩阵。图6中,元件JKEY为44键盘接口,当有键按下时,KEY引脚输出低电平,发光二极管LED1发亮,该状态一直保持到按键松开。此时如果接收到读键盘指令15H,在指令前半段, DATA引脚将处于高阻状态以承受来自微处理器的指令。而在指令后半段, DATA引脚则从输入状态转为输出状态,用以输出所按下的键代码值。图6 HD7279A的控制键盘/LED电路图图7 控制器硬件设计方案5.3 洗碗机控制系统的软件设计本系统功能模块按洗碗过程可分为六个阶段:进水过程、加温过程、注入清洁剂过程、控制电机旋转清洗过程、注入消毒水消毒过程和排水过程。同时为确保洗碗机正常工作,对容易出故障的过程,系统还设置了故障报警或停机功能。系统软件可按照洗碗机的工作流程进展编写。主要的软件模块有开机自检、状态初始化、显示当前默认状态,进入键盘扫描状态并等待操作键按下,以及根据操作键转入相应流程等,其主程序流程见图6所示。用户使用前,应首先检查洗碗机状态是否正常,假设状态正常,按下弱电源开关,根据洗涤要求设置洗涤模式(或使用默认方式),将碗放入清洗室,然后关上机门,按下开场键。之后,控制器检测水位上下和水温,以决定是否进水与恒温加热,至此准备工作完成,启动电机进展清洗。接下来再把清洁剂注入清洗室,同时检测水位上下,假设水位较低,则立即进水,以保证清洗效果。清洗完成后,等碗上的水空一段时间后,洗碗机再注入高温消毒水进展消毒。洗涤完成后,蜂鸣器鸣叫,说明洗涤完成,同时控制器回到用户初始设置模式。洗涤中每一过程和按键均对应有一发光二极管的亮灭,用以显示过程和按键的正常与否。洗涤完成后,用户翻开机门,取出碗盘,然后断电即可完毕整个洗碗过程。在该系统软件子程序中,需要对键盘/显示管理模块进展说明,包括初始化子程序、发送子程序、接收子程序、中断子程序、显示子程序等。其中用户通过键盘设置模块可以设定洗涤模式、每一过程的时间长短以及洗涤剂量大小,也可随时按相应的功能键暂停或中止洗涤过程。技术维护人员可以通过键盘/显示管理模块输入正确密码来查询机器的使用状况,如机器序列号、机器的使用次数等,也可对关键参数根据实际情况进展设置。故障报警功能模块可在工作电压故障、进水阀故障、加热器故障、电机故障、清洁剂注入故障以及高温消毒水注入故障发生时用蜂鸣器报警,同时断掉强电控制信号,以确保系统平安。5.4 控制器程序设计整个洗碗过程分为:进水,冲水洗涤,烘干,消毒四个过程。因此可以按照这四个过程设计主程序,主程序流程图如图8。主程序代码如下*include /包含单片机存放器的头文件*include /包含_nop_()函数定义的头文件*define uchar unsigned char*define uint unsigned int /数据宏定义/定义接口sbit waterin=P13;/水箱加水sbit waterout=P14;/排水sbit swim=P15;/冲水sbit warm=P16;/加热sbit disinfect=P17;/消毒和烘干*define TIMEWATERIN 60 /定义各环节时间*define TIMEWARM 30*define TIMEWATEROUT 60*define TIMEWASHING 150*define TIMEDIS 150uint totetime;void displayled(uint m);void delays(uchar ms);void initimer1();void inisystem() /程序初始化checkstop=0; TMOD=0*32;ET1=1;EA=1;void main() /主函数uchar key;inisystem();while(1)key=scankey();if(key=KEYSTART)if(PINCONVER=0)totletime=TIMEWATERIN+TIMEWATEROUT+TIMEWASHING+TIMEWARM+TIMEDIS;waterin=1;delays(TIMEWATERIN);waterin=0;warm=1;delays(TIMEWARM);warm=0;swim=1;delays(TIMEWASHING);swim=0;waterout=1;delays(TIMEWATEROUT);waterout=0;disinfect=1;delays(TIMEDIS);disinfect=0;显示主程序主要负责显示洗碗剩余时间,单位是秒。硬件使用LED数码管显示器,采用74LS64驱动,程序代码如下:void displayled(uint m)uchar i,j;for(i=0;i3;i+)j=m%10;m/=10;leddatai=LEDCODEj;for(i=0;i3;i+)TI=0;SBUF=leddatai;while(TI=0);TI=0;delays函数用于延时,主要控制进水时间、洗碗时间、烘干时间以及消毒的时间,为了方便程序设计,在延时函数中调用dispalyled以刷新显示,程序代码如下:void delays(uchar ms)uchar i;for(i=0;i=20)flagls=1;void initimer1()flagls=0;msect=0;TR1=0;TH0=0*3c;TL0=0*b0;TR1=1;图8 主程序流程图图9 原件布局布六总结知识来自于课本,知识来自教师同学,知识也来自于自己的实践。有句老话叫实践出真知,课程设计就真正表达了这句话。这其中需要你联系学过的所有知识,用所学知识融合成自己的想法,然后再形成实实在在的流程图,原理图,文字说明。这次单片机课程涉及的内容比较多,是对课本知识的总结和升华。在这样的求解和研究中,自己学会了怎样去分析,怎样去思考,怎样去领悟。我也在这样的过程中不断地提高了自己,在其中也得到了许多乐趣,使自己在今后的学习中有了不断向前的动力,这或许是本次课程设计最大的收获。该控制系统可实现本自动洗碗机所要求的功能,而且简捷实用。但还有需要完善提高的地方,如排水需要人工干预、人机接口可考虑选用效果更好的字符或图形LCD、系统集成度有待提高等。七参考文献1 洗碗机将成未来市场亮点 J . 技术与市场,2000, ( 3) : 10.2 AT89LS8252, 8- bit Microcontroller with 8K BytesFlash Z . ATMEL DATABOOK, 1998.3 HD7279A 串行接口8 位LED 数码管及64 键键盘智能控制芯片. : / / . bitcode. . .4 宋戈,黄鹤松等51单片机应用开发范例大全人民邮电. 优选-
展开阅读全文