二、简易洗衣机控制器的设计与制作
摘要:从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当设定的洗涤时间结束后,电路报警并清零;同时电机指示灯熄灭。
元器件:74LS74 LS194 74LS192 555定时器 分频器 LED1~LED4
设计原理:洗衣机要求实现电机的正转、反转、暂停,可用四LED灯的状态来表示,当显示时间前20秒正转、暂停10秒、反转20秒、再暂停10秒,如此一来,周期恰好是60秒。所以用分钟计数器、秒计数器来实现。接下来脉冲是一定的了,但是有分钟计数器和秒钟计数器还要考虑是不是要60分频器,就我们所学过的来说实现循环有移位寄存器。
2.基本原理:从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零;同时电机指示灯熄灭。
3.系统设计框图
如右图所示:
二.单元电路设计
1.一百进制分计数器和六十秒计数器的设计
(1)分、秒计数器的设计
一百进制分计数器和六十秒计数器的原理是一样的,不同的只是它 图2.1 系统框图
们的输入脉冲和进制不同而已,用四片74LS74LS192来实现分计数和秒计数功能,要的只是减计数,所以我们把它的UP端接到高电平上去,DOWN端接到秒脉冲上;十分秒位上的输入端B、C端接到高电平上,即从输入端置入0110(十进制的6),秒十位的LD端和借位端BO联在一起,再把秒位的BO端和十秒位的DOWN联在一起。当秒脉冲从秒位的DOWN端输入的时候秒计数的74LS74LS192开始从9减到0;这时,它的借位端BO 会发出一个低电平到秒十位的输入端DOWN,秒十位的计数从6变到5,一直到变为0;当高低位全为零的时候,秒十位的BO发出一个低电平信号,DOWN为零时,置数端LD等于零,秒十位完成并行置数,下一个DOWN脉冲来到时,计数器进入下一个循环减计数工作中。
对于分计数来说,原理也是一样的;只是要求,当秒计数完成了,分可以自动减少,需要把秒十位的借位端BO端接到分计数的DOWN端作为分计数的输入信号来实现秒从分计数上的借位。当然,这些计数器工作,其中的清零端CR要处于低电平,置数端不置数时要处于高电平。这是一个独立工作的最高可以显示101分钟的计时器。把四个74LS74LS192的QA/QB/QC/QD都接到外部的显示电路上通过74LS48驱动数码管,就可以看到时间的显示了。作为洗衣机控制器的一个模块,它还得有一定的接口来和其他的模块连接在一起协调工作,分计数的清零端LD是接在一起的;秒的清零端LD又是接在一起的,所以当要从外部把它们强制清零时,可以用一个三极管(NPN)或者两个或门就可以实现该功能。还有我们可以利用分计数的UP端来进行外部置数,当把它们各接到一个低触发的脉冲上 就可以实现从0-9的数字输入。
(2)分、秒计数器的电路图

