51单片机自动洗衣机控制系统设计—毕业设计论文

上传人:痛*** 文档编号:41650451 上传时间:2021-11-22 格式:DOC 页数:18 大小:146.52KB
收藏 版权申诉 举报 下载
51单片机自动洗衣机控制系统设计—毕业设计论文_第1页
第1页 / 共18页
51单片机自动洗衣机控制系统设计—毕业设计论文_第2页
第2页 / 共18页
51单片机自动洗衣机控制系统设计—毕业设计论文_第3页
第3页 / 共18页
资源描述:

《51单片机自动洗衣机控制系统设计—毕业设计论文》由会员分享,可在线阅读,更多相关《51单片机自动洗衣机控制系统设计—毕业设计论文(18页珍藏版)》请在装配图网上搜索。

1、自动洗衣机控制系统设计一、项目内容及要求。内容:设自动洗衣机的控制要求是:启动后先开启进水阀进水,水位到达设定值后关闭,然后波轮按正转5秒、反转5秒,正、反转之间停3秒的规律不断循环转动,直至达到设定时间停止,之后打开排水阀放水,水放完后洗衣桶旋转脱水,1分钟后停止并关闭排水阀,洗衣过程结束。要求水位设置不少于高、中、低三档,洗衣时间在312分钟范围内可调,以1分钟为单位,排水时间定为1分钟。运动执行器用指示灯模拟,水位用开关模拟,试设计该洗衣机的控制电路。要求: 画出控制系统的框图,说明系统方案设计的思路、理由或依据; 选择、确定组成控制系统的各个单元,并阐述选择确定的原则或依据; 画出完整

2、的电气原理图,介绍整体电路的工作原理、性能或特点; 如采用单片机控制,给出单片机程序的流程图和清单,说明程序的工作原理。 制作实物电路,验证设计、制作是否正确。二、题目分析及设计思路。1.技术要点:要对自动洗衣机的整个流程要清楚,要清楚哪些步骤比较重要。对于洗衣机优先级最高的应该是暂停这个功能。因为一旦当洗衣机盖子被打开或者发生什么意外情况,洗衣机必须马上停止工作,这也是出于对安全问题的考虑。洗衣机在洗衣的过程中波轮按正转5秒、反转5秒,正、反转之间停3秒的规律不断循环转动,直至达到设定时间停止。当到了设定的时间以后洗衣机便要进入下一个的洗衣流程。设置洗衣机时间和水位必须要显示结果,方便用户查

3、看。单片机程序中的设计洗剂时间这些要做到比较精确,这样才能保证洗衣机能将衣服洗的比较干净。水位设置的处理,因为考虑到身边没有水位传感器,这里我用限时的方法来完成低、中、高三个水位的设置。进水和出水的电磁阀我这里都是用LED灯显示来代替了,进水和出水我会将对应的LED点亮来表示进水和出水。三、方案设计说明。本系统实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣、排水和脱水等阶段。控制系统主要由电源模块、单片机控制系统和外部硬件电路构成。电源采用三端集成固定稳压器7805提供+5V电源,单片机控制系统负责控制洗衣机的工作过程,主要由AT89S51单片机、2位共阳数码管、按键、LED指示灯组

4、成;外部硬件电路有继电器、三极管、电动机。 1、按键 洗衣机面板上有5个按钮K1、K2、K3、K4、K5。 K1为水位设置。 K2洗剂时间设定。 K3启动。 K4停止(模拟洗衣机的盖板,盖板打开时洗衣机将停止工作)。K5返回。 2、 洗衣过程洗涤过程  通电后,只要用户对水位和洗剂时间设定后,按下启动按钮,洗衣机就进入了洗剂过程。首先进水阀LED灯点亮,开始向洗衣机供水,当到达要求水位时,进水阀LED熄灭,停止进水;电机M接通,带动波轮旋转,形成洗衣水流。电机M是一个正反转电机,可以形成往返水流,有利于洗

5、涤衣物。排水过程 电机停止转动,排水阀的LED指示灯点亮。这里会有一分钟的排水时间。脱水过程  洗涤或排水过程结束后,排水阀LED接通,开始脱水。排水阀动作的同时,电机M也接通,此时电机是朝着一个方向高速的旋转,使电机可以带动内桶转动。从而将衣服上的水脱掉。3、设计总体方框图四、单元设计说明。1、单片机的时钟电路、和复位电路。 时钟电路时钟电路由晶振元件与单片机内部电路组成,产生的振荡频率为单片机提供时钟信号,供单 片机信号定时和计时。 在AT89S51单片机内部有一个高增益反相放大器,其输入端引脚为XTAL1,其输出端为XTAL2。只要在两引脚之间跨接晶体振荡器

6、和微调电容C1、C2,就可以构成一个稳定的自激振荡器。本设计采用如图所示电路。 一般地,电容C1和C2取33pf左右;晶体振荡器,简称晶振,频率范围是1.212MHz。晶振频率越高,系统的时钟频率也就越高,单片机的运行速度也就越快。在通常情况下,使用振荡频率为6MHz或12MHz的晶振。如果系统中使用了单片机的串行口通信,则一般使用频率为11.0592MHz的晶振。而在本次设计中采用的是频率为11.0592MHz的晶振。 单片机上电自动复位电路 上电复位是利用电容充电来实现复位,其工作原理是:上电瞬间RST端的电位与VCC相同,随着电容C3充电电流的减小,+5V的电压立即加到了RST

7、端,该高电平使得单片机复位。2、LED显示电路。 LED(Light Emiting Diode)是发光二极管英文名称的缩写。本次设计中我们采用发光二极管主要是用来指示洗衣机的工作状态。4个发光二极管分别跟单片机的P2.6、P2.7、P3.0、P3.1连接,如图3所示。当发光二极管的阳极所对应的单片机管脚为高电平时,发光二极管导通。3、数码管显示电路。 常用的LED为8段或7段。每一个段对应一个发光二极管。这种显示器有共阳极和共阴极2种。共阴极LED显示器的发光二极管的阴极连在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的

8、发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管接低电平时,发光二极管被点亮,相应的段被显示。为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同字型,因此该代码称之为段码(或称为字型码)。4、电机正反转控制电路。 这里我采用的是利用两个12V的继电器来实现电机的正反转。当P2.4为高电平,P2.5为低电平时NPN型的三极管Q1导通,Q2截止,电机就正转。反过来当Q1截止,Q2导通,电机就反转。这里采用的原理就是H桥的一个原理。如下图。 当SW1和SW4同时导通的时候电机就会正

9、转,当SW2和SW3同时导通的时候电机就会反转。五、完整电路原理分析。自动洗衣机完整电路设计图在Proteus7.9中仿真结果。给模块上电后上电指示灯会点亮。说明上电正常。分别按下水位设置开关、洗剂时间设置开关、启动开关。洗衣机就开始自动的洗剂过程。水位设置开关盒洗剂时间设置开关都是采用重复按来让水位循环和设置时间循环。如果不设定水位和洗剂时间,直接按下启动开关,系统就会以默认的值来洗剂。当打开洗剂盖板和有紧急情况的时候按下停止开关就能瞬间停止下来。再按下返回按键,洗衣机就能继续之前的洗剂过程。6、 软件设计流程。 开始 初始化键盘扫描设置水位按键按下 设置洗剂时间按键按下Y设置洗剂时间子程序

10、 设置水位子程序启动启动按钮按下洗衣程序洗剂时间结束排水程序排水一分钟结束脱水程序脱水一分钟结束洗衣结束七、程序清单#include<reg52.h> #define uchar unsigned char#define uint unsigned int/*/sbit moto_r=P24;/电机右控制器sbit moto_l=P25;/电机左控制器sbit key_sw=P10;/水位设置sbit key_xjsj=P11; /设置漂洗时间sbit key_qidong=P12;/启动按钮sbit dul1=P36;sbit dul2=P37;/*/sbit led_in=P2

11、6;/进水指示灯sbit led_out=P27;/出水指示灯sbit led_sw_h=P20;/高水位指示灯sbit led_sw_m=P21;/中水位指示灯sbit led_sw_l=P22;/低水位指示灯sbit led_xi=P30;sbit led_tuo=P31;sbit wring=P23;/警告sbit key_fanhui=P14;/*/uchar code num10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/共阳极数码管显示数组/*/char min=1;/时间uchar flag0=0;/洗衣标志uchar

