基于单片机的全自动洗衣机控制器

基于单片机的全自动洗衣机控制器

摘要

随着社会的发展和人们生活水平的逐步提高,越来越多的家用电器进入了人们的日常生活当中,例如自动洗衣机就给人们的生活带来了很多的便利。洗衣机作为家用电器中重要的一员早以普及,传统洗衣机以机械控制滚筒式洗衣机为主,使用时需大量人工控制,达不到自动控制效果。随着人们生活水平的提高和电子技术的迅猛发展,各种家用电器越来越趋向于全自动管理。而一款操作简单,使用方便,价格合理的全自动洗衣机无疑将拥有强大的市场竞争力

本次课程设计采用步进电机来模拟实际洗衣机的运行情况,实现上水、浸泡、洗涤、漂洗、甩干等过程。洗涤分弱洗、轻洗、强洗;可设定3级水位设定,每级水位均设定水位下限;可选择漂洗次数。使用键盘进行流程及参数设定及自动存储流程,设定暂停键,可暂时停止洗衣机的工作,恢复后按原设定程序继续进行,同时设定停止键,可终止洗衣机的工作,并在LED或LCD上显示当前流程。通过程序的实际运行,本设计可以实现题目中要求的功能,可以自动和手动设置洗衣机参数。

关键词: 自动洗衣机;AT89C51;步进电机;单片机。

原文档内含文档内各种作图,如需原文档参考学习,请关注微信公众号
回复文章标题即可免费获取。文档仅供参考学习使用。

Automatic Washing Machine Based on Single Chip Microcomputer

Abstract

With the development of society and the gradual improvement of living standards, more and more household appliances into people's daily life, such as automatic washing machines give people's lives a lot of convenience. Washing machine, regarded as a very important member of household devices, is widely used in family. Traditional washing machine is based on the machine-control technology and it will take many people to control it when working. With the rapid development of people's living standards improve and electronic technology, various household appliances tend to be more automated management. Without doubt, an automatic washing machine will rapidly take main part of the market.

This course is designed to simulate the operation of a stepping motor actual washing machine to achieve inputting water, soaking, washing, rinsing, drying and other processes. Washing sub-weak wash, light wash, strong wash; can be set to three water level settings, set the water level in each grade level were lower limit; optional rinsing times. Use the keyboard processes and parameter settings and automatic storage processes, set Pause to temporarily stop the washing machine work, the original setting after recovery process proceeds, while setting the stop button, you can terminate the washing machine work and LED or LCD display current processes. By actually running the program, the title of this design can achieve the required functionality.

Keywords:Automatic washing machine, AT89C51, Stepper motor, Microcontroller

目录

第一章 绪论

1.1 设计目的

  1. 进一步了解51系列单片机系统
  2. 熟练掌握、运用C51语言编程
  3. 练习使用RT12864显示器
  4. 实现对参数的保存与读取和通过RS232进行参数修改
  5. 实现全自动洗衣控制系统

1.2 设计要求

采用步进电机模拟洗衣机电机,实现上水、浸泡、洗涤、漂洗、甩干等过程。洗涤分弱洗、轻洗、强洗;可设定3级水位高度,每级水位均设定水位下限;可选择漂洗次数(3~5次)。使用键盘进行流程及参数设定及自动存储流程,设定暂停键,可暂时停止洗衣机的工作,恢复后按原设定程序继续进行,同时设定停止键,可终止洗衣机的工作,并在LED或LCD上显示当前流程。

(1)上水时,通过可调电位器及AD TLC549模拟水位检测传感器,若水位低于设定水位下限,则通过蜂鸣器报警,手动调节可调电位器,直至水位超过水位下限,切断进水开关(用开关量输出电路模拟),进入下一流程;

(2)浸泡过程中(LED或LCD应有状态表示正在等待,如一个LED数码管的一个比划段转动,或LCD上一个位置显示横杠翻转动画(依次显示--,\,|,/,--)),延时等待30s;