2.秒脉冲发生器 图2.2 电路图
(1)秒脉冲发生器原理
需要的秒脉冲发生器用一个集成的555定时器构成,当电源接通后,VCC通过对R1、R2向电容充电。电容上得到电压按指数规律上升,当电容上的电压上身到2/3VCC时,输电压VO为零,电容放电。当电压下降到1/3VCC时,输出电平为高电平,电容放电结束。这样周而复始便形成了振荡。要的周期是1秒,频率是1赫兹。周期T可以由下面的公式可知:T=1.1RC
(2)其原理图如下所示
3.循环控制电路
(1)其基本原理采用把秒十位上的数提出来作为循环控制系统的输入信号,秒位上的都是相同的,可以不管。我们的目标是把秒十位上输出的二进制数转化成两位三个数:把74LS192的QA、QB接上一个异或门,QC接上一个反相器,然后把它们出来的信号接到一个与非门后再接到So端,把反相器出来的信号输入到S1端;这样就实现了上述要求。 图2.3 原理图
So |
S1 |
状态 |
|
1 |
0 |
右移 |
|
1 |
1 |
闪烁 |
|
0 |
1 |
左移 |
|
5 |
0101 |
4 |
0100 |
3 |
0011 |
2 |
0010 |
1 |
0001 |
0 |
0000 |
当开机时,计数器时被清零,QA、QB、QC没有输出,这时输出的是000, 74LS194的So、S1为11,移位寄存器置数为0010 。当74LS192输出的是0101时,So、S1为10,移位寄存器右移动作,因为So、S1的两端接一个与非门出1,再通过一个接在74LS194QB端的与门,结果输出来到发光二极管的还是高电平;从节点46输出,经过反相器到达节点48的是低电平与门U28没有输出脉冲, 74LS194做右移直到下一个状态的到来。显74LS194的输出是0100是也是一样的。当输出是0011时,So、S1的状态是11, 74LS194处于并行置数, 其QB端输出一个高电平1,与
图2.4 循环控制电路图
此同时,从So、S1输出的两个1进入与非门U27,但是在节点46是一个低电平0,所以节点44没有高电平输出。而节点46为高电平1,这时通过U28的脉冲信号可以输出了,与U28的或门U22、U23、U24、U25、U26就可以输出脉冲信号到发光二极管实现闪烁;当74LS192输出的是0010时, So、S1状态从11变为01,移位寄存器74LS192做左移循环,在脉冲的输入下。同右移一样,从So、S1输出到U27再出来的是一个高电平1,所以与门U26输出高电平;当计数器74LS192输出的是0001时,还是和0010时一样;最后当74LS192输出是0000时,其又和输出0011时一样,移位寄存器74LS194处于置数状态,放光二极管闪烁。到此,提取信号、循环电路完成。
4.单稳态延时电路
5.总控制电路
把各单元电路完成后,最后要把它们有效的结合起来联合工作,实现目的功能。要求在给分钟置数的同时秒要显示为零;外部还要有强制停止并清 图2.5 单稳态延时电路
零;还有暂停功能。对于置数来说,我们可以在分钟计数器的UP端到高电平之间各用一个开关接上,就当给它一个低电平时,计数器就往上增加1。但时,74LS192要求在UP端工作的同时,其DOWN端要为高电平,且秒计数器要为零,可以让秒计数器清零,同时把脉冲停止了。在高电平上接上一个开关,让它接到一个JK触发器上,同时把JK触发器的JK端接1,让它实现触发功能。让它的Q端输出到秒计数器的清零端,这样刚开机或者再按一下开机键就可以对秒计数器清零。把JK触发器的Q反端和从分计数器借位端Bo反相出来的信号接到一个与非门上,从与非门出来的信号接到分计数器的DOWN端来保证置数的时候DOWN是高电平。但是如果仅是这样的话,当置数完成再一次按开机键(如图中的J3所示)时,没有脉冲信号输入到秒计数器的DOWN端,74LS192并不可以工作。可以把脉冲和JK触发器Q反端接到一个与门上,然后把它上输出端接到秒计数器的DOWN端以控制计数。所置的洗衣时间完成后,要发出报警并自动清零。至于报警电路当计数器全为零的时候,从秒位会发出一个借位信号,一直接到十分位上去,十分位会发出一个借位信号,可以用这个信号来作为报警并清零的信号,平时74LS192的借位端保持的是高电平,当有借位信号时,其变成0,在分十位借位端接一个非门,再把它和分位的CLR端一起接到一个与门,也需要把它接到一个JK触发器(U10)上作为其时钟信号,其后再接到单稳态电路的输入端TRI,单稳态的输出端接到蜂鸣器上。而该与门(U14)的另一输入端接在控制开关J3上,与门出去仍然接在JK触发器U9上,这样当洗衣时间完成后,十分计数器的借位端Bo端发出的0信号就可以经过以上路径而变成1到达与门U14,同时JK触发器U10得到一个触发信号而输出到单稳态,从而发出报警声,但一段时间后其自动停止。同时U14发出的1信号使U9发出1信号而使秒计数器清零;当然秒脉冲因为U9端的Q反端的0信号而使其没有输出,这样原来闪烁的灯不再亮了。到此,一个电路总算还可以了吧,有时还需要让它休息一下,改变一下洗衣量时,就还需要一个暂停键,这也可以的,只要把秒脉冲切断就可以了。可以在控制脉冲输出的与门U12和脉冲到达端之间接入一个由开关控制的JK触发器来控制的与门,这样就可以控制脉冲的输出了。知道与门
图2.6系统整体电路图
是其中一输入为零时,无论另一端时怎样的其输出为零,但一端为1时,另一端输入什么与门就可以输出什么。把控制端连起来,这样,一个完整的洗衣机控制电路就完成了。
结论:最众洗衣机实现电机的正转、反转、暂停,用四LED灯的状态来表示,当显示时间前20秒正转、暂停10秒、反转20秒、再暂停10秒,周期是60秒。 功能正常,稳定。通过这次数字小系统的制作对数字电路中的一些芯片有了进一步的认识。在老师的指导下学会了如何调试系统,就是要有分模块的思想。在此非常感谢老师和同学给予我们的指导和帮助。
心得和体会: 能找到实验的主要现象和目的,培养员工分析、综合、归纳、概括能力,从
而得到一般的规律和结论。
参考文献:
[1]《电子线路设计、实验、测试》,谢自美主编 ,华中理工出版社;
[2]《数字电子技术基础》,阎 石主编,高等教育出版社;
[3]《数字电子技术基础》康华光主编,高等教育出版社。
实际所做的电路: