洗衣机控制器的设计Word格式文档下载.docx

上传人:b****3 文档编号:17562546 上传时间:2022-12-07 格式:DOCX 页数:10 大小:228.91KB
下载 相关 举报
洗衣机控制器的设计Word格式文档下载.docx_第1页
第1页 / 共10页
洗衣机控制器的设计Word格式文档下载.docx_第2页
第2页 / 共10页
洗衣机控制器的设计Word格式文档下载.docx_第3页
第3页 / 共10页
洗衣机控制器的设计Word格式文档下载.docx_第4页
第4页 / 共10页
洗衣机控制器的设计Word格式文档下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

洗衣机控制器的设计Word格式文档下载.docx

《洗衣机控制器的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《洗衣机控制器的设计Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。

洗衣机控制器的设计Word格式文档下载.docx

第10天

编写设计说明书

教研室

意见

 

年月日

系(部)主管领导意见

目录

一设计方案5

二设计原理及其实现过程5

2.1设计总原理5

2.2设计框图6

2.3模块设计和相应模块6

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

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

2.3.3分频模块9

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

3.1仿真波形及分析10

3.2引脚分配11

四测试结果12

五课程设计心得12

六参考文献12

一设计方案

本定时器实际上包含两级定时的概念,一是总洗涤过程的定时,而是在总洗涤过程中又包含电机的正转、反转和暂停三种定时,并且这三种定时是反复循环直至所设定的总定时时间到位置。

当总定时时间在0~20min以内设定一个书之后T为高电平1,然后用倒计时的方法每分钟减1直至T变为0。

在此期间,若Z1=Z2=1,实现正转;

若Z1=Z2=0,实现暂停;

若Z1=1,Z2=0,实现反转。

实现定时的方法很多,比如采用单稳电路实现定时,又如将定时初值预置到计数器中,使计数器运行在减计数状态,当减到全零时,则定时时间到。

如图所示的电路原理框图就是采用这种方法实现的。

由秒脉冲发生器产生的时钟信号经60分频后,得到分脉冲信号。

洗涤定时的时间的初值先通过拨盘或数码开关设置到洗涤时间计数器中,每当分脉冲到来计数器减1,直至减到定时时间到为止。

运行中间,剩余时间经译码后在数码管上进行显示。

二设计原理及其实现过程

2.1设计总原理

洗衣机控制器的设计主要是定时器的设计。

由一片FPGA(FieldProgrammableGateArray)和外围电路构成了电器控制部分。

FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。

对FPGA芯片的编程采用模块化的VHDL(硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。

顶层和中间层多数是由VHDL的元件例化语句实现。

中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。

2.2设计框图

2.3模块设计和相应模块

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

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

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

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycountis

Port(clk,en,ld:

instd_logic);

Endentity;

Architectureoneofcountis

signalc1,c2,c3,a,a1,a2,a3,a4,a5,a6:

integerrange15downto0;

signalb:

integerrange5downto0;

signalclk1,clk2,k:

std_logic;

process(clk1,ld,en)

begin

ifen='

1'

then

if(clk1'

eventandclk1='

)then

ifk='

then

ifc1=0andc2=0andc3=0then

a1<

=c1;

a2<

=c2;

a3<

=c3;

else

c1<

=c1-1;

ifc1=0thenc2<

=c2-1;

c1<

=9;

ifc2=0thenc3<

=c3-1;

c2<

endif;

a1<

ifa3=1and(a2>

5)thena4<

=10;

a5<

=15;

a6<

elsifa3=1and(a2>

4)thena4<

a5<

a6<

=12;

2)thena4<

=14;

1)thena4<

elsifa3=1and(a2=0ora2=1)thena4<

elsifa3=0and(a2>

8)thena4<

elsifa3=0and(a2>

6)thena4<

elsifa3=0and(a2>

5)thena4<

elsifa3=0and(a2>

3)thena4<

0)thena4<

elsifa3=0and(a2=0)thena4<

endif;

elsek<

=ld;

=7;

c3<

=endif;

endprocess;

endcount;

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

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

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

entityzhuangtaiis

Port(led_selout:

outstd_logic_vector(7downto0);

led7s:

outstd_logic_vector(6downto0));

Architectureoneofzhuangtaiis

signalclk2:

process(clk2)

variables:

integerrange6downto0;

begin

if(clk2'

eventandclk2='

)then

s:

=s+1;

ifs=6thens:

=0;

b<

=s;

endprocessp2;

process(b)

