全自动洗衣机控制器的设计.docx
《全自动洗衣机控制器的设计.docx》由会员分享,可在线阅读,更多相关《全自动洗衣机控制器的设计.docx(41页珍藏版)》请在冰豆网上搜索。
全自动洗衣机控制器的设计
全自动洗衣机控制器的设计
机电工程学院
李小草
论文题目:
全自动洗衣机控制器的设计
摘要
基于模糊控制的全自动洗衣机控制器自动控制系统,是以新一代凌阳16位单片机SPCE061A为核心,可以实现洗衣机的智能控制,提高洗衣质量,节约能源。
全自动洗衣机是一种全新的家用电器,能够自动检测到衣物的重量和脏污程度,自动决定进水量,从而能自动完成洗衣过程。
洗涤程序是通过模糊推理得到的,故能达到好的洗涤效果。
本次硬件设计制作了单片机的接口和外围硬件电路,其中包括洗衣机状态检测模块;显示电路和电机正反转电路等。
以及软件程序的编写,其中包括主程序,检测子程序,电机正反转子程序等。
本系统还利用凌阳SPCE061A出色的语音功能,对洗衣机进行报警与提示。
最后是我们的联机调试,有软硬件配合完成整个系统的基本功能。
关键词:
模糊控制,洗衣机,SPCE061A
Subject:
TheDesignoftheAutomaticWashingMachineController
Abstract
TheautomaticcontrolsystemoftheautomaticWashingMachineControllerbasedonfuzzycontrolwithsingle–chipcomputerSPCE061Acanbeimplementedbyintelligencecontrol,sothequalityofwashingisimprovedandthesourceissaved.Automaticwashingmachineisanewhouseholdappliancewhichcanautomaticallydetecttheweightanddegreeofdirtyandautomaticallydeterminethewater,soitcanautomaticallycompletewashingprocess.Becausewashingprocedureisadoptedbythefuzzyreasoning,itcanachieveagoodwashingeffect.
ThishardwaredesignhasbeenproducedMCUhardwareinterfaceandtheexternalcircuits,amongthemincludingthesignaltocollecttheelectriccircuit,theelectricalengineeringispositiveandnegativetoturnelectriccircuitetc.Andthesoftwareprocedureiswrote,whichincludesthemainprocedure,thedatacollectsthesub-procedure,theelectricalengineeringispositiveandnegativetoturnsub-procedureetc.Finally,withthematchofthesoftandhardware,thebasicfunctionofthesystemiscompleted
Keywords:
FuzzyControl,WashingMachine,SPCE061A
前言
洗衣机使人们告别了搓衣板,洗衣棒的手工洗衣时代,但是最初的洗衣机的自动化程度并不高,洗衣的几个过程仍需要人工来进行切换。
随着技术的发展,作为洗衣机核心的电机驱动技术有了长足的发展,洗衣机也由最初的洗涤、脱水过程的手工切换发展到半自动半手工切换,再发展到了现在的全自动洗衣机。
洗衣过程的全自动化并没有完全满足人的要求。
目前,绝大多数洗衣机的电机驱动系统引入了微处理器。
微处理器的引入使得洗衣机的功能更加强大。
洗衣机生产行业通过对微处理进行编程,实现洗涤、脱水模式的多样化,满足用户洗涤不同衣质、不同污脏程度的衣物。
而用户在操作过程当中指需要按几个按键即可完成选择工作。
同时,人们在原来洗衣方式的基础上,通过优化洗衣机的结构,再与电机驱动相配合,来实现对洗衣机内部水流的控制,从而使洗涤更彻底。
本课题是以洗衣机作为被控对象,设计一套应用于洗衣机的采用模糊控制理论的系统,目的是只用一个键就能完成洗衣所有功能。
它有助于我国将模糊控制理论引入家用电器领域,为我国家用电器智能化开拓思路。
鉴于对全自动洗衣机在技术、经济上可行性的论证,以及洗衣机市场需求的分析。
开始对该产品进行设计开发,由第四章开始进行硬件介绍,设计及调试分章进行阐述。
首先进行整体设计,明确设计思路,建立方案和策略。
之后开始硬件电路的设计,主电路和外围电路采用独立设计。
硬件电路构架建立后在其基础上进行软件设计,确定程序设计总构思及各个独立程序。
总体设计完成后进行组装,分模块进行调试:
指示灯和语音模块调试、模数转化模块调试、外设控制模块调试以及程序的调试。
调试期间遇到不少问题,在经过不懈努力下,问题一一解决。
最后运行成功。
本设计共分7章,第1章为概述总体设计思路,第2章介绍设计中应用的核心部分凌阳单片机,第3章为模糊控制及其在设计中应用简介,第4章为硬件设计,第5章为软件设计,第6章为系统调试,第7章为结束与设计体会。
第1章概述
1.1设计背景
随着人民生活水平的提高,人们需要更高水平的洗衣机。
什么是真正全自动的洗衣机。
人们只需要把衣物放人机内。
而衣物质地,洗涤程序等都是由洗衣机自动识别和执行的。
也就是,把人们在每次洗衣时按洗衣量选择水位,洗涤时间等烦琐工作中彻底解放出来。
一个智能的洗衣机。
用户只需要投入衣物,按下启动按钮,则一切由洗衣机自动完成因此,模糊智能型全自动洗衣机是目前自动化程序最好的洗衣机。
模糊智能型全自动洗衣机是应用模糊逻辑控制,模糊逻辑控制简称模糊控制,是一种基于模糊数学理论的新型控制方法。
模糊控制中的模糊量描述是以模糊集合为基础的,模糊控制的核心在于模糊控制器。
模糊控制器在模糊控制中起十分关键的作用。
模糊洗衣机则是应用模糊控制器代替人脑来“分析”“判断”。
工作程序可以在一定程度上随时变化,因而具有人工智能,比普通微电脑更精确,更适用。
模糊控制洗衣机通常采用如下的传感器来进行信息量的摄取:
水位传感器:
根据洗涤物的多少自动感知,设定并自动控制用水量。
布质传感器:
通过自动感知衣物重量和吸水程度,感知衣物的质料,进而决定洗涤方式。
水温传感器:
可以根据环境温度和水温,自动决定洗涤时间。
光电传感器:
根据衣物洗涤过程中洗涤循环水的透光率(脏污程度),决定最佳洗衣程序。
这几个传感器收集到的信息,经过微电脑综合判定后,便自动选择出最适当的水位位、洗涤时间和洗衣动作等工作参数,并按照衣物的大小及质地等信息,执行最佳洗涤程序。
因此,有人戏称它为“傻瓜”洗衣机,即人们只需轻轻一按洗衣机的启动键,余下的事就都由洗衣机自动完成了。
技术总是不停向前发展的,洗衣机也向着几个明显的方向发展。
智能化。
传统的洗衣机只按进水→漂洗→出水→甩干这几个工作过程进行合理组合工作。
而智能洗衣机除了实现上述的功能之外,还能对洗涤衣物的衣质、衣量、衣物的污脏性质以及污浊度进行识别,并根据具体的情况选择合适的洗涤剂、水量和水流状态进行有针对性的洗涤。
洗衣机智能化技术有赖于微处理器和传感器的发展。
高效节能。
不可再生能源日益减少和人类对能源要求量日益增加的矛盾,决定了节能成为整个社会活动的趋势。
对于洗衣机行业来说,要在保证洗净度的基础上实现省电、节水。
高效节能已经成为洗衣机行业发展必然的趋势。
静音。
噪音容易使人疲劳,造成神经系统紧张,从而影响睡眠、休息和工作。
减少噪音污染对提高生活质量具有相当的重要性。
生活水平的提高,家用电器日益增多,家用电器的噪音已经成为提高生活质量的一个负面因素。
所以,静音洗衣机也是洗衣机行业发展的一个必然趋势。
1.2全自动洗衣机设计思路
模糊洗衣机之所以能模仿人的智能,主要是靠多种传感器感知收集各种信息数据。
如:
有自动感知水温高低,水量多少、衣料脏污程度的光电传感器,由此来决定洗衣粉的投放量。
有自动检测衣料重量、衣物浑浊度的传感器,以此自动选择相应的洗涤程序。
有自动感知水位的水位传感器,来确定洗涤衣料的水量而又做到恰到好处。
有自动感知衣物脏污程度、漂洗浑浊度的光电传感器,来确定水温高低、洗涤时间和漂洗遍数。
还有根据室温和水温,而自动调整洗涤时间长短,以达到节电、节水的目的。
传感器将各种感知收集的信息数据,输入模糊控制芯片进行综合处理判断后,发出指令,指挥洗衣机自动选择相应的洗涤程序,并能根据洗衣中随时变化的因素进行相应调整,以达到最佳洗涤效果。
如漂洗,全自动洗衣机是预设两次漂洗程序,不管衣物脏污是不是漂洗干净,它做完两次漂洗就了事了。
而模糊洗衣机则不然,它通过红外光电传感器,根据水质的浑浊度,来感知检查衣料的漂洗干净度。
若没漂干净,电脑指挥洗衣机继续漂,直到干净为止。
首先,我们将设计的洗衣机硬件部分分为五大模块进行设计,主要分以下五大模块:
(1)电源模块将AC—220V的交流电转换成实验用的DC—5V直流电,给单片机供电;
(2)检测模块:
检测部分主要由各传感器和A/D转换器实现,其又分为:
衣物重量,衣物污度检测,水位检测。
其各部分检测结果通过A/D转换器进入单片机CPU中进行处理分析;由于实验条件影响,在设计模拟中我们用电位器来代替重量传感器和浑浊度传感器改变输入量的输入值;
(3)控制模块:
控制部分是整个智能洗衣机的关键部分,由单片机SPCE061A承担处理工作。
传感器将检测的数据信息传入到控制器中,在控制器中经过分析处理,CPU将得到数据与标准数据进行比较,得出控制结果,如:
加水量、洗涤时间等,并将处理的结果输出至执行器动作;
(4)洗涤模块:
洗涤部分主要由机械部分电动机以及驱动电机电路构成,通过CPU控制的电机正反转以及转速完成各种洗涤动作;
(5)语音模块:
语音部分主要是一个小的扬声器,通过CPU的控制,报告洗涤的进程;
(6)显示模块:
显示部分是一组LED数码显示以及9组发光二极管组成的显示部分,用来显示洗涤的时间以及洗涤的工序。
1.3全自动洗衣机设计内容
本设计中采用了凌阳公司的SPCE061A作为控制核心,以单片机为核心结合接口芯片及外围电路以实现洗衣机的智能控制。
其中模糊控制器的设计是关键环节,采用传感器检测洗衣过程必需的物理量,进入模糊控制器,通过模糊推理,实现对洗衣机自动识别衣量,自动识别肮脏程度,自动决定水量功能的控制。
本设计在洗涤过程中采用了实时模糊控制,提高洗衣质量,节约能源。
硬件结构框图及软件流程图是该系统的重要组成部分,在整个控制过程中,模糊控制软件起了决定性的作用。
通过几个传感器收集到的信息,包括衣物重量,水位,衣物的脏污程度的信息,经过处理器综合判定后,便自动选择出最适当的水位、洗涤时间和洗衣动作等工作参数,并按照衣物的大小及脏污程度等信息,执行最佳洗涤程序。
因此,即人们只需轻轻一按洗衣机的启动键,余下的事就都由洗衣机自动完成了。
因此我们确定了模糊控制器的输入输出量。
洗衣机的模糊控制关系是一个多输入、多输出的控制系统。
输入变量为浑浊度、重量、水位。
输出变量有洗涤时间、脱水时间、漂洗方式等。
为了使控制效果好,设计简单,采用矛盾分析方法,具体控制策略为:
(1)根据衣物重量确定水位高低;
(2)根据洗涤过程中的浑浊度信息修正实际的洗涤时间的长短和漂洗次数的多少。
输入量有水位,衣物重量和浊污程度。
分别由水位传感器,重量传感器和浑浊度传感器检测到,并放大经模数转换后送入单片机的输入端口,控制器根据模糊推理规则确定进水量,洗涤时间等。
输出量有水流方式(电机正反转),洗涤时间等。
我们根据它的工作原理,给出了硬件结构框图。
如图1.1所示。
图1.1系统硬件设计框图
第2章SPCE061A的介绍
2.1单片机的选择
本题目是设计全自动洗衣机的控制器,它主要采用单片机,由重量传感器、水位传感器、混浊度传感器送来的推理参数信号被送到控制器的输入端口,控制器根据模糊推理规则确定进水量、洗涤时间等。
单片机输出相应的显示信号和驱动信号
方案一:
此方案采用89C51单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。
但是89C51需外接模数转换器来满足数据采样。
如果系统增加语音播放功能,还需外接语音芯片,对外围电路来说,比较复杂,且软件实现也较麻烦。
另外,51单片机需要用仿真器来实现软硬件调试,较为繁琐。
方案二:
此方案采用SPCE061A单片机实现,此单片机内置8路ADC,2路DAC,且集成开发环境中,配有很多语音播放函数,用SPCE061A实现语音播放极为方便。
另外,比较方便的是该芯片内置在线仿真、编程接口,可以方便实现在线调试,这大大加快了系统的开发与调试。
方案比较:
第一种方案设计外围电路复杂,实现比较困难。
第二种方案的设计比较完善,由于SPCE061A单片机的许多优点,可以节省许多时间与资金,我们决定采用第二种方案。
2.2凌阳单片机简介
在本设计中,其核心的控制元件就是SPCE061A芯片,为了更具体、更详细、更深入了解这次设计,那么首先我们就来对这个芯片进行详细的介绍。
随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理数据处理以及数字信号处理,DSP(DigitalSignalProcessing)等领域。
凌阳的16位单片机就是为适应这种发展而设计的。
她的CPU内核采用凌阳最新推出的MicrocontrollerandSignalProcessor16位微机处理器芯片,以下简称µ’nSP。
围绕µ’nSP所形成的16位µ’nSP系列单片机,以下简称µ’nSP家族。
采用的是模块式集成结构,它以µ’nSP内核为中心集成不同规模的ROMPAM和功能丰富的各种外设部件。
µ’nSP内核是一个通用的和结构。
除此之外的其它功能模块均为可选结构。
以及这种结构可大可小可有可无,借助这种通用结构附加可选结构的积木式的构成,便可成为各种系列的派生产品,以适合不同场合,这样做无疑会使每种派生产品具有更强的功能和更低的成本。
µ’nSP家族有有以下特点:
体积小,集成度高,可靠性好易于扩展。
µ’nSP家族把各功能把各功能部件模块化地集成在一个芯片里。
内部采用总线结构,因为减少了各功能部件之间的连接,提高了其可靠性和抗干扰能力,另外,模块化的结构易于系列的扩展,以适应不同用户的需求。
具有较强的中断处理能力。
μ’nSPTM家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域。
高性能价格比:
μ’nSPTM家族片内带有高寻址能力的ROM,静态RAM和多功能的I/O口,另外μ’nSPTM的指令系统提供出具有较高运算速度的16位,16位的乘法运算指令和内积运算指令,为其应用添加了DSP功能,使得μ’nSPTM家族运用在复杂的数字信号处理方面既很便利又比专用的DSP芯片廉价。
功能强、效率高的指令系统:
μ’nSPTM的指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。
低功耗、低电压:
μ’nSPTM家族采用CMOS制造工艺,同时增加了软件激发的弱振方式,空闲方式和掉电方式,极大地降低了其功耗,另外,μ’nSPTM家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电,这对于其在野外作业等领域中的应用具有特殊的意义。
图2.1u’nSP家族的模块式结构
μ’nSP™内核是一个通用的核结构。
除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。
借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。
这样做无疑会使每一种派生产品具有更强的功能和更低的成本。
凌阳16位单片机主要的优点有:
1)高性能价格比:
μ’nSP™家族片内带有高寻址能力的ROM、静态RAM和多功能的I/O口。
另外,μ’nSP™的指令系统提供具有较高运算速度的16位×16位的乘法运算指令和内积运算指令,为其应用增添了DSP功能,使得μ’nSP™家族运用在复杂的数字信号处理方面既很便利,又比专用的DSP芯片廉价。
2)功能强、效率高的指令系统:
μ’nSP™指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。
3)低功耗、低电压:
2.3SPCE061A简介
2.3.1性能
SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,其主要性能如下:
·16位μ'nSP微处理器;
·工作电压:
内核工作电压VDD为3.0~3.6V(CPU),IO口工作电压VDDH为VDD~5.5V(I/O);
·CPU时钟:
0.32MHz~49.152MHz;
·内置2K字SRAM;
·内置32K闪存ROM;
·可编程音频处理;
·晶体振荡器;
·系统处于备用状态下(时钟处于停止状态),耗电小于2μA@3.6V;
·2个16位可编程定时器/计数器(可自动预置初始计数值);
·2个10位DAC(数-模转换)输出通道;
·32位通用可编程输入/输出端口;
·14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;
·具备触键唤醒的功能;
·使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;
·锁相环PLL振荡器提供系统时钟信号;
·32768Hz实时时钟;
·7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;
·声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;
·具备串行设备接口;
·低电压复位(LVR)功和低电压监测(LVD)功能;
·内置在线仿真(ICE,In-CircuitEmulator)接口。
另外,凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。
它的较高的处理速度使μ’nSP™能够非常容易地、快速地处理复杂的数字信号。
在此环境中,不仅可以支持标准C语言和汇编语言,可以实现C语言与凌阳汇编语言的互相调用为软件开发提供了方便的条件。
2.3.2结构概览
SPCE061A单片机的内部结构如下图2.2:
图2.2SPCE061A内部结构图
2.3.3芯片的引脚排列和说明
SPCE061A共有84个引脚,封装形式为PLCC84;管脚排列图如图2.3所示。
图2.3管脚排列图PLCC84封装
SPCE061A的各个管脚介绍如表2.1所示:
表2.1管脚描述表
管脚名称
号
类型
描述
IOA[15:
8]
46~39
输入输出
IOA[15:
8]:
双向IO端口
IOA[7:
0]
34~27
输入输出
IOA[7:
0]:
通过编程,可设置成唤醒管脚
IOA[6:
0]:
与ADCLine_In输入共用
IOB[15:
1]
50~54
输入输出
IOB[15:
11]:
双向IO端口。
IOB10
57
输入输出
IOB10:
通用异步串行数据发送管脚Tx
IOB9
58
输入输出
IOB9:
TimerB脉宽调制输出管脚BPWMO
IOB8
59
输入输出
IOB8:
TimerA脉宽调制输出管脚APWMO
IOB7
60
输入输出
IOB7:
通用异步串行数据接收管脚Rx
IOB6
61
输入输出
IOB6:
双向IO端口
IOB5
62
输入输出
IOB5:
外部中断源EXT2的反馈管脚
IOB4
63
输入输出
IOB4:
外部中断源EXT1的反馈管脚
IOB3
64
输入输出
IOB3:
外部中断源EXT2
IOB2
65
输入输出
IOB2:
外部中断源EXT1
DAC1
12
输出
DAC1数据输出管脚
DAC2
13
输出
DAC2数据输出管脚
X32I
2
输入
32768Hz晶振输入管脚
X32O
1
输出
32768Hz晶振输出管脚
VCOIN
70
输入
PLL的RC滤波器连接管脚
AGC
16
输入
AGC的控制管脚
MICN
19
输入
麦克风负向输入管脚
MICP
21
输入
麦克风正向输入管脚
V2VREF
14
输出
电压源2.0V产生5mA的驱动电流,可用作外部ADCLine_In通道的最高参考输入电压,不可作为电压源
使用
MICOUT
18
输出
麦克风1阶放大器输出管脚,管脚外接电阻决定AGC增益倍数
OPI
17
输入
麦克风2阶放大器输入管脚
VEXTRF
23
输入
ADCLine_In通道的最高参考输入电压管脚
VMIC
25
输出
麦克风电源
VADREF
22
输出
AD参考电压(由内部ADC产生)
VDD
5,69
输入
逻辑电源的正向电压
VSS
10,26,71
输入
逻辑电源和IO口的参考地
VDDIO
37,38,56
输入
IO端口的正向电压管脚
VSSIO
35,36,48
输入
IO端口的参考地
AVDD
24
输入
模拟电路(A/D、D/A和2V稳压源)正向电压
AVSS
15
输入
模拟电路(A/D、D/A和2V稳压源)参考地
RESET
68
输入
低电平有效的复位管脚
SLEEP
49
输出
睡眠模式(高电平激活)
ICE
7
输入
激活ICE(高电平激
ICECLK
8
输入
ICE串行接口时钟管脚
ICESDA
9
输入输出
ICE串行接口数据管脚
TEST
3
输入
测试模式时接高电平,正常模式时接地GND或悬浮
ROMT
47
输入
测试闪烁存储器,正常模式时悬浮
N/C
55
输入
正常使用时接地
N/C
4
输入
正常使用时接地
N/C
6
输入
正常使用时接地
PFUSE,PVIN
20,11
输入
程序保密设定脚。
用户慎重使用。
2.3.4SPCE061A的输入/输出接口
输入/输出接口(简称为I/O口)是单片机与外设交换信息的通道。
输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。
输出端口负责向外界传送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。
u’nSP™内有并行和串行两种方式的I/O口。
并行口线路成本较高,但是传输速率也较高;与并行口相比,串行端口的传输速率较低但可以节省大量的线路成本。
SPCE061A有两个16位的通用并行口:
A口和B口。
这两个端口的每一位都可通过编程单独定义成输入或输出口。
SPCE061A提供了32位控制结构的I/O端口,每一位都可以单独用于数据输入或输出。
每个独立的位可通过以下3种控制向量来作设定:
I/O数据向量Data
I/O方向向量Dir