欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    智能洗衣机控制系统设计.doc

    • 资源ID:17608310       资源大小:280KB        全文页数:15页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    智能洗衣机控制系统设计.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流智能洗衣机控制系统设计.精品文档.机电方向课程设计说明书智能洗衣机控制系统设计院 (系) 机械工程学院 专 业 机械工程及自动化 班 级 机械五班 学 生 xxxxxxx 指导老师 XXXXX 2013年 1 月 1 日机电方向课程设计任务书兹发给 班学生 设计任务书,内容如下:1 设计题目:智能洗衣机控制系统设计 2 应完成的项目:(1)主电机的控制回路 (2)洗衣机的各个铺助功能的设计与实现 (3)单片机(或其他控制器)的控制程序的编写 (4)操作界面的设计 (5)各部分的电路连接 (6)编写20页左右的详细说明书 3 参考资料以及说明:4 本设计任务书于2012年 11 月 30日发出,应于2012年 12月21日前完成,然后进行答辩。指导教师 签发 2012 年 11 月 30 日课程设计评语:课程设计总评成绩:指导教师签字:年 月 摘 要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统洗衣机的更新。在现代新型家电产品系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件配合,以作完善。本设计是基于单片机的基础上所设计的智能洗衣机控制系统的设计。设计的智能洗衣机具有主电机的运行控制、洗衣的时间显示、洗衣的类型选择、水温加热等功能。对于一部智能洗衣机来说,最主要的是洗衣功能的完善,同时还要根据用户的要求设计各个辅助功能的设计与实现,控制面板的美观,符合人机工程学。另外还要对洗衣过程中出现的故障进行诊断,保证高速运转时脱水功能的安全性等。 关键词:智能洗衣机、单片机、功能完善 目录摘 要3第一章 绪论11.1引言11.2项目内容和要求1第二章 系统概述及硬件电路设计22.1 系统结构介绍22.2系统硬件电路设计31.电源电路32.驱动电路33.蜂鸣器电路44.负载检测电路模块55.水位检测电路66.LCD显示模块77.键盘输入模块7第三章 系统程序8附图:系统总电路图17参考文献17第一章 绪论1.1引言 随着时代变迁科技越发日新月异,不断更新换代。洗衣机作为每个家庭主妇都趋之若鹜的实用家电更是随着时代的脚步变得越来高级。传统的洗衣机只有简单的洗衣功能和脱水功能,但是智能洗衣机却具有强弱洗涤功能,快洗,单脱等功能,能够更好的适应人们的生活需求。本设计使用AT89C52单片机为主控芯片,洗衣机的各项功能是由单片机控制实现的,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性,根据人机工程的要求设计配有智能洗衣机的电源电路模块,驱动电路模块,传感器模块,键盘输入模块,蜂鸣器电路模块等,以此来实现智能洗衣机的控制系统。本设计主要针对这几个模块的电路设计还有程序设计做出思考。目的为将人们的需要变成现实,设计出更节能、功能更全面、更人性化的智能洗衣机,让广大的人生活变得更加美好。1.2项目内容和要求 本次专业设计的项目名称是智能洗衣机控制系统设计,我必须在要求的时间内完成本次项目的所以要求。项目的要求是首先完成对洗衣机的功能控制,功能有很多其中包括:智能洗衣机主电机的运行控制、洗衣时的时间显示、洗衣的类型选择、水温加热等功能。具体表现为为洗衣机设计主电机的控制回路,洗衣机的各个辅助功能的设计与实现,基于单片机的控制程序的编写以及操作界面的设计,各部分的电路连接,这些都是本项目的设计主要内容与要求。要做好这些要提前做好准备工作,查阅资料等。第二章 系统概述及硬件电路设计2.1 系统结构介绍智能洗衣机控制系统采用的是AT89C52单片机为主机控制芯片,同时外围电路还包括了电源电路、驱动电路、蜂鸣器电路、负载检测电路模块、水位检测电路、LCD显示模块,键盘输入模块等。下图为智能洗衣机控制系统的结构框图。ATC89C52单片机电源电路蜂鸣器模块LCD显示模块温度传感器水位传感器负载传感器驱动电路电机正反转键盘输入模块图1 智能洗衣机结构框图2.2系统硬件电路设计1.电源电路本次设计中电源电路用于将220V的交流电转化为所需要的直流电压。220V交流电先经变压器降压,然后经过二极管桥式整流,电容滤波后送入集成稳压器进行稳压,然后将稳定的直流电压输送给智能洗衣机控制系统电路的其他用电模块。整个由桥式整流电路,电容,集成稳压器7815和集成稳压器7805组成。从集成稳压器7815输出端输出的15V电压直接用于给V/F转换器供电,从集成稳压器7805输出端输出的5V电压用于给其他直流低压部分提供电源。如图2.图2系统电源电路2.驱动电路由光电耦合器MOC3041和大功率晶闸管构成。MOC3041是常用的双向晶闸管输出的光电耦合器,带过零触发电路,有很好的隔离性。单片机将控制信号传递给MOC3041的输入端,经MOC3041的输出端来控制大功率晶闸管的控制端,从而由大功率晶闸管来控制相应的负载。这种设计方式可以使系统强弱电之间具有很好的隔离效果,控制方便,性能稳定。如下图3所示,当MOC3041的2号引脚为高电平时,5号和6号引脚之间不导通,大功率晶闸管不导通,相应负载断电;当MOC3041的2号引脚为低电平时,其5号和6号引脚之间导通,大功率晶闸管导通,相应的负载处于启动状态,驱动负载工作。 图3 驱动电路3.蜂鸣器电路用蜂鸣器作为发声元件,可以在需要的时候发出声响,在洗衣机系统中可用于提示洗衣过程结束及对洗涤过程中出现的故障进行报警。如下图4所示,AT89C52的P1.3与9012的基极相连。当P1.3输出高电平时,9012截止,蜂鸣器不发生;当P1.3输出低电平时,9012导通,蜂鸣器发出蜂鸣声。 图4 蜂鸣器电路4.负载检测电路模块负载检测电路是本次设计中洗衣机能实现智能检测的关键电路。其电路图如图5所示。经电动机两端输出的感应电动势先后经过半波整流,光耦,滤波送入到单片机的P2.7口进行分析检测出负载信息。 图5 负载检测电路5.水位检测电路 如图6所示为水位检测电路。为了使计算机直接读数,传感器采用敏感元件,L为传感器内部线圈,匝数为480匝,电感量在(3.305.40mH),初始电感量为3.30mH。电容C1、C3选用0.22uF/63V。R5为1k,R8为4.7k。L、C1、C3组成的谐振电路与数字反向器7404连接输出标准方波,随着水位的变化,谐振频率作相应的改变。 图6 水位检测电路6.LCD显示模块LCD12864是一种常用的液晶显示器,内含有国标一级、二级简体中文字库。通过使用LCD12864可以实现本设计所需要的显示效果。如图7所示,12864的数据口与单片机的P0口相连,通过控制P0口的输出即可调整液晶显示的字符。RS、RW、EN为LCD与单片机之间的读写控制信号,通过对其控制可以实现对LCD的读写控制。 图7 液晶显示电路 7.键盘输入模块下图8为本次设计中键盘输入模块电路,此设计是方便用户来自行选择洗涤模式和控制洗涤程序的启动/暂停的。键盘按键只有两个,其中一个按键用于选择洗涤模式,另一个用于控制洗衣机的启动和暂停。图8 键盘输入模块第三章 系统程序洗衣机控制模型程序 单片机AT89C52#ifndef _KEYSCAN_H_#define _KEYSCAN_H_#include <reg52.h>#include "lcd_12864.h"#include "wash.h"#include "delay.h"sbit mode = P14; /设置按键sbit start_pause = P15; /启动暂停按键void keyscan();#endif#include "keyscan.h"uint modenum;extern xidimode;void keyscan()if(mode=0)delay_ms(5);/延时消抖if(mode=0)while(!mode);/松手检测modenum+;if(modenum=1)photodisplay(0,1,5); /反白显示if(modenum=2)photodisplay(0,2,5); if(modenum=3) photodisplay(0,3,5); if(modenum=4)modenum=1;photodisplay(0,1,5);if(start_pause=0)delay_ms(5);if(start_pause=0)while(!start_pause); /松手检测if(modenum=1)biaozhun();xidimode=0; /标准洗涤if(modenum=2)fast();xidimode=2; /快速洗涤if(modenum=3)tuoshui();xidimode=3; /脱水#ifndef _DS18B20_H_#define _DS18B20_H_#include <reg52.h>#include "delay.h"sbit DQ=P20;bit Init_DS18B20();void WriteOneChar(uchar dat);uchar ReadOneChar();uint ReadTemp(); #endif#include "DS18B20.h"bit Init_DS18B20()bit dat=0;DQ = 1; /DQ复位DelayUs2x(5); /稍做延时DQ = 0; /单片机将DQ拉低DelayUs2x(200); /精确延时 大于 480us 小于960usDelayUs2x(200);DQ = 1; /拉高总线DelayUs2x(50); /1560us 后 接收60-240us的存在脉冲dat=DQ; /如果x=0则初始化成功, x=1则初始化失败DelayUs2x(25); /稍作延时返回return dat;void WriteOneChar(uchar dat)uchar i;for (i=8;i>0;i-)DQ = 0;DQ = dat&0x01;/按位与DelayUs2x(25);DQ = 1;dat>>=1;DelayUs2x(25);uchar ReadOneChar()char i;uchar dat=0;for (i=8;i>0;i-) DQ = 0; / 给脉冲信号 dat>>=1;/稍微延时 DQ = 1; / 给脉冲信号 if(DQ=1) dat|=0x80; DelayUs2x(25); return(dat);uint ReadTemp() /*读取温度值并转换*/uint t,LSB,MSB;Init_DS18B20();WriteOneChar(0xcc); / 跳过读序列号的操作 WriteOneChar(0x44);/*启动温度转换*/delay_ms(10);Init_DS18B20();WriteOneChar(0xcc); / 跳过读序列号的操作 WriteOneChar(0xbe);/*读取温度*/LSB=ReadOneChar(); /低位MSB=ReadOneChar(); /高位Init_DS18B20(); /中止读取后面不需要的字节以减少读取时间t=(int)(MSB<<8)|LSB)*0.0625);return(t);#ifndef _LCD_12864_H_#define _LCD_12864_H_#include <reg52.h>#include <intrins.h>#include "delay.h"#define LCD_data P0 /数据口#define delayNOP(); _nop_();_nop_();_nop_();_nop_();/*sbit lcdrs=P10;sbit lcdrw=P11;sbit lcden=P12;*/sbit lcdrs=P25;sbit lcdrw=P26;sbit lcden=P27;void Check_Busy();void write_com(uchar com);void write_date(uchar date);void write_str(uchar *p);void diyihang(uint z);void dierhang(uint z);void disanhang(uint z);void disihang(uint z);void kaishi_window();/void queren_window();void init_12864();void photodisplay(uchar x,uchar y,uchar width);void fanbai_ready();#endif#include "lcd_12864.h"uchar code str1="请选择洗涤模式"uchar code str2="1.标准洗涤"uchar code str3="2.快速洗涤"uchar code str4="3.脱水"void Check_Busy() lcdrs=0; lcdrw=1; lcden=1; P0=0xff; while(P0&0x80)=0x80);/忙则等待 lcden=0;void write_com(uchar cmd) /写命令 Check_Busy(); lcdrs = 0; lcdrw = 0;LCD_data = cmd;lcden = 1; delayNOP(); lcden = 0; void write_date(uchar dat) /写数据 Check_Busy(); lcdrs = 1; lcdrw = 0; LCD_data = dat;lcden = 1;delayNOP(); lcden = 0; void write_str(uchar *p)while(*p)write_date(*p+);void diyihang(uint z) z-; write_com(0x80+z);void dierhang(uint z)z-;write_com(0x90+z);void disanhang(uint z) z-; write_com(0x88+z);void disihang(uint z) z-; write_com(0x98+z);void kaishi_window()write_com(0x01); /清屏delay_ms(5);diyihang(1);write_str(str1);delay_ms(30);dierhang(1);write_str(str2);disanhang(1);write_str(str3);disihang(1);write_str(str4);/*void queren_window()write_com(0x01); /清屏delay_ms(5);dierhang(1);write_str(str5);delay_ms(30);void init_12864()delay_ms(60); write_com(0x30);/模式delay_ms(5);write_com(0x30);/模式delay_ms(1); write_com(0x0c); delay_ms(5);write_com(0x01);/清屏delay_ms(20); write_com(0x06);/指针自动加1整屏不移动delay_ms(1);kaishi_window();void fanbai_ready() /为反白做准备,目地是在图形显示时防止有噪点 uchar i,j;write_com(0x34); /写数据时,关闭图形显示for(i=0;i<32;i+)write_com(0x80+i); /先写入水平坐标值write_com(0x80); /写入垂直坐标值for(j=0;j<16;j+) /再写入两个8位元的数据 write_date(0x00); delay_ms(1);for(i=0;i<32;i+) write_com(0x80+i);write_com(0x88);for(j=0;j<16;j+) write_date(0x00); delay_ms(1);write_com(0x36); void photodisplay(uchar x,uchar y,uchar width)/反白,X为0-7,Y为0-3,width为行反白格数 uchar i,j,fanbaiflag=0x00;fanbai_ready();if(y>1) fanbaiflag=0x08;y=y-2;write_com(0x34); /写数据时,关闭图形显示,且打开扩展指令集for(i=0;i<16;i+)write_com(0x80+(y<<4)+i);write_com(0x80+fanbaiflag+x);for(j=0;j<width;j+)write_date(0xff);write_date(0xff);delay_ms(1);write_com(0x36); /写完数据,开图形显示 write_com(0x30); /从扩展指令到基本指令#ifndef _DELAY_H_#define _DELAY_H_#define uint unsigned int#define uchar unsigned charvoid DelayUs2x(uchar t);void delay_ms(uint z);#endif#include "delay.h"void DelayUs2x(uchar t) while(-t);void delay_ms(uint z) uint x,y; for(x=z;x>0;x-) for(y=123;y>0;y-);#include "lcd_12864.h"#include "keyscan.h"#include "wash.h"void main()init_12864(); /初始化12864init_t0(); /初始化t0while(1)keyscan();附图:系统总电路图参考文献1 张毅刚.单片机原理及应用M.北京:高等教育出版社,20092向骞.全自动洗衣机原理与维修M.f福建:福建科学技术出版社,20003 马忠梅.单片机C语言应用程序设计M.北京:航空航天大学出版社,20074 赵辉.Protel99电子线路CADM.北京:北京邮电大学出版社,20075毕淑娥.电工与电子技术基础M.哈尔滨:哈尔滨工业大学出版社,2008.66张毅刚.单片机原理及应用M.北京:高等教育出版社,20097林海汀.电子工艺技术与实践M.北京:机械工业出版社,2011.78李全利,仲伟峰,徐军.单片机原理及应用M.北京:清华大学出版社,2006.2

    注意事项

    本文(智能洗衣机控制系统设计.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开