1、洗衣机定时控制器2
自动洗衣机控制系统

《电气控制与可编程控制器》课程设计说明书题目:自动洗衣机控制系统专业:电气工程及其自动化班级:0922姓名:学号:苏州科技学院机电工程系目录第一章绪论---------------------------------------------------------------------------------------1 1.1课题的研究背景-------------------------------------------------------------------------------1 1.2洗衣机的发展概况----------------------------------------------------------------------------1 1.3课题研究的目的与意义----------------------------------------------------------------------1 1.4本课题研究的主要内容----------------------------------------------------------------------2第二章概述---------------------------------------------------------------------------------------3 2.1 PLC的控制特点-------------------------------------------------------------------------------3 2.2 控制系统框图---------------------------------------------------------------------------------4 2.3 控制系统对应设备及功能------------------------------------------------------------------4第三章硬件电路的设计--------------------------------------------------------------------5 3.1 PLC的选择-------------------------------------------------------------------------------------53.1.1 I/O点数统计---------------------------------------------------------------------------5 3.1.2 I/O储存器容量估计-------------------------------------------------------------------6 3.1.3 CPU功能与结构的选择----------------------------------------------------------------6 3.2 PLC外部接线图-------------------------------------------------------------------------------7 3.3 洗衣机示意图---------------------------------------------------------------------------------8 第四章软件的设计----------------------------------------------------------------------------94.1 I/O分配表-------------------------------------------------------------------------------------94.1.1 输入地址分配表------------------------------------------------------------------------9 4.1.2 输出地址分配表------------------------------------------------------------------------9 4.1.3 内部元件地址分配表------------------------------------------------------------------9 4.2 系统流程图----------------------------------------------------------------------------------114.2.1 强制停止流程图-----------------------------------------------------------------------11 4.2.2 正常运转流程图----------------------------------------------------------------------11 4.3 程序设计-------------------------------------------------------------------------------------134.3.1 系统梯形图----------------------------------------------------------------------------13 4.3.2 系统指令语句表----------------------------------------------------------------------19第五章程序运行过程分析---------------------------------------------------------------22 第六章系统仿真------------------------------------------------------------------------------22 第七章模拟硬件连接-----------------------------------------------------------------------24结语---------------------------------------------------------------------------------------------------25致谢--------------------------------------------------------------------------------------------------25参考文献------------------------------------------------------------------------------------------26第一章绪论1.1 课题的研究背景本次设计基于PLC的全自动洗衣机控制,本文的课题源于市场上洗衣机产品。
海尔 G100368BD14LSU1 10公斤直驱变频滚筒洗衣机 使用说明书

洗衣机使用说明书型号G100368BD14LSU1• 本说明书为通用手册• 本公司保留说明书解释权• 产品外观请以实物为准• 阅后请与发票一并妥善保存• 如遇产品技术或软件升级,恕不另行通知• 本产品只适合在中国大陆销售和使用1. 产品介绍1 1.1. 产品部件1 1.1.1. 正面1 1.1.2. 背面1 1.1.3. 附件2 1.2. 技术规格3 1.2.1. 技术数据31.2.2. 产品尺寸及安装要求32. Wi-Fi连接6 2.1. APP下载6 2.2. 智慧物联功能62.2.1. 功能介绍63. 使用说明7 3.1. 安全注意事项7 3.1.1. 图示说明7 3.1.2. 警告类7 3.1.3. 注意类7 3.2. 洗衣机安装8 3.2.1. 包装运输部件的拆卸8 3.2.2. 底脚的调节9 3.2.3. 连接进水管10 3.2.4. 放置排水管15 3.2.5. 粘贴吸音海绵16 3.3. 洗涤注意事项17 3.3.1. 不可洗涤的衣物17 3.3.2. 检查待洗衣物18 3.3.3. 衣物分类洗涤20 3.3.4. 重污衣物预处理23 3.3.5. 衣物洗涤重量参考25 3.4. 洗衣操作26 3.4.1. 基本操作步骤26 3.4.2. 控制面板27 3.4.3. 显示屏28 3.4.4. 程序指南28 3.4.5. 附加功能29 3.4.6. 洗涤剂、柔顺剂的使用30 3.5. 清洁保养30 3.5.1. 排水过滤器303.5.2. 分配器盒33 3.5.3. 进水阀接头过滤网333.5.4. 箱体、内筒364. 售后服务38 4.1. 疑问解答38 4.1.1. 故障排除38 4.1.2. 显示代码及处理方法40 4.1.3. 应急开门操作40 4.2. 有害物质41 4.2.1. 有害物质名称与含量41 4.3. 保修说明42 4.3.1. 洗衣机保修说明421. 产品介绍1.1. 产品部件1.1.1. 正面洗衣机各部分构件名称(正面)本说明书中所有的图片均为示意图,您所得到的产品外观、颜色及功能部件可能与图片不一致,请以实际产品为准。
洗衣机定时器工作原理

洗衣机定时器工作原理
洗衣机定时器工作原理是通过电路控制器来实现的。
电路控制器是一个集成电路,其中包含有多个电子元件,例如计时器、开关和电磁继电器等。
当用户设定洗衣机的定时器时,计时器开始计时。
定时器内部有一个精确的时钟,通过对时钟的计数,可以判断出定时器的时间。
当计时器的时间达到用户设定的时间时,电路控制器会自动触发开关操作。
触发开关后,电控模块开始按照设定的程序控制洗衣机的工作状态。
首先,电磁继电器会被激活,将洗衣机的电机、加热器和水泵等关键部件连接到电源上。
然后,电控模块会根据预设程序要求,依次控制洗衣机的水位、搅拌、冲洗、脱水等工作。
在洗衣机的工作过程中,电控模块会不断检测洗衣机内部的传感器数据,如温度传感器、水位传感器等。
根据传感器的反馈信号,电控模块可以及时调整洗衣机的工作状态,以满足用户的需求。
总结起来,洗衣机的定时器工作原理主要包括计时器、电磁继电器和电控模块。
通过精确的计时,定时器触发开关操作,激活电控模块控制洗衣机的工作状态,以达到按照设定程序完成洗衣任务的目的。
VHDL洗衣机设计说明

