基于单片机的全自动洗衣机设计Word格式.docx
- 文档编号:3611788
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:71
- 大小:606.07KB
基于单片机的全自动洗衣机设计Word格式.docx
《基于单片机的全自动洗衣机设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的全自动洗衣机设计Word格式.docx(71页珍藏版)》请在冰点文库上搜索。
当水位低到一定值,再经过一段时间后,电机开始正转,带动内桶高速旋转,甩干衣物。
1.2.4显示
洗涤、漂洗及脱水时间都通过倒计时的方式显示在3个LED上,依次为分位,秒十位和秒个位,此外,还有发现异常现象时错误信息的显示。
1.2.5参数处理
要对洗衣机进行控制,首先要用各种传感器不断地检测相关的状态,以作为控制的依据。
其中,污浊度传感器,温度传感器和负载传感器是模拟信号,需要经过A/D转换变成数字信号,而水位传感器本身就是数字信号,单片机接受到这些传感器的信号以后,经过一系列处理作出反应,从而控制洗衣机的工作。
2硬件电路介绍
针对上文的功能,硬件电路应包括七个部分:
微处理器控制电路、显示电路、采样电路、电机控制电路、进水阀控制电路、排水阀控制电路和按键报警电路。
通过这几个部分电路的协调工作,洗衣机能模拟人脑进行操作。
2.1CPU选型
⑴PIC系列
PIC单片机系列是美国微芯公司(Microchip)的产品,它的CPU采用RISC结构,分别有33、35、58条指令,属精简指令集。
采用Harvard双总线结构,运行速度快,它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这也是高效率运行的原因之一。
此外,它还具有低工作电压、低功耗、驱动能力强等特点。
PIC系列单片机共分三个级别,即基本级、中级、高级。
PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。
I/O脚增加了用于设置输入或输出状态的方向寄存器,当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;
置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。
该系列单片机的专用寄存器(SFR)并不像51系列那样都集中在一个固定的地址区间内(80~FFH),而是分散在四个地址区间内。
只有5个专用寄存器,得反复地选择对应的存储体,这多少给编程带来了一些麻烦。
⑵AVR系列
AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。
它取消机器周期,以时钟周期为指令周期,实行流水作业。
AVR单片机指令以字为单位,且大部分指令都为单周期指令。
而单周期既可执行本指令功能,同时完成下一条指令的读取。
通常时钟频率用4~8MHz,故最短指令执行时间为250~125ns。
该系列的型号较多,但可用下面三种为代表:
AT90S2313(简装型)、AT90S8515、AT90S8535(带A/D转换)。
通用寄存器一共32个(R0~R31),前16个寄存器(R0~R15)都不能直接与立即数打交道,因而通用性有所下降。
AVR系列没有类似累加器A的结构,它主要是通过R16~R31寄存器来实现A的功能。
在AVR中,没有像51系列的数据指针DPTR,而是由X(由R26、R27组成)、Y(由R28、R29组成)、Z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行。
⑶51系列
51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。
它的处理对象不是字或字节而是位。
它不仅能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。
虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。
51系列在片内RAM区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20H~2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为00H~7FH),使用极为灵活。
这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。
而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。
有的单片机并不能直接对RAM单元中的位进行操作,如AVR系列单片机中,若想对RAM中的某位置位时,必须通过状态寄存器SREG的T位进行中转。
51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。
八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。
而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。
作乘法时,只需一条指令就行了,即MULAB(两个乘数分别在累加器A和寄存器B中。
积的低位字节在累加器A中,高位字节在寄存器B中)。
很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。
51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。
当该脚作输出脚使用时,则为高电平或低电平均可。
低电平时,吸入电流可达20mA,具有一定的驱动能力;
而为高电平时,输出电流仅数十μA甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力。
其原因是高电平时該脚也同时作输入脚使用,而输入脚必须具有高的输入阻抗,因而上拉的电流必须很小才行。
作输出脚使用,欲进行高电平驱动时,得利用外电路来实现,I/O脚不通,电流经R驱动LED发光;
低电平时,I/O脚导通,电流由该脚入地,LED灭(I/O脚导通时对地的电压降小于1V,LED的域值1.5~1.8V)。
综上所述,我们本次设计采用51系列,而51系列的典型产品是8051。
8051是一种40引脚双列直播式芯片。
它含有4KB可反复烧录及擦除内存和128字节的RAM,有32条可编程控制的I/O线,5个中断发源,指令与MCS-51系列完全兼容。
选用它作为核心控制新片,可使电路极大地简化,而且程序的编写及固化也相当方便、灵活。
选用它设计制作全自动洗衣机控制电路,该电路的组成相对简单,工作原理清晰,易于理解。
89C51引脚图如图2-1所示。
图2-189C51引脚图
2.289C51的存储器与寄存器
89C51单片机存储器才用的是哈佛(Harvard)即程序存储器空间和数据存储器空间是各自独立的,两种存储器各自有自己的寻址方式和寻址空间。
这种结构对于单片机“面向控制”的实际应用极为方便、有利。
89C51单片机程序存储器和数据存储器的扩展能力分别可达64KB,寻址和操作简单方便。
89C51的存储器空间可划分为5类:
程序存储器、内部数据存储器、特殊功能寄存器、为地址空间和外部数据寄存器。
2.3A/D转换器
A/D转换器种类很多,按及人口方案来分,可分为并行接口和串行接口两类。
串行接口又分为三线式接口和两线式接口两种。
由于89C51串行口有限,而本此设计也用到了很多串口,而且我们需要一个多通道的转换器,而MAX192正是满足这种要求,其转换精度也高,所以本次设计我们采用MAX192。
MAX192是一种低功耗、单电源、8通道、串行的10位A/D转换器。
由于该芯片在片外已有采样跟踪保持电路,内部时钟电路和内部参考电压源,所以在应用时,所需外围原件极少,与单片机连接也只占用4-5条口线,因此,用MAX192构成的数据采集系统具有硬件结构简单、体积小和功耗低的优点。
MAX192是美国美信公司设计的一个10位A/D转换器,它的信号输入有两种方式:
8通道单端输入或4通道差分输入,具有极高转换速度。
其4线串行接口与SPI、QSPI、MicroWire等串行总线兼容,具有内部时钟方式和外部时钟方式,内带4.096V的基准电压,也可用外部基准电压。
⑴MAX192的引脚图如图2-1所示。
图2-1MAX192的引脚图
⑵MAX192的控制字
①MAX192控制字占一个字节,其格式见表2-1。
表2-1控制字节的定义
Bit7(MSB)
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
START
SEL2
SEL1
SEL0
UIN/BIP
SGL/DIF
PD1
PD0
注1.START:
转换开始位。
逻辑“1”有效。
2.SEL0-2:
通道选择位。
选择所需转换信号所连接的通道(见表3和表4)。
3.UNI/BIP:
单/双极性信号转换模式选择位。
1=单极性信号;
0=双极性信号。
对于单极性信号,模拟输入中0V~VREF的电压被转换;
对于双极性信号,-VREF/2~+VREF/2的新号被转换。
4.SGL/DIF:
输入信号形式选择位。
“1”为单端信号输入,“0”为差分信号输入。
5.PD0~PD1:
时钟模式及省电模式选择位。
②MAX192单端方式(SGL/DIF=1)通道选择如表2-3所示。
③MAX192查分方式(SGL/DIF=0)通道选择如表2-4所示。
④MAX192的时钟和掉电选择如表2-5所示。
⑶MAX192的工作原理
MAX192器件采用逐次逼近转换技术及输入采样/保持电路把模拟信号转换成10位的数字信号输出,模拟信号有单端输入和差分输入两种输入方式,输入电压范围分单极性(0-40.96V)和双极性(-4.096/2-4.096/2V)两种,每做完一次A/D转换,需从串行数据输入端输入以“1”开始的8位控制字对器件初始化,内部控制逻辑控制A/D转换。
当MAX192的CS端有效时,在时钟SCLK的每一个上升沿把一个最高位为“1”的控制字节的各位送入输入移位寄存器,控制器收到控制字节后,选择控制字节中给定的模拟通道,并在SCLK的下降沿启动转换。
在启动转换后,MAX192可以使用外部串行时钟或内部时钟来完成逐次逼近转换。
在两种时钟方式中,数据的移入/输出都由外部时钟来完成。
转换结束后的数据是由DOUT端读出的。
应该注意,数据的输出是高位在先,低位在后,有效位为10位。
在单极性输入方式下,输出的是标准二进制码,对于差分方式下的双极性输入,其输出是莫二补码。
需要注意的是,在单极性输入方式下,转换完成后的10位数据在移位寄存器中存放时,在数据的首部添了一个“0”,在尾部添加了5个“0”,这样,要得到最终的正确结果,需要把这16位数(包括10位有效数据)右移5位。
在编写采样程序时,送完一字节控制字,何时读转换结果,有两种判断方法:
一是看SSTRB信号是否变高,二是延时多少us(最大位10us)。
表2-3单端方式(SGL/DIF=1)通道选择
CH0
CH1
CH2
CH3
CH4
CH5
CH6
CH7
AGND
+
-
1
表2-4查分方式(SGL/DIF=0)通道选择
表2-5时钟和掉电选择
器件模式
外部时钟方式
内部时钟方式
速掉电模式(FastPower-DownMode)
全掉点模式(FullPower-DownMode)
2.4传感器
本次设计中用到4个传感器,分别为:
TS污浊度传感器、温度传感器、负载传感器和水位传感器。
其中污浊度、温度和负载传感器输出的都是模拟信号,需要通过A/D转换才能作为单片机的控制信号,而水位传感器本身输出的就是数字信号,所以不需要通过A/D转换,直接可用做单片机的控制信号。
⑴TS污浊度传感器内部原理图如图2-2所示。
浑浊度检测传感器的主要原理是光电耦合器,而普通的光电耦合器不能有效的检测洗衣机水的浑浊度。
光电耦合器的光源必须是红外光才能准确的检测浑浊度。
TS浊度传感器是GE公司开发的一种专门用于家电产品的低成本传感器,主要用于洗衣机、洗碗机等产品的水污浊程度的测量。
图2-2浊度传感器内部原理图
⑵温度传感器
温度传感器有四种主要类型:
热电偶、热敏电阻、电阻温度检测器(RTD)和IC温度传感器下)。
IC温度传感器又包括模拟输出和数字输出两种类型。
热电偶应用很广泛,因为它们非常坚固而且不太贵。
热电偶有多种类型,它们覆盖非常宽的温度范围,从-200℃到2000℃。
它们的特点是:
低灵敏度、低稳定性、中等精度、响应速度慢、高温下容易老化和有漂移,以及非线性。
另外,热电偶需要外部参考端。
我们常用温度传感器有DS18B20、AD590等,它们都是集成温度传感器。
DS18B20输出是数字信号可以直接和单片机相连,而且硬件连接电路少,但需要对其进行复杂的软件编程。
AD590是美国模拟器件公司生产的单片集成两端感温电流源。
它的主要特性如下:
•流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数。
•AD590的测温范围为-55℃~+150℃。
•AD590的电源电压范围为4V~30V。
电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。
•输出电阻为710MW。
•精度高。
AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±
0.3℃。
本设计我们选用AD590作为温度传感器。
AD590比DS18B20精度更高、线性度误差小,且不需要温度报警和复杂的程序编程,非常适合用于洗衣机的温度检测传感器
⑶负载传感器
根据模糊控制要求,负载检测时通过检测电动机的反电动势来实现的,而电动机的反电动势比单片机所用电压大的多,不能直接采样,必须经过隔离。
采用线性光电耦合器既能隔离高电压和干扰,又能得到满意的检测信号。
⑷水位传感器原理图如图2-5所示。
谐振式水位传感器,采用了新型的传感原理,把水位的高低,通过水位传感器直接变成水位与频率的对应关系。
衣物的洗净度、水流强度、洗涤时间等参数的检测,对模糊控制洗衣机在节水、节能、减少洗涤时间方面起决定性的作用。
图2-5水位传感器原理图
2.5显示器
显示器有LED和LCD两种。
LCD(LiquidcrystalDisplay)是液晶显示器英文名称的缩写,液晶显示器是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特征,达到白底黑字或黑底白字显示的目的。
LED(LightEmitingDiode)是发光二极管英文名称的缩写。
LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。
本次设计只是显示时间,所以采用LED就可以达到目的了。
⑴LED显示器的结构LED
常用的LED为8段或7段。
每一个段对应一个发光二极管。
这种显示器有共阳极和共阴极2种。
共阴极LED显示器的发光二极管的阴极连在一起,通常此公共阴极接地。
当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。
同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管接低电平时,发光二极管被点亮,相应的段被显示。
为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同字型,因此该代码称之为段码(或称为字型码)。
⑵LED显示器工作原理
LED显示器有静态显示和动态显示2种方式。
LED显示器工作于静态显示方式时,各位的共阴极(共阳极)连接在一起并接地(或+5V);
每位的段码线(a-dp)分别与一个8位的锁存器输出相连。
之所以称之为静态显示,是因为各个LED的显示字符一经确定,相应锁存器锁存的段码输出将维持不变,直到送入另一个的段码为止。
正因为如此,静态显示器的亮度都较高,但静态现实的缺点是占用口线太多,如果显示器的位数太多,则需要加锁存器,因此一般情况下采用动态显示。
在多位LED显示时,为简化硬件电路,通常将所有位的段码线相应段并联在一起,由1个8位I/O口控制,形成段码线的多路复用,而各位的共阴极或共阳极分别由相应的I/O线控制,形成各位的分时选通。
本次设计中我们采用的是3位共阴极数码管,其中段码线占用1个8位I/O口,而位选占用3位I/O口。
由于各位的段码线并联,8位I/O口输出的段码对各个显示位来说都是相同的。
因此,在同一时刻,如果各位位选都处于选通状态的话,3位LED将显示相同的字符。
若要各位LED能够显示出与本位相应的显示字符,就必须采用动态显示,即在某一时刻,只让一位的位选线处于选通状态,而其他各位的位选处于关闭状态,同时,段码线上输出相应位要显示的字符段码。
这样,在同一时刻,3位LED中只有选通的那位显示字符,而其他2位则是熄灭的。
同样,在下一时刻,只让下一位的位选处于选通状态,而其他各位的位选线处于关闭状态,在段码线上输出将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位都是熄灭的。
如此循环下去,就可以使各位显示出将要显示的字符。
虽然这些字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多位同时亮的假象,达到同时显示的效果。
LED不同位显示的时间间隔应根据实际情况而定。
发光二极管从导通到发光有一定的延时,导通时间太短,则发光太弱,人眼无法看清,但也不能太长,因为要受限于临界闪烁频率,而且时间越长,占用CPU时间也越多,本次设计我们采用1ms延时。
3软件设计
本次设计是基于模糊控制理论上的全自动洗衣机,用户只需要将衣物放进洗衣机,按下启动键,洗衣机就能自动完成洗涤--漂洗--脱水等一系列操作,当然本次设计中还考虑到半自动时的情况,用户可以根据自己的需求自由选择洗衣机将要进行什么工作,这一点是通过按键来实现的。
3.1全自动洗衣机中的模糊控制
3.1.1模糊控制器
洗衣机控制器是洗衣机的大脑,洗衣机的洗涤、漂洗、脱水等动作均由控制器加以控制,目前的全自动洗衣机采用控制器有模糊控制器和普通控制器两种,二者之间既有共同之处,又存在着差别。
洗衣机模糊控制器与普通控制器的相同点就在于二者均采用微电脑技术,各自根据洗衣机的控制原理编制出程序,对洗衣机实施控制。
洗衣机模糊控制器与普通控制器的主要区别在于二者控制思想不同。
普通程序控制器虽然使洗衣机在功能较普通洗衣机增强许多,但就其控制思想而言,仍谈不上“先进”
它只是根据时间原则去设定洗衣机的洗涤、漂洗和脱水的运行时间,然后连续运行,完全不考虑其他因素。
例如:
洗衣服的多少、面料的软硬、衣服的肮脏程度等,均未加以考虑。
而模糊控制器则是根据衣量的多少确定洗涤水量;
根据面料软硬和肮脏程度确定洗涤时间等,这些都是控制规则,这些规则是人工经验的积累。
一般的说,模糊控制器是利用人工智能方式,建立一组控制规则,编织成程序由微电脑执行。
这样,就形成了人工智能控制模式。
因此,在控制思想上大大优于普通程序控制器的控制思想。
3.1.2模糊控制实现方法
㈠基本结构和控制过程
模糊控制是利用负载、衣质、浊度、水温等检测所得到信息,进行分段评估计算使其模糊化,再根据模糊规则进行推理,最后根据所激活的规则进行解模糊判决,以决定最适当和明确的水位、洗涤时间、洗涤方式以及脱水时间等。
模糊控制洗衣机控制结构如图3-1所示。
图3-1模糊控制洗衣机控制结构
㈡模糊规则
⑴洗涤量和水量的确定:
①如果检测到衣物量很多,则洗涤量多,水位高;
1如果检测到衣物量较多,则洗涤量较多,水位适中;
2如果检测到衣物量很少,则洗涤量少,水位低。
⑵脱水时间的确定:
1如果检测到衣物很多,则脱水时间长;
2如果检测到衣物较多,则脱水时间适中;
3如果检测到衣物很少,则脱水时间短。
⑶洗涤时间的确定:
1如果检测到衣物很多,布质以棉布偏多且水温低,则洗衣时间长;
2如果检测到衣物较多,布质以化纤偏多且水温偏高,则洗衣时间适中;
3如果检测到衣物较少,布质以棉布偏多且水温偏高,则洗衣时间适中;
4如果检测到衣物很少,布质以化纤偏多且水温高,则洗衣时间短。
⑷漂洗时间的确定:
1如果检测到洗涤水很脏,则漂洗时间长;
2如果检测到洗涤水较脏,则漂洗时间适中;
3如果检测到洗涤水不脏,则漂洗时间短。
3.2软件流程图及代码
3.2.1寄存器
本次编程中用到的寄存器如表3-1所示。
表3-1寄存器
寄存器
注释
R4,R5
比较标准值R4高位,R5低位
R6,R7
A/D转换结果R6高位,R7低位
20H
衣量多位
21H
衣量少位
22H
衣量适中位
23H
化纤多位
24H
棉多位
27H
1s中断标志位
2AH
1s中断次数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 全自动 洗衣机 设计