全自动洗衣机控制器
- 格式:pdf
- 大小:271.17 KB
- 文档页数:11
实验四全自动洗衣机控制器一、实验目的1.学习掌握全自动洗衣机的控制原理。
2.掌握基于有限状态机的控制电路设计方法。
二、预习要求1.预习全自动洗衣机的控制原理和基于有限状态机的控制电路的设计方法。
2.画出洗衣机控制器包括不同洗衣模式的完整的状态转移图。
3.用Verilog HDL 语言编程实现全自动洗衣机控制器,并进行时序仿真。
4.对顶层设计文件进行引脚锁定。
三、实验要求1.设计一个全自动洗衣机控制器电路,实现对洗衣机的全自动控制。
根据全自动洗衣机的控制原理设计一个控制电路,使之能够控制全自动洗衣机完成整个工作过程。
洗衣机工作过程分为两种情况:(1)全部自动完成当按下复位按钮时,洗衣机上电,控制电路复位到初始状态(默认水位为“中”;使用)者可根据衣服的多少,按下水位控制按钮,改变水位设置,以控制上水时加水的多少;当按下启动/暂停按钮时,洗衣机开始洗衣的第一个操作:进水阀门打开,开始上水,并根据水位设置(高、中、低、少)历时不同的时间timeadd(8s、7s、6s、5s);然后进水阀门关闭,电机开始运转,开始洗衣过程,并历时9s;然后电机停止运转,排水阀门打开,开始排水,并根据水位设置(高、中、低、少)历时不同的时间timedrain(7s、6s、5s、4s);然后排水阀门关闭,进水阀门打开,开始第二次上水,并历时timeadd……当甩干结束后,整个洗衣过程完成,扬声器发出持续15 秒的急促的“嘀嘀”音,提示用户洗衣结束。
正常运行状态下全自动洗衣机工作过程如图 1. 1所示。
注意:在甩干过程中,电机一边高速旋转,一边排水。
空闲(idle)→第一次加水(water1)7s→洗衣(wash)9s→第一次排水(drain1)6s→第二次加水(water2)7s→漂洗(rinse)9s→第二次排水(drain2)6s→甩干(dry)5s→蜂鸣15s从图中可以看出,洗衣机整个工作过程可分为9 个状态,要求运用有限状态机的设计思想来实现。
全自动洗衣机的PLC控制引言全自动洗衣机是一种现代化的家用电器,它能够自动完成洗衣服的整个过程,包括清洗、漂洗和脱水等环节。
其中,PLC(可编程逻辑控制器)是控制洗衣机运行的重要组成部分,它通过编程实现洗衣机的自动化控制。
本文将介绍全自动洗衣机的PLC控制原理、PLC编程方法以及PLC控制对洗衣机性能的影响。
PLC控制原理PLC(可编程逻辑控制器)是一种专用的工业控制计算机,它能够通过编程实现对各种机械设备的自动控制。
在全自动洗衣机中,PLC控制器扮演着洗衣机运行的“大脑”角色。
PLC控制原理主要包括以下几个方面:1. 输入信号的读取:洗衣机中的传感器将所需的输入信号传送给PLC控制器,例如水位传感器、温度传感器和开关信号等。
2. 逻辑判断与处理:PLC控制器对传感器信号进行逻辑判断和处理,根据预设的程序和逻辑条件来确定下一步的操作。
3. 输出信号的控制:PLC控制器根据逻辑判断的结果,控制相应的执行器,如电机、水泵和阀门等,完成洗衣机的各个动作。
4. 反馈控制与监测:PLC控制器通过传感器对洗衣机的运行状态进行监测,并实时调整控制策略,确保洗衣机的正常运行。
PLC编程方法PLC编程是实现PLC控制的核心环节,它决定了洗衣机的自动化程度和控制性能。
通常使用的PLC编程语言有以下几种: - 指令列表(IL):基于指令的编程方法,适合编写简单的控制程序。
- 检测逻辑脚本(LAD):基于电气线路图的图形化编程,适合理解电气控制逻辑。
- 功能块图(FBD):通过连接功能块的图形化故事流程图来编程,适合逻辑较为复杂的场景。
- 结构化文本(ST):类似于传统编程语言的编写方式,适合复杂的程序设计和控制策略。
此外,PLC编程还需要考虑以下几个关键点: 1. 输入信号的定义:根据洗衣机的传感器类型和接口,定义输入信号的地址和功能。
2. 输出信号的定义:根据洗衣机的执行器类型和接口,定义输出信号的地址和功能。
全自动洗衣机控制器
全自动洗衣机控制器是一种用于控制洗衣机操作的电子
控制器,它可以实现自动控制、优化程序、故障检测等功能,是现代洗衣机的重要组成部分。
全自动洗衣机控制器由微控制器、传感器、执行器、显
示器等组成,它的工作流程如下:
1.检测洗涤水位:当洗衣机启动时,控制器会检测洗涤
水位是否足够,若不足则会通过水泵将水引入洗衣机。
2.检测温度和湿度:为了确保清洗效果和节省能源,控
制器会在洗涤过程中持续检测洗涤水温度和空气湿度,并
根据检测结果自动调整水温和风机转速。
3.选择洗涤程序:全自动洗衣机控制器会根据用户选择
的洗涤程序自动设置相关参数,包括水温、洗涤时间、漂
洗时间等。
4.控制运动状态:控制器会监测洗衣机的运动状态,包
括转速、加速度等,并通过可变频率控制器自动调节机芯
转速,使洗衣机在运行过程中保持平稳运转。
5.故障检测:如果出现故障,控制器会通过故障检测系
统自动报警并停止洗涤过程,以防止进一步损坏洗衣机。
6.显示和操作:控制器会通过液晶显示屏显示当前洗涤
状态和剩余时间,并允许用户通过按键选择洗涤程序、启
动暂停等操作。
全自动洗衣机控制器可以大大提高洗衣机的智能化水平,使其具有更高效的清洗效果和更加人性化的使用体验。
随
着人们对家电的需求越来越高,全自动洗衣机控制器将发
挥越来越重要的作用。
内容摘要本文介绍了采用可编程控制器(PLC)作为核心控制部件的全自动洗衣机控制系统。
文章介绍了洗衣机的结构,对全自动洗衣机的控制系统进行了分析,在此基础上提出了基于PLC的全自动洗衣机控制方案,并对方案进行了论证,根据洗衣机的工作原理,设计了流程及程序,对按钮,继电器,开关,变频器等其它一些输入/输出点进行控制,实现了洗衣机洗衣过程的自动化。
由于洗涤,排水,脱水的时间均由PLC内计数器控制,所以只要改变计数器参数就可以改变时间。
具有智能化程度高、安全可靠、方便、灵活等特点。
关键词:可编程控制器; PLC ;全自动洗衣目录第1章概述 (1)1.1选题背景 (1)1.2全自动洗衣机的发展概况 (1)1.3控制系统的选择 (2)第2章全自动洗衣机的控制 (4)2.1课程描述 (4)2.2控制方案的制定 (5)2.3系统配置 (8)2.4 PLC外部接线图 (9)2.5控制系统流程图 (11)第3章结束语 (12)谢辞 (13)附录A 梯形图 (14)附录B语句表 (21)参考文献 (23)第1章概述1.1选题背景洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器。
在工业生产中应用也十分广泛。
但是传统的基于继电器的控制,已经不能满足人们对洗衣机的自动化程度的要求了。
洗衣机需要更好地满足人们的需求,必须借助于自动化技术的发展。
而随着PLC技术的发展,用PLC来作为控制器,就能很好地满足全自动洗衣机对自动化的要求,并且控制方式灵活多样,控制模式可以根据不同场合的应用而有所不同。
自动化技术的飞速发展使得洗衣机由初始的半自动式洗衣机发展到现在的全自动洗衣机,又正在向智能化洗衣机方向发展。
1.2全自动洗衣机发展概况全自动洗衣机是一种除放、取衣物和开动洗衣机这三道手续外,其余洗衣各程序全部自动完成的设备。
1874年美国的比尔·布莱克斯通发明了木制手摇洗衣机,这是世界上第一台人工搅动洗衣机。
全自动洗衣机控制系统的PLC设计一、引言洗衣机是现代家庭必备的电器之一,随着科技进步和人们生活水平的提高,洗衣机也经历了从手动到自动、从半自动到全自动的演进过程。
全自动洗衣机以其高效、便利的特点,成为现代家庭中不行或缺的家电产品。
而全自动洗衣机的控制系统则是实现其智能化运行的重要部分之一。
本文将介绍。
二、PLC的基本原理PLC,即可编程逻辑控制器,是一种现代化控制设备,运用于工业自动化过程中。
PLC的基本原理是通过程序来控制输入和输出设备,实现对各种工业生产过程的控制。
常见的PLC由CPU、输入输出接口、电源和通信模块等组成。
三、全自动洗衣机的工作原理全自动洗衣机的工作原理包括洗涤过程、漂洗过程、脱水过程和烘干过程。
在洗涤过程中,洗衣机需依据用户设置的程序控制水的注入、洗涤剂的加入、搅拌和清洗等操作;漂洗过程中,洗衣机需要控制水的排放和注入,以及重复清洗的操作;脱水过程中,洗衣机需通过高速旋转去除衣物中多余的水分;在烘干过程中,洗衣机需通过烘干机的加热控制将洗净的衣物烘干。
四、全自动洗衣机控制系统的设计全自动洗衣机控制系统的设计需要思量到洗衣机的各个工作过程,并制定相应的控制程序。
以下是一个基于PLC的全自动洗衣机控制系统设计的基本步骤:1. 系统需求分析:依据洗衣机的工作原理,分析系统中需要实现的功能和相应的输入输出要求。
2. PLC选型:依据系统的需求,在市场上选择合适的PLC 设备,并采购相应的CPU、输入输出模块等配件。
3. 硬件毗连:将PLC的各个部件按照电路图进行正确毗连。
4. 编写控制程序:依据系统需求,使用PLC编程软件编写相应的控制程序,包括各个工作过程的流程控制、输入输出设备的控制以及报警机制等。
5. 仿真测试:将编写好的程序下载到PLC中进行仿真测试,以确保程序的准确性和稳定性。
6. 确定控制参数:依据实际状况,调整控制参数,使系统的工作更加稳定和高效。
7. 系统集成:将编写好的控制程序与洗衣机的硬件部分进行集成,进行整机测试和调试。
基于PLC全自动洗衣机控制系统浅析1. 引言1.1 基于PLC全自动洗衣机控制系统简介PLC(Programmable Logic Controller)即可编程逻辑控制器,是一种专门用于工业控制领域的数字化电子设备。
在全自动洗衣机中,PLC控制系统通过监测传感器信号和执行输出控制,实现洗涤、漂洗、脱水等不同功能的控制,从而实现洗衣机的全自动化操作。
PLC控制系统通过编程控制逻辑来执行各种不同的任务,例如根据用户设置的程序选择洗涤模式、控制水位、控制电机转速等。
与传统的机械控制系统相比,PLC控制系统更加灵活、可靠和易于维护。
全自动洗衣机采用PLC控制系统带来了诸多优势,包括更高的精度、更快的响应速度、更低的能耗等。
PLC控制系统还具有故障诊断和报警功能,可以有效提高洗衣机的可靠性和安全性。
在本文中,我们将深入探讨PLC在全自动洗衣机中的应用,探讨其工作原理、优势、实现方案以及性能分析,以期为读者带来全面的了解和认识。
2. 正文2.1 PLC在全自动洗衣机中的应用PLC作为集成了数字、模拟输入输出和通信功能的自动化控制设备,广泛应用于全自动洗衣机中。
在洗衣机控制系统中,PLC可以实现对各种功能的精确控制,提升洗衣机的工作效率和性能。
在洗衣机的进水控制方面,PLC可以实现对不同水位的控制,根据衣物量的大小来控制水位的高低,确保洗涤效果和节约水资源。
在洗衣机的洗涤程序控制方面,PLC可以存储多种洗涤程序,用户可以根据需要选择不同的程序,实现自定义洗涤模式,满足不同的洗涤需求。
在洗衣机的排水和甩干控制方面,PLC可以实现对排水和甩干速度的精确控制,确保洗衣后的衣物尽快排干,减少洗涤时间。
2.2 PLC控制系统工作原理PLC控制系统是由程序控制器(PLC)和外部控制设备(如传感器、执行器等)组成的自动化控制系统。
其工作原理可分为三个主要步骤:1. 输入模块接收信号:控制系统的输入信号通常来自各种传感器,例如温度传感器、压力传感器等。
全自动洗衣机的PLC控制随着社会全自动化的生产化的水平提高,洗衣机也随着社会经济的发展和科学技术水平的提高走向了全自动化的时代。
文章以西门子公司S7-200系列的PLC 为控制器,实现了全自动洗衣机控制进水、洗涤、排水、脱水、报警等功能。
标签:全自动洗衣机;PLC控制;梯形图1 全自动洗衣机的基本结构随着社会的发展,洗衣机已经成为每个家庭必需的家用电器。
一台全自动洗衣机主要有外桶和内桶两部分组成,它们是同轴安装的,外桶做洗衣桶用,内桶做脱水桶用。
进水和排水分别由进水电磁阀和排水电磁阀控制。
洗涤时,由电动机驱动波轮进行。
一台全自动洗衣机的基本结构如图1所示。
进水口启动按钮停止按钮排水按钮2 全自动洗衣机的控制系统设计2.1 控制要求如下系统开始运行时,要确定系统处于初始状态。
如果处于初始状态,系统可以启动进行工作。
在工作时,工作过程如下:(1)按下启动按钮及水位选择开关开始进水直到高水位,停止进水,并开始洗涤。
(2)洗涤时,正转15秒后暂停,暂停3秒后,然后开始反转洗涤15秒,然后暂停3秒。
(3)循环3次共108秒后开始排水,排到低水位脱水10秒。
(4)开始清洗,重复(1)-(3)洗涤3遍。
(5)清洗完成,报警10秒并自动停机。
(6)按下停止按钮,可手动排水和手动脱水。
2.2 硬件电路设计根据控制要求画出其PLC接线图,见图2。
PLC选择西门子S7-200系统的PLC。
型号为:CPU222 AC/DC/RL Y。
2.3 软件设计利用流程图,用起保停程序进行实现其控制要求。
3 结束语本文主要讨论的全自动洗衣机的PLC控制系统设计方法,详细介绍了系统的硬件设计和软件设计。
随着人们生活水平的提高和科学技术的进步发展,人们对洗衣机的功能要求会越來越高,PLC将会发挥它的运行故障率低的优势。
参考文献[1]吴存宏.浅谈PLC在全自动洗衣机中运用[J].设计与开发,1999.[2]李伟.电工电子实训[M].北京:高等教育出版社,2002.[3]窦振中.PIC系列单片机应用设计与实例[M].北京:北京航空航天大学出版社,1997.[4]赵春生.电气控制及可编程序控制器[M].北京:中国轻工业出版社,1998.[5]廖常初.PLC的编程及应用[Z].。
智能洗衣机控制器的设计YIEEKUU一、设计内容与要求①设计一个智能洗衣机(全自动洗衣机)控制器,能够实现洗衣,漂洗和脱水的功能。
②要求能够使用按键模拟对洗衣机的控制,能够设置工作模式,为了便于观察,将洗衣机的工作模式和所剩的工作时间用数码管显示出来,能够将洗衣机当前所处的状态用发光管或者数码管显示出来。
【模式1】:洗特别脏的衣服(洗衣30秒钟)【模式2】:洗脏的衣服(洗衣20秒钟)【模式3】:洗一般的衣服(洗衣10秒钟)【模式4】:漂洗(每次漂洗5秒钟)【模式5】:脱水(每次脱水3秒钟【洗衣过程】:洗衣+脱水+漂洗+脱水+漂洗+脱水,注水完成使用外部传感器S=1表示。
【漂洗模式】:漂洗+脱水+漂洗+脱水,注水完成使用外部传感器S=1表示。
【脱水模式】:脱水。
【注】:操作完毕使用蜂鸣器鸣叫两秒提示二、系统设计(包括设计思路、总体框图、分块设计)设计思路:首先从题目进行分析,采用VHDL模块化的设计方法来进行洗衣机控制器的设计,即自顶向下,从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。
本控制器基本功能描述洗衣机控制器可工作于五种模式下,可以使洗衣机控制器工作在任意一种模式,并显示出洗衣机的工作状态和剩余工作时间,在剩余时间结束后有报警声提示使用者,并且可实现暂停蜥蜴和继续的功能。
由此分析可将洗衣机控制器分为控制模块、倒计时模块、初始模块选择模块、报警模块、洗衣时间选择模块、选通译码模块和分频器模块。
设计过程:1)审题,初步确定思路。
2)用VHDL语言进行编程。
3)适时对程序进行修改。
4)编译成功后,进行仿真,观察波形图。
5)将程序下载到实验板上,调试各功能。
6)通过计算机仿真和下载调试,发现问题,返回原程序进行修改。
7)进行总体的调试。
分块设计核心控制选择模块:此模块是本程序的核心部分,要识别模式选择器送来的基本工作方式依次执行。
PLC全自动洗衣机控制系统摘要现如今,洗衣机已经进入寻常百姓家,洗衣机的市场很大,现代社会要求制造业对市场需求作出迅速反应,生产有如洗衣机这类产品,可编程程序控制器(PLC)就是为了满足这一需求出现的。
PLC是衡量一个国家现代制造业的一个重要技术,它具有的功能性强、可靠性高、配制方法灵活等特点是其他控制器所无法匹敌的的。
本文介绍了PLC的相关知识和注意事项,包括PLC的组成、工作原理和设计流程。
本文采用西门子公司生产的S7-200型PLC作为控制器对全自动洗衣机进行控制,描述了全自动洗衣机控制系统的运作要求。
根据全自动洗衣机控制系统总体控制的要求和特点,确定PLC的输入输出分配,设计出顺序功能图和梯形图,同时对结果进行仿真,并进行现场调试,实现了洗衣机进水、洗涤、排水、脱水、报警到自动停机的循环过程。
【关键字】 PLC 全自动洗衣机顺序功能图梯形图AbstractNowadays, the washing machine has entered the homes of ordinary people, washing machine market is very big, the modern society requires the manufacturing industry to make rapid response to market demand, the production of this kind of products like washing machine, programmable logic controller (PLC) is to meet this demand appears. PLC is an important technical measure of modern manufacturing industry of a country, it has strong function, high reliability, preparation method and flexible characteristics is unmatched by other controllers.This paper introduced the PLC related knowledge and attention, including the composition and work principle of PLC and the design process.This paper adopts S7-200 PLC produced by SIEMENS as the controller of automatic washing machine control, describes a fully automatic washing machine control system operation requirements. According to the control system of the automatic washing machine overall control requirements andcharacteristics, determine the PLC input and output distribution, to design the sequential function chart and the ladder chart, at the same time the result was simulated, and on-site commissioning, realize the washing machine water, washing, drainage, dewatering, alarm to automatically stop the cycle.[keyword] PLC Full automatic washing machine Sequential function chart Ladder chart目录第一章绪论 (1)1.1 研究背景 (1)1.2 研究意义 (2)第二章 PLC的基本概念与基本结构 (3)2.1 PLC的基本概念 (3)2.2 PLC的基本结构 (3)第三章 PLC的硬件和工作原理 (4)3.1 PLC的物理结构 (4)3.2 CPU模块中的存储器 (4)3.3 PLC的工作原理 (4)第四章 PLC的设计基础 (5)4.1 PLC的编程语言与程序结构 (5)4.2 位逻辑指令 (6)4.3定时器与计数器指令 (7)第五章数字量控制系统梯形图程序设计方法 (8)5.1 梯形图的经验设计法 (8)5.2 根据继电器电路图设计梯形图的方法 (8)5.3 顺序控制设计法与顺序功能图 (9)第六章顺序控制梯形图的设计方法 (10)6.1 使用起保停电路的顺序控制梯形图设计方法 (10)6.2 以转换为中心的顺序控制梯形图设计方法 (11)6.3 使用SCR指令的顺序控制梯形图设计方法 (12)6.4 具有多种工作方式的系统的顺序控制梯形图设计方法 (13)第七章全自动洗衣机设计与PLC实现 (13)7.1 PLC控制要求 (13)7.2 建立模型 (14)7.3 仿真与系统调试 (19)第八章项目开发总结 (19)第九章参考文献 (20)第一章绪论1.1研究背景1、洗衣机的历史从1858年世界第一台洗衣机诞生至今,洗衣机已经成为人们日常生活中必不可少的家用电器。
实验四全自动洗衣机控制器一、实验目的1.学习掌握全自动洗衣机的控制原理。
2.掌握基于有限状态机的控制电路设计方法。
二、预习要求1.预习全自动洗衣机的控制原理和基于有限状态机的控制电路的设计方法。
2.画出洗衣机控制器包括不同洗衣模式的完整的状态转移图。
3.用Verilog HDL语言编程实现全自动洗衣机控制器,并进行时序仿真。
4.对顶层设计文件进行引脚锁定。
三、实验要求1.设计一个全自动洗衣机控制器电路,实现对洗衣机的全自动控制。
根据全自动洗衣机的控制原理设计一个控制电路,使之能够控制全自动洗衣机完成整个工作过程。
洗衣机工作过程分为两种情况:(1)全部自动完成当按下复位按钮时,洗衣机上电,控制电路复位到初始状态(默认水位为“中”);使用者可根据衣服的多少,按下水位控制按钮,改变水位设置,以控制上水时加水的多少;当按下启动/暂停按钮时,洗衣机开始洗衣的第一个操作:进水阀门打开,开始上水,并根据水位设置(高、中、低、少)历时不同的时间timeadd(8s、7s、6s、5s);然后进水阀门关闭,电机开始运转,开始洗衣过程,并历时9s;然后电机停止运转,排水阀门打开,开始排水,并根据水位设置(高、中、低、少)历时不同的时间timedrain(7s、6s、5s、4s);然后排水阀门关闭,进水阀门打开,开始第二次上水,并历时timeadd……当甩干结束后,整个洗衣过程完成,扬声器发出持续15秒的急促的“嘀嘀”音,提示用户洗衣结束。
正常运行状态下全自动洗衣机工作过程如图1. 1所示。
注意:在甩干过程中,电机一边高速旋转,一边排水。
图1. 1 正常运行状态下默认水位为“中”时全自动洗衣机工作过程从图中可以看出,洗衣机整个工作过程可分为9个状态,要求运用有限状态机的设计思想来实现。
(2)人工干预在每个工作状态下,如果想要洗衣机暂停工作,可按下启动/暂停按钮,则洗衣机立刻暂停当时的操作。
比如,在第一次加水过程中,若按下启动/暂停按钮,则进水阀门立刻关闭,暂停上水,计时暂停;当再次按下启动/暂停按钮,则进水阀门又打开,并继续计时,直到加水满timeadd后,进入洗衣过程。
洗衣机功能设置:①打开洗衣机盖/合上洗衣机盖:当洗衣机在甩干过程中,若打开洗衣机盖,则洗衣机应立即暂停工作,停止电机运转和排水;只有合上洗衣机盖,洗衣机才能继续工作。
因此洗衣机控制器有一个open_door输入信号,并根据此信号控制洗衣机的动作。
提示:这里有open_door信号,就一定有一个close_door信号。
当合上洗衣机盖时,则传感器产生close_door信号,并送给洗衣机控制器。
在本实验中,我们仅用一个按钮信号open_door来模拟打开洗衣机盖/盖上洗衣机盖,即第一次按是“开盖”,再按一次则是“合盖”。
②水位控制:有一个水位控制按钮,逐次按动它,水位可以在高、中、低、少这4档间切换,以控制上水时加水的多少。
③洗衣模式选择:有一个洗衣模式选择按钮,在洗衣机上电后开始启动之前,按动此按钮,可以选择洗衣机单独执行不同的洗衣程序:浸泡、洗涤、漂洗、脱水(甩干);若不按此按钮,则默认全程自动执行浸泡、洗涤、漂洗、甩干这4个程序。
提示:这里规定在选择各种单独的洗衣程序时,当按下启动/暂停按钮时,控制器从idle 态跳转到的下一状态:(1)若选择浸泡程序,则控制器从idle态跳转到water1状态,洗衣机完成加水(water1)后,将返回idle态;(2)若选择洗涤程序(假定洗衣机已执行了浸泡程序),则控制器从idle态跳转到wash状态,洗衣机完成wash、drain1这两个状态后,将返回idle态;(3)若选择漂洗程序(假定洗衣机已执行了洗涤程序),则控制器从idle态跳转到water2状态,洗衣机完成water2、rinse、drain2这三个状态后,将返回idle态;(4)若选择脱水程序(假定洗衣机已执行了漂洗程序),则洗衣机完成dry、beep后将返回idle态。
当然实际中的控制可能比这更复杂一些,还可以选择几个程序的组合(如洗涤、漂洗)作为一个新的洗衣模式。
试根据系统功能进行模块划分和设计,并对主要子模块进行仿真。
2.在GW48-SOPC+实验台上进行设计的下载和验证。
(1)设置实验箱工作在模式7;(2)已消抖按键1(高有效)作为rst信号控制键,已消抖按键4作为start_pause信号控制键,已消抖按键7(高有效)作为mode信号控制键,未消抖按键9、按键10(低有效),作为level_n与open_door_n信号的控制键;(3)用发光管D8、D7、D6分别显示进水阀门控制信号W、引擎工作信号M、排水阀门控制信号D;(4)用7段数码管1显示当前状态工作时间,数码管2显示当前工作状态,数码管7显示所选洗衣模式,数码管8显示当前水位档位;(5)用扬声器speaker发出提示用户洗衣结束的“嘀嘀”音。
四、实验原理1.基于状态机的控制电路设计有限状态机(FSM,Finite State Machine)是一种重要的时序逻辑电路单元,尤其适合于设计数字系统的控制模块。
状态机可以认为是组合逻辑和寄存器逻辑的特殊组合,它一般包括两个部分:组合逻辑部分和寄存器部分。
组合逻辑部分又包括次态逻辑和输出逻辑,分别用于状态译码和产生输出信号;寄存器部分用于存储状态。
状态机的次态是现态及输入信号的函数,输出信号根据状态机的现态或输入信号而定。
根据输出信号产生方法的不同,状态机可分为两类:摩尔(Moore)型状态机和米里(Mealy)型状态机。
对于Moore型状态机,其输出只为状态机当前状态的函数,而与输入无关。
而对于Mealy型状态机,其输出不仅与状态机当前状态有关,而且与输入有关。
实用的状态机一般都设计为同步时序电路,它在时钟信号的触发下,完成各状态之间的转移,并产生相应的输出。
采用Verilog HDL语言实现基于状态机的控制电路设计,就是在时钟信号的触发下,完成两项任务:(1)用case或if-else语句描述出状态的转移,(2)描述状态机的输出信号(通常是控制信号)。
2.洗衣机控制器的工作原理(1)洗衣机的工作状态(1)洗衣机的工作状态洗衣机有9个工作状态分别为:空闲(idle)、第一次加水(water1)、洗衣(wash)、第一次排水(drain1)、第二次加水(water2)、漂洗(rinse)、第二次排水(drain2)、甩干(dry)、蜂鸣(beep)。
(2)全自动洗衣过程最简单的操作是在洗衣机上电后(默认水位为“中”),通过水位控制按钮设置好合适的水位,然后按下start_pause启动/暂停按钮,使洗衣机全自动完成整个洗衣过程,此时洗衣机控制器状态转移图如图1. 2所示。
图1. 2 全自动完成洗衣时(默认水位为“中”)洗衣机控制器的状态转移图提示:① 图中每个方框内横线上方文字为状态机的状态,横线下方文字为状态机的输出。
② 图中标注“浸泡”、“洗涤”、“漂洗”、“甩干”为这4个单独执行的洗衣程序所经过的工作状态,完成程序后都返回idle态。
一旦按下rst按钮,则电路复位到初始状态,控制信号m=0,w=0,d=0。
当按下start_pause 启动/暂停按钮时,则进入water1状态,w = 1,使进水阀门打开,开始上水,并历时7s。
然后转移到下一状态——wash,w = 0,使进水阀门关闭;同时m = 1,使电机开始运转,开始洗衣过程,并历时9s。
再转移到下一状态——drain1,……直到当甩干结束后,整个洗衣过程完成,扬声器发出持续15秒的急促的“嘀嘀”音,提示用户洗衣结束,控制器又返回到初始状态。
(3)单独执行某个洗衣程序但有时候,人们可能需要单独执行某个洗衣程序,如洗涤或脱水,这时可以在洗衣前通过按动洗衣模式选择按钮来选择不同的洗衣程序。
在这种情况下,洗衣机控制器的状态转移图就会比图1. 2更复杂一些,下面加以详细说明。
首先在idle状态下,当按下启动/暂停按钮时,控制器要根据不同的洗衣模式跳转到不同的状态:若默认是全自动洗衣程序或选择浸泡程序,则跳转到water1;若选择洗涤程序,则跳转到wash;若选择漂洗程序,则跳转到water2;若选择甩干,则跳转到dry。
而当洗衣机执行完相应的洗衣程序后,则所有控制信号、计时器应清零,同时控制器应返回初始状态。
因此,在water1状态下,当加好水时控制器不是直接跳转到wash,而是要先判断洗衣模式是否为浸泡程序,若是,则跳转到idle;若不是,才直接跳转到wash。
同理,在drain1状态下,当排完水时控制器不是直接跳转到water2,而是要先判断洗衣模式是否为洗涤程序,若是,则跳转到idle;若不是,才直接跳转到water2。
在drain2状态下,当排完水时控制器不是直接跳转到dry,而是要先判断洗衣模式是否为漂洗程序,若是,则跳转到idle;若不是,才直接跳转到dry。
五、实验步骤/指导1.设计思路洗衣机控制器系统结构图如图1. 3所示,将整个设计划分为两个子模块:时钟分频子模块和洗衣机状态控制器子模块。
图1. 3 洗衣机控制器系统结构图(1)时钟分频子模块clkdiv.v将系统时钟50MHz分频为1KHz,再将1KHz分频为1Hz,以产生洗衣结束时的提示蜂鸣音speaker=clk_1Hz&clk_1KHz&alarm(每间隔1s产生一个音频为1KHz的提示音)。
1Hz的时钟信号还作为洗衣机状态控制器子模块的输入时钟信号,驱动洗衣定时器计数。
提示:在设计时,注意使输出时钟信号clk_1Hz为方波!这是因为clkdiv.v的输出时钟clk_1Hz,将送入洗衣机状态控制器子模块,作为提示蜂鸣音speaker信号,如果clk_1Hz不是对称方波,则产生的提示音就不会是均匀的嘀嘀声。
(2)洗衣机状态控制器子模块wash_ctrl.v设计时,首先应画出状态转移图并仔细分析,明确在每个状态下控制器要输出哪些控制信号,计数器该怎样计数;当希望洗衣机暂停时,所有控制信号应都变为0,计数器暂停计数。
当计数器正常计数到预定值时,应跳转到下一状态。
然后用case语句、if-else语句对状态转移和输出进行描述。
信号定义:input clk_1KHz, clk_1Hz, rst, start_pause, mode, level, open_door;/***********************************************start_pause:启动/暂停按钮信号,高有效;mode:洗衣模式选择信号,高有效。
不按时,默认全程执行浸泡、洗涤、漂洗、甩干这4个程序;每按一下,单独选择浸泡,或洗涤,或漂洗,或甩干程序。