洗衣机控制器的设计

题目 洗衣机控制器的设计 系(部) 电子与通信工程系 专业(班级) 电气工程及其自动化6班

EDA 技术课程设计任务书

系(部):电子与通信工程系 专业:电气工程及其自动化 指导教师:

目录

一 设计方案 . .................................................................................................................................... 3 二 设计原理及其实现过程 . ............................................................................................................ 4

2.1设计总原理 . ........................................................................................................................ 4 2.2设计框图 . ............................................................................................................................ 4 2.3 模块设计和相应模块 . ....................................................................................................... 4

2.3.1 预制时间和减法计数器模块 . ............................................................................ 4 2.3.2数码管动态扫描及状态显示模块 . ......................................................................... 5 2.3.3分频模块 . ................................................................................................................. 8

三 总电路仿真波形及引脚分配 . .................................................................................................... 9

3.1 仿真波形及分析 . ............................................................................................................... 9 3.2 引脚分配 . ........................................................................................................................ 9 四 测试结果 . .................................................................................................................................. 10 五 课程设计心得 . .......................................................................................................................... 10 六 参考文献 . .................................................................................................................................. 11

一 设计方案

本定时器实际上包含两级定时的概念,一是总洗涤过程的定时,而是在总洗涤过程中又包含电机的正转、反转和暂停三种定时,并且这三种定时是反复循环直至所设定的总定时时间到位置。当总定时时间在0~20min以内设定一个书之后T 为高电平1,然后用倒计时的方法每分钟减1直至T 变为0。在此期间,若Z1=Z2=1,实现正转;若Z1=Z2=0,实现暂停;若Z1=1,Z2=0,实现反转。实现定时的方法很多,比如采用单稳电路实现定时,又如将定时初值预置到计数器中,使计数器运行在减计数状态,当减到全零时,则定时时间到。如图所示的电路原理框图就是采用这种方法实现的。由秒脉冲发生器产生的时钟信号经60分频后,得到分脉冲信号。洗涤定时的时间的初值先通过拨盘或数码开关设置到洗涤时间计数器中,每当分脉冲到来计数器减1,直至减到定时时间到为止。运行中间,剩余时间经译码后在数码

管上进行显示。

二 设计原理及其实现过程

2.1设计总原理

洗衣机控制器的设计主要是定时器的设计。由一片FPGA (Field Programmable Gate Array)和外围电路构成了电器控制部分。FPGA 接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对FPGA 芯片的编程采用模块化的VHDL (硬件描述语言) 进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL 的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。

2.2设计框图

2.3 模块设计和相应模块

2.3.1 预制时间和减法计数器模块

由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,所以我们设计了一个减法计数器模块,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。

预制时间和减法计数器模块程序

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity count is

Port( clk,en,ld:in std_logic); End entity;

Architecture one of count is

signal c1,c2,c3,a,a1,a2,a3,a4,a5,a6: integer range 15 downto 0;

signal b: integer range 5 downto 0; signal clk1,clk2,k:std_logic; process(clk1,ld,en) begin

if en='1' then

if (clk1'event and clk1='1') then if k='1' then

if c1=0 and c2=0 and c3=0 then a1

c1

if c1=0 then c2

a1

if a3=1 and (a2>5) then a4

elsif a3=1 and (a2>4)then a42)then a41)then a4

elsif a3=1 and(a2=0 or a2=1) then a48)then a46)then a45)then a43)then a42)then a40) then a4

else k

2.3.2数码管动态扫描及状态显示模块

此模块用于不同工作状态时,数码管显示相应的H 、F 和P 来表示洗衣机正转、反转和暂停动作,并实现数码管的动态扫描。

数码管动态扫描及状态显示模块程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity zhuangtai is

Port( led_selout:out std_logic_vector(7 downto 0) ; led7s:out std_logic_vector(6 downto 0)); End entity;

Architecture one of zhuangtai is signal clk2:std_logic; process(clk2)

variable s:integer range 6 downto 0; begin