(3)洗涤时,先强洗、后轻洗再弱洗。可直接选择轻洗或弱洗。强洗、轻洗与弱洗的步进电机转速不同,依次递减,但均需正反转(转速自定、时间自定、正反转的时间自定);

(4)漂洗进行正反转,转速介于强洗与弱洗之间,或与强洗同。

(5)甩干高速正向转动,时间持续1分钟,;

(6)洗涤、漂洗间均需脱水、上水,但脱水转速低于甩干转速。

(7)通过LED或LCD显示当前操作流程及剩余洗涤时间

(8)各级水位的设定值保存在X5045中。

(9)通过RS232接口动态修改洗衣参数(如浸泡时间,甩干时间等,通信协议,数据格式自定)

1.3课程设计与背景

从古到今,洗衣服都是一项难于逃避的家务劳动,而在洗衣机出现以前,对于许多人而言,它并不像田园诗描绘的那样充满乐趣,手搓、棒击、冲刷、甩打,这些不断重复的简单的体力劳动,留给人的感受常常是:辛苦劳累。1858年,汉密尔顿·史密斯制成了世界上第一台洗衣机。1874年,“手洗时代”受到了前所未有的挑战,美国人比尔·布莱克斯发明了世界上第一台人工搅动洗衣机。1911年美国人又研制了世界上第一台电动洗衣机。与此同时,世界各地也相继出现了洗衣机。欧洲国家研究成功了喷流式洗衣机和滚筒式洗衣机。  1932年后,美国一家公司研制成功了第一台前装式滚筒全自动洗衣机,洗涤、漂洗和脱水都在同一个滚筒内自动完成,使洗衣机的发展跃上了一个新台阶。这种滚筒洗衣机,目前在欧洲、美洲等地得到了广泛的应用。  第二次世界大战结束后,洗衣机得到了迅速的发展,研制出具有独特风格的波轮式洗衣机。这种洗衣机由于其波轮安装在洗衣机桶底,又称涡卷式洗衣机。这种自动洗衣机将人类从劳动中解放出来,从而推动了科技的发展。

目前中国洗衣机市场正进入更新换代期,市场潜力巨大,人们对于洗衣机的要求也越来越高。这就要求设计者们有更高的专业和技术水平,能够提出更多好的建议和新的课题,将人们的需要变成现实,设计出更节能、功能更全面、更人性化的全自动洗衣机。目前的洗衣机都没有实现全方面的兼容,大多洗衣的厂家都注重各自品牌的洗衣机的特长,突出一两个与别的洗衣机不同的个性化的功能,洗衣机的各项功能是由单片机控制实现的,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性[1]。

1.4课程设计要求

1) 根据教师布置的题目进行选题;

2) 根据实验箱提供的功能,自行设计硬件电路图,并用Protel画出硬件原理图;

3) 采用单片机C语言或汇编语言进行编程,建议采用单片机C语言进行编程;

4) 编写完整的软件程序;

5) 调试、修改、完善;

6) 写出课程设计报告。

章 系统总体设计与介绍

2.1 系统总体设计

本次课程设计主要采用RT12864,ADC0809,X5045以及步进电机,使用RT12864对洗衣机的当前工作流程进行显示和倒计时,ADC0809用来读取模拟水位,X5045是对部分参数进行保存和读取使用,而步进电机则是最后的执行机构。用步进电机模拟洗衣机转速控制,通过键盘控制,LCD控制,设计人机友好界面,完成洗衣机自动,手动功能的模拟。

图2.1系统总体设计框图

2.2 系统整体结构

全自动洗衣机系统由RT12864,X5045以及步进电机组成;软件为C语言平台下的KEIL C编译的程序。工作过程如下:首先在LCD显示屏上出现欢迎界面和版权声明,按任意键进入工作程序;通过按键选择下限水位,工作模式,浸泡时间的设置方式以及设置浸泡时间;设置完成后开始打开水阀进行上水,直到水位到达设定位置;然后步进电机按照设定的方式进行工作;在每次漂洗和上水过程中,都会进行对水位的检测;最后进行甩干和结束提示音。

