洗衣机洗涤控制电路设计实例.doc
《洗衣机洗涤控制电路设计实例.doc》由会员分享,可在线阅读,更多相关《洗衣机洗涤控制电路设计实例.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流洗衣机洗涤控制电路设计实例.精品文档.洗衣机洗涤控制电路设计实例一、洗衣机洗涤控制电路的性能要求 1强洗、标准、轻柔三种洗涤模式强洗周期水流控制:正向电机接通5秒后,停2秒;再反向电机接通5秒,停2秒;然后又正向电机接通5秒。如此循环控制电机,直到洗涤定时结束。标准洗周期水流控制:其过程与强洗周期水流控制相同,不同的是正向接通时间为3.5秒,停止时间为1.5秒,反向接通时间为3.5秒。轻柔洗周期水流控制:正向接通时间为2.5秒,停止时间为1.5秒,反向接通时间为2.5秒。 2三种洗涤定时洗衣机洗涤定时可有三种选择:5分钟、10分钟、15分钟。
2、3上电复位后的初始设定初始设定为标准模式,定时时间为15分钟。如需修改可按模式选择按键和定时选择按键。每按一次按键转换一次,可多次进行循环选择。当某一次洗涤过程结束后,自动返回初始状态,等待下一次洗涤过程开始。 4启/停控制洗涤过程由启/停键控制。每按一次启/停键,状态转换一次。5洗涤定时精度洗涤定时误差要求不大于0.1秒。为简化设计洗衣机洗涤控制电路,只要求输出正向和反向的电机控制信号。 二、洗衣机洗涤控制电路的结构根据上述对洗衣机洗涤控制电路的性能要求,可以画出如图10-17所示的结构框图。该控制器由四大部分组成:主分频器、主控制器、洗涤定时器和水流控制器。 洗衣机洗涤控制电路的结构框图1
3、主分频器 主分频器用来产生0.1秒的时钟供主控制器使用。本方案使用民用的石英晶体 ,其振荡频率为76.8 kHz。这样,主分频器的分频系数为7680。现采用3个分频器构成主分频器的分频电路。3个分频器是256分频器、3分频器和10分频器。主分频器的结构如图10-18所示。 主分频器的结构2主控制器主控制器的输入信号和输出信号如图10-17所示,分别叙述如下。(1) 输入信号:reset:上电复位;start_stop:启/停按键输入;modesel:洗涤模式选择按键输入;系统时钟输入(sysclk):76 800 Hz主时钟;time_sel:洗涤定时选择按键输入;timer_down:定时到
4、输入。(2) 输出信号:5min_out:5分钟定时控制;10min_out:10分钟定时控制;15min_out:15分钟定时控制;start_out:启/停控制;j_out:强水流控制;b_out:标准水流控制;z_out:轻柔水流控制。 3洗涤定时器洗涤定时器的功能是根据主控制器送来的有关控制信号,实现5分钟、10分钟和15分钟的洗涤时间控制。其输入和输出信号分别如下。(1) 输入信号:s5min_ins10min_ins15min_instart_inresetsysclk(2) 输出信号:timer_on_ou:定时有效;timer_down_out:定时到。 4水流控制器水流控制器
5、根据主控制器输出的强、标准、轻柔控制信号产生不同的水流控制周期,去控制洗衣机电机的工作,其输入和输出信号分别如下。(1) 输入信号:j_inb_inz_insysclkclk_01timer_downresettimer_on (2) 输出信号:off_out:电机断开控制信号输出;on_out:电机接通控制信号输出。 三、洗衣机洗涤控制电路的算法状态机图描述 1主控制器算法状态机图描述根据主控制器的工作要求,洗衣机洗涤时的工作状态共有以下9种:标准15分钟标准10分钟标准5分钟轻柔15分钟轻柔10分钟轻柔5分钟强洗15分钟强洗10分钟强洗5分钟 1)模式选择控制状态机图 主控制器算法状态机图
6、(a) 模式选择控制状态机图;(b) 定时选择控制状态机图复位后进入标准洗涤模式,并输出set_b标准模式状态信号。接着判断定时结束timer_down是否有效。如果有效,则表明洗涤结束,set_b置“0”回到标准模式状态;如果无效,则判别模式选择按键是否按下。如果未按下,则仍处于标准状态;如果已按下,则进入轻柔状态。通过类同的操作和判别,该状态机图可在标准、轻柔、强洗三种模式下循环选择和工作,并送出相应的状态信号。 2) 定时选择控制状态机图定时选择控制状态机图如 10-19(b)所示。其结构与模式选择控制状态机图一致,所不同的仅仅是状态名、状态输出信号及引起状态转换的按键信号。图中的3个状
7、态分别为s_5 min、s_10 min、s_15 min。3个状态输出信号分别为set_5min、set_10min、set_15min。按键输入信号为timer_sel。 3) 启/停控制算法状态机图描述 主控制器还要产生启/停控制信号,启/停控制算法状态机图如下图所示。 上图中只有2种状态:停止状态和启动状态。系统复位时进入停止状态s_stop,当start_stop按键按下时,则状态转移至启动状态s_start,并送出启动控制信号start (start=1)。再按一下start_stop键,状态又能回停止状态,start 控制信号置“0”,暂停洗涤工作。再按一次start_stop按
8、键,系统又回到启动状态。这样,根据需要可人为地暂停或启动洗衣机工作。 2洗涤定时器算法状态机图描述洗涤定时器算法状态机图如图10-21所示。洗涤定时器有3种状态:停止状态(IDLE)、计时状态(INCCOUNT)和暂停状态(TMP_STOP)。系统复位后就进入停止状态(IDLE)。在停止状态下不断判别启动信号start是否为“1”。如果为“1”,表明启动键已按下,定时器开始工作,timer_on标志置“1”,转移的下一个状态为计数状态;否则仍留在停止状态。 在计时状态下(INCCOUNT),先要判别启动信号是否仍为“1”。前面已经提到,启/停按键是一个乒乓按键,按一次启/停按键使start输出
9、状态转换一次。如果复位后按一下启/停按键,使start=“1”,则定时器开始进行定时计数。如果再按一次启/停按键就会使start=“0”,定时器就处于暂时停止状态,定时计数值将被保留。如再按一次启/停键,洗涤定时器继续启动,在原有计时值上进行计时。如果在计时状态下发现start=“0”,定时器就进入暂停状态(temp_stop),同时timer_on置“0”,定时器停止计数。 在暂停状态下,继续判别start信号。如果start=“0”,则仍留在暂停状态;如果start=“1”表明定时器再启动,timer_on=“1”,状态将转移至计时状态。在计时状态下,如果start=“1”,接着就判别分时
10、钟上升沿是否到来s1min。如果未到来,则仍停留在计时状态;若分时钟的上升沿到来了,分计数器就进行加1操作。接着判断是否到了指定的定时计时值(定时计数值只有3种:5分钟、10分钟和15分钟)。如果未到计时值,仍停留在计时状态;如果到了计时值,则停止计时,Timer_on=“0”,timer_down=“1”,count=“0000”,start=“0”,状态转移至停止状态。 3水流控制器算法状态机图描述 该状态机图有3种状态:停止状态(STOP)、电机接通定时计数状态(ON_TIME)和电机断开定时计数状态(OFF_TIME)。系统复位后进入停止状态,接着判断洗涤定时器是否启动(timer_o
11、n=1)。如果未启动,则仍停留在停止状态;如果已启动,则判别当前是处在电机接通定时计数状态,还是电机处在断开定时计数状态。根据设置不同,转入相应的状态:ON_TIME或OFF_TIME。在ON_TIME状态下,判别timer_on是否继续为“1”(因为洗涤过程有可能暂停)。如果为“1”,再判别0.1秒时钟clk_01的上升沿是否到来。如果未到来,则停留在on_timer状态;如果已到来,则电机接通定时计数器加1(count_on=count_on+1)。下面要判别定时计数值是否到规定时间值: 强洗 counton_u = 5秒标准洗 counton_u = 3.5秒轻柔洗 counton_u
12、= 2.5秒在未到规定计数值时,返回on_time 状态继续进行定时计数;当计数到规定的定时值时,就使cnton_clk、 clron 、cntoff_inc、 setoff置“1”,接着状态转移至电机断开定时计数状态off_timer。在on_time状态下,如果发现timer_on为“0”,表明洗涤定时过程结束,对水流控制器进行初始化,然后进入停止状态。 电机断开的定时计数状态的工作过程与电机接通定时计数工作过程类同,请读者自行阅读。下面对标志量的含义作一说明 :seton=1 on_out=1;clron=1 on_out=0;setoff=1 off_out=1;cnton_inc=1
13、 count_on+1;cntoff_inc=1 count_off+1; 四、洗衣机洗涤控制电路的VHDL语言描述 1主分频器timectr_clkdiv模块主分频器的功能是将76 800 Hz的主频分频为10 Hz的时钟。该模块由3个进程组成,其VHDL语言描述的程序清单如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY timectr_clkdiv IS PORT( sysclk:IN STD_LOGIC; clk_01:OUT STD_LOGIC);END timect
14、r_clkdiv;ARCHITECTURE rtl OF timectr_clkdiv ISSIGNAL div1:STD_LOGIC_VECTOR(3 DOWNTO 0):=0000; - divide by 256 counterSIGNAL div2:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000000; - divide by 10 counterSIGNAL div3:STD_LOGIC_VECTOR(1 DOWNTO 0):=00; - divide by 3 counterSIGNAL clk1,clk2:STD_LOGIC;BEGINdiv_10:PRO
15、CESS(clk1)BEGIN IF(clk1EVENT AND clk1=1) THEN IF(div1=1001) THEN div1=0000; ELSE div1=div1+1; END IF; END IF;END PROCESS;clk2=div1(3);div_256:PROCESS(sysclk)BEGIN IF(sysclkEVENT AND sysclk=1) THEN div2=div2+1; END IF;END PROCESS;clk1=div2(7); -select baud ratediv_3:PROCESS(clk2)BEGIN IF(clk2EVENT AN
16、D clk2=1) THEN IF(div3=10) THEN div3=00; ELSE div3=div3+1; END IF; END IF;END PROCESS;clk_01=div3(1);END rtl; Div_10进程为10分频进程,div_256进程为256分频进程,div_3是3分频进程。76 800 Hz主频经该3个进程 串行分频就得到10 Hz的时钟clk_01。 2定时器控制timer_ctr模块如前所述,定时器控制timer_ctr模块的功能是根据启/停按键(start_stop)、模式选择按键(mode_sel)和定时选择按键(time_sel)的不同输入状态,
17、产生对应的控制信号输出,其VHDL语言描述的程序清单如下。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY timer_ctr IS PORT(reset,sysclk,start_stop,mode_sel,time_sel,timer_down:IN STD_LOGIC; s5min_out,s10min_out,s15min_out,start_out:OUT STD_LOGIC; b_out,j_out,z_out:OUT STD_LOGIC);END timer_ctr; ARCH
18、ITECTURE rtl OF timer_ctr IS TYPE state1TYPE IS (s_b,s_z,s_j); TYPE state2TYPE IS (s_15min,s_10min,s_5min); TYPE state3TYPE IS (s_start,s_stop); SIGNAL state1,nextstate1:state1TYPE; SIGNAL state2,nextstate2:state2TYPE; SIGNAL state3,nextstate3:state3TYPE; SIGNAL start_stop_rising,start_stop_dlayed,s
19、etstart,clrstart:STD_LOGIC; SIGNAL mode_sel_dlayed,modesel_rising,time_sel_dlayed,timesel_rising, timer_down_rising:STD_LOGIC; SIGNAL set_5min,set_10min,set_15min,start,set_b,set_j,set_z, timer_down_dlayed:STD_LOGIC; BEGIN modesel_rising=mode_sel AND (NOT mode_sel_dlayed); timesel_rising=time_sel AN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 洗衣机 洗涤 控制电路 设计 实例
限制150内