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

发布时间:2012-9-3 16:51    发布者:jiemicity
关键词: 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具有很强的可编程性,在日后的实际使用中可继续开发拓展更多的功能。在设计和最后的开发板仿真中,结果表明该系统实现了控制逻辑功能,具有洗涤、定时、数码显示等功能,可很好的替代传统的机械式控制系统,在洗衣机的控制方面具有很高的实用价值。
本文地址:https://www.eechina.com/thread-96748-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
southcreek 发表于 2012-9-8 17:47:43
太有创意了!一次性从altera采购1KK C2估计能便宜。
southcreek 发表于 2012-9-8 17:48:36
太有创意了!一次性从altera采购1KK C2估计能便宜。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表