整个系统基于51单片机的C语言进行设计,其中各个部件结构如图所示:

图2.2 全自动洗衣机系统结构图

2.3 LCD显示模块功能

LCD显示模块[2]:本系统用LCD实现程序各个流程的中文显示。在用户选择洗衣方式以及洗衣服的各个环节都会有相应的显示来控制RT12864Hz汉字图形点阵液晶显示模块可显示汉字和图形。内置8192个中文汉字(16*16点阵)、128个字符(8*16点阵)及64*256点阵显示(用于图形)。模块由20个引脚与外界相连,其中8条数据线,5条控制线,3条电源线,2条背光电源线,两条没定义。

绘图显示RAM提供128×8个字节的记忆空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个字节的数据到绘图RAM,而地址计数器(AC)会自动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下:

  1. 关闭绘图显示功能。
  2. 先将水平的位元组坐标(X)写入绘图RAM地址;
  3. 再将垂直的坐标(Y)写入绘图RAM地址;
  4. 将D15——D8写入到RAM中;
  5. 将D7——D0写入到RAM中;
  6. 打开绘图显示功能。

    图2.3描述了LCD显示模块的硬件电路原理图。

图 2.3  LCD显示模块

2.4步进电机执行模块功能

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电动机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。若每旋转一圈以200个励磁信号来计算,则每个励磁信号前进18度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制[3]。

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
    步进电机有多种励磁方法。本实验采用八拍模式,四相励磁法,励磁顺序:A→AB→B→BC→C→CD→D→DA→A若励磁信号反向传送,则步进电动机反转。实验中电机采用“正转-反转”形式模拟洗衣机的工作状态,根据不同的相序间隔确定不同转速,来模拟洗衣机的强洗、轻洗、弱洗和甩干功能。

图 2.4  步进电机执行模块

2.5 ADC0809数模转换模块

    本文使用的是8位逐次逼近式A/D模数转换器ADC0809[4],有八个采集通道,转换时间为100μs(时钟为640KHz时)。输入通道的IN0接电位器,此电位值代表着水位的高低,通过滑动电位器,可以改变电压值,从而达到了一个模拟水位的作用,其中ADC0809需要一个500KHz左右的采样脉冲,可以使用分频器将ALE引脚的1/6主频(约2MHz)进行四分频得到。

ADC0809与单片机89C51的接线图如下:

图2.5 ADC0809与单片机引脚的接线图

2.6 X5045存储模块

X5045是一种SPI接口方式的串行E2PROM芯片,存储容量为4K位。X5045内含看门狗定时电路。MCU主要通过CS(片选)和SCLK(时钟控制端)对芯片进行控制,通过SI输入命令或数据,通过SO读出数据或状态。

表2-1  X5045的主要命令

命令

命令格式

命令描述

WREN

00000110

写允许命令

WRDI

00000100

禁止写命令

RSDR

00000101

读状态寄存器命令

WRSR

00000001

写状态寄存器命令

READ

0000A8011

从选择的地址读数据或者存储

WRITE

0000A8011

对芯片任何操作都要首先输入对应的命令,如果执行的是写操作,则在写允许和写命令之后输入要写的数据;如果执行的是读操作,在输入读命令之后,读到的数据将在SO线上出现(详细操作时序参考芯片资料)。

需要特别注意的是,在进行写操作时,数据在时钟的上升沿写入芯片;在进行读操作时,数据在时钟的下降沿出现在SO线上。

X5045的状态寄存器定义如下:

表2-2  状态寄存器:(Default=30H)

7

6

5

4

3

2

1

0

0

0

WD1

WD0

BL1

BL0

WEL

WIP

表2-3  WD1~WD0的定义

Status Register Bits

Watchdog Time Out

(Typical)

WD1

WD0

0

0

1.4seconds

0

1

600 milliseconds

1

0

200 milliseconds

1

1

Disabled

    可以通过写状态寄存器来设定看门狗定时时间。如果使用了看门狗,必须由微控制器定时向CS/WDI输出脉冲信号(喂狗),否则看门狗定时器时间到,X5045的RESET端将输出高电平复位微控制器。