EDA课程实训报告一、实训课题:洗衣机控制器的设计二、设计的内容及要求:1.设计一个洗衣机控制器,要求为:1) 洗衣机控制器可以驱动洗衣机进行洗涤、漂洗或烘干;2) 洗衣机控制器可以设置洗衣机的工作时间,工作时间最短1分钟,最长30分钟,在工作过程中,工作时间以倒计时显示,若时间为0洗衣机停止工作;3) 洗衣机在待机状态时,洗衣机控制器可以设置洗衣机的工作方式和工作时间;4) 可以暂停或停止洗衣机工作;5) 利用四个数码管显示洗衣机待机时的设置时间和工作时的运行时间,利用一位数码管显示洗衣机待机时所设置的工作方式运行时的工作方式;6)利用三个LED分别表示驱动洗衣机进行洗涤、漂洗或烘干。
2.洗衣机控制器可以划分为状态机模块、计时器模块、设置模块和显示选择模块。
在QuartusII 中输入各个模块的代码,编译综合,仿真,完成各个模块的软件设计;4.把各个模块组合起来,综合编译,仿真,完成整个交通灯控制器系统的软件设计;5. 选择电路方案锁定管脚,把程序下载到实验箱中,利用实验箱进行硬件实现;6. 完成实训报告。
实训报告包括:1)设计的任务和要求;2)模块的划分和系统总框图;3)各个模块的实现,包括模块的作用,模块的输入与输出情况,模块状态图,模块的代码以及注释,模块的波形图;4)系统的实现,包括系统总原理图,系统的波形图;5)管脚的锁定关系;三.设计思路:◆状态切换>>>有限状态机◆按定时时间及时>>> 定时计数器◆显示时间>>> 数码管译码驱动器◆接收设置时间>>>时间设置键盘扫描器◆接收设置模式>>> 模式设置键盘扫描器◆切换显示运行时间和设置时间>>>二路选择器◆切换显示运行模式和设置模式>>>二路选择器整体设计示意图:四.系统组成以及系统各部分的设计:1.状态机的设计:状态机要完成的功能:●能设置工作模式;●控制洗涤、漂洗、干衣的驱动输出;●能启动、暂停、停止洗衣机控制器;●能重启、暂停和停止定时器;●能接收定时器的到时标志;●能使能键盘扫描计数器;●能控制二路选择器。
洗衣机控制电路设计

洗衣机控制电路设计摘要本设计是基于数字电路定时器的洗衣机简易控制电路。
通过预置洗衣机的洗涤时间来自动的正反转和暂停,并且用不同的指示灯来表示洗衣机的正逆暂停三状态。
当到达定时时间后,会自动报警,发出蜂鸣声。
同时,用两位数码管来显示预置时间和洗涤剩余时间。
具有良好的用户界面。
电路主要分为显示电路、秒脉冲发生电路、计时电路、报警状态电路和洗衣机正反转控制电路。
显示电路使用的是两个单位的共阴极八段数码管,使用两片74ls48作为数码管译码芯片。
秒脉冲发生电路采用了使用成熟广泛的555定时器芯片,通过电脑USB插口供电,产生秒信号,作为各芯片的时钟信号。
计时电路使用的是四片十进制可逆计数器74ls192芯片,分别设计为十进制和六进制电路,用于完成时间的定时、计时功能。
报警电路和状态显示电路使用的是简单的74ls04非门、74LS21双4输入与门、74LS125三态门组成的逻辑组合电路,分别控制蜂鸣器和发光二极管,来实现报警和状态显示。
实验通过电脑软件仿真和实物验证,具有良好的可行性,能够稍加修改后用于洗衣机控制电路中,能满足一般的要求。
关键词:洗衣机控制;数字电子控制;定时器目录摘要 (1)1 设计要求分析与方案选择 (3)1.1 设计要求分析 (3)1.1.1洗衣机控制电路原理及电路设计1.2 方案选择 (4)1.2.1 单片机方案 (4)1.2.2 数字电路方案 (5)2 方案总体框图设计 (5)2.1 方案总体设计思路 (5)2.1.1 各模块器件选择 (5)2.1.2 模块总体电路实现 (6)2.2 方案总体电路图 (6)3 电路各模块设计与参数选择 (9)3.1 秒脉冲电路 (9)3.2 计时电路 (11)3.3 显示电路 (13)3.4 状态显示电路 (14)4 仿真调试分析 (18)4.1 仿真软件介绍 (18)4.2 仿真总体电路图分析 (19)4.3 仿真结果分析 (20)5 电路实物验证结果 (20)5.1 实物总体图片和介绍 (20)5.2 实物功能演示 (20)6 方案的分析与总结体会 (20)6.1 方案选择总结与分析 (20)6.2 仿真调试总结与体会 (21)6.3 实物制作总结与体会 (22)6.4 设计优点分析 (22)6.5 设计不足分析 (22)7 参考文献 (22)8 附录 (23)1 设计要求分析与方案选择1.1 设计要求分析设计制作一个洗衣机控制器,具有如下功能:1)采用中小规模集成芯片设计洗衣机的控制定时器,控制洗衣机电机作如下运转:2)洗涤电机用两个继电器控制。
定时器说明书

