简易洗衣机控制器设计
一.设计任务:
设计一个简易洗衣机控制器,,有以下的要求:
1.洗衣机能正转洗衣20秒,停10秒,在反转20秒,在停10秒,反复洗衣;
2.可以任意设置洗衣时间1~99分钟,并用数字显示。
3.当定时时间达到终点时,一方面使电机停机,同时发出音响信号(可换成指示灯)提醒用户注意。
4.用两位数码管显示洗涤的预置时间(以分钟为单位),按倒计时方式对洗涤过程作计时显示,直到时间到而停机。
5..三只LED灯表示“正转”、“反转”和“暂停”3个状态。
二.设计条件
利用multisim11.0软件进行仿真
三.设计分析与准备
对设计任务进行分析主要可以分成以下两个模块:
1.洗衣机能正转洗衣20秒,停10秒,在反转20秒,在停10秒,反复洗衣,可以任意设置洗衣时间1~99分钟,并用数字显示。用两位数码管显示洗涤的预置时间(以分钟为单位),按倒计时方式对洗涤过程作计时显示,直到时间到而停机。
分析:仔细分析可以得到洗衣机的正转,暂停,反转,暂停一个周期所用的时间刚好是
60秒的时间,所以考虑分秒计数器,考虑到74LS192具有减计数,置数,清零的功能,
所以选用这个芯片工作.并用四个数码管来显示其输出.
洗衣机的工作的
可以用以下框图表示:
74LS192的引脚及其功能表:
输入
输出
CLR
LOAD
UP
DOWN
D
C
B
A
Qd
Qc
Qb
Qa
1
x
x
x
x
x
x
x
0
0
0
0
0
0
x
x
D
C
B
A
D
C
B
A
0
1
1
x
x
x
x
加计数
0
1
1
x
x
x
x
减计数
三只LED灯表示“正转”、“反转”和“暂停”3个状态。当定时时间达到终点时,一方面使电机停机,同时发出音响信号(可换成指示灯)提醒用户注意
分析:在不同的时刻选择不同的灯亮,类似于根据输入选择不同的输出,所以想到可以用 74LS138这个芯片来完成这个工作,考虑到定时结束时其它三个灯也就不亮了,可以选择用一些逻辑门来对输入信号的与或非并把这个信号作为74LS138的使能端.
74LS138引脚及其功能表:
G1
G2A+G2B
C
B
A
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
0
X
X
X
X
1
1
1
1
1
1
1
1
X
1
X
X
X
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
通过上述的分析与准备,得到一个整体的设计
,如下:
总的设计框图
四.详细设计模块
1.时钟信号源的设计
设计说明
由于555定时器内部的比较器灵敏度高,输出驱动电流大,功能灵活,而且采用差分电路形式,它的振荡频率受电源电压和温度的影响很小。所以由555定时器构成的多谐振荡器的振荡频率稳定,不易受干扰。因此,选择用555定时器构成多谐振荡器。由于洗衣的过程中灯的变化是给人不同的信息的以及洗衣机接下来的工作方式,所以频率不能过大.经过分析与及实验获得下面的电路图.
仿真波形如下:
设计模块过程中遇到的问题:
(1)刚开始通过计算得到R3,R4=480K时,频率接近于1Hz,按照这样的阻值往上一接时,发现555定时器产生不了信号,而且555电路还被烧坏了.所以就再次分析,发现电阻取得太大了,就往小了调,最后经过仿真,觉得R3,R4=3K时属于比较理想的状态.
2.主电路设计
分和秒计时器设计
(1)原始设计:
如上面分析,我用的是四片74LS192来实现分的计数和秒的计数功能,根据要求需要对74LS192进行减计数,因此74LS192的UP端必须接到高电平,DOWN端接到脉冲信号上。因为秒十位是从6开始倒计时的,因此秒十位上的输入端B、C两个接口接到高电平上,也就是从输入端置入0110,秒十位的LOAD端和借位端BO联在一起用于置数作用.
又因为当秒个位的BO端,在脉冲从秒位的DOWN端输入的时候秒计数的74LS192开始从9减到0时会向前借位同时会产生一个低脉冲,所以可以把这个引脚和十秒位的DOWN联在一起,秒十位的计数从6减为5,一直到变为0;当秒计数器全为零的时候,秒十位的BO发出一个低电平信号,DOWN为低电平时,置数端LOAD等于零,秒十位完成并行置数,等待下一个DOWN脉冲来到时,计数器进入下一个循环减计数工作中。
最初设计图:
但是通过仿真,发现分十位那片74ls192芯片在分个位产生一个借位时不起作用.所以检查分个位的B0口,发现这个接口产生不了一个低电平.考虑用置数的方法来使得分十位的DOWN端得到一个低电平.
改进后的设计图:
这样就能使得分秒计数器正常工作了.
(2)要完成分的置数功能
由于74LS192的功能表可以知道,只要让LOAD和CLR两个端口都是低电平就能够对其进行置数.根据这个知识得到下面的设计图:
但是这个设计显得有些麻烦,得自己动手去改线.所以考虑能不能换一种开关,使它通过往上加脉冲信号的方法使其置数.但是由于能力有限,只能让它从99开始往下减置数,所以把两个置数方法都保留,看情况而定,如果需要洗衣时间长就用第二种方法置数,如果时间短,就用第一种方法
改进设计图:
如此就完成了分秒计数器和置数的功能,该模块的最终设计如下:
选择不同时刻不同的灯亮.
列出秒十位的变化灯的变化真值表:
Qd
Qc
Qb
Qa
暂停
正转
反转
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
(1)根据这个真值表可以考虑用74LS138来控制灯的变化
对应到芯片上哪个输出端控制哪个灯亮如下图所示:
(2)通过对设计任务的分析可以得到,在定时结束时这几个暂停,反转,正转的信号灯就不再亮了,而停止灯就得亮并且还发出报警声.
所以我选择用定时结束的信号来控制74LS138的使能端G1,用一些逻辑门使得当分秒计数器信号为0001时,G1端为低电平,这样74LS138就不工作了,再对G1端进行一次非并接到停止提示灯和峰鸣器上,就能发出报警声并且提示灯亮.
当定时结束时要求洗衣机停机
因为产处脉冲信号的是555定时器,555上有一个RST端口必须接高电平才能产生脉冲信号, 所以考虑用G1端的那个信号接到RST上,当定时结束时G1为低电平,导致555产生不了脉冲信号,这样就能停机了.
总设计框图
主电路的仿真分析
洗衣机的正转仿真
理论分析得知83分钟50秒时洗衣机应该为正转,所以暂停,停止,反转的灯都不亮,蜂鸣器不产生报警信号.
实际仿真如上图所示,与理论相符合.
洗衣机暂停仿真
如正转类似,仿真结果和理论相符合.
洗衣机的反转仿真
洗衣机停机仿真
理论上在0001时,洗衣机停机了,并且分秒计数器不再工作,停止灯亮而且报警器响了.与理论设计相符合.
五,体会与
这次的课程设计,让我收获颇多。刚开始时,根本不知道要怎么做这个设计,脑袋很乱,不知道从何入手。后来在准备过程中,有图书馆里找了不少资料也有上网搜寻一些有用的材料。但是网上得到的资源,有很多错误,所以还是坚持按照自己的理解来做.慢慢的,自己就发现明白了这个设计的原理,并自己动手做起来,才发现只要肯花时间这些设计也没有想像中的难,就是要肯耗时间.电路总是从简单的到复杂的.当然我的设计有优点也有不足.
优点:基本实现了洗衣机的一些状态提示灯的功能
不足:由于软件和电脑的原因,没能够实现在0000时停机而只能实现到0001停机.
这次的数电实验设计让我更加了解仿真软件Multisim11.0,与些同时也帮我巩固了上学期学的数电的很多知识.也认识到了自己肯下功夫,再难的事情也能变得简单的.对我今后的学习生活有很大的帮助.
六.设计参考资料
《数字电子技术基础》 西安电子科技大学出版社
定时已到
停机
暂停
反转
暂停
正转
定时启动
定时未到
执行单元
控制门
洗衣时间计数器
60进制计数器
555脉冲发生器
清零
置数
译码电路