12、flag1=0;/启动按键标志uchar flag2=0;/出水标志uchar flag3=0;/启动按钮的按下次数计数uchar erro=0;/报警标志uinta=0;uintb=1;uintnum0=2;uintc;uintd;uinte;uintf;uintg;uinth;uinti;uintj;uintk;/*函数声明*/void delay(uint xms);/延时函数void in();/进水子程序void out();/出水子程序void over();/结束子程序void xi();/洗衣程序void key_scan();/按键扫描子程序void SED_display(

13、);/显示时间子程序void on();/工作程序/*延时函数*/void delay(uint xms)uint i,j;for(i=xms;i>0;i-) for(j=110;j>0;j-);/*脱水子程序*/void over() while(num0!=0) led_out=1; moto_r=1; moto_l=0; led_tuo=1; delay(5000); num0-; num0=2; led_out=0; led_tuo=0; moto_r=0; moto_l=0; flag1=0; min=1;P0=0;P2=0;P3=0xFC;EA=1;ET0=1;ET1=

14、1;EX0=1;IT0=0;TMOD=0x01;dul1=0;dul2=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;/*进水子程序*/void in()led_in=1;delay(5000);led_in=0;/*出水子程序*/void out() while(num0!=0) led_xi=0; moto_r=0; moto_l=0; led_out=1; delay(5000); num0-; num0=2; /*洗衣子程序* */void xi() TR0=1; b=min*1200; while(flag0=0) led_xi=1; m

15、oto_r=1; moto_l=0; delay(5000); moto_r=0; moto_l=0; delay(3000); moto_r=0; moto_l=1; delay(5000); moto_r=0; moto_l=0; delay(3000);/*中断子程序*/void T0_time() interrupt 1TH0=(65536-50000)/256; TL0=(65536-50000)%256;b=b-1;if(b=0)led_xi=0; moto_r=0; moto_l=0;led_sw_h=0; led_sw_m=0;led_sw_l=0;flag0=1;TR0=0;

16、/*中断子程序*/void INT_0() interrupt 0TR0=0;EX0=0;c=moto_r;d=moto_l;e=led_sw_h;f=led_sw_m;g=led_sw_l;h=led_xi;i=led_tuo;j=led_in;k=led_out;led_sw_h=0;led_sw_m=0;led_sw_l=0;led_xi=0;led_tuo=0;led_in=0;led_out=0; moto_r=0; moto_l=0;while(1)if(key_fanhui=0) delay(10);if(key_fanhui=0)while(!key_fanhui);moto_

17、r=c;moto_l=d;led_sw_h=e; led_sw_m=f;led_sw_l=g;led_xi=h;led_tuo=i;led_in=j;led_out=k; /*显示子程序*/void SED_display()dul1=1;P0=nummin/10;delay(5);dul1=0;dul2=1;P0=nummin%10;delay(5);dul2=0;/*按键扫描子程序*/void key_scan() if(key_sw= 0)delay(10);if(key_sw= 0)while(!key_sw);a=a+1;if(a=1)led_sw_l=1;if(a=2)led_sw

18、_m=1;led_sw_l=0;if(a=3)led_sw_h=1;led_sw_m=0;if(a=4)a=0;led_sw_h=0;/*/if(key_xjsj=0)delay(10);if(key_xjsj=0)while(!key_xjsj);min+;SED_display();if(min=13)min=1;/*/if(key_qidong=0)delay(10);if(key_qidong=0)while(!key_qidong);flag1=1;flag0=0;/*主函数*/void main()P0=0;P2=0;P3=0xFC;EA=1;ET0=1;ET1=1;EX0=1;I

19、T0=1;TMOD=0x01;dul1=0;dul2=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;while(1)key_scan();SED_display();if(flag1=1)in();xi();out(); over(); end; 八、制作、调试情况。遇到的问题:1、 电机的正反转电路不能正常工作,上电之后就会一直死在那里。解决办法:最后发现是单片机在上电的情况下所有管脚默认都是高电平,这样就会出现控制正反转电路中的两个单片机管脚就会同时是高电平。最后是在初始化程序中将所有管脚开始的状态都强制拉为低电平才正常工作。2、 按下停止时不能一直停着,只是停了一会就自己又开始工作了。解决办法:最后是在按钮模块又加了一个按钮,只有当返回按钮按下的时候中断程序才会返回。九、实训成果。在Proteus7.9中能完整的仿真出整个的洗衣过程,经过调试没有发现什么bug。开始设置水位和设置洗剂时间都正常。在仿真中在洗衣的过程中也能看到电机正转正转5秒反转5秒中间停三秒的现象。工作状态的指示灯也都能到相应的过程中点亮来指示。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!