建议:先设置程序,然后再进行安装(准备一个洗衣机水龙头外丝20mm既可)。
注意:垂直安装,因为底部有个散热孔,如果进了雨水,会失灵哦打开控制器透明盖子,屏幕下面有2个扣子,这个是电池盒,你向内扣住轻巧拉出来,因为里面连着电线。
装上2节7号电池,扣回去。
一,设置当前时间和星期几?点time,时间数字会跳动,用上下箭头调节好时间的小时后,点set确认,然后是分钟跳动,同样方法,调节好后按set,然后底部su会跳动,代表需要设置星期几,同样方法,用上下箭头调节好当前的星期几,点set确认,这样第一步就做好了。
二,设置程序(一共可以设置16个程序)点prog,依次出现:1程序的序号2开始浇水的时间3运行的时间。
方法:1跳动的时候,代表现在设置第一个程序,按1下set。
然后用设置时间的方法,设定好你需要浇水的时间,然后后面的运行时间会跳动,同样方法设置好你需要运行的时间长度,注意:运行时间是时间段:1分钟到9小时都可以随便你设定,如果你需要5分钟,设置成0.05既可,前面小时,后面分钟。
这样开始时间和运行时间设置好了,接下来设置运行的频率。
三,设定频率 A 2天浇水一次,B 3天浇水一次,C 每天浇水一次。
A,设定好开始时间,运行时间后。
按1下set确认后,左边会出现2nd,你按2下SET既可。
B,设定好开始时间,运行时间后。
按1下set确认后,左边会出现2nd,如果你需要3天浇水一次,当2nd出现后,你按一次下箭头,然后会出现3rd,然后你再按2下SET既可。
C,设定好开始时间,运行时间后。
按1下set确认后,左边会出现2nd,当2nd出现后,你按2次下箭头,然后底部会出现su在跳动,这个时候,你连续按7下SET直到出现小太阳,然后再按一次SET,表示确认。
每天浇水2次或者2次以上的,设置好第一个程序,会出现2在跳动,同样方法设定你所需要浇水的时间既可,以此类推。
四,自检当你设置好了你所需要的程序后,记得自检。
洗衣机产品说明书一步步教你操作洗衣机的各个功能

洗衣机产品说明书一步步教你操作洗衣机的各个功能洗衣机产品说明书:一步步教你操作洗衣机的各个功能第一章:引言洗衣机是现代生活中必不可少的家电之一。
它的出现极大地方便了人们的生活和工作。
本产品说明书将详细介绍我们公司最新推出的洗衣机的各个功能及其操作方法,帮助用户更好地了解和使用洗衣机。
第二章:洗衣机外观及组成部分2.1 洗衣机外观我们的洗衣机外观简洁大方,采用高品质塑料材料制作,具有耐用性和美观性。
2.2 组成部分洗衣机主要由以下部分组成:- 控制面板:提供各个功能的选择按钮和显示屏,通过控制面板实现对洗衣机的操作。
- 洗衣筒:用于装载衣物,并进行洗涤、漂洗和脱水。
- 进水管:连接水源,供应洗涤过程中的水。
- 排水管:排出洗涤过程中的污水。
- 电源线:用于连接洗衣机和电源插座。
第三章:洗衣机功能及操作方法3.1 洗涤功能我们的洗衣机提供多种洗涤功能,包括标准洗涤、快速洗涤、深层洗涤等。
用户可根据衣物的脏污程度和材质选择适当的洗涤功能。
操作方法:1)按下“电源”按钮,洗衣机开始工作;2)选择洗涤功能,可根据需要按下相应的功能按钮;3)根据衣物数量和脏污程度选择适当的洗涤时间;4)按下“开始/暂停”按钮,洗衣机开始进行洗涤。
3.2 漂洗功能漂洗是为了去除洗涤剂残留以及衣物上的污渍。
我们的洗衣机提供多次漂洗选项,确保彻底去除洗涤剂和污渍。
操作方法:1)按下“漂洗”按钮,选择漂洗次数;2)选择适当的漂洗时间;3)按下“开始/暂停”按钮,洗衣机开始进行漂洗。
3.3 脱水功能脱水是为了将衣物中的水分尽可能地去除,加快衣物的干燥速度。
我们的洗衣机提供多档脱水选项,用户可根据需要选择适当的脱水档位。
操作方法:1)按下“脱水”按钮,选择脱水档位;2)选择适当的脱水时间;3)按下“开始/暂停”按钮,洗衣机开始进行脱水。
第四章:用户注意事项4.1 供电要求确保洗衣机供电电压和频率与电源相匹配,以免损坏洗衣机。
4.2 水源要求接通洗衣机进水管前,确保水源通畅,并对水源进行适当的净化和处理。
洗衣机定时控制

1 系统概述1.1选题背景随着电子科学技术的飞速发展,电子技术几乎渗透到各个领域。
它为人们生活,工作,学习,科研等活动带来了很大的方便。
目前,我们已经体会到信息时代所具有的魅力。
在信息时代里,数字电子技术将有着举足轻重的地位。
作为一个电子专业的初学者,我通过对现有的洗衣机控制电路的调查研究发现,在目前的中低档洗衣机控制电路一般都还采用机械式定时器。
机械定时器虽然具有人们所习惯的操作方法,但是它同时具有控制精度低,洗衣时间不直观,机械部件容易出故障等缺陷。
另外,在比较高档的洗衣机中,一般都采用模糊技术或者单片机技术设计的洗衣机控制器,它们使用起来当然很方便,但是由于造价高所以这些控制器一般很难应用于中低档洗衣机中。
为此,我利用现有的比较常用的COMS数字集成电路设计了一个洗衣机数控电路来实现中低档洗衣机的数字控制。
希望它能为人们的生活带来一定的方便。
在日常生活中,洗衣机是必不可少的,这就需要一个定时器来控制它的停转,以节省人的时间。
本定时器实际上包含两级定时的概念,一是总洗涤过程的定时,二是在总洗涤过程中又包含电机的正转、反转和暂停三种定时,并且这三种定时是反复循环直至所设定的总定时时间到为止。
实现定时的方法很多,本设计采用将时间预先设置,当定时时间到洗涤过程结束。
1.2 设计原理洗衣机的主要控制电路是一个定时器,它按照一定的洗涤程序控制电机作正向或反向转动。
控制洗衣机电机的运行转向及其运行时间如图1-1所示。
图1-1 系统结构框图1) 用四个数码管显示洗涤的时间,按加法计时的方式对洗涤过程作实时计时显示,直至定时时间到而停机。
用红色发光管作正转,绿反转,黄为暂停。
2) 当定时时间到时,使电机停转的同时,也应有报警指示,以提醒用户注意。
当用户按动控制按钮时,蜂鸣器停止报警的同时,系统清零。
1.3 方案选择1.3.1 方案特点本系统分为五个主要模块,脉冲模块、定时模块、主控模块,显示模块以及报警模块。
洗衣机定时器

