基于单片机的全自动洗衣机控制系统的设计.docx
《基于单片机的全自动洗衣机控制系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的全自动洗衣机控制系统的设计.docx(41页珍藏版)》请在冰豆网上搜索。
![基于单片机的全自动洗衣机控制系统的设计.docx](https://file1.bdocx.com/fileroot1/2022-12/12/5d2b8252-6399-4ed9-a392-0bcf1c20bf20/5d2b8252-6399-4ed9-a392-0bcf1c20bf201.gif)
基于单片机的全自动洗衣机控制系统的设计
基于单片机的全自动洗衣机的控制
系统设计
院系:
机电与自动化学院
专业班:
电气工程及其自动化1002班
姓名:
徐巍
学号:
***********
********
2014年5月
基于单片机的全自动洗衣机的设计
DesignofAutomaticWashingMachineBasedonMCU
摘要
本设计以家用全自动洗衣机的工作过程为研究模型,以意法半导体公司的单片机STM32F103CBT6为控制核心,完成了电源供电电路、液晶接口电路、直流电机驱动电路、继电器控制电路、按键扫描电路、AD信号采集电路、蜂鸣器报警电路、童锁认证电路的设计,实现了对洗衣机的洗涤、漂洗、甩干工作状态的智能控制。
其中童锁认证功能是为解决儿童使用安全问题而特别设计的。
软件部分的设计包括:
洗衣代码选择、洗衣倒计时显示、进水指示、排水指示、电机旋转、童锁认证等主要过程控制及显示。
通过Keil软件编程来控制电机旋转、12864液晶显示等主要动作。
其中液晶菜单界面的显示设计是关键环节,采用12864液晶的图形显示功能,通过不同的反白及非反白图片之间的切换,设计了良好的人机交互界面。
设置有一级、二级菜单选项,用户可以按提示操作相应的按键,安全、放心地完成自己设定的洗衣过程。
关键词:
STM32F103CBT6单片机人机交互界面童锁认证
Abstract
ThedesignoftheworkprocessforthestudyofhouseholdautomaticwashingmachinemodeltoSTMicroelectronicsmicrocontrollerSTM32F103CBT6asthecontrolcenter,thecompletionofthepowersupplycircuit,LCDinterfacecircuit,DCmotordrivecircuit,relaycontrolcircuit,keyscancircuit,ADsignalacquisitioncircuit,buzzeralarmcircuit,circuitdesigncertifiedchildlock,realizedonthewashingmachinewashing,rinsing,dryingintelligentcontrolworkingconditions.Certifiedchildlockfunctionwhichistosolvethesecurityproblemsofchildrenusingspeciallydesigned.Softwarepartofthedesigninclude:
laundrycodeselection,laundrycountdownshow,indicatingwater,drainagedirections,motorrotation,childlockcertificationandothermajorprocesscontrolanddisplay.ByKeilsoftwareprogrammingtocontrolthemotorrotation,12864LCDandothermajoractions.LCDwhichdisplaysthemenuinterfacedesignisthekey,using12864LCDgraphicsdisplaycapabilities,byswitchingdifferenthighlightandnon-highlightbetweenpictures,designagoodman-machineinterface.Providedwithprimary,secondarymenuoption,theusercanpressthecorrespondingbuttonprompts,security,easetocompletetheirownsetoflaundryprocess.
Keywords:
STMicroelectronicsmicrocontrollerinteractiveinterfacechildlockcertification
绪论
1全自动洗衣机的发展过程
随着社会的进步和生活水平的不断提高,洗衣机是一种在家庭中不可缺少的家用电器,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、甩干等一系列过程自动完成。
家用洗衣机从发明到现在已经经历了一个多世纪,经历以下一些发展阶段:
世界上第一台洗衣机实在1874年由美国的比尔.布莱克斯通(Bill Blackstone)研制成功的。
1910年前后,第一台卧轴滚筒式电动洗衣机问世,标志着人类家务劳动自动化的开始。
20世纪20年代,第一台立轴搅拌式洗衣机再美国试制成功,由此,洗衣机开始了“立轴”与“卧轴”之分。
50年代中叶,日本三洋公司推出单桶波轮式洗衣机。
开始确定了滚筒式、搅拌式和波轮式三种工作方式。
60年代,日本推出了带甩干桶半自动洗衣机,并且大量应用塑料,使洗衣机的发展进入一个新的阶段。
70年代,日本推出波轮式套桶全自动洗衣机,从此开始有了“全自动”洗衣机的概念。
70年代后期,日本推出了微电脑控制的全自动洗衣机。
完成了由机械—电动程序控制到电脑控制的过渡,开始了电脑控制时代。
这时,洗衣机在发达国家已进入饱和期,而在亚太地区发展中国家开始进入普及期。
80年代后期,“模糊控制”洗衣机开始出现,实现了家电器控制方式上的高度自动化。
出现“白色家电”的概念。
90年代,随着变频技术的发展,日本最先推出了电动机直接驱动洗衣机,实现了洗衣机驱动方式上的革命。
今后洗衣机将以高可靠性,完善的功能,节水省电,降噪省时以及规格品种多样化为发展方向。
2洗衣机待解决的一些问题
由于我国洗衣机厂起步晚,加上技术方面的一些问题,不可避免的在现有的机型中出现一些弊端。
主要弊端有:
噪声大,耗水、耗电,进水不畅或进水不止或排水不畅,工作周期不平稳、振动大,损伤洗涤物,洗涤效果不佳,脱水桶自动性不佳,脱水不良,重量大,容量不合理。
具体来说,洗衣机的问题存在于结构、质量、原材料和模具及管理方面。
(1)结构类型方面我国洗衣机多属波轮式。
今后波轮式仍然是主要型式。
为了适应国外市场的不同需求,要适当地生产些新型式的滚筒式和搅拌式洗衣机,进而生产具有波轮式、搅拌式两种洗衣机优点的新机型。
为了使波轮式洗衣机洗涤更合理,应努力将全自动洗衣机提高到电脑型的水平。
双桶洗衣机再提高漂洗的条件下,以重点生产全自动型喷淋式洗衣机为宜。
同时要注意避免新水流洗衣机一味地提高波轮式的转数极其转动时间或增高波轮筋高的倾向,以免损伤衣率和缠绕率回升增高,降低了新水流洗衣机的优越性。
(2)质量方面我国洗衣机的质量问题,具体反映再功能、外观和可靠性三方面,与国外存在再较大的差距。
国内外洗衣机相比较:
从功能、电源插头、面板装饰、旋钮结合,塑料件的光整度(光洁、毛刺和变形),外箱和螺丝钉的成形及防锈,皮带的耐磨及噪音,进排水阀和水位开关质量,电脑控制各种功能的能力,电脑的抗电压波动、抗干扰防静电的能力,以及传感器的灵敏度等方面,很容易看出整体质量的好坏。
再加上装配工艺较落后,致使我国洗衣机的质量稳定性差,出口有一定的困难。
目前我国洗衣机无故障运行水平约为250~500小时,而国外同类产品达1500~2000小时,即十年不需修理。
因此提高洗衣机的质量要从提高零部件的质量入手。
关键电器件和传动件应组织专业分工,制定标准,组织攻关,进行认证,在改进功能方面、外观质量和可靠性三方面,进行全面整理,提高水平。
综合以上分析介绍,全自动洗衣机由于具有对衣物的磨损小、洗涤量大、节约水电等特点,越来越得到广大家庭的青睐。
由于人们对全自动洗衣机在价格低廉的基础上也提出了功能齐全、操作简单、不缠绕、不伤布料、洗衣效果好、性能可靠、工作效率高、便于维修等更高的要求。
为满足人们这种需求,特设计出这种有微控制器控制的全自动洗衣机控制系统。
1系统的总体设计
1.1设计目的
目前中国洗衣机市场正进入更新换代期,市场潜力巨大,人们对于洗衣机的要求也越来越高,目前的洗衣机主要有强弱洗涤功能、进排水系统故障自动诊断功能、暂停等七大功能,在许多方面还不能达到人们的需求。
这就要求设计者们有更高的专业和技术水平,能够提出更多好的建议和新的课题,将人们的需要变成现实,设计出更节能、功能更全面、更人性化的全自动洗衣机。
1.2设计方案论证
(1)方案1:
通过设对计要求的分析,控制对象包括:
按键、电控水龙头1(进水阀)、电控水龙头2(出水阀)、电动机、数码管显示、LED指示灯、蜂鸣器等。
这些被控对象需要根据不同的洗衣程序来设定他们的工作状态和工作时间,电控水龙头1(进水阀)和电控水龙头2(出水阀)来控制进水和出水,同时需要LED指示灯和数码管显示不同的工作状态和剩余时间,按键用来控制程序运行和设置洗衣模式,蜂鸣器用来提示洗衣完成提示。
按照上述的系统方案得到的系统整体构架如图1-1所示。
图1-1原理框图
(2)方案2:
用直流电机代替交流电机模拟洗衣过程。
所开发的全自动洗衣机控制器,由主控CPU单元、电源、12864液晶显示器、蜂鸣器、控制电路、驱动电路、水位监测单元及复位电路构成。
洗衣机控制器采用带字库的液晶显示器12864提供诸如:
进水、洗涤、漂洗、甩干、结束等状态以及控制时间的显示。
通过按键来提供相应的操作,来选择相应的洗衣流程。
对于这次毕业设计课题则通过一个直流电机来代替洗衣机的电机的交流电机,相应的转速和方向来通过专用的电机驱动芯片H桥电路以及PWM来模拟洗衣机的洗涤过程。
有一个液体压力传感器来检测相应的水位,判断是继续进水还是停止进水。
当洗涤结束以及相应的误操作蜂鸣器会发出警报,同时电机立即停止转动,免生危险。
为了防止孩童玩耍带来的后果,开机前会有一个开机认证。
只有通过专用的秘钥认证,才能开机。
秘钥采用USB接口,在DATA+与DATA-配置不同的电阻,通过单片机自带的AD检测电压来进行验证。
其工作原理见图1-2。
图1-2原理框图
由于方案2采用了液晶作为显示单元,且使用了友好的交互式人机界面,比较新颖。
且考虑到设置童锁功能,安全性能比较高,故采用方案2作为本次毕业设计的最终方案。
2系统硬件电路的设计
2.1目前主要应用的单片机机型
(1)Intel公司的单片机
Intel是最早推出单片机的公司之一,主要有MCS-48、MCS-51系列8位单片机和MCS-96系列的16位单片机。
在20世纪八、九十年代,MCS-51和MCS-96曾经是我国最流行的单片机,得到广泛的应用。
这几年Intel公司注重于奔腾系列微处理器,没有推出新的单片机。
(2)ARM微处理器
ARM处理器的三大特点是:
耗电少功能强、16位/32位双指令集和合作伙伴众多。
1体积小、低功耗、低成本、高性能;
2支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
3大量使用寄存器,指令执行速度更快;
4大多数数据操作都在寄存器中完成;
5寻址方式灵活简单,执行效率高;
6指令长度固定。
在本洗衣机控制系统中,要求洗衣机应具有按照用户设定洗衣量、洗涤漂洗时间及次数。
反应剩余时间等参数,自动按照设定的流程来洗涤衣物,并能自动控制洗衣机电机、进水阀、出水阀等工作,同时要求有七个按键输入和并行液晶显示电路,因此该系统是一个多输入、多输出系统。
若用Intel的51系列单片机,一方面需要对I/O进行扩展,另一方面又需要对存储空间进行扩展。
同时由于51单片机驱动能力有限,需外加驱动电路,使得硬件电路过于复杂。
综合上述考虑,决定选用内部有A/D转换器、驱动能力强的意法半导体公司(ST)出产的芯片,STM32F103CBT6。
STM32F103CBT6是基于ARMCortex-M3内核设计,片上集成有丰富的数字和模拟资源,允许最高72MHz的工作频率,是一款性价比很高的32位ARM处理器,是低成本ARM嵌入式应用的极佳选择。
2.2硬件各模块简介
2.2.1微处理器STM32F103CBT6
本设计使用到的控制器STM32F103CBT6采用了LQFP48封装,引脚排列如图2-1所示。
图2-1引脚图
引脚定义如表2-1、2-2、2-3所示。
引脚资源分配如表2-4所示。
表2-1STM32F103CBT6引脚功能说明表1
管脚名
类型
特殊功能
VBTA
电源
PC13-TAMPER-RTC
I/O
TAMPER-RTC
PC14-OSC32_IN
I/O
PC15-OSC32_OUT
I/O
OSC_IN
I
OSC_OUT
O
NRST
I/O
VSSA
电源
表2-2STM32F103CBT6引脚功能说明表2
管脚名
类型
特殊功能
VDDA
电源
PA0-WKUP
I/O
WKUP/USART2_CTS
ADC12_IN0/TIM2_CH1_ETR
PA1
I/O
USART2_RTS/ADC12_IN1/TIM2_CH2
PA2
I/O
USART2_TX/ADC12_IN2/TIM2_CH3
PA3
I/O
USART2_RX/ADC12_IN3/TIM2_CH4
PA4
I/O
SPI1_NSS/USART2_CK/ADC12_IN4
PA5
I/O
SPI1_SCK/ADC12_IN5
PA6
I/O
SPI1_MISO/ADC12_IN6/TIM3_CH1
PA7
I/O
SPI1_MOSI/ADC12_IN7/TIM3_CH2
PB0
I/O
ADC12_IN8/TIM3_CH3
PB1
I/O
ADC12_IN9/TIM3_CH4
PB2/BOOT1
I/O
PB10
I/O
I2C2_SCL/USART3_TX
PB11
I/O
I2C2_SDA/USART3_RX
VSS_1
电源
PB12
I/O
SPI2_NSS/I2C2_SMBAI/USART3_CK/TIM1_BKIN
PB13
I/O
SPI2_SCK/USART3_CTS/TIM1_CH1N
PB14
I/O
SPI2_MISO/USART3_RTS/TIM1_CH2N
PB15
I/O
SPI2_MOSI/TIM1_CH3N
PA8
I/O
USART1_CK/TIM1_CH1/MCO
PA9
I/O
USART1_TX/TIM1_CH2
PA10
I/O
USART1_RX/TIM1_CH3
PA11
I/O
USART1_CTS/CANRX/TIM1_CH4/USBDM
PA12
I/O
USART1_RTS/CANTX/TIM1_ETR/USBDP
PA13/JTMS/SWDIO
I/O
管脚名
类型
特殊功能
VSS_2
电源
VDD_2
电源
PA14/JTCK/SWCLK
I/O
PA15/JTDI
I/O
PB3/JTDO
I/O
PB3/TRACESWO
PB4/JNTRST
I/O
PB5
I/O
I2C1_SMBAI
PB6
I/O
I2C1_SCL/TIM4_CH1
PB7
I/O
I2C1_SDA/TIM4_CH2
BOOT0
I
PB8
I/O
TIM4_CH3
PB9
I/O
TIM4_CH4
VSS_3
电源
VDD_3
电源
表2-3STM32F103CBT6引脚功能说明表3
表2-4引脚资源分配
I/O
引脚
功能
PA3
13
输入,按键S1:
上选项
PA7
17
按键S3:
下选项
PA8
29
按键S5:
左选项
PA11
32
按键S6:
右选项
PA12
33
按键S7:
确认选项
PB1
19
微动开关S2:
水位
PB5
41
微动开关S4:
机盖
PA2
12
蜂鸣器
PB6
42
继电器:
K1进水阀
PB7
43
继电器:
K2出水阀
PA0
10
电机正转控制
PA1
11
电机反转控制
PA4
PA5
PA6
PB8
PB9
PB10
PB11
PB12
PB13
PB14
PB15
14
15
16
45
46
21
22
25
26
27
28
12864液晶屏的控制接口与数据接口
PB0
18
童锁:
芯片模数转换接口
2.2.2电源电路模块
如图2-2所示,由于系统中存在感性元件(电机、继电器、蜂鸣器)运行会拉低系统电压,导致液晶灰度调节值偏出相应范围,故电源采用两节锂电池串联供电,提供7.8V的电压。
采用ASM1117-3.3稳压管,输出的3.3V供给单片机、按键和蜂鸣器。
并且加入ASM1117-5专门供给液晶的灰度调节端口使用。
而相应的电机、继电器等大功率感性元件则直接接入7.8V。
图2-2电源原理图
2.2.3按键模块
洗衣机控制系统需实现以下功能:
进水、洗涤、漂洗、甩干、结束等状态以及控制时间的显示。
在使用中通过按键来提供相应的操作,选择相应的洗衣流程。
在洗衣机控制板上设有S1、S3、S5、S6、S7五个人机交互按键。
各按键实现的功能见表2-5所示。
表2-5按键功能分配表
代号
功能
具体功能
S1
上选项
控制人机交互界面菜单选项向上功能
S3
下选项
控制人机交互界面菜单选项向下功能
S5
左选项
控制人机交互界面菜单选项向左功能
S6
右选项
控制人机交互界面菜单选项向右功能
S7
确认选项
控制人机交互界面菜单选项的选定/退出功能
其电路原理见图2-3所示。
图2-3交互式按键原理图
考虑到洗衣机中的水位检测和机盖报警的实现会有使用及演示等不方便因素,故而在控制板上使用S2和S4两个微动开关代替。
其中S2代替水位检测传感器,S4代替洗衣机机盖报警传感器。
其原理如图2-4所示。
图2-4微动开关原理图
硬件部分采用下拉电路,采用10K欧的电阻作为下拉电阻,这样流过的电流会比较小,而且又能起到相应的传输信号的作用。
对于逻辑上:
按键按下,CPU接收的是高电平。
按键松开,CPU接收的是低电平。
开机后,软件不断检测PA3、PA7、PA8、PA11、PA12的输入。
当有键按下时,软件便会检测到此按键输入口的高电平。
根据扫描到的管脚的电平,来判断相应的按键被按下。
采用软件消抖的方式,需要再检测到按键按下之后延时20ms,再一次进行检测,只有两次都检测到同一个按键时,才进行相应的动作。
2.2.4报警器模块
在本设计拥有全自动洗衣机的故障自诊断功能。
为避免洗衣机出现问题或故障,保证洗衣机的安全工作,在洗衣机运行过程中出现故障时,应立即发出蜂鸣声报警,以提醒用户及时处理。
具体实现方式:
首先洗衣机电源接通,按键、门开关、水位传感器等输入信号传输给单片机,单片机结合内部时钟信号,不断地对接收到的信号进行分析,并判断当前工作状态是否正常,若出现异常情况,则进行蜂鸣报警。
在本设计中,报警装置采用小型无源蜂鸣器。
无源蜂鸣器是靠压电效应的原理来发声的,压电材料,一般常见的是各种压电陶瓷。
这种材料的特别之处在于,当电压作用于压电材料时,就会随电压和频率的变化产生机械变形。
另一方面,当振动压电陶瓷时,则会产生电荷。
就是说这种材料能把机械变形和电荷相互转化,压电式蜂鸣器里面的起振片,就是一种压电陶瓷。
如上所述,要让它振动,除了压电陶瓷本身,还需要适当大小和频率变化的电压作用于压电陶瓷。
压电式(有源)蜂鸣器内部带有多谐振荡器,可以产生1.5—2.5kHZ的电压信号,由此压电式蜂鸣器才能发声。
无源蜂鸣器原理如图2-5所示。
图2-5无源蜂鸣器原理图
蜂鸣器的一端接到VCC电源上面,蜂鸣器的另一端接到三极管的集电极极C,三极管的基级B经过限流电阻R19后由单片机的PA2引脚控制,当PA2输出低电平时,三极管Q3截止,没有电流流过线圈,蜂鸣器不发声;当PA2输出高电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。
因此,我们可以通过程序控制PA2脚的电平来使蜂鸣器发出声音和关闭。
程序中改变单片机PA2引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。
另外,改变PA2输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。
2.2.5水阀模块
水阀分为进水阀和出水阀。
分别用K1和K2两个继电器代替。
其原理如下图2-6所示。
其中,K1代表进水阀门,K2代表出水阀门。
当洗衣机运行时,如果到达进水状态,则进水继电器K1吸合,出水继电器K2断开,模拟进水阀门的打开。
如果到达洗涤状态,则进水继电器K1与出水继电器K2同时关闭。
既不进水,也不出水。
如果到达出水状态,则出水继电器K2吸合,进水继电器K2断开,模拟出水阀门的打开。
图2-6水阀原理图
2.2.6直流电机模块
洗衣机的滚筒采用一个小型直流电机代替。
驱动方式采用脉宽调制技术(PWM技术)来调节转速。
采用一枚专用的H桥芯片L9110S来进行电机的转向及转速的调节。
其引脚功能说明见表2-5所示。
引脚排列如图2-7所示。
表2-5L9110S的引脚功能
序号
符号
功能
1
OA
A路输出管脚
2
VCC
电源电压
3
VCC
电源电压
4
OB
B路输出管脚
5
GND
地线
6
IA
A路输入管脚
7
IB
B路输入管脚
8
GND
地线
图2-7L9110S引脚排列图
L9110S具有静态工作电流低,电压范围宽,带负载能力强,外围电路少及价格较便宜等优点。
非常适合应用于小型直流电机的控制。
其器件应用图如图2-8所示。
图2-8L9110S应用电路图
由图2-8可以看出,L9110S的外围电路只要在IA及IB两个端口连接上控制线就可以驱动它。
图2-9为L9110S管脚波形图。
图2-9L9110S管脚波形图
本设计采用7.8V的两节锂电池供电。
由于CPU的电压等级是3.3V,为了安全起见,CPU到L9110S的控制线采用了光耦进行隔离。
通过IA及IB端口的配置来改变电机的转向,通过PWM技术改变输出端口P6的电压等级,由此来改变电机的转速。
其原理如图2-10所示。
图2-10基于L9110S的H桥原理图
2.2.712864液晶
本设计采用12864液晶作为显示设备。
12864液晶是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128*64,内置8192个16*16点汉字。
其基本特性如下:
(1)低电源电压(VDD:
+3.0--+5.5V);
(