资源描述
摘要:洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、漂洗、甩干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可供用户选择,以对应不同的洗衣时长。关键字:洗衣机;自动控制;交流电机。一、概述将洗衣机的各种洗衣程序运行在单片机(微电脑芯片)的控制下,使得洗涤、漂洗、脱水等各种功能的操作都能不需要手动,而是模拟人类智能行为完成,一般的微电脑控制程序全自动洗衣机由使用者根据洗涤衣物的质量、厚薄、脏污程度等,选择洗涤程度(包括洗涤水量、洗涤时间、漂洗方式、脱水时间等),洗衣机按照选定的洗涤程度自动进行工作。高档的微电脑程控全自动洗衣机(又称智能型洗衣机),它的输入指令来自两个方面:一方面是使用者在控制面板上的选择;另一方面,洗衣机内具有各种传感器,在洗涤过程中可对洗涤量、洗净程度、排水情况、脱水情况等进行检测,调整洗涤过程,使洗衣机工作于最佳状态。二、方案论证方案1:本方案的定时器实际上包含两级定时的概念,一是总洗涤过程的定时,而是在总洗涤过程中又包含电机的正转、反转和暂停三种定时,并且这三种定时是反复循环直至所设定的总定时时间到位置。当总定时时间在以内设定一个书之后T为高电平1,然后用倒计时的方法每分钟减1直至T变为0.在此期间,若,实现正转;若,实现暂停;若,实现反转。实现定时的方法很多,比如采用单稳电路实现定时,又如将定时初值预置到计数器中,使计数器运行在减计数状态,当减到全零时,则定时时间到。如图所示的电路原理框图就是采用这种方法实现的。由秒脉冲发生器产生的时钟信号经60分频后,得到分脉冲信号。洗涤定时的时间的初值先通过拨盘或数码开关设置到洗涤时间计数器中,每当分脉冲到来计数器减1,直至减到定时时间到为止。运行中间,剩余时间经译码后在数码管上进行显示。图1 洗衣机控制电路原理图1方案2:如图2所示,整个方案共分四个模块。1中央控制单元,本方案采用8051单片机机作为控制核心。该8位单片机技术成熟,稳定性高,成本低廉,资料丰富,并且广泛应用于工业控制及相关领域。结合本设计对控制器的要求,51单片机绝对是首选。2按键识别 介于成本及设计方面的考虑,本方案采用自锁式按键。对于洗衣机工作环境所产生的脉冲干扰此方案在软件程序设计时采用延时消抖滤波的方法得以解决。3数据译码及显示,中央控制单元给出信号以后经3-8译码器译码,输出端采用二极管亮灭来指示工作状态。同时工作状态数据也提供给LED组,以显示工作时间。4,电机驱动,本方案采用了廉价的交流电机控制作为洗衣机动力来源。前端控制信号经光电耦合器件予以强弱电隔离,最后输出至可控硅器件,控制导通角变化以达到调速的目的。同时电机的防范转控制采用继电器吸合方式改变电源接线方式,从而改变电机转动方向。 数据译码工作状态指示电路中央控制单元电机驱动电路数码管动态显示模块按键识别 图2 洗衣机控制电路原理图2 方案对比:方案一控制繁琐,系统复杂,在洗衣机强干扰强震动的工作环境下系统稳定性很难保证。相比之下,控制方案二比较可行。方案二采用单片机作为控制核心,脉冲震荡,计数器,分频器等已集成为一体,大大简化了电路,提高了系统的可靠性和稳定性。因此本设计最后采用了方案二作为了最后的设计方案。三、电路设计1.单片机最小系统此电路是以单片机为基础的系统时钟电路以及系统复位电路。时钟电路由一个频率为11.0592M的晶振并联而成的,输入到单片机的X1和X2脚,为系统 提供外部时钟。复位电路由一个10uf的电解电容和一个按键构成,输出端接到单片机RESET引脚。正常情况下单片机的RESET脚位低电平。当需要复位时,按下按键,单片机RESET引脚接收到一定时间的高电平后系统就自动复位。单片机最小系统电路原理图如图2.1所示。图3 单片机最小系统电路2.数码管动态显示动态显示方式是将所有数码管的8段按同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的IO线控制,显示数码同时传到每个数码管,但每个瞬时由位选通信号选通一个数码管,即在某一瞬时只有一个数码管显示数据,且显示时间不能太长,一般为110MS,依次循环扫描,轮流显示,由于人的视觉滞留效应,人们看到的是多位同时稳定显示。占用IO端线少,电路较简单,编程较复杂,CPU要定时扫描刷新显示,一般适用于显示位数较多的场合。图4 译码管3.状态显示电路本状态显示电路利用二极管为显示标志,不同的工作模式不同的二极管点亮。二极管的正向导通电压为1.2V电源电压5V限流电阻阻值为1000,译码器灌电流最大值为50MA。带入数据计算 电流大小38MA正好合适。图5 译码显示电路4.按键识别电路本电路为按键识别电路,按键一端接至电源,另一端接至单片机输入引脚。同时单片机引脚接1k电阻至地,此电阻的作用是下拉输入电压。当按键没有按下时,由于下拉电阻的作用,单片机的输入电压为0V,相反,当按键按下时,下拉电阻与电源接通,单片机输入引脚电压为5V.至此,通过下拉电阻的作用单片机可以通过检测输入引脚的电压来识别工作模式。电路原理图如图所示。图6 按键电路5.电机驱动电路为了防止动力电路强电对于控制电路的干扰,中央控制单元的控制信号的输出采用了光电耦合器件OPTOISO1与后续电路隔离。电机的转速控制仅通过控制可控硅Q401E4的导通角范围就可以实现。导通角越大,相对导通时间就越长,电机转速就越快,相反导通角越小相对的导通时间就越短,电机的转速也就越慢。电机的转动方向控制信号采用单刀双掷继电器的吸合得以实现。继电器的两个开关分别接在不同的电机绕组上,通过改变接线方向得以实现电机的转动方向改变。同时继电器也起到了强弱电隔离的作用。图7 电机控制及驱动电路四、性能的测试本次设计的仿真电路如下图所示:普通洗电路设计仿真如下图6所示:图8 普通洗电路仿真短时洗电路设计仿真如下图7所示:图9 短时洗电路仿真加热洗电路设计仿真如下图8所示:图10 加热洗电路仿真五、结论、性价比在仿真的过程中,出现的的结果基本符合要求电机的工作也很理想,正转,反转,暂停都能准确的实现,指示灯也能很明确的指明电机所工作的状态,唯一不足的一点就是整个系统都是通过单片机来控制,集通过程序的编写来控制,在程序的编写过程中,模块较多,因此第一眼看上去会觉得较复杂,同时在连接电路过程中需要十分细心,以防止出现线路的连接错误。不过,总的来说,电路的设计和仿真结果还是让人满意的,基本上符合所给任务书中的性能指标。六、课设体会及合理化建议本次课程设计,虽然花了不少的时间,但是收获真的不小。它使我对课本以及以前学过的知识有了一个更好的总结与理解,也让我知道了,光分开是不够的,从外面学到的知识要形成一个整体,这也很好的训练了外面对开发一个项目应该有怎样的思路和准备更清晰。 计过程中,对设计方案进行了很多次的修改,虽然也有查阅资料,但更多的是自己的思考。记得在设计几种状态的显示灯的控制电路时,整整花了两天的时间,试了好几个方案,在网上查的资料都很繁琐,且看不懂原理,到最后还是决定自己慢慢想,最终设计出来,虽然结果不是很完美,但还是比较满意的。 本次课程设计,让我对实验原理也有了更多的了解,对数电中常用的芯片功能及设计方法等有了更深刻的了解,对设计实验也有了更深切的体会,以前在做数电实验时也有部分是设计性的实验,不过基本上到最后都是老师告诉我们设计电路,自己虽然也有思考,但基本上没有想出来过,也没起到让自己真正来设计某个电路的目的,而这次有了足够的时间,基本上都是自己一点一点设计的,从某方面来说,还是很有成就感的。 之外,它让我对课本知识进行了融会贯通,毕竟,要设计一个完整的电路,单靠某一章节或某一部分的知识是不够的,要在整本书中找自己需要的东西,简单的说,就要做到学以致用。在考虑问题时,不要指望一次就能把问题考虑成熟,要做好不断否定并不断修改的准备。临渊羡鱼,不如退而结网,这也是我这次课设最大的体会,与其苦苦思索别人那样子设计是什么原理,为何要那样做,不如自己用已有的知识,重新考虑并设计,按自己的思路,达到自己所需要的效果,我觉得,这才是课程设计真正的目的。参考文献【1】 梅开乡、梅军进. 电子电路实验. M北京:北京理工大学出版社,2010年1月. P/215p/221【2】 黄继昌、郭继忠等.电路应用300例. 第二版. M北京:人民邮电出版社,2002年4月. P/124p/126【3】 诸静. 模糊控制与应用. M 北京:机械工业出版社,2005年1月. P/60P/105【4】 周学毛.C 语言程序设计教程. 第二版. M 西安:西安电子工业大学出版社,2001年【5】 张毅刚、刘杰. 单片机原理与应用. M 哈尔滨:哈尔滨工业大学出版社,2004年6月附录I:总电路图附录II:元器件清单序号编号名称型号数量1U1单片机AT89C5112DS1数码管DPY7-4-SEG13RN1排阻RX814S15开关SW-PB55R1111K电阻RES116D16二极管LED67Q18三极管NPN88MG1电机MOTOR-AC1附录III:源程序#include#define uint unsigned int#define uchar unsigned charuchar aa,bb,cc,mode,modecount; /mode=1普通洗 mode=2短时洗mode=3加热洗mode=4甩干 mode=5烘干uchar time,flag=0;/标志用于烘干和甩干的区别(flag用于标识程序运行状态的)sbit P00=P00;sbit P01=P01;sbit P02=P02;sbit P03=P03;sbit P04=P04;sbit P07=P07;uchar direction=0x55;/正转0X55反转0Xaauchar table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x08,0x03,0xc6,0x21,0x06,0x0e;/数码管显示的数据void delay(uint x)uint y;for(;x0;x-)for(y=110;y0;y-);/单片机延时程序,通过单片机的时钟周期实现的,运行整个程序所需时间void display()P3=0x00; /消除前一次显示的影响P1=tablecc/10;P3=0x08;delay(10);P3=0x00;P1=(tablecc%10)&0x7f;P3=0x04;delay(10);P3=0x00;P1=tablebb/10;P3=0x02;delay(10);P3=0x00;P1=tablebb%10;P3=0x01;delay(10);P3=0x00;void main(void)TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa=0;EA=1;ET0=1;TR0=0; P07=1;mode=0;P2=0x00; /电机停转while(1)if(P04=1)mode=5;TR0=1;if(P03=1)mode=4;TR0=1;if(P02=1)P07=0;if(P01=1)mode=2;TR0=1;if(P00=1)mode=1;TR0=1;display(); void timer0() interrupt 1TL0=(65536-50000)%256;/中断一次50MSTH0=(65536-50000)/256;TF0=0;aa+;if(mode=1) /普通洗 P2=direction;if(aa=20) time+;if(time=25)time=0;direction=direction;bb+;aa=0;if(bb=60)cc+;bb=0;if(cc=20)mode=2;TR0=0;aa=0;bb=0;cc=0;time=0; if(mode=2) /短时洗 P2=direction;if(aa=20) time+;if(time=30)time=0;direction=direction;bb+;aa=0;if(bb=60)cc+;bb=0;if(cc=15)TR0=0;mode=4;/转到甩干cc=0;bb=0;aa=0;time=0; if(mode=4|mode=5&!flag) /甩干 P2=0x55;/电机正转if(aa=20)/1S bb+;aa=0;if(bb=60)/60Scc+;bb=0;if(cc=6)/脱水时间到cc=0;bb=0;aa=0;P2=0x00;if(mode=5)flag=1; if(mode=5&1=flag)P07=0;/TF0=0;if(aa=20)/1Sbb+;aa=0;if(bb=60)/60scc+;bb=0;if(cc=10)/烘干时间到cc=0;bb=0;aa=0;flag=0;TR0=0;mode=0;
展开阅读全文