casebis

when0=>

a<

=a1;

when1=>

=a2;

when2=>

=a3;

when3=>

=a4;

when4=>

=a5;

when5=>

=a6;

endcase;

endprocess;

process(a)

begin

caseais

when0=>

led7s<

="

1000000"

;

--0

when1=>

1111001"

--1

when2=>

0100100"

--2

when3=>

0110000"

--3

when4=>

0011001"

--4

when5=>

0010010"

--5

when6=>

0000010"

--6

when7=>

1111000"

--7

when8=>

0000000"

--8

when9=>

0010000"

--9

when10=>

0001001"

--H

when12=>

0001100"

--p

when14=>

0001110"

--F

when15=>

1111111"

--15

whenothers=>

null;

endcase;

process(b)

casebis

led_selout<

00000001"

00000010"

00000100"

00001000"

00010000"

00100000"

End;

2.3.3分频模块

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

分频模块程序

entityfenpinis

Port(clk:

Architectureoneoffenpinis

signalclk1,clk2:

process(clk)

integerrange10000downto0;

if(clk'

eventandclk='

S:

ifs>

5000thens:

elsifs<

=2then

clk2<

='

0'

else

integerrange25000000downto0;

25000000thens:

clk1<

end;

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

3.1仿真波形及分析

总电路仿真波形

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

3.2引脚分配

端口号

引脚号

网络名

CLK

PIN_J3

EN

PIN_M3

FPGA_M1

LD

PIN_M4

FPGA_M2

LED_SELOUT[0]

PIN_G4

E_7SEG_A1

LED_SELOUT[1]

PIN_G3

E_7SEG_A2

LED_SELOUT[2]

PIN_E2

E_7SEG_A3

LED_SELOUT[3]

PIN_F2

E_7SEG_A4

LED_SELOUT[4]

PIN_F1

E_7SEG_A5

LED_SELOUT[5]

PIN_G2

E_7SEG_A6

LED_SELOUT[6]

PIN_G1

E_7SEG_A7

LED_SELOUT[7]

PIN_H2

E_7SEG_A8

LEDS[0]

PIN_L3

E_7SEG_A

LEDS[1]

PIN_L4

E_7SEG_B

LEDS[2]

PIN_H3

E_7SEG_C

LEDS[3]

PIN_H4

E_7SEG_D

LEDS[4]

PIN_H1

E_7SEG_E

LEDS[5]

PIN_L2

E_7SEG_F

LEDS[6]

PIN_K4

E_7SEG_G

四测试结果

电路设计完成以后,按照预定设计,执行相应操作,三只数码管按照设定时间规律间断性亮起,并分别一次间断性地显示H、F和P,表示洗衣机正在进行正传、反转和暂停工作。

同时,另外三只数码管也显示输入时间,并按减数计时产生相应的数字显示,直到到达预定时间停止工作显示零,,洗衣机停止工作,实验设计达到预期效果。

五课程设计心得

本次洗衣机控制器的课程设计过程中,采用的是是模块化层次化的设计方法,通过这样分模块化的思考方式,设计显得相对容易很多,思路也比较简单。

洗衣机控制器主要只有三个状态,要实现几种状态的多次循环的改变,还要有计时和数码管动态显示的功能。

因此电路可主要分为以下几个模块:

预制时间与减法计数器模块、数码管动态显示模块、分频模块。

通过每个模块的设计,最后运用VHDL语言的进程语句进行模块间的组合,从而完成总程序的设计。

通过此次课程设计,对于VHDL语言有了基本的掌握,对其设计方法也有了一些技巧性的了解,为将来的硬件设计打下了一定的基础。

对于FPGA的编程、定时器和计数器的设计都熟悉了起来,加深了对时序组合电路的印象。

在此次课程设计中,感谢指导老师的耐心解答和同学的热情帮助!

课程设计的整个过程中,发现自己很多方面的知识掌握得不太好,不牢固,很多知识不知道如何运用到实际中去解决问题。

归根结底,还是自己学的东西不够扎实,没有真正理解学到的知识。

在今后的学习过程中,一定要认认真真,扎扎实实,好好地学习理论知识,争取将来能够为国家的电力行业做出自己应有的贡献。

六参考文献

[1]潘松著.EDA技术实用教程(第二版).北京:

科学出版社,2005.

[2]康华光主编.电子技术基础模拟部分.北京:

高教出版社,2006.

[3]阎石主编.数字电子技术基础.北京:

高教出版社,2003.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1