if (clk2'event and clk2='1') then s:=s+1;

if s=6 then s:=0; end if; b

when 0=>aaaaaa

case a is

when 0=>led7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7snull; end case; end process ; process(b) begin case b is

when 0=>led_seloutled_seloutled_seloutled_seloutled_seloutled_seloutnull; end case; end process ;

End ;

2.3.3分频模块

此模块是为了获得控制洗衣机运转时所需要的不同的频率,以使得洗衣机能够在不同状态时正常运转。

分频模块程序

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fenpin is

Port( clk:in std_logic); End entity;

Architecture one of fenpin is signal clk1,clk2:std_logic; process(clk)

variable s:integer range 10000 downto 0; begin

if (clk'event and clk='1') then S:=s+1;

if s>5000 then s:=0; elsif s

clk2

end process ; process(clk)

variable s:integer range 25000000 downto 0; begin

if (clk'event and clk='1') then S:=s+1;

if s>25000000 then s:=0; elsif s

clk1

end process ; end;

三 总电路仿真波形及引脚分配 3.1 仿真波形及分析

总电路仿真波形

洗衣机接通电源,按ld 、en 置为高电平洗衣机开始工作,当时钟第一个上升沿到达时(正转功能)为高电平维持20s 以后变为低电平而(暂停功能)随着时钟上升沿的到来变为高电平维持10s 变为低电平,然后(反转功能)开始随着时钟上升沿的到来变为高电平工作维持20s 后变为低电平,再停止置高电平,接下来电路一直重复上述工作,直到定时器计数结束。

3.2 引脚分配

四 测试结果

电路设计完成以后,按照预定设计,执行相应操作,三只数码管按照设定时间规律间断性亮起,并分别一次间断性地显示H 、F 和P ,表示洗衣机正在进行正传、反转和暂停工作。同时,另外三只数码管也显示输入时间,并按减数计时产生相应的数字显示,直到到达预定时间停止工作显示零,,洗衣机停止工作,实验设计达到预期效果。

五 课程设计心得

本次洗衣机控制器的课程设计过程中,采用的是是模块化层次化的设计方法,通过这样分模块化的思考方式,设计显得相对容易很多,思路也比较简单。洗衣机控制器主要只有三个状态,要实现几种状态的多次循环的改变,还要有计时和数码管动态显示的功能。因此电路可主要分为以下几个模块:预制时间与减法计数器模块、数码管动态显示模块、分频模块。通过每个模块的设计,最后运用VHDL 语言的进程语句进行模块间的组合,从而完成总程序的设计。

通过此次课程设计,对于VHDL 语言有了基本的掌握,对其设计方法也有了一些技巧性的了解,为将来的硬件设计打下了一定的基础。对于FPGA 的编程、定时器和计数器的设计都熟悉了起来,加深了对时序组合电路的印象。

在此次课程设计中,感谢指导老师的耐心解答和同学的热情帮助!课程设计的整个过程中,发现自己很多方面的知识掌握得不太好,不牢固,很多知识不知道如何运用到实际中去解决问题。归根结底,还是自己学的东西不够扎实,没有真正理解学到的知识。在今后的学习过程中,一定要认认真真,扎扎实实,好好地学习理论知识,争取将来能够为国家的电力行业做出自己应有的贡献。

六 参考文献

[1] 潘松著. EDA 技术实用教程(第二版). 北京:科学出版社,2005.

[2] 康华光主编. 电子技术基础 模拟部分. 北京:高教出版社,2006.

[3] 阎石主编. 数字电子技术基础. 北京:高教出版社,2003.

11

题目 洗衣机控制器的设计 系(部) 电子与通信工程系 专业(班级) 电气工程及其自动化6班

EDA 技术课程设计任务书

系(部):电子与通信工程系 专业:电气工程及其自动化 指导教师:

目录

一 设计方案 . .................................................................................................................................... 3 二 设计原理及其实现过程 . ............................................................................................................ 4

2.1设计总原理 . ........................................................................................................................ 4 2.2设计框图 . ............................................................................................................................ 4 2.3 模块设计和相应模块 . ....................................................................................................... 4

2.3.1 预制时间和减法计数器模块 . ............................................................................ 4 2.3.2数码管动态扫描及状态显示模块 . ......................................................................... 5 2.3.3分频模块 . ................................................................................................................. 8

三 总电路仿真波形及引脚分配 . .................................................................................................... 9

3.1 仿真波形及分析 . ............................................................................................................... 9 3.2 引脚分配 . ........................................................................................................................ 9 四 测试结果 . .................................................................................................................................. 10 五 课程设计心得 . .......................................................................................................................... 10 六 参考文献 . .................................................................................................................................. 11

一 设计方案

本定时器实际上包含两级定时的概念,一是总洗涤过程的定时,而是在总洗涤过程中又包含电机的正转、反转和暂停三种定时,并且这三种定时是反复循环直至所设定的总定时时间到位置。当总定时时间在0~20min以内设定一个书之后T 为高电平1,然后用倒计时的方法每分钟减1直至T 变为0。在此期间,若Z1=Z2=1,实现正转;若Z1=Z2=0,实现暂停;若Z1=1,Z2=0,实现反转。实现定时的方法很多,比如采用单稳电路实现定时,又如将定时初值预置到计数器中,使计数器运行在减计数状态,当减到全零时,则定时时间到。如图所示的电路原理框图就是采用这种方法实现的。由秒脉冲发生器产生的时钟信号经60分频后,得到分脉冲信号。洗涤定时的时间的初值先通过拨盘或数码开关设置到洗涤时间计数器中,每当分脉冲到来计数器减1,直至减到定时时间到为止。运行中间,剩余时间经译码后在数码

管上进行显示。

二 设计原理及其实现过程

2.1设计总原理

洗衣机控制器的设计主要是定时器的设计。由一片FPGA (Field Programmable Gate Array)和外围电路构成了电器控制部分。FPGA 接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对FPGA 芯片的编程采用模块化的VHDL (硬件描述语言) 进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL 的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。

2.2设计框图

2.3 模块设计和相应模块

2.3.1 预制时间和减法计数器模块

由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,所以我们设计了一个减法计数器模块,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。

预制时间和减法计数器模块程序

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity count is

Port( clk,en,ld:in std_logic); End entity;

Architecture one of count is

signal c1,c2,c3,a,a1,a2,a3,a4,a5,a6: integer range 15 downto 0;

signal b: integer range 5 downto 0; signal clk1,clk2,k:std_logic; process(clk1,ld,en) begin

if en='1' then

if (clk1'event and clk1='1') then if k='1' then

if c1=0 and c2=0 and c3=0 then a1

c1

if c1=0 then c2

a1

if a3=1 and (a2>5) then a4

elsif a3=1 and (a2>4)then a42)then a41)then a4

elsif a3=1 and(a2=0 or a2=1) then a48)then a46)then a45)then a43)then a42)then a40) then a4