一、设计任务与要求设计一个洗衣机洗涤程序控制器,控制洗衣机的电动机按下图所示的规律运转:定时到图1、电机运转时序图用两位数码管预置洗涤时间(分钟数),洗涤过程在送入预置时间后开始运转,洗涤中按倒计时方式对洗涤过程作计时显示,用LED表示电动机的正、反转,如果定时时间到,则停机并发出音响信号。
二、总体框图其系统框图如下图所示:图2、系统框图此设计问题可分为洗涤预置时间编码寄存电路模块、十进制减法计数器模块、时序电路模块、译码驱动模块四大部分。
设置预置信号LD,LD有效后,可以对洗涤时间计数器进行预置数,用数据开关K1-K10分别代表数字1,2,…,9,0,用编码器对数据开关K1-K10的电平信号进行编码,编码器真值表如下表所示,编码后的数据寄存。
表1、时序电路状态表状态编码为: S0=00 S1=01 S2=11 S3=10若选JK触发器,其输出为Q2Q1。
逻辑赋值后的状态如下表所示:设置电动机正转信号run、反转信号rev、暂停信号Pause,由时序电路的输出Q2Q1经译码驱动模块,可使显示信号正确反映电路的工作状态,译码驱动模块真值表如下表所示:直到洗涤计时时间到,时序电路异步复位,并启动音响电路。
三、器件选择用QUARTUSⅡ软件中Altera公司Cyclone系列的EP1C2Q240C8芯片实现仿真,EDA试验箱上的EP1C12核心板中的PB[0]、PB[1]、PB[2]、三个LED灯、数码管和开关SW13-SW16用于硬件调试,下载接口是数字芯片下载接口(DIGITAL JTAG)。
四、功能模块1、预置时间和编码电路(settime):library ieee;useentity settime isport(load:in std_logic; --用来进行数据的读入time_input:in std_logic_vector(3 downto 0); --通过开关进行输入time_set:out std_logic_vector(7 downto 0) );end settime;set architecture time of settime issignal p1:std_logic_vector(7 downto 0);beginprocess(load)beginif(load'event and load='1')thencase time_input iswhen "0000"=>p1<="00000001";when "0001"=>p1<="00000010";when "0010"=>p1<="00000011";when "0011"=>p1<="00000100";when "0100"=>p1<="00000101";when "0101"=>p1<="00000110";when "0110"=>p1<="00000111";when "0111"=>p1<="00001000";when "1000"=>p1<="00001001";when "1001"=>p1<="00010000";when others=>p1<="00000000";end case;end if;end process;time_set<=p1;end settime;图3、settime模块图4、 settime仿真图time_input为通过开发板上按钮输入的信号,load为输入确认信号。
洗衣机控制器课程设计论文

电路特点:
74LS192是同步十进制可逆计数器,它具有双时钟输入,并具有清除和置数等功 能,其引脚排列和功能表如图2-3和表2-1所示。
图3-3 74LS192引脚图
图4-2 工作波形图
实现定时的方法很多,比如采用单稳电路实现定时,又如将定时初值预置到计数器中,使计数器运行在减计数状态,当减到全零时,则定时时间到。如图所示的电路原理框图就是采用这种方法实现的。由秒脉冲发生器产生的时钟信号经60分频后,得到分脉冲信号。洗涤定时的时间的初值先通过拨盘或数码开关设置到洗涤时间计数器中,每当分脉冲到来计数器减1,直至减到定时时间到为止。运行中间,剩余时间经译码后在数码管上进行显示。
图4-3 555构成多谐振荡器
4.3 分秒计时器的设计
用四片74LS192来实现分计数和秒计数功能,要求需要减计数,所以把它的UP端接到高电平上去,DOWN端接到秒脉冲上。十分秒位上的输入端B、C端接到高电平上,即从输入端置入0110(十进制的6),秒十位的LD端和借位端BO联在一起,再把秒位的BO端和十秒位的DOWN联在一起。当秒脉冲从秒位的DOWN端输入的时候秒计数的74192开始从9减到0;这时,它的借位端BO 会发出一个低电平到秒十位的输入端DOWN,秒十位的计数从6变到5,一直到变为0;当高低位全为零的时候,秒十位的BO发出一个低电平信号,DOWN为零时,置数端LD等于零,秒十位完成行置数,下一个DOWN脉冲来到时,计数器进入下一个循环减计数工作中 。
4.1 电路的整体结构
图4-1 电路整体框图
本定时器实际上包含两级定时的概念,一是总洗涤过程的定时,而是在总洗涤过程中又包含电机的正转、反转和暂停三种定时,并且这三种定时是反复循环直至所设定的总定时时间到位置。当总定时时间在0~20min以内设定一个输入之后T为高电平1,然后用倒计时的方法每分钟减1直至T变为0.在此期间,若Z1=Z2=1,实现正转;若Z1=Z2=0,实现暂停;若Z1=1,Z2=0,实现反转。工作波形如图3-2所示。
洗衣机控制器EDA编程

EDA实验考试报告班级:电子111班学号:110832姓名:谢瀚东洗衣机控制器一、实验要求:1、设计一个电子定时器,控制洗衣机作如下运转:定时启动→正转20秒→暂停10秒→反转20秒→暂停10秒→定时未到回到“正转20秒→暂停10秒→……”,定时到则停止;2、若定时到,则停机发出音响信号;3、用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;4、三只LED灯表示“正转”、“反转”、“暂停”三个状态。
二、设计提示:1、设计20秒、10秒定时电路。
2、电路输出为“正转”、“反转”、“暂停”三个状态。
3、按照设计要求,用定时器的“时间到”信号启动相应的下一个定时器工作,直到整个过程结束。
三、实验设计思路:四、引脚配置仿真波形:实验程序清单:顶层文件library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity xiyiji isPort( timeset:in std_logic_vector(7 downto 0);Start:in std_logic;Clk:in std_logic;clk1:in std_logic;Scanclk:in std_logic;scanout:out std_logic_vector(1 downto 0);ledout:out std_logic_vector(6 downto 0);soundout:out std_logic;run,rerun,pause:out std_logic);end xiyiji;architecture Behavioral of xiyiji isSignal a1:std_logic;Signal a2:std_logic_vector(7 downto 0);Component showtime ISPORT (scanclk: IN STD_LOGIC;Timestill:in std_logic_vector(7 downto 0);ledout : OUT std_logic_vector(6 downto 0);scanout : out std_logic_vector(1 downto 0));END component showtime;Component counter isPort(clk,start:in std_logic;timeset:in STD_LOGIC_VECTOR(7 downto 0);timestill:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0);timestop:out std_logic);End component counter;Component zhuangtai isport(en,clk,timestop:in std_logic;Run:out std_logic;Rerun:out std_logic;Pause:out std_logic);end component zhuangtai;component sound isport(timestop:in std_logic;clk1:in std_logic;soundout:out std_logic);end component sound;beginU1:zhuangtaiPort map(en=>start,clk=>clk,timestop=>a1,run=>run,rerun=>rerun,pause=>pause); U2:counterPort map(clk=>clk,start=>start,timeset=>timeset,timestill=>a2,timestop=>a1);U3:showtimePort map(scanclk=>scanclk,timestill=>a2,ledout=>ledout,scanout=>scanout);U4:soundport map(timestop=>a1,clk1=>clk1,soundout=>soundout);end Behavioral;声音模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity sound isport(timestop:in std_logic;clk1:in std_logic;soundout:out std_logic);end sound;architecture Behavioral of sound isbeginprocess(timestop,clk1)beginif timestop='1' thensoundout<=clk1;else soundout<='0';end if;end process;end Behavioral;状态模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity zhuangtai isport(en,clk,timestop:in std_logic;Run:out std_logic;Rerun:out std_logic;Pause:out std_logic);end zhuangtai;architecture Behavioral of zhuangtai istype state is (s0,s1,s2,s3,s4);signal nowstate,nextstate:state;signal c1,c2:std_logic;signal en1,en2:std_logic;signal cnt1:std_logic_vector(4 downto 0):="10010";signal cnt2:std_logic_vector(3 downto 0);beginprocess(en1,en2,clk)beginif(clk'event and clk='1') thenif (en1='1') then c2<='0';if cnt1="00000" then c1<='1';else cnt1<=cnt1-'1';c1<='0';end if;cnt2<="1000";elsif (en2='1') then c1<='0';if cnt2="0000" then c2<='1';else cnt2<=cnt2-'1';c2<='0';end if;cnt1<="10010";end if;end if;end process;process(nowstate,c1,c2,en,timestop)beginif timestop='1' thenrun<='0';rerun<='0';pause<='0';elsecase nowstate iswhen s0=>Run<='0';Rerun<='0';Pause<='0';if en='1' then nextstate<=s1;else nextstate<=s0;end if;when s1=>Run<='1';Rerun<='0';Pause<='0';en1<='1';en2<='0'; if timestop='1' then nextstate<=s0;elsif c1='1' then nextstate<=s2;else nextstate<=s1;end if;when s2=>Run<='0';Rerun<='0';Pause<='1';en1<='0';en2<='1'; if timestop='1' then nextstate<=s0;elsif c2='1' then nextstate<=s3;else nextstate<=s2;end if;when s3=>Run<='0';Rerun<='1';Pause<='0';en1<='1';en2<='0'; if timestop='1' then nextstate<=s0;elsif c1='1' then nextstate<=s4;else nextstate<=s3;end if;when s4=>Run<='0';Rerun<='0';Pause<='1';en1<='0';en2<='1';if timestop='1' then nextstate<=s0;elsif c2='1' then nextstate<=s1;else nextstate<=s4;end if;end case;end if;end process;process(en,clk)beginif (clk'event and clk='1') thenif en='0' then nowstate<=s0;else nowstate<=nextstate;end if;end if;end process;end Behavioral;计时模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity counter isPort(clk,start:in std_logic;timeset:in STD_LOGIC_VECTOR(7 downto 0);timestill:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0);timestop:out std_logic:='0');end counter;architecture Behavioral of counter isbeginprocess(clk)variable time_second:integer:=0;beginif (clk'event and clk='1')thenIf time_second>0 and start='1' thentime_second:=time_second-1;end if;if(start='0') thentimestill<=timeset; time_second:=0;elsif(time_second=0) thenif(timestill(3 downto 0)>0)thentimestill(3 downto 0)<=timestill(3 downto 0)-'1';time_second:=60; timestop<='0';elsif (timestill(7 downto 4) >0 and time_second=0)thentimestill(7 downto 4) <=timestill(7 downto 4)-'1';timestill(3 downto 0)<="1001";time_second:=60;timestop<='0';elsif(timestill="00000000")thentimestop<='1';end if;end if;end if;end process;end Behavioral;显示模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity showtime isPORT (scanclk: IN STD_LOGIC;Timestill:in std_logic_vector(7 downto 0);ledout : OUT std_logic_vector(6 downto 0);scanout :out std_logic_vector(1 downto 0));end showtime;architecture Behavioral of showtime isSIGNAL hex: std_logic_vector(3 downto 0);SIGNAL led: std_logic_vector(6 downto 0);SIGNAL scan: std_logic_vector(1 downto 0):="00";beginPROCESS (scanclk)BEGINIF (scanclk'EVENT AND scanclk ='1') thenif scan="00" or scan>="10" then scan<="01";else scan<=scan+'1';end if;end IF;END PROCESS;Scanout<=scan;Hex<=timestill(7 downto 4) when scan="01" elsetimestill(3 downto 0);Ledout<= not led;with hex selectled<="1111001" when "0001","0100100" when "0010","0110000" when "0011","0011001" when "0100","0010010" when "0101","0000010" when "0110","1111000" when "0111","0000000" when "1000","0010000" when "1001","1000000" when others;end Behavioral;实验总结与收获:。
Verilog课程设计_洗衣机设计电路

