智能洗衣机控制系统剖析优秀PPT.ppt
题目:智能洗衣机限制系目:智能洗衣机限制系统一、大作业摘要洗衣机限制电路由一片altera公司的cyclone2系列EP2C5T144C8的FPGA作为中心限制器加上必要的外围电路组成,实现对洗衣机工作状态的限制。芯片编程接受Quartus2作为开发工具,由限制模块块,显示译码模块组成,顶层运用原理图实现,底层由Verilog HDL语句实现。中心限制器FPGA依据限制键盘的信号,向洗衣机发出正传,反转,待机信号,并通过数码管和LED灯显示当前的状态及剩余时间。该洗衣机限制电路可以便利快捷的实现对洗衣机的限制和状态的显示功能。二、设计的背景、目的和意义现今社会家用电器日益增多,技术也是不断更新。主要家用电器更是发展快速。洗衣机现在已经成为不行或缺的家用电器。我设计的这款洗衣机的限制器是基于verliogHDL基础。这款洗衣机的好用性很高,具有反转,正转,报警之后暂停工作的功能。对于现今的洗衣机大多数都不具备报警功能。这一限制器的设计正好填补了这一空缺。三、设计任务及要求1洗衣机的状洗衣机的状态为待机待机5s正正转60s待机待机5s反反转60s,并用,并用3个个LED灯和灯和7段段显示器示器分分别表示其工作状表示其工作状态和和显示相示相应工作状工作状态下的下的时间。2可自行可自行设定洗衣机的循定洗衣机的循环次数,次数,这里里设置最大的循置最大的循环次数次数为9次。次。3具有具有紧急状况的急状况的处理功能。当理功能。当发生生紧急急状况状况时,马上上转入待机状入待机状态,紧急状况解除后,急状况解除后,接着接着执行后行后续步步骤;4洗衣机洗衣机设定循定循环次数次数递减到零减到零时马上上报警,以表示洗衣机警,以表示洗衣机设定的循定的循环次数已次数已经结束束四、确定输入和输出变量四个输入量 :clk时钟脉冲信号 rst限制器复位按键 start起先状态开关 en紧急状态开关 add设置循环次数 八个输出量 :numa倒计时器的个位 numb倒计时器的十位 fore显示正转状态 back显示反转状态 alarm显示警告状态 led【2.0】显示当前状态 五、确定输入状态启动start后,限制器首先进入待机s0状态,时间从5秒倒计时,假如没有到0秒则接着等待,时间自减;当t=0,进入洗衣机正转s1状态,时间从60秒倒计时,假如没有到0秒则接着等待,时间自减;当t=0,进入洗衣机待机s2状态,同理等待5秒;当t为零后,进入s3洗衣机发转状态,时间从60秒倒计时,假如没有到0秒则接着等待,时间自减;整个过程依次循环。紧急状态emergency,当按下紧急停止按钮后,处于正反转状态中的电机停止转动,同时紧急报警LED灯亮,因此紧急状态不设定独立状态七、输入和输出变量对应部件说明clk:接受试验箱里的频率产生器,产生1Hz频率add:试验箱里的按键 rst,start,en:状态开关按键numa,numb:试验箱中的共阳七段数码管led【2.0】:试验箱中的3个led灯fore,back,alarm:试验箱中的3个led灯八、方案论证方案1:基于Verilog原理实现的数字电路限制方案2:基于单片机原理实现的限制 确定选择方案1,理由是Verilog语言敏捷简洁,便利快捷易懂,有较好的实用价值十、状态编码 s0=4b0001,s1=4b0010,s2=4b0100,s3=4b1000;接受独接受独热编码十一、状态机设计module washer(clk,rst,en,start,add,fore,back,numa,numb,alarm,led,tim);input clk,rst,start,add,en;/en为紧急状态信号output fore,back,alarm;output 3:0numa,numb,tim;/numa为倒计时个位,numb为倒计时十位output 2:0led;reg 2:0led;reg 3:0tim;reg 3:0numa,numb;reg fore,back,alarm;reg 3:0count3;reg 3:0state;wire A;parameter s0=4b0001,s1=4b0010,s2=4b0100,s3=4b1000;always(posedge add or posedge rst)/循环次数count设置beginif(rst)count3=1b0;else beginif(start=0)beginif(count3=14)count3=count3+1b1;elsecount3=1b0;endend end always(posedge clk or posedge rst)beginif(rst)/系统复位begin back=1b0;fore=1b0;numa=4b0000;numb=4b0000;state=s0;led=3b001;alarm=1b0;end elsebeginif(!en&start)/start为1,en为0则正常工作begin alarm0,起先工作 begin case(state)s0:begin if(numb=0&numa=0)/时间为0,状态转移begin state=s1;numa=4b0100;numb=4b0000;led=3b001;back=1b0;fore=1b0;end else begin state=s0;led=3b100;back=1b1;fore=1b0;end ends1:begin if(numb=0&numa=0)begin state=s2;numa=4b1001;numb=4b0101;back=1b0;fore=1b1;led=3b010;end else begin state=s1;led=3b001;back=1b0;fore=1b0;end ends2:begin if(numb=0&numa=0)begin state=s3;numa=4b0100;numb=4b0000;back=1b0;fore=1b0;led=3b001;end else begin state=s2;back=1b0;fore=1b1;led=3b010;end ends3:begin if(numb=0&numa=0)begin state=s0;numa=4b1001;numb=4b0101;led=3b100;back=1b1;fore=1b0;end else begin state=s3;back=1b0;fore=1b0;led=3b001;end enddefault:state0)/倒计时限制部分beginif(numa=0)/numa为0,则numa赋值9,numb自减1 begin numa=4b1001;numb=numb-1b1;endelse numa=numa-1b1;endif(numa=0&numb=0&state=s0&!en&led=3b100)begin /一次循环结束tim自减1 tim=tim-1b1;end end else begin back=1b0;fore=1b0;numa=4b0000;numb=4b0000;state=s0;led=3b001;endend else if(en&start)/en为1,进入紧急状态begin back=1b0;fore=1b0;alarm=1b1;endelse /start为0,给循环次数tim赋值begin tim=count3;numa=4b0000;numb=4b0000;alarm=1b0;end endend endmodule原理图十二、仿真时序图 图4-1洗衣机正常运行的仿真图如图4-1所示,rst置高电平,限制器复位,rst低电平后,add按下两次,设置循环次数为2,按下start后置为高电平,洗衣机起先工作。图4-2紧急暂停仿真图如图4-2所示,紧急状态发生,en变为高电平,洗衣机暂停工作,电机停止运转,紧急状态结束后,复原原状态。如图4-3所示,紧急暂停结束,en复原低电平,再次起先工作,进入下一循环。图4-3紧急状态结束,状态复原十三、运用说明(1)电路上电后,先按下复位键rst复位,在Start拨码开关未闭合前可以由add按键开关设置总的工作循环次数,确定洗衣机限制器工作循环次数。(2)设定好允许工作时间后,闭合Start开关,洗衣机限制器起先工作。(3)可以望见指示待机LED灯亮5s,正转LED灯亮60S,待机LED亮5s,反转LED灯亮60s,如此反复直至工作允许时间为0。十六、设计结论及评价优点:能依据不同的衣物的干脏程度来调整循环次序,并且具有报警功能和回到正常状态的功能不足:不能在洗衣时自动加洗衣粉结论:该设计有待提高 感谢大家!