吴海青,张小强
(太原工业学院 机械工程系,山西太原 030008)
目前,微型计算机技术是机电一体化领域中十分活跃、影响很大的关键技术,单片机作为其中分支之一,已在机电测控、仪器仪表、家用电器等系列或产品中作为一种典型的微控制器得到迅速和广泛的应用[1]。
学习单片机技术需要加强实践,初学者应树立在“学中做”、在“做中学”的思想[2]。通过研究发现,单片机原理与应用课程教学多以工作原理为主要内容,学生亲自动手进行单片机系统设计的机会很少,学生停留在课堂的板书与实验室的验证试验层面上[3],不利于培养学生的硬件系统设计能力和软件开发能力。
当今,随着科学技术的发展,企业对人才的要求不仅要具备丰富的理论知识,同时还要有创新能力以及丰富的项目设计和实践能力[4]。如何从工程应用角度进行教学案例设计,提高学生对实践环节的兴趣,从而提高实践教学质量,是亟待解决的课题[5]。众多高校从理念、方法、内容等多个方面进行了一系列的改革工作,其中,问题导向和项目驱动型教学方法能够很好地调动学生的积极性,激发学生创造思维[6-9]。
为了更好地培养学生兴趣,提高学生的工程应用能力,基于实际工程设计教学案例,选择学生熟悉的家用电器洗衣机作为被控对象,因为其控制系统涵盖了单片机课程的众多知识点。学生通过查阅文献,分析智能洗衣机的控制原理,了解正转、反转、洗涤、甩干等操作的运行机制及控制原理[10-11]。本文所设计的全自动洗衣机控制系统要求能够实现以下洗衣流程的控制:
(1)进水过程。
在进行洗涤前,洗衣机盛水桶内的水量必须达到预设值。这就需要通过继电器和水位传感器来进行洗衣机的进水控制和水位判断,如果桶内的水位没有达到预设值,则单片机的控制程序将控制继电器使进水阀一直打开,进行注水,达到预设值后,进水阀关闭,进入洗涤程序。
(2)洗涤过程。
当洗衣机通电后,若不手动选择洗衣周期,则洗衣机会默认从洗涤过程开始。首先是进水,进水指示灯亮,开始供水,当供水达到预定水位时,将停止进水;接下来步进电机M接通,带动波轮旋转。步进电机M是一个能实现正反转的电机,先正传22s,再停止8s,然后再反转22s,如此一来,便可以形成往返的水流,这样就更有利于洗净衣物。
(3)漂洗过程。
洗衣机的漂洗过程原理上与洗衣过程基本上一致,只是工作的时间相比要稍短一些而已。
(4)脱水过程。
当洗涤或漂洗结束时,步进电机M将停止转动,开始进入脱水阶段。当低水位传感器检测到排水完毕后,电机开始反转,从而带动洗衣机内桶高速旋转,对桶中衣物进行甩干处理。
根据设计要求,完成单片机型号和其他元器件型号的选型,利用Proteus软件进行控制系统电路图的绘制设计[12],其总体电路设计原理如图1所示。
图1 总体电路设计原理图
系统硬件主要由AT89C51单片机、数码显示管、蜂鸣报警器、步进电机、水位信号模拟开关、LED指示灯以及按键等组成。
所设计的控制系统硬件电路主要包括以下电路模块:
显示电路模块的核心元件为2位共阳数码管,它的作用在于显示全自动洗衣机在指定工作模式下的工作倒计时,显示电路如图2所示。通过单片机的P2口(P2.0-P2.7)依次控制数码管的ABCDEFG及DP脚,通过单片机P0口的P0.6、P0.7分别控制显示数码管的 1、2引脚。
图2 显示电路
指示电路主要由八个颜色不同的发光二极管以及电阻组成,用来指示洗衣机的工作模式和工作状态,即标准、轻柔、快速、调试、洗涤、漂洗、进排水、结束,指示电路如图3所示。发光二极管分别与单片机P1口、P0口连接,当对应口输出为低电平时,相应的指示灯亮,用以指示洗衣机当前的工作状态。
图3 指示电路
控制电路主要用以控制洗衣机的启停和工作状态的选择,分为菜单键、停止键、开始键和模式选择键,依次与单片机的P1.4、P1.5、P1.6和P1.7相连接,按键的另一端接地,控制电路如图4所示。
图4 按键控制电路
4个按键的具体控制功能如下:
菜单键:在按下模式选择键前,需先按下菜单键,以防止不当的操作而导致系统不能正常运行;
开始键:用于启动洗衣机,使洗衣机开始进入工作状态;
停止键:用于结束洗衣机的运行;
模式选择键:用于选择所需的洗涤模式。
结束报警电路主要由10K电阻、三极管和蜂鸣器组成。其电路如图5所示,蜂鸣器为结束报警电路设计中的核心元件,用于当洗衣机完成所有工作流程时提示用户,它与单片机的P3.5口相连,当P3.5口为低电平时,三极管响应,将电流放大,驱动蜂鸣器发声报警。
图5 结束报警电路
电机控制电路主要由步进电机和L298型电机驱动芯片组成,其电路如图6所示。将驱动芯片的IN1、IN2引脚分别与单片机的P3.2和P3.3连接,ENA脚通过SW1开关连接到单片机的P3.0,步进电机的两端分别与L298的OUT1和OUT2连接。
图6 电机控制电路
在Keil uVision5中编写完所有程序代码后,对所编程序进行错误检查。若在操作界面下方的状态窗口中有错误提示(如语法、字符错误等),则需要再次编辑和修改,直至程序没有错误。程序检查无误后,生成Washing.hex文件。
在Proteus软件中打开全自动洗衣机控制系统总体设计电路图,双击电路图中的AT89C51单片机,弹出图7所示的对话框。
图7 编辑元件
点击“Program File”中的文件夹图标,找到Washing.hex文件,点击打开,再点击“确定”,所编写的程序便导入到了电路图中。点击Proteus工作界面下方的按钮,进行洗衣机的仿真模拟运行。
本文所设计的全自动洗衣机控制系统主要能够实现洗涤、漂洗、脱水三大功能,且具有不同的工作模式,具体要求如下:
(1)标准模式:洗涤12min,每5min2次漂洗,脱水3 min;
(2)快速模式:洗涤4 min,每1min2次漂洗,脱水2 min;
(3)轻柔模式:洗涤3 min,每3min2次漂洗,脱水2 min。
为方便过程演示,洗衣机的洗涤、漂洗及脱水时长均设为1min。仿真过程如下:
(1)先按下菜单键,再按模式选择键,选择测试模式,此时,测试灯亮,显示屏显示1min,洗涤灯亮,进水灯亮,洗衣机进入洗衣状态,1min洗涤结束后,依次进入漂洗、脱水状态,仿真运行图见图8。
图8 仿真运行
(2)当洗衣机处于工作状态时,可按下停止键停止。
(3)当洗衣机完成洗涤衣物的全部过程时,蜂鸣器会发出蜂鸣器声提示用户洗衣完毕。
学生通过自行设计实现对家用智能洗衣机的各种工作模式控制,使课程学习脱离了枯燥的试验台,走入了丰富的实际生活,大大提高了实验课程的生动性和灵活性,很好地调动了学生的积极性,培养了学生创新实践的兴趣,提升了学生的工程实践素养[13-14]。通过项目驱动教学法的引入,基于Proteus的仿真教学,以智能洗衣机控制系统设计项目来说,学生能够清晰地认识到所学课程与实际应用技术的紧密关系[15-16],使得学生很好地将理论知识应用到实践中,培养了学生的工程实践能力,提高了教学质量,有利于应用型、专业型人才的培养。