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

2012-08-28 10:09:02 来源:单片机与嵌入式系统|0 点击:1344

 

摘要:  为提高家用双缸洗衣机控制系统的性能,改善定时精确度和洗涤效果,基于可编程性强的FPGA设计了一种用于洗衣机的控制系统,并进行了时序仿真。通过实验时设计方案进行了完善,得到了可进行数字化控制和显示的洗衣机控制系统,有效地提高了洗衣机性能。

关键字:  双缸洗衣机控制系统,  FPGA,  数字化控制

 

为提高家用双缸洗衣机控制系统的性能,改善定时精确度和洗涤效果,基于可编程性强的FPGA设计了一种用于洗衣机的控制系统,并进行了时序仿真。通过实验时设计方案进行了完善,得到了可进行数字化控制和显示的洗衣机控制系统,有效地提高了洗衣机性能。

随着时代的发展,洗衣机已成为人们日常生活中的必需品。目前全自动单筒、滚筒洗衣机已日渐盛行,但其结构复杂,日常维修和购买时成本偏高,所以结构简单、价格实惠的双缸洗衣机依然受到普通大众的欢迎。从市场反馈的情况发现,双缸洗衣机的控制电路因为采用了传统机械式的转钮,所以发生故障的概率很高,且一直以来都未找到合适的问题解决办法。随着芯片制造工艺的发展和成本的进一步降低,可编程门阵列以其具有体系结构和逻辑单元灵活、集成度高以及适用范嗣宽等特点,在大规模数据计算、嵌入式处理、通信、家用电器智能控制等方面都被广泛使用。为了改善家用双缸洗衣机机械控制系统,本文充分利用FPGA的特点,用其作为洗衣机控制系统的核心,配置电路和控制逻辑的设计是该系统的重要组成部分,该控制系统很好的解决了洗衣机机械式控制的问题,实现了洗衣机的正常工作。

1 系统控制逻辑设计

传统双缸洗衣机洗涤模式分为强洗、轻柔、标准3种。根据传统洗衣机的洗涤模式,文中分别设计了3种洗涤模式的控制逻辑。强洗时:洗涤电机以1 200 r/min的转速正向连续工作5 s,之后暂停工作2 s;然后电机以相同的转速反向连续工作5 s,后暂停2 s,如此循环控制电机,直到洗涤定时结束。标准和轻柔洗时:其逻辑控制过程和强洗相同,不同的是电机分别以1 000r/min和800r/min的转速连续工作。洗涤时间通过控制面板的时间增减按键设置。控制系统的默认值为标准模式洗涤,洗涤时间为10 min。可通过模式选择按键和洗涤时间设置按键选择自己想要的洗涤模式和时间,当一次洗涤结束,系统自动返回默认状态。洗涤过程由启/停键控制。洗涤的定时误差小于0.2s。

2 控制系统总体设计

系统主要由FPGA主控芯片、模式选择控制、中断控制、排水电磁阀控制、定时器输入控制、声光报警电路、洗涤电机和整个系统的供电电路组成。如图1所示。

 

 

2.1 FPGA芯片选择

在FPGA的应用过程中,首先就是要对FPGA芯片进行选型,根据具体应用选择合适的FPGA芯片对于下一步的开发以及功能实现有着重要的意义。我们根据前面平台的总体设计,可以得出对芯片的基本要求如下:1)成本低;2)需要最少4路PWM波形输出:3)需要较高的12 V转化为3.3 V的实时芯片;4)要有较高的处理速度;5)I/O接口要多。

综合考虑以上条件,采用Altera公司生产的CycloneII系列FPGA中的EP2C35F672C6型号基本满足要求。它具有出色的运算速度、低成本且带有DSP模块、超大的内部存储器、多通道PWM的输出、灵活的设计和多种语言的综合运用。其优势突出,性价比较高。

2.2 配置电路

FPGA芯片正常工作需要完整的配置电路,下面从硬件的选型和设计上对配置电路做一下要点分析。

1)电源电路的设计 电源系统为整个系统提供能量,是系统正常工作的保障,具有极其重要的地位。一个好的电源往往能使系统的故障减少一半以上。因为市电为220 V交流电,所以在给控制系统供电之前需要一个变压器将电压降为5 V,FPGA的I/O端口供电点压是3.3 V,内核供电电压是1.2 V,需再由TPS37HD301将5 V转化为3.3 V和1.2 V。FPGA的端口电压是3.3 V,为将I/O电压升压到5 V,在这里使用74HCT245升压芯片。

2)时钟和复位电路的设计 时钟电路中用ZPB-26-16M作为有源晶振。它的频率为16M,这使得串口波特率更加精确,同时可以支持芯片内部的PPL功能及ISP下载功能,使系统运行速度更快,更方便程序调试下载。复位电路采取硬件复位和软件复位。

3)调试JTAG和下载电路FPGA 内部可以直接搭建软核。ISP和JTAG,所以在硬件电路接一个IDC-10的JTAG接口即可满足要求。

4)配置存储电路 选EPCS16作为FPGA的ROM,可以由下载电缆或其他设备进行重复编程,也可以通过AS接口进行在线系统编程。用FPGA芯片内部自带的4M的On-Chip memory作为FPGA的RAM。

5)声光报警电路 声光电路主要由发光二极管和蜂鸣器组成,直接接入FPGA,来提醒洗衣机的工作状态。

6)时间输入和显示电路 利用4个按键输入洗涤时间,两个数码管显示设定时间。有关设定洗涤时间是由FPGA内部的定时器计时的,计时完成洗涤结束。

7)模式选择和中断控制 模式选择主要通过3个按键输入洗涤的模式(强洗、标准、轻柔)。为了让洗衣机在工作的时候能够随时停止工作,在控制电路中加一个中断控制按键。

8)排水控制电路 当洗衣机工作完成后,通过控制电路中的排水按键给FPGA一个信号,由其输出控制信号,控制电磁阀。

3 主控系统关键程序设计

将程序设计分为硬件程序设计和软件程序设计两部分,硬件程序设计要对硬件电路进行时序仿真以确定达到涮试的效果。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波形。

 

 

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

3.2 电机控制模块设计

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

 

 

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

4 结束语

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

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告