图2.6  X5045电路连线图

2.7 简单按键模块

    为了实现洗涤参数的人工选择,鉴于单片机的资源使用情况,本文考虑使用四个开关按键,直接连接I/O口,共有四个功能键:

(1)选择下一个

(2)确定

(3)暂停/继续

(4)停止/复位

图2.7  键盘控制电路

章 程序设计

3.1 主程序框图

    全自动洗衣机主程序经初始化后,选择洗衣模式;其中全自动模式由上水→浸泡→洗涤→漂洗→甩干,手动模式则可以单选上述5个步骤中的一个单独进行。具体如图3.1所示:

图 3.1 主程序框图

3.2 各流程程序框图

3.2.1 全自动模式流程图

    全自动模式由自动从上水步骤开始,完成后进入浸泡过程,然后再开始洗涤过程,完成后进入漂洗过程(全自动模式默认漂洗次数为3次),最后进行甩干过程。其中在浸泡阶段有30秒的等待延迟。具体如图3.2所示:

   图 3.2 全自动模式流程图

3.2.2手动模式

    通过与LCD显示屏幕的交互,用户输入依次三个参数:水位高度、洗涤模式、漂洗次数。上水阶段从设置上下限开始,当上下限设置合理后可对水位进行:低水位,中水位,高水位,共3级设置,通过0809采集电位器的模拟水位,当水位低于下限值时,蜂鸣器发出警报,旋动电位器使得电压大于水位下限电压,完成上水,蜂鸣器鸣叫一次,进入下一个流程。具体如图3.3所示:

图 3.3 上水流程图

洗涤步骤从设置洗涤模式开始,共有强,中,弱3级模式,然后再进行上水,洗涤并脱水,最后完成洗涤。具体如图3.4所示:

图 3.4 洗涤模式流程图

    根据所设置的漂洗次数,进行上水,漂洗,脱水的循环,最后完成整个过程。具体如图3.5所示:

  图 3.5 漂洗流程图

    甩干过程较为简单,设置甩干时间后,就开始甩干,执行所设置的时间后,就完成了甩干过程。

    浸泡过程也较为简单,和甩干相似。它是固定30秒的定时,同时伴有LCD上一个位置显示横杠翻转的动画,定时结束就完成了浸泡过程。

3.2.3中断程序流程图

本次课程设计中我们主要使用了定时器中断0,定时器中断1以及外部中0。为了实现1s的精确定时,我们采用了利用定时器0定时50ms发出脉冲给T1计数器,计数200后中断,就可以得到精确定时[5]。

具体中断结构如图3.6所示。

图 3.6 中断程序框图

第四章 实验结果

同时在试验箱的程序实验,我们成功的实现了题目中的要求,完成了基本功能,附加功能X5045也实现了,但是在RS232串口调试的时候,遇到了问题,单片接受不到PC发的数据,因此鉴于时间原因我们就放弃了串口的附加功能。

下面展示一下,实验流程的截图。

图4.1 电机驱动电路

图 4.2 参数设定界面

图 4.3 工作界面

参考文献

  1. 曾璐,李明. 基于AT89C52单片机的洗衣机智能控制系统[J]. 家电科技,2007,02:37-38.
  2. 瓮嘉民,周成虎,杜大军等编著.单片机典型系统设计与制作实例解析.[M].电子工业出版社,2013,10
  3. 何冲,王淑红,侯胜伟,牛慧文. 基于AT89C52单片机的步进电机控制系统研究[J]. 电气技术,2012,04:5-8.
  4. 李朝青编著.单片机原理及接口技术[M].北京:北京航空航天大学出版社,1998,6.
  5. 马忠梅,籍顺心. 单片机的C语言应用程序设计[M]北京:北京航空航天大学出版社, 2005.

原文档内含文档内各种作图,如需原文档参考学习,请关注微信公众号
回复文章标题即可免费获取。文档仅供参考学习使用。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值