Verilog课程设计----洗衣机控制器设计要求:设计一个电子定时器,控制洗衣机作如下运转:定时启动--->正转20秒-->暂停10秒-->反转20秒-->暂停10秒-->定时未到,回到“正转20秒-->暂停10秒-->反转20秒-->暂停10秒”;若定时到,则停机发出音响信号。
用两个数码管显示洗涤的预置时间(分钟数),按倒计时的方式计时,直到时间到停机;洗涤过程由“开始”信号开始。
三只LED灯表示“正转”、“反转”、“暂停”三个状态。
设计过程中用三个表示状态的寄存器zz(正转)、fz(反转)、pause(暂停),以及三个寄存器表示LED灯,LED1表示zz;LED2表示fz;LED3表示pause。
用data_out1,data_out2显示预置时间。
Beep为音响信号。
实验源程序如下:`timescale 1ns/1ns //源程序的测试文件module tb_wash;parameter DELY=5;reg clk,start,sure;reg[6:0]count0;wire beep,led1,led2,led3,zz,fz,pause;wire [6:0]data_out1,data_out2;wash C1(data_out1,data_out2,beep,led1,led2,led3,zz,fz,pause,start,count0,sure,clk); initialbeginstart=0;sure=0;count0=7'b0000111;#DELY start=1;#(DELY*10) sure=1;#(DELY*20) sure=0;endalwaysbeginclk=0;#(DELY*2) clk=~clk;#(DELY*2) clk=~clk;//产生振荡时钟endinitial#(DELY*3000)$finish;endmodulemodulewash(data_out1,data_out2,beep,led1,led2,led3,zz,fz,pause,start,count0,sure,clk); input clk,sure;//sure用于输入数据之后的确定键,确定后洗衣机开始工作input[6:0]count0;//count0输入洗涤时间input start;//电源开关output [6:0]data_out1,data_out2;//数码管时间输出reg [6:0]data_out1,data_out2;output zz,fz,pause;reg zz,fz,pause;output led1,led2,led3;reg led1,led2,led3;reg[5:0]counts;output beep; //音响reg beep;reg[6:0]count;//计数分钟reg[3:0]countm;//计数秒wire [3:0]bcd_1;reg [3:0]bcd_2;reg signal;//用于控制音响信号initial begindata_out1=7'b0;data_out2=7'b0;counts<=6'b0;countm<=4'b0;count<=count0;bcd_2<=4'b0;zz<=0;fz<=0;pause<=0;beep<=0;led1<=0;led2<=0;led3<=0;signal<=0;endalways@(posedge clk)beginif(sure==1)beginsignal<=1;count<=count0;//对count赋初值endif((count>0)&&(start==1)&&(signal==1))beginif(counts==6'b111100)//60begincounts<=6'b1;count<=count-1;endelsebegincounts<=counts+1'b1;if(counts<=5'b10100) //20beginzz<=1;fz<=0;pause<=0;led1<=1;led2<=0;led3<=0;endelseif(counts<=6'b11110|counts>6'b110010&&counts<=6'b111011)//30 50~59 beginpause<=1;zz<=0;fz<=0;led2<=1;led1<=0; led3<=0;endelsebeginfz<=1;zz<=0;pause<=0;led3<=1;led1<=0; led2<=0;endendendif(signal==1&&count==0)//控制洗涤结束时音响响的时间beginif(countm==4'b1001)beep<=0;elsebegincountm<=countm+1;beep<=1;led2=0;pause=0;endendend//always//show the numberalways@(count)beginif(count>=7'd90)bcd_2<=4'd9;else if(count>=7'd80)bcd_2<=4'd8;else if(count>=7'd70)bcd_2<=4'd7;else if(count>=7'd60)bcd_2<=4'd6;else if(count>=7'd50)bcd_2<=4'd5;else if(count>=7'd40)bcd_2<=4'd4;else if(count>=7'd30)bcd_2<=4'd3;else if(count>=7'd20)bcd_2<=4'd2;else if(count>=7'd10)bcd_2<=4'd1;elsebcd_2<=4'd0;endassign bcd_1=count-bcd_2*4'd10; always@(bcd_1)//数码管个位的显示begincase (bcd_1)4'b0000:data_out1=7'b0111111;//04'b0001:data_out1=7'b0000110;4'b0010:data_out1=7'b1011011;4'b0011:data_out1=7'b1001111;4'b0100:data_out1=7'b1100110;4'b0101:data_out1=7'b1101101;4'b0110:data_out1=7'b1111100;4'b0111:data_out1=7'b0000111;4'b1000:data_out1=7'b1111111;4'b1001:data_out1=7'b1100111;default:data_out1=7'b0000000;endcaseendalways@(bcd_2)//数码管十位的显示begincase (bcd_2)4'b0000:data_out2=7'b0111111;//04'b0001:data_out2=7'b0000110;4'b0010:data_out2=7'b1011011;4'b0011:data_out2=7'b1001111;4'b0100:data_out2=7'b1100110;4'b0101:data_out2=7'b1101101;4'b0110:data_out2=7'b1111100;4'b0111:data_out2=7'b0000111;4'b1000:data_out2=7'b1111111;4'b1001:data_out2=7'b1100111;default:data_out2=8'b0000000;endcaseendendmodule程序编号之后在linux系统的nclaunch里面仿真出来波形如下:波形符合设计的要求。
课程设计 洗衣机控制器

题目洗衣机控制器班级 06电子信息学号姓名时间科技艺术学院一、设计要求普通洗衣机的主要控制电路是一个定时器,它按照一定的洗涤程序控制电机作正向和反向转动。
设计要求如下1、洗衣机转动模式有三种,分别为强力,标准和轻柔。
强力:正转4s,停止2s,反转4s;标准:正转3s,停止2s,反转3s;轻柔:正转2s,停止1s,反转2s;2、洗衣时间可选择5分钟,10分钟,15分钟,20分钟。
3、洗完后进行两次漂洗每,次5分钟。
4、漂洗结束后进行脱水。
5、自动排水。
6、洗衣结束后发出警报。
7、可用数字显示洗衣机的全部工作时间。
二、总体设计原理对于自动控制,使用单片机是最简单的,但是对于普通的洗衣机控制使用一般器件也可完成。
我设计的洗衣机控制电路主要采用CMOS和TTL集成器件,如计数器,锁存器,与门,非门,555定时器等构成洗衣机控制电路。
洗衣机的洗衣流程如下:加水—(定时)洗衣—排水加水—漂洗—排水加水—漂洗—排水—脱水—排水—警报并停机。
电路设计框图如下:三、各单元设计与分析1、多谐振荡器多谐振荡器是一种自激振荡器,产生振荡信号,用于计时。
在许多场合对多谐振荡器的频率稳定性要求严格,一般采用石英晶体振荡器。
但是由于洗衣机对时间的精确度要求不是很高,所以我采用555定时器接成的1HZ 多谐振荡器。
电路如图: 图中是把555定时器接成施密特触发器,在用施密特触发器接成多谐振荡器的方法接成。
其中R 1=R 2=48K Ω,C 1=0.01μ,C 2=10μ把数据带入T=(R 1+2R 2)C 2ln2, 得T=1s即周期为一秒,输出1HZ 的信号。
2、时钟电路时钟电路采用计数器对输入的1HZ 振荡信号进行计数,从而实现计时。
用十进制计数器接成两个60进制计数器,分别用于计秒和计分。
因为整个洗衣时间不会超过1小时,所以不用计时。
V10U十进制计数器有很多中,如74LS90,74LS290,74160等。
74160有预置数功能,此功能在应用中不需要,用它肯定是浪费。
定时器控制步进电机转速原理

定时器控制步进电机转速原理-概述说明以及解释1.引言1.1 概述概述:本文将探讨定时器控制步进电机转速的原理。
定时器是一种常见的计时器件,通过精准的计时和控制脉冲输出,可以实现对步进电机的精确控制。
步进电机是一种特殊的电机,通过接收一定的脉冲信号来控制每一步的运动,从而实现精确的位置和转速控制。
本文将详细介绍定时器和步进电机的工作原理,从而深入探讨定时器如何控制步进电机的转速。
通过本文的阐述,读者将对定时器控制步进电机转速的原理有一个全面的了解。
1.2 文章结构文章结构部分的内容:本文将分为引言、正文和结论三个部分。
在引言部分,将概述文章的主题,介绍定时器控制步进电机转速的原理,并说明文章的结构和目的。
在正文部分,将分别介绍定时器的工作原理和步进电机的工作原理,然后详细阐述定时器如何控制步进电机转速的原理。
在结论部分,将对定时器控制步进电机转速的原理进行总结,并展望其应用前景,最终得出结论。
整个文章结构清晰,逻辑严谨,将全面深入地探讨定时器控制步进电机转速的原理及其应用。
1.3 目的本文旨在介绍定时器控制步进电机转速的原理,通过深入分析定时器和步进电机的工作原理,探讨定时器如何精准地控制步进电机的转速。
通过本文的阐述,读者可以更好地理解定时器和步进电机的工作原理,以及它们之间的关联,从而为相关领域的工程技术人员提供参考和借鉴。
同时,本文也对定时器控制步进电机转速的应用前景进行展望,希望能够为未来的研究和工程实践提供一定的启发和指导。
2.正文2.1 定时器的工作原理定时器是一种用来产生准确时间间隔的电子设备,它可以根据预设的时间参数来产生特定的时间脉冲信号。
定时器可以用来控制各种设备的时间间隔,如LED灯的闪烁、蜂鸣器的鸣叫、步进电机的运动等。
定时器主要由一个计数器和一组控制逻辑组成。
计数器用来存储时间参数,控制逻辑则用来确定何时产生时间脉冲信号。
当计数器的值达到预设的时间参数时,控制逻辑会触发输出时间脉冲信号。
基于51单片机的全自动洗衣机控制器设计

基于51单片机的全自动洗衣机控制器设计随着科技的进步和人们生活质量的提高,洗衣机已经成为现代家庭中必不可少的家电之一。
然而,传统的洗衣机控制方式往往存在操作复杂、功能单一等问题,无法满足用户对于高效、智能洗涤的需求。
因此,本文将介绍一种基于51单片机的全自动洗衣机控制器的设计,实现洗涤、漂洗、脱水等功能的自动化控制。
一、系统硬件设计1、控制器核心选择本设计选用51单片机作为控制器核心,利用其丰富的I/O口和定时器资源,实现对洗衣机的控制。
通过外接按键和蜂鸣器等元件,实现洗涤方式的选择、启动/停止控制等功能。
2、电源模块设计为了确保洗衣机的稳定运行,本设计采用220V交流电作为电源输入,通过变压器进行降压处理,再经整流滤波后得到稳定的直流电压,为控制器和其他部件供电。
3、输入输出模块设计输入模块主要包括按键和传感器。
其中,按键用于选择洗涤方式,传感器则用于检测水位、水温等信息。
输出模块主要包括继电器和蜂鸣器,继电器用于控制洗衣机的启动/停止,蜂鸣器则用于提示用户洗涤过程的状态。
二、系统软件设计1、程序初始化在程序开始运行时,首先进行初始化操作,包括配置定时器、设置I/O口状态等。
2、洗涤过程控制根据用户选择的洗涤方式,程序将通过定时器控制电机的运转时间,实现不同洗涤模式的自动化控制。
同时,通过检测水位、水温等信息,自动调整洗涤时间和水的温度,提高洗涤效果。
3、漂洗过程控制在洗涤过程结束后,程序将自动进入漂洗阶段。
通过控制进水和排水阀的开闭时间,实现自动漂洗。
同时,根据洗涤过程中收集的衣物量和洗涤效果,智能调整漂洗次数和时间,确保衣物清洗干净。
4、脱水过程控制在漂洗过程结束后,程序将自动进入脱水阶段。
通过控制电机转速和脱水时间,实现衣物的高效脱水。
同时,为了保护衣物和机器的安全,程序将根据衣物的种类和重量信息,智能调整脱水时间和转速,确保脱水过程的顺利进行。
5、报警提示功能为了方便用户及时了解洗涤过程的状态,本设计还实现了报警提示功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1.选题背景1
1.1 指导思想1
1.2 技术要求1
2.方案论正2
3.过程论述2
3.1 总体方框图2
3.2 单元电路设计3
3.2.1秒脉冲的设计3
3.2.2分脉冲的产生部分4
3.2.3电机的控制及驱动5
3.2.4时间预置的按钮部分 (6)
3.2.5定时的执行及显示部分 (7)
3.2.6蜂鸣器的驱动电路 (8)
4. 结果分析9
5.设计结论9
6.体会及改进9
6.1设计体会9
6.2改进意见9
参考文献9
1. 选题背景
使用弱电控制强电是一种永恒的趋势,选择此题就是适应这一种趋势。
1.1 指导思想
通过继电器实现弱电控制强电。
1.2 技术要求
设计说明:洗涤常规模式为:
停机
(1>
(3> 当定时时间达到终点时,一方面使电机停机,同时发出音响信号提醒用户注意。
2. 方案论正
方案一:
使用场效应管构成H桥,触发电路复杂。
通断迅速不会出现火花。
方案二:
使用继电器构成H桥,驱动电路简单。
通断易出现火花
综合比较以上两种方案:方案一:虽然比较好,但由于场效应管价格贵,触发电路复杂。
方案二: 价格比较便宜,而且继电器易购买。
所以选用第二种方案。
3. 过程论述
3.1 总体方框图
秒脉冲的产生分脉冲的形
成
电机的驱动电
路
3.2单元电路图
<1)秒脉冲的产生。
使用
555构
成多谐
振荡
器,产
生秒脉
冲,占
空比为
70%。
T1=(R1
0+R11>
C1*
T2=R11
*C1*
T=T1+T
2
f=
计数及显示
=1HZ q==70%
555的3脚接U5<161)的2脚。
<2)分脉冲的形成。
使用置数法将第一个74hc161连成十进制,状态图为:
在时RCO 产生高电平经非门后变成低电平送到load 端完成置数。
使用置数法将第二个74hc161连成六进制,状态图为:
在时Q 2Q 0产生高电平经与非门后变成低电平送到load <3)电机的控制及驱动。
0111 1000 1001
1111 1110 1101 1100 1010
1011
0110 Q 3Q 2Q 1Q 00000
0001 01010011 0010
0100 Q 3Q 2Q 1Q 0
1111 0101
259的1,2,3脚分别接U6<74hc161)的14,13,12脚。
A2 A1 A0 Y
正转Y
反转
0 0 0 1 0 0 0 1 1 0 0 1 0 0 0
0 1 1 0 1
1 0 0 0 1 1 0 1 0 0
正转210210
Y
反转=A
2
,A
1
A
+A
2
A
1
,A
,
A2 A1 A0 LE MR D Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0
0 1 1 0 0 1 0 0 0 1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
正转01
Y
反转=Q
3
+Q
4
使用两个继电器构成H桥<4)时间预置的按钮部分。
U9:B的5脚接U6:A的3脚。
U9:A的2脚接U4:A的3脚。
U9:A的3脚接U3<193)的4脚。
U9:A的2脚接U4<193)的4脚。
低电平完成进位,低电平调整时间,所以使用与非门实现一低出高。
193的down是上升沿触发,不能让U4<193)在U5<161)的进位端刚出现低电平时就完成进位,否则会出现10秒的误差。
加一个非门可以使这个误差消除。
<5)定时的执行及显示部分。
使用置数法将两个193构成独立的十进制,可以的定时范围为0到99分钟。
当两个数码
管为零时<计数完毕)。
此时两个193的Q
0Q
1
Q
2
Q
3
都为低电平,使用cd4078八输入或非门
实现全低出高。
此信号给蜂鸣器使蜂鸣器鸣叫,提醒定时已到,并使电机停止转动。
使用cd4511驱动共阴数码管显示定时时间。
<6)蜂鸣器的驱动部分。
蜂鸣器的驱动电路。
当三极管的基极出现高电平时,三极管导通,压降很小,几乎所有电压都加到蜂鸣器的两端。
将蜂鸣器替换为继电器,就可以得到继电器的驱动电路。
由于继电器为感性的,所以需要并联续流二极管。
4结果分析。
将时间预置为2分钟,按下复位按钮,按下电机电源开关实现了电机在一分钟内正转20s,停止10s,反转20s,停止10s的状态。
在定时完毕时,蜂鸣器鸣叫及电机停转。
结合上述现象,可知符合设计的要求。
5.设计结论
此电路能实现0到99分钟的时间预置,可以顺利的实现电机在一分钟内的状态。
能够在定时完毕时,让蜂鸣器鸣叫及使电机停转。
6.体会及改进
6.1设计体会
通过本次的设计进一步掌握和巩固了数电知识及应用。
在设计中学会分模块设计,有利于错误的查找。
6.2改进意见
本次设计可以在以下几方面进行改进:
1)用数码管的小数点显示秒脉冲可以避免让定时部分长时间静止,造成电路出现故
障的假象。
2)按键电路改进
按键部分可以用电容和电阻的配合组成消抖电路。
整机电路
参考文献
[1]阎石:《数字电子技术基础》<第五版).高等教育出版社.2006年5月
[2]童诗白:《模拟电子技术基础》<第四版). 高等教育出版社.2006年5月
[3]党宏社:《电路、电子技术实验与电子实训》.电子工业出版社。
2009年1月。