微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于FPGA的洗衣机控制系统的设计与实现

基于FPGA的洗衣机控制系统的设计与实现

时间:07-27 来源:互联网 点击:

关键程序设计

  将程序设计分为硬件程序设计和软件程序设计两部分,硬件程序设计要对硬件电路进行时序仿真以确定达到涮试的效果。FPGA开发环境是由Ouartus II进行硬核平台的搭建与设计和Nios II进行软核编程组成,这里用的是Quartus II9.0和Nios II 9.0软件。

  3.1 模式控制电路设计

  在模式控制电路中,用key1、key2、key3 3个按钮选择模式,分别代表强洗、标准、轻柔。在洗涤之前选择洗涤的模式,在洗涤的过程中由FPGA输出控制信号,控制洗涤电机的工作。根据洗涤控制电路性能要求,搭建硬件原理图,编译后对key1、key2、key3进行时序仿真,分析时序关系,估计设计的性能及检查和消除竞争冒险。仿真结果如图2所示。其中Output输出的是控制电机转速的PWM波形。

 
 图2 key1、key2、key3时序仿真

  由上图可以看出,当依次按下key1、key2、key3时,output输出波形的频率是越来越小,使得电机转速也是越来越小,电机的输出力矩也会随之变小。

  3.2 电机控制模块设计

  在电机控制模块里,通过FPGA输出驱动信号,控制洗涤电机的正反向转动,以达到洗涤的目的。根据原理和性能要求,搭建硬件原理图,编译后对洗涤电机控制信号进行时序仿真,来研究其性能是否符合设计的要求。仿真结果如图3所示。

  
图3 电机控制信号时序仿真

  图中的clr为片选信号,输出output为电机驱动信号,fd为电机方向信号,output16是送往SOPC的信号,clr是由SOPC送出的控制信号。由仿真图看出,当片选信号clr为高电平时,开始10个PWM波形的fd信号为高,接下来的后10个PWM波形电机方向信号fd则变为低电平。这个过程说明洗衣机完成了一次顺时针洗衣和逆时针洗衣的过程,顺时针洗衣服的时间是由lpm_cunstant控制的,在这里用10个波形代替。

  3.3 整体流程图设计

  硬件设计调试完成后,还要进行软件系统设计。在C语言文件中编写C程序进行SOPC的编程(简称软核编程)。最后利用NiosII软件把Quar tus II产生的硬核文件.SOF文件和Nios II软件产生的.JDI文件下载到存储器。整体工作流程图如图4所示。

  
图4 整体工作流程图

  洗衣机在通电后先要手动的关闭排水阀,再进行人工注水,然后设置洗涤的模式和洗涤的时间。当各项设置完成后按下启动按钮,这是洗衣机开始正常的工作,同时定时器开始工作。在工作过程中由循环程序和FPGA协同控制洗涤电机的转动,当洗涤完成后蜂鸣器报警,洗涤工作结束。

  4 结束语

  本文洗衣机控制系统的组成成本低廉、原理简单、使用方便、结构紧凑,而且FPGA具有很强的可编程性,在日后的实际使用中可继续开发拓展更多的功能。在设计和最后的开发板仿真中,结果表明该系统实现了控制逻辑功能,具有洗涤、定时、数码显示等功能,可很好的替代传统的机械式控制系统,在洗衣机的控制方面具有很高的实用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top