else k

2.3.2数码管动态扫描及状态显示模块

此模块用于不同工作状态时,数码管显示相应的H 、F 和P 来表示洗衣机正转、反转和暂停动作,并实现数码管的动态扫描。

数码管动态扫描及状态显示模块程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity zhuangtai is

Port( led_selout:out std_logic_vector(7 downto 0) ; led7s:out std_logic_vector(6 downto 0)); End entity;

Architecture one of zhuangtai is signal clk2:std_logic; process(clk2)

variable s:integer range 6 downto 0; begin

if (clk2'event and clk2='1') then s:=s+1;

if s=6 then s:=0; end if; b

when 0=>aaaaaa

case a is

when 0=>led7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7snull; end case; end process ; process(b) begin case b is

when 0=>led_seloutled_seloutled_seloutled_seloutled_seloutled_seloutnull; end case; end process ;

End ;

2.3.3分频模块

此模块是为了获得控制洗衣机运转时所需要的不同的频率,以使得洗衣机能够在不同状态时正常运转。

分频模块程序

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fenpin is

Port( clk:in std_logic); End entity;

Architecture one of fenpin is signal clk1,clk2:std_logic; process(clk)

variable s:integer range 10000 downto 0; begin

if (clk'event and clk='1') then S:=s+1;

if s>5000 then s:=0; elsif s

clk2

end process ; process(clk)

variable s:integer range 25000000 downto 0; begin

if (clk'event and clk='1') then S:=s+1;

if s>25000000 then s:=0; elsif s

clk1

end process ; end;

三 总电路仿真波形及引脚分配 3.1 仿真波形及分析

总电路仿真波形

洗衣机接通电源,按ld 、en 置为高电平洗衣机开始工作,当时钟第一个上升沿到达时(正转功能)为高电平维持20s 以后变为低电平而(暂停功能)随着时钟上升沿的到来变为高电平维持10s 变为低电平,然后(反转功能)开始随着时钟上升沿的到来变为高电平工作维持20s 后变为低电平,再停止置高电平,接下来电路一直重复上述工作,直到定时器计数结束。

3.2 引脚分配

四 测试结果

电路设计完成以后,按照预定设计,执行相应操作,三只数码管按照设定时间规律间断性亮起,并分别一次间断性地显示H 、F 和P ,表示洗衣机正在进行正传、反转和暂停工作。同时,另外三只数码管也显示输入时间,并按减数计时产生相应的数字显示,直到到达预定时间停止工作显示零,,洗衣机停止工作,实验设计达到预期效果。

五 课程设计心得

本次洗衣机控制器的课程设计过程中,采用的是是模块化层次化的设计方法,通过这样分模块化的思考方式,设计显得相对容易很多,思路也比较简单。洗衣机控制器主要只有三个状态,要实现几种状态的多次循环的改变,还要有计时和数码管动态显示的功能。因此电路可主要分为以下几个模块:预制时间与减法计数器模块、数码管动态显示模块、分频模块。通过每个模块的设计,最后运用VHDL 语言的进程语句进行模块间的组合,从而完成总程序的设计。

通过此次课程设计,对于VHDL 语言有了基本的掌握,对其设计方法也有了一些技巧性的了解,为将来的硬件设计打下了一定的基础。对于FPGA 的编程、定时器和计数器的设计都熟悉了起来,加深了对时序组合电路的印象。

在此次课程设计中,感谢指导老师的耐心解答和同学的热情帮助!课程设计的整个过程中,发现自己很多方面的知识掌握得不太好,不牢固,很多知识不知道如何运用到实际中去解决问题。归根结底,还是自己学的东西不够扎实,没有真正理解学到的知识。在今后的学习过程中,一定要认认真真,扎扎实实,好好地学习理论知识,争取将来能够为国家的电力行业做出自己应有的贡献。

六 参考文献

[1] 潘松著. EDA 技术实用教程(第二版). 北京:科学出版社,2005.

[2] 康华光主编. 电子技术基础 模拟部分. 北京:高教出版社,2006.

[3] 阎石主编. 数字电子技术基础. 北京:高教出版社,2003.

11


相关文章

  • 机电可编程控制器课程设计 样本
  • 机电控制与可编程序控制器技术课程设计(样本) 设计题目 学生姓名 指导教师 专 业 全自动洗衣机的PLC 控制 全自动洗衣机的PLC 控制 一.课题背景 1.课题背景 从古到今,洗衣服都是一项难于逃避的家务劳动,在洗衣机出现以前,这项劳动并 ...查看


  • 洗衣机控制器课程设计
  • 宁波理工学院 课程设计(论文) 题 目 姓 名 高飞 学 号 3090401097 专业班级 09通信 1班 指导教师 裘 君 分 院 信息科学与工程分院 完成时间 2013年1月11日 摘 要 模糊控制是以模糊数学为基础发展起来的一种新的 ...查看


  • 全自动洗衣机自动控制系统设计毕业论文
  • 摘 要 随着数字技术的快速发展,数字技术被广泛应用于智能控制的领域中.单片机以体积小.功能全.价格低廉.开发方便的优势得到了许多电子系统设计者的青睐.它适合于实时控制,可构成工业控制器.智能仪表.智能接口.智能武器装置以及通用测控单元等. ...查看


  • 全自动洗衣机课程设计
  • 目 录 1.绪论 .................................................... 错误!未定义书签. 1.1 设计自动洗衣机的意义 ................................. ...查看


  • 简易洗衣机控制器设计
  • 武汉理工大学<数字电子技术基础>课程设计说明书 课程设计任务书 学生姓名: 毛泽东 专业班级: 通信1100 指导教师: 孙中山 工作单位: 信息工程学院 题 目: 简易洗衣机控制器设计 初始条件:multisim仿真软件,74 ...查看


  • 全自动洗衣机课程设计 1
  • 全自动洗衣机的设计 一.题目<全自动洗衣机的设计> 1.1全自动洗衣机的介绍 洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,而全自动式洗衣机因使用方便更加得到大家的青睐,全自动即进水.洗涤.漂洗.甩干等一系列过程自动完成, ...查看


  • 洗衣机人机界面课设报告
  • 引言...................................................................................................................... ...查看


  • 全自动洗衣机说明书
  • 目录 摘要 第一章 全自动洗衣机设计方案 1.1 控制要求 1.1.1洗衣机的控制流程: 1.2 基于PLC的系统设计方案 1.2.1全自动洗衣机PLC控制系统 1.2.2控制系统构成图 1.2.3全自动洗衣机机程序流程 第二章 全自动洗衣 ...查看


  • 基于单片机的全自动洗衣机
  • 课程设计任务书 学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 基于单片机的全自动洗衣机控制器的设计 初始条件: 1. 运用所学的单片机原理与接口技术知识和数字电路知识: 2. 51单片机应用开发系统一套: 3. PC机及相关应用 ...查看


热门内容