《采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文.doc》由会员分享,可在线阅读,更多相关《采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文.doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、. -深 圳 大 学本 科 毕 业 论 文设计题目:基于单片机设计的全自动洗衣机控制器: 嘉泽专业: 电子信息工程学院: 信息工程学院学号: 2009130099指导教师:霞 职称: 教授年 月 日大学本科毕业论文设计诚信声明本人重声明:所呈交的毕业论文设计,题目?基于单片机设计的全自动洗衣机控制器?是本人在指导教师的指导下,独立进展研究工作所取得的成果。对本文的研究做出重要奉献的个人和集体,均已在文中以明确方式注明。除此之外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明的法律结果。毕业论文设计作者签名:日期:年月日目 录1引言11.1洗衣机的开展概况11.2
2、单片机在工业生产中的应用11.3课题设计的目的和意义22.总体设计方案32.1控制器主要功能32.2系统总体设计模块32.2.1中央控制模块32.2.2显示模块32.2.3按键模块32.2.4电机驱动模块32.2.5系统简要模块图42.3洗衣机工作过程42.3.1洗衣过程42.3.2进出水过程52.4洗衣机的多功能设计52.4.1标准模式52.4.2轻揉模式52.4.3甩干模式63系统硬件设计63.1.单片机最小系统电路63.1.1单片机概述63.1.2 STC89C51芯片概述73.1.3 STC89C51芯片构造73.1.4 STC89C51的引脚功能83.1.5单片机复位电路93.1.6
3、单片机时钟电路93.2电机驱动电路103.2.1.步进电机简介103.2.2 ULN2003A简介113.2.3电机驱动连接113.3显示电路123.3.1.数码管简介123.3.2 数码管显示电路133.3.3 LED灯状态显示电路133.4按键电路143.5警报电路144系统软件设计144.1程序整体构造144.2电机工作程序154.2.1.洗涤子程序154.2.2 漂洗子程序164.2.3 脱水子程序174.3洗衣机多功能程序174.3.1.标准模式程序174.3.2 轻揉模式程序184.3.3 甩干模式程序184.4数码管显示程序184.4键盘扫描程序185.仿真与调试185.1软件仿
4、真185.1.1 Proteus简介195.1.2 利用Proteus进展仿真195.2硬件调试206.总结21【参考文献】21致22附录23. . word.zl-. -基于单片机设计的全自动洗衣机控制系统信息工程学院电子工程系电子信息工程 嘉泽学号:2009130099【摘要】洗衣机是利用电能产生机械作用来代替人手洗涤衣服的家电产品,它的创造完毕了人类数千年以手洗衣的局面,大大减轻了家庭劳务人员的负担。随着数字电子技术的广泛应用,全自动智能洗衣机取代了以往需要专人操作的手动洗衣机,成为家电市场的宠儿。单片机是一种集成电路芯片,利用超大规模集成电路技术将具有处理数据能力的中央处理器、随机存储
5、器和I/O端口等集成为一个完善小巧的微型计算机系统,它具有构造简单、可操作性强、处理速度快和价格低廉等优点,是包括全自动洗衣机之的许多智能家电系统的理想控制器。【11】本文以STC89C51单片机为控制器,利用单片机所拥有的众多I/O口对芯片进展扩大,并使用计算机语言作为软件程序,设计成全自动智能洗衣机控制系统。本系统拥有中央控制电路、按键电路、显示电路和电机驱动电路四大模块,使用LED二极管、蜂鸣器、数码管、三极管和步进电机等常见电子元件进展洗衣机模拟,可以实现全自动洗衣机的无人洗涤、自动控制和多功能洗衣等智能功能,虽然和真正的洗衣机相比还显简陋,但已根本实现自动洗衣机的功能,具有较强的参考
6、性和实用性。【关键词】全自动;洗衣机;单片机;C语言;智能化1引言1.1洗衣机的开展概况衣服的洗涤是人类生活过程中必不可少的家务劳动,古代人一般以手洗衣,并借助洗衣棒、搓衣板等简单工具进展辅助。随着科学技术的开展,1858年,美国人汉密尔顿史密斯创造了世界上第一台洗衣机,大大方便了人们洗涤衣服。但那时的洗衣机仍以人力操作为主,消耗的时间和力气依然巨大。随着蒸汽洗衣机、水力洗衣机和燃洗衣机的出现,外界动力取代人力进展洗衣的时期到来。1910年,美国人费希尔创造了世界上第一台电动洗衣机,才真正标志着人类家务劳动自动化的开端。【11】随着数字技术在工业生产的广泛应用,越来越自动化的洗衣机更新换代,7
7、0年后期,以微处理器控制的全自动智能洗衣机在日本问世,洗衣机开展史进入了一个全新的时代,科技改变生活的宗旨在全自动洗衣机中得到充分的表达。1.2单片机在工业生产中的应用单片机一种采用超大规模集成电路技术将中央处理器CPU、随机存储器RAM、只读存储器ROM和多种I/O口等部件集成在一起的电路芯片,是一个小巧而完善的微型计算机系统,在工业控制领域有着广泛的应用。由于单片机具有系统构造简单、可靠性高、处理能力强、环境适应性强、便携式和价格低廉等许多优点,使得它几乎出现在生产生活中的各个领域,如导弹导航系统、计算机数据传输、工业自动化和电子宠物机器人等方面,都有单片机的参与,具体可分为以下几个畴:1
8、智能仪器:单片机具有体积小、功耗低、控制能力强、扩展灵活和使用方便等有点,广泛应用于仪器仪表中,可实现如电压、电流、功率、湿度、温度、压力等许多物理量的测量。采用单片机控制使得仪器仪表具有数字化、智能化和微型化等特点,比采用电子数字电路更加强大。2工业控制:单片机环境适应能力强、处理速度快、功耗低、体积小,是工业控制系统的理想元件,使用单片机搭建的工业控制系统,拥有信号检测、无线感知、数据采集等许多功能,大大方便了工业生产者在生产过程中进展机器的监控和维护。 3家用电器:家用电器的出现极大方便了人类的生活,采用单片机设计的智能自动化家用电器更是将家务生活迈向更便捷的领域。从电冰箱、空调、洗衣机
9、等常见家电,到体重秤、按摩仪等家电产品,都能见到的单片机的身影。4医用设备:单片机在医用设备的应用也十分广泛,从心跳机、呼吸机、血压测量仪,到超声仪器、病床呼叫系统等仪器,都要使用到单片机。5国防航天:随着国防武器的日益智能化与信息化,单片机以其稳定性高、体积小巧、处理数度快、适应环境强等特点,广泛应用于各种国防设备。在航天领域,导航仪器、呼叫仪器和飞机数据监控等也缺少不了单片机。此外,单片机在汽车电子、金融商业、科研教育、通信电力和交通物流等领域也有着十分广泛的应用。【11】1.3课题设计的目的和意义目前家电行业竞争剧烈,洗衣机的市场份额在家电行业中占着比较大的比例。因此,生产出具有市场竞争
10、力,符合消费者要求的洗衣机,成为了许多家电生厂商占领市场份额的关键。随着数字电子技术在家电工业中的应用,高度的智能化、自动化的洗衣机深受消费者青睐。在国际家电市场竞争中,由于美国、日本等兴旺国家起步早,开展快,产品更新换代十分迅速,品牌号召力越来越大。而我国家电行业起步时间较晚,技术和人才相对缺乏,与国际知名品牌还有一定差距。但随着改革开放,科教兴国的战略步伐,我国家电产业奋起直追,已经出现了如海尔、小天鹅等国产著名品牌。在市场竞争越来越剧烈的今天,全自动洗衣机的市场潜力巨大,尚待开发,可以说,谁能抢占先机,分得全自动智能洗衣机这块市场大蛋糕,谁就能引领家电行业的品牌开展。单片机具有低功耗、低
11、价格和易操作等许多优点,是现阶段全自动智能洗衣机控制芯片的不二选择。本课题以单片机为根底,通过C语言编程和电路扩大,设计出能全自动无人洗涤的智能洗衣机控制系统,并实现了标准洗涤、轻柔洗涤和甩干等多功能选择,配有LED指示灯、数码管显示器和蜂鸣器,能自动显示洗衣机工作状态、工作时间和提示工作过程,方便使用者对洗衣机进展操作,是一套小巧而完善的全自动洗衣机控制系统。虽然本系统元件较为简单,但已根本实现全自动洗衣机的标准功能,具有较强的参考性和实用性,有抛砖引玉的意义。【3】2.总体设计方案2.1控制器主要功能本课题采用C51单片机为控制芯片,扩展I/O端口,将显示模块、电机驱动模块、按键模块等组合
12、起来,形成一个完整的全自动洗衣机控制系统,主要具有以下功能:1通过按键选择,能实现洗衣机的标准洗涤、轻柔洗涤和甩干三种不同功能。功能选择后,洗衣机根据相应模式,全自动完成洗涤。2洗衣机工作过程中,LED二极管指示相应的工作状态,数码管倒计时显示洗衣机工作完成所剩时间。3洗衣机工作完成后,蜂鸣器自动长鸣报警,控制器所有元件停顿工作。2.2系统总体设计模块本系统以C51单片机为中央处理器进展硬件扩大,利用C语言编程完成对各个模块的功能控制。系统硬件模块主要包括中央控制模块、显示模块、按键模块和电机驱动模块四局部。2.2.1中央控制模块中央控制模块由单片机和复位电路、时钟电路构成。本设计采用STC公
13、司生产的STC89C51单片机作为中央处理芯片,以12M晶振、瓷电容组成系统的时钟振荡电路,以电阻、按键和电容组成系统复位电路。2.2.2显示模块显示模块包括数码管显示和LED二极管显示两局部。其中数码管用于显示洗衣机工作完毕所剩时间,LED二极管用于模拟洗衣机进水和出水情况,同时显示洗衣机标准洗涤、轻柔和甩干的状态指示。本系统采用三极管、电阻和四位共阳极数码管组成数码管显示器;用电阻和红绿黄三色LED二极管组成LED显示器。2.2.3按键模块按键模块用于实现洗衣机标准洗涤、轻柔和甩干三大功能的选择,是启动洗衣机洗涤的开关,本系统拥有3个按钮,分别对应三种不同的洗涤功能,操作简单,反响快速。2
14、.2.4电机驱动模块电机驱动模块用于模拟洗衣机转筒进展快速旋转,是洗衣机的主要功能实现局部。本系统选择四相步进电机作为洗衣机转筒的模拟,用ULN2003A芯片对步进电机进展驱动。2.2.5系统简要模块图STC89C51单片机电机驱动模块模块显示模块按键模块复位电路时钟电路2.3洗衣机工作过程2.3.1洗衣过程洗衣机一般包含三个洗衣过程,分别是洗涤、漂洗和脱水,具体情况如下:1洗涤过程:这是洗衣机首要的洗涤运动,转筒带动衣物,通过高速的正反交替旋转,使衣物与转筒壁之间产生机械运动,从而将衣物上的污渍去除。由于是主要的去污过程,所以洗涤程序一般放在洗衣的首道程序。为了方便观察结果,本系统采用步进电
15、机,以0.4s每圈的速度,正反交替,交替间隙暂停1秒,各旋转10圈为一个周期,一共旋转10次为一次洗涤过程,一次洗涤过程耗时100秒。2漂洗过程:漂洗过程和洗涤过程根本一样,只是转速变慢,这样能比较有效地去除衣物残留的洗涤剂,同时也减少对易磨损衣物的损害。为了方便观察结果,本系统采用步进电机,以0.8s每圈的速度,正反交替,交替间隙暂停1秒,各旋转10圈为一个周期,一共旋转5次为一个漂洗过程,一次漂洗过程耗时90秒。3脱水过程:脱水过程就是衣物洗涤完毕后,转筒带动衣物,高速地朝一个方向进展旋转运动,以离心力将衣物的水分脱出,到达脱水的效果,以便于快速晾干。脱水过程一般是洗衣的最后一道程序为了方
16、便观察结果,。本系统采用步进电机,以0.4s每圈的速度,正向旋转10圈为一个周期,一共旋转10次为一个脱水过程,一次脱水过程耗时40秒。2.3.2进出水过程洗衣机洗涤前后都需要进展进水和排水操作,市面上的洗衣机通常采用进水阀和排水阀对洗衣机的进出水过程进展自动化控制。本系统采用一个红色LED灯模拟进水阀,用一个黄色LED灯模拟出水阀。在洗涤和漂洗过程进展前,需要进水浸泡衣物,此时红色LED灯亮9s,代表进水阀翻开,洗衣机进水9s的时间,进水完毕后红色LED进水灯熄灭。在脱水过程进展前,先要排出多余的水分,此时黄色LED排水灯亮9s,电机不动,表示排水9s。在脱水过程进展时,也需要翻开排水阀将离
17、心力甩出的水分排出,此时电机开场进展脱水运动,而黄色LED排水灯也继续点亮,代表排水阀持续开启,直到脱水过程完毕,黄色LED排水灯熄灭,表示脱水完毕,排水阀关闭。2.4洗衣机的多功能设计如今市面上洗衣机众多,仅全自动完成一项洗衣功能的产品已远远不能满足消费者的要求。为了应对人们越来越多的衣物洗涤功能要求,提升生活品质,本系统设计了洗衣机的多功能洗涤,消费者能根据洗衣情况的不同要求,针对性地进展洗衣功能选择。本系统一共有三个洗衣模式,分别为标准模式、轻柔模式和甩干模式。2.4.1标准模式标准模式是洗衣机洗涤的一般模式,适用于大局部需要洗涤的衣物,主要过程为:进水洗涤进水漂洗进水漂洗排水脱水报警。
18、具体过程为,洗衣机先进水9秒,暂停1秒,然后开场进入100秒的洗涤过程,以去除衣物上的污渍。洗涤完毕后进水9秒,暂停1秒,然后进入90秒的漂洗过程,对顽固污渍再次进展去除,并初步去除大局部洗涤剂。漂洗完毕后进水9秒,暂停1秒,再次进展90秒漂洗过程,以便完全去除残留在衣物上的洗涤剂。第二次漂洗完毕后排水9秒,接着进入40秒的脱水过程,将衣物里的水分以高速产生的离心力甩出,便于晾干。脱水过程完毕后,标准洗涤模式完毕,蜂鸣器长鸣1秒提示用户洗衣完成。标准模式一共耗时360秒,当控制器通电时,按下“标准按键,系统开场进入标准洗涤模式,同时标注“标准的绿色LED灯点亮,数码管倒计时360秒。标准洗涤模
19、式完毕后,蜂鸣器鸣响警报,表示洗衣完毕。2.4.2轻揉模式轻揉模式是洗衣机洗涤的特色模式,由于人们生活水平的提高,有许多高级衣物采用价格昂贵却易磨损的材料制作而成,比方羽绒服。这样的衣物如果用标准模式进展机洗,往往容易破坏衣物,因此本系统设计了轻揉的洗涤模式,用于这些特殊衣物的洗涤。在日常使用中,用户的衣物假设不太脏,也可使用此模式,以便更好保护衣物。轻揉模式与标准模式根本一样,主要减少了第一步的洗涤过程,由两次漂洗和一次脱水过程构成。具体过程为:进水漂洗进水漂洗排水脱水报警。通过两次漂洗对衣物进展轻揉,去除污渍和洗涤剂,再通过脱水将衣物水分甩出,便于晾干。轻揉模式一共耗时250秒,当控制器通
20、电时,按下“轻揉按钮,系统开场进入轻揉洗涤模式,同时标注“轻揉的绿色LED灯点亮,数码管倒计时250秒。轻揉洗涤模式完毕后,蜂鸣器鸣响警报,表示洗衣完毕。2.4.3甩干模式有些时候,用户并不需要对衣物进展洗涤,而只需要进展脱水晾干。或者由于衣服太脏,用户选择手洗,洗完后通过洗衣机的甩干功能可以将水分快速去除,以便晾干。这就是甩干模式的作用。由于不需要对衣物进展清洗,甩干模式主要由脱水过程组成,具体过程为:排水脱水报警。通过高速旋转产生的离心力,机器将衣物的水分甩出,以便晾干。脱水模式一共耗时50秒,当控制器通电时,按下“甩干按钮,系统开场进入甩干模式,同时标注“甩干的绿色LED灯点亮,数码管倒
21、计时50秒。甩干模式完毕后,蜂鸣器鸣响警报,表示甩干完毕。3系统硬件设计本系统所采用的硬件都是市面上常见且价格廉价的器件,性能稳定,能够形象地模拟洗衣机的工作过程,科学地到达本课题研究目的。本系统的硬件电路包括单片机控制电路、电机驱动电路、显示电路、按键电路和蜂鸣器警报电路五大局部。3.1单片机最小系统电路单片机控制电路是全自动洗衣机控制系统的控制核心,要使单片机能正常运作,就需要构成单片机最小系统,单片机最小系统由单片机、时钟电路和复位电路构成。【1】3.1.1单片机概述微处理器是智能化控制系统的核心,微处理器在智能化控制系统中的作用,犹如人脑对于人体,是系统总的指令和控制中心。可以说,如果
22、没有微处理器,控制系统是不可能实现智能化和自动化的。单片机是一种采用超大规模集成电路技术,将具有数据处理能力的中央处理器CPU、随机和只读存储器RAM和ROM、I/O输入输出端口以及定时器/计时器等部件集成在一起的芯片。它是一个完整的微处理器,更是一个微型计算机系统,由于其拥有许多无可比较的优点,单片机已成为许多领域智能化控制系统的理想芯片选择。【7】最早的单片机诞生于1971年,由美国著名电子芯片公司INTEL研制。单片机至今经历了三大开展阶段。早期的单片机为SCM,即单片微型计算机阶段。这个阶段的单片机开展主要探索了如何以最正确的体系构造应用于嵌入式系统。在这个阶段,单片机奠定了与通用计算
23、机完全不同的开展道路,开创了嵌入式系统独立开展道路,这时期的代表作品有:MC6800、INTEL8048等。单片机的中期开展为MCU即微控制器阶段。这一阶段单片机开场寻求与智能控制对象衔接的模式,因此主要开展外围电路与接口电路的扩大。由于接触领域大局部与电气、电子行业相关,INTEL开场淡出MCU开展,取而代之的是著名的PHILIPS公司。PHILIPS公司以其在嵌入式应用方面的巨大优势,将MCS-51单片机从微型计算系统开展为单片机微控制器,远远拓宽了单片机的开展道路。单片机的当前开展趋势为SOC即嵌入式系统阶段。由于微电子技术、EDA技术和IC技术的快速开展,寻求一种芯片与应用系统的最大化
24、开展道路,将基于SOC的单片机应用于系统设计,是未来单片机的主要开展方向。【11】3.1.2STC89C51芯片概述目前单片机制造研究的公司众多,单片机的种类和型号各异。在考虑了系统的设计容后,本课题选用STC公司的STC89C51新片作为全自动洗衣机控制系统的中央处理芯片。STC晶宏科技公司是在的一家8051单片机设计生产公司。STC系列的单片机现在在中国的51单片机市场上占有较大比例。宏晶科技现已成长为全球最大的8051单片机设计公司,现提供专用MCU设计效劳.宏晶科技是专业单片机供给商,致力于提供处于业领先地位的,高性能STC系列MCU和SRAM其产品已通过国际权威认证机构SGS瑞士通用
25、公证行的多项认证STC公司研发生产的STC89C51芯片是现在市面上经常使用到的一种单片机芯片。STC89C51是带有4K字节闪存的CMOS 8位微处理器,能擦写只读存储器1000次,是一种高效、低耗和廉价的单片机芯片,能为许多嵌入式单片机系统提供灵活而低价的解决方案。【11】3.1.3STC89C51芯片构造STC89C51芯片用总线将中央处理器CPU、随机存储器RAM、只读存储器ROM、定时器/计数器和I/O输出端口集成在一起,具体包含以下功能构造:(1) 一个8位CPU(2) 一个片振荡器和时钟电路(3) 一个4KB大小的ROM(4) 一个128X8字节的RAM(5) 两个16位定时器/
26、计时器(6) 32个I/O端口(7) 5个中断结源(8) 一个可编程双工串行端口【5】3.1.4STC89C51的引脚功能STC89C51芯片共有40个引脚,采用双列直插DIP封装,具体引脚构造如图31。【2】图3-1 STC89C51引脚图根据功能的不同,STC89C51的引脚可分为4大类,分别为电源、时钟、控制和I/O引脚:(1) 电源引脚:电源引脚有两个,其中第40引脚VCC用于接入供电电压,第20引脚GND用于接地。(2) 时钟引脚:时钟引脚有两个,分别是19引脚XTAL1和18引脚XTAL2,这两个引脚与晶体振荡器相接,构成单片机震荡时钟电路。(3) 控制引脚:控制引脚有四个,其中3
27、0引脚ALE/PROG 的ALE功能用于地址锁存允许,而PROG功能用于片EPROM的编程脉冲输入。31引脚EA/VPP的EA功能用于外ROM的选择,而VPP功能用于片EPROM的编程电源施加。29引脚PSEN是外ROM读选通信号。9引脚RST是单片机的复位引脚,与电阻电容等器件连接,可构成单片机的自动或手动复位电路。(4) I/O引脚:I/O引脚一共有四组,每组8个。其中P0组为一组八位漏级开路双向I/O口,每个引脚可吸收8TTL门电流。当用于外部程序数据存储器时,可用于低8位地址和数据信号。当FLASH进展校验输出原码时,P0外部必须上拉电阻。P1组为一组部提供上拉电阻的8位双向I/O口,
28、每个引脚可输出4TTL门电流。P2组为一组部提供上拉电阻的8位双向I/0口,比P1多一个输出控制局部,在进展外存储器扩大时,可用于传送高8位地址数据。P3组也是一组部上拉电阻的双向I/0口,既是一般I/O引脚,但也作为一些特殊功能的引脚,其中P3.0 RXD和P3.1TXD分别为串行输入、输出口;P3.2 INT0和P3.3 INT1是外部中断0和外部中断1引脚;P3.4 T0和P3.5 T1引脚为计时器/定时器0和计时器/定时器1的外部输入;P3.6 WR和P3.7 RD 引脚为外部数据存储器的写选通和读选通引脚。3.1.5 单片机复位电路复位电路是单片机最小系统的必要组成局部,能为单片机系
29、统提供稳定可靠的工作条件。复位电路在单片机控制系统中主要的功能是上电复位,即使系统各个局部恢复初始状态,STC89C51单片机的复位信号从RST引脚输入。复位电路分为手动复位和自动复位两种,本系统采用手动复位的电路模式。手动复位电路的电子元件由电容、电阻和按钮组成,具体复位电路见图32图32 单片机复位电路图3.1.6 单片机时钟电路在单片机最小系统中,时钟电路用于产生时钟震荡周期,为工作提供时钟周期,使得单片机能进展计时和定时。单片机的时钟电路由晶体振荡器和电容组成,时钟引脚为XTAL1和XTAL2。石英晶体振荡器是是一种精度高、稳定性好的振荡器,工作原理是利用石英晶体的压电效应,配合电容产
30、生周期震荡。石英晶体振荡器一般用金属作为外壳封装。晶体振荡器的震荡围从1.2MHz到12MHz。本系统采用12MHz的石英晶体振荡器,与两个30PF的瓷电容并联,接入单片机的两个时钟电路引脚,组成时钟电路。具体电路构造见图33图33 单片机时钟电路图3.2电机驱动电路电机驱动电路是全自动洗衣机控制系统的主要工作电路,本系统采用步进电机模拟洗衣机的转筒作为电机元件,并采用ULN2003A作为驱动芯片。3.2.1 步进电机简介步进电机是一种利用电子电路将直流电变为分时多相时序控制电流而工作的感应电机。步进电机不同于一般的直流驱动电机,它需要专门的驱动器,将直流电变为分时多相时序控制电流,才能正常工
31、作。使用步进电机需要双环型脉冲信号和功率驱动电路的参与,当承受到一个脉冲信号时,步进电机就被驱动而按指定方向旋转一个固定的角度,通过控制脉冲信号的数量,可以准确地控制电机的运转速度,故称步进电机。【6】由于步进电机能通过脉冲信号来控制转速,具有精度高、即启动即停顿、方便控制等有点,所以广泛应用于各个领域。步进电机的工作指标主要有相数和拍数。相数是指步进电机产生不同对极N、S磁场的激磁场对数,本系统采用四相步进电机作为工作元件。拍数是指完成一个磁场周期变化所需的脉冲数,如四相步进电机有四拍运行方式,即AB-BC-CD-DA-AB,以及八拍运行方式,即A-AB-B-BC-C-CD-D-DA-A,本
32、系统采用八拍的电机运行方式。3.2.2 ULN2003A简介单片机输出的上下电平不能直接控制步进电机,故需要专门的驱动电路对步进电机进展驱动,本系统采用ULN2003A作为四相步进电机的驱动模块。ULN2003A是一个7路方向器电路,当输入高电平时,电路会输出低电平,反之亦然。ULN2003A是一组大电流复合晶体管阵列,由七个硅NPN复合晶体管组成,可以看成是晶体放大器的集合。ULN2003A具有高耐压、大电流和带负载能力强等特点,是单片机驱动的理想元件。ULN2003A的部构造如图34【9】图34 ULN2003A部构造简单图3.2.3 电机驱动连接四相步进电机有四个输入接口,分别为ABCD
33、,与ULN2003A的其中四个输出端口连接,ULN2003A的四个对应输入端口接单片机的P1.0至P1.3 I/O口,这样通过对单片机的I/O口的控制,就可以驱动步进电机的转动了。使用八拍的控制方式,不但能控制步进电机的旋转方向,而且也能控制步进电机的旋转速度,这对于模拟转筒的工作状态是十分匹配的。电机驱动电路具体连接方式如图35。图35 电机驱动电路图3.3显示电路全自动洗衣机控制系统的显示电路由两局部组成,一局部是数码港的倒计时显示电路,另一局部是三色LED灯的状态显示电路。3.3.1数码管简介数码管是一种用LED发光二极管作为根本单元构成的半导体发光器件,故也称为LED数码管。在数码管里
34、,七个LED发光二极管排列成“8字型,如再加上旁边的小数点就一共有八个LED发光二极管。操作人员可以根据需要显示的字型,控制这八个LED二极管的亮灭,以形成所需的发光数字。数码管根据发光二极管的连接方式,可分为共阳极和共阴极两种。共阳极数码管即所有二极管的阳极都连接在一起形成公共端的数码管,使用共阳极数码管需要将公共端连接到5V电源,再通过控制二极管不同阴极的上下电平,来显示不同的数字。共阴极数码管即所有二极管的阴极都连接在一起形成公共端的数码管,使用共阴极数码管需要将公共端接地,再通过控制二极管不同阳极的上下电平,来显示不同的数字。数码管的LED引脚构造如图36所示。图36 LED数码管引脚
35、定义数码管的显示方式分为静态和动态两种。静态显示方式是指每一个码段都对应一个I/O口直接驱动,这种方式虽然编程简单,而且显示亮度也较大,但是却占用太多I/O端口,加大硬件设计负担。动态显示方式是指将所有数码管的码位都连接到一起,当单片机输出字型的时候,每位的数码管都显示一样的字型,但是具体需要哪个数码管显示,那么用位选通引脚进展控制,如需要第一位数码管显示,就翻开第一位数码管的位选通。只要将每位数码管显示的时间控制在1到2ms之间,利用人眼的视线残留错觉,会发现肉眼观察下,仿佛每位数码管都同时点亮。这就是动态显示方式。本系统采用四位共阳极数码管作为显示器件,采取动态显示方式进展显示。3.3.2
36、 数码管显示电路本系统采用四位共阳极数码管作为倒计时显示元件,用1K欧姆电阻和三极管进展驱动。将单片机的P0口作为数码管段选引脚,由于本系统最大的时间数字是三位数,故只使用四位数码管的其中三位。用P2.0到P2.2作为数码管的位选引脚。具体显示电路连接如图37所示。图37 数码管倒计时显示电路3.3.3 LED灯状态显示电路LED二极管是一种能发光的半导体元件,由于二极管的导通性,LED灯只能往一个方向导通,这叫做正向偏置。由于LED二极管具有高效率、耐使用、价格低廉和连接简单等许多优点,所有被广泛应用于各种需要长时间点亮显示的电路里。【4】本系统采用红黄绿三色LED灯构成系统的状态显示电路。
37、其中红色模拟的是洗衣机的进水阀。当洗衣机进水阀翻开时,红色LED灯点亮,当进水阀关闭时,红色LED灯熄灭。绿色LED等模拟洗衣机的排水阀,点亮时代表排水阀翻开,熄灭时代表排水阀关闭。黄色LED灯有三个,分别显示洗衣机“标准、“轻揉、“甩干三种洗涤功能,当洗衣机在选定的功能下工作时,对应绿色LED灯就显示,以提醒用户洗衣机的工作状态。LED灯单片机由P3.3到P3.7五个I/O口控制。具体的状态显示电路连接如图38所示。图38LED状态显示电路3.4按键电路按键电路是全自动洗衣机控制系统的输入电路,用于多功能洗衣机的实现。在系统工作初期,单片机扫描到了按键按下,就执行对应的功能。按键电路较为简单
38、,本系统用单片机的P3.0到P3.2作为扫描按键的I/O端口。具体连接如图39所示。图39按键电路3.5警报电路警报电路是全自动洗衣机控制系统中简单但是由必不可少的一局部。由于洗衣机全自开工作,故工作是否完成需要通过声音来告知用户。本系统采用蜂鸣器作为警报元件。蜂鸣器是一种常见的电子报警器,主要利用振荡器的谐振产生声音。由于蜂鸣器的工作电流一般比较大,故直接使用单片机的I/O端口是无法让蜂鸣器发声的。故本系统利用三极管作为驱动电路,将电流放大以供蜂鸣器工作。具体的警报电路连接如图310所示。图310 蜂鸣器警报电路4系统软件设计4.1程序整体构造根据全自动洗衣机系统的工作过程,洗衣机通电后,系
39、统处于初始状态,单片机扫描按键是否有按下,当按下相应按键,单片机执行相应程序,直到工作完毕,蜂鸣器警报,系统停顿工作。总体的程序流程如图41所示。开场初始化按键扫描标准?轻揉?甩干?洗涤程序漂洗程序漂洗程序脱水程序警报程序完毕图41系统程序总流程图4.2电机工作程序电机工作程序是全自动洗衣机控制系统的主要程序之一,通过控制步进电机的转速和圈速,来区分不同的洗衣过程。要控制步进电机的转速和圈速,首先需要写出电机的根本运转程序,即正转和反转子程序,详细程序请见附录。4.2.1 洗涤子程序洗涤子程序是控制步进电机按照洗衣机的洗涤过程进展工作的程序,程序的具体流程如图42所示。是否进水正转10圈反转1
40、0圈次数10?完毕图42洗涤子程序流程在洗涤子程序中,首先进水LED灯翻开,进水9秒后熄灭,暂停1秒,接着步进电机正转10圈,暂停1秒,再反转10圈,暂停一秒。一共转10次,洗涤完毕,具体程序见附录4.2.2 漂洗子程序漂洗子程序的流程和洗涤子程序根本一致,只是转速变慢,且只转动5次。具体流程如图43所示。是否进水正转10圈反转10圈次数5?完毕图43 漂洗子程序流程在漂洗子程序中,首先进水LED灯翻开,进水9秒后熄灭,暂停1秒,接着步进电机正转10圈,暂停1秒,再反转10圈,暂停一秒,一共转5次,洗涤完毕,详细程序见附录。4.2.3 脱水子程序排水正转10圈次数10?完毕转动蜂鸣器警报是否脱
41、水子程序是步进电机高速旋转来模拟洗衣机转筒脱水的过程,由于脱水程序根本是洗衣机的最后一道程序,故将蜂鸣器警报程序也参加其中,以便程序的书写。具体的流程如图44所示。图44脱水子程序流程在漂洗子程序中,首先排水LED灯翻开,排水9秒后开场脱水,步进电机高速正转10圈,一共转10次,脱水完毕,排水灯熄灭,表示排水阀关闭,同时蜂鸣器鸣响警报。具体程序见附录。4.3洗衣机多功能工作程序全自动洗衣机控制系统拥有三种洗衣功能,分别是标准模式、漂洗模式和甩干模式。从系统程序流程可知标准、漂洗和甩干都由不同的电机洗衣程序构成。4.3.1 标准模式程序标准模式由电机的一个洗涤子程序、两个漂洗子程序和一个脱水子程
42、序构成。标准模式工作耗时360秒,故在标准程序中将数码管倒计时的数目设定为360秒。工作开场时,“标准LED灯点亮,工作完毕后熄灭。具体程序见附录。4.3.2轻揉模式程序轻揉模式由电机的两个漂洗子程序和一个脱水子程序构成。轻揉模式工作耗时250秒,故在轻揉程序中将数码管倒计时的数目设定为250秒。工作开场时,“轻揉LED灯点亮,工作完毕后熄灭。具体程序见附录。4.3.3甩干模式程序甩干模式由电机的脱水子程序构成。甩干模式工作耗时50秒,故在轻揉程序中将数码管倒计时的数目设定为50秒。工作开场时,“甩干LED灯点亮,工作完毕后熄灭。具体程序见附录。4.4数码管显示程序数码管的显示程序实际上是一个
43、倒计时程序。由于本系统对时间精度要求比较高,故利用单片机的定时器1来作为数码管倒计时显示的位选时间,利用定时器0来作为段选的数字控制。通过定时器0和定时器1的配合,就可以比较准确地以固定的快速时间逐位显示倒计时,利用人眼视觉剩余到达三位数码管同时倒计时的效果。具体程序见附录。4.5键盘扫描程序键盘扫描程序用于系统通电后的键盘扫描,一旦扫描到有按键按下,系统就根据相应的按键执行对应的洗衣功能。由于键盘有抖动现象,因此在键盘扫描程序中需要进展消抖,具体的程序见附录。5.仿真与调试系统的硬件和软件设计完成后,需要先对系统进展软件仿真,以便检查是否实现系统设计的所有功能。仿真完成后需要对系统进展硬件调
44、试,查找硬件问题,最终完善方案,设计完成全自动洗衣机控制系统。5.1软件仿真现在电子设计的软件有许多,常见的有protel、proteus、ORCAD等,本课题采用proteus7.6作为本系统的仿真软件。5.1.1 Proteus简介Proteus是英国Labcenter electronics公司研发的著名EDA工具软件,该软件不但能进展电子线路的原理图绘制、代码调试,还能实现单片机和外围电路的仿真,是一款将电路仿真、PCB设计和虚拟模型仿真综合到一起的设计软件,是电子系统开发人员的得力助手。【8】5.1.2 利用Proteus进展系统仿真Proteus的仿真操作十分简单,首先将全自动洗衣
45、机控制系统的完整电路图在Proteus中绘制出来,然后用Keil C51编写软件程序,生成HEX文件,就可用于Proteus的仿真中了。将HEX文件装入Proteus中的单片机元件中,点击开场仿真按钮,系统就会自动仿真模拟【10】,如图51所示。图51 系统总体电路图及仿真过程5.2硬件调试系统设计完毕后,就需要用元件对电路进展焊接,由于仿真只是针对大概电路和程序问题,最终能否在硬件上实现还要考虑到硬件实际运行情况,所有对硬件进展调试显得十分必要。本次硬件调试采用实验室的直流电源和万用表,经过一段时间的调试后硬件最终如设计中的运行,全自动洗衣机控制器制作完毕。硬件调试如图52所示。图52 硬件实物调试图