智能洗衣机系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1. 智能洗衣机的设计方案 0
2. 单元模块设计 0
2.1 主控制器简介 0
2.1.1 STC89C52单片机特点 (1)
2.1.2 STC89C52最小系统电路设计 (1)
2.2洗衣机电机驱动电路设计 (4)
2.3 显示电路设计 (3)
2.3.1 数码管简介 (3)
2.3.2 数码管显示电路设计 (5)
2.4 水位检测模块设计 (7)
2.5 按键控制模块设计 (6)
2.6蜂鸣器模块设计 (8)
3.系统软件设计 (10)
3.1 系统软件结构 (10)
3.2 主程序流程图 (10)
3.3 控制程序流程图 (10)
4.系统调试 (11)
4.1 测试环境及工具 (11)
4.2 硬件调试 (11)
4.3 软件调试 (11)
5.设计总结 (12)
6.参考文献 (15)
附录1:作品实物图 (14)
附录2:作品原理图 (16)
附录3:作品PCB图 (17)
附录4:作品仿真图 (19)
附录5:作品程序 (19)
1. 智能洗衣机的设计方案
智能洗衣机系统主要由水位采集模块、驱动模块、显示模块、控制模块四部分组成。控制模块由按键控制组成,用于实时时间的设置,洗衣机根据控制模块的输入值选择不同的工作状态。
显示模块用于人机信息交换,显示当前工作时间和工作状态。水位采集模块用于采集当前洗衣机水的深度。智能洗衣机系统的设计方案图如图1所示。
图1 智能洗衣机系统的设计方案图
2. 单元模块设计
2.1 主控制器简介
本设计主控制器采用软件编程自由度大,外围模块丰富,硬件电路简单的可编程控制芯片STC89C52。STC89C52一类具有8位总线的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐。
2.1.1 STC89C52单片机特点
STC89C52芯片具有如下特点:
★ STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
★低8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB
EEPROM,MAX810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。和atmel的对比STC89C52RC单片机: 8K字节程序存储空间;512字节数据存储空间;内带4K字节EEPROM存储空间; 可直接使用串口下载; AT89S52单片机: 8K字节程序存储空间;256字节数据存储空间;没有内带EEPROM存储空间;
★具有串行在线编程能力;
★强大的中断功能;
★抗干扰力强;
★运行环境温度范围为-40~+85℃,适合于工业环境。
STC98C52单片机的所有外围模块的控制都是通过特殊寄存器来实现的,故其程序的编写相对简单。
图2 STC89C52
2.1.2 STC89C52最小系统电路设计
★电源电路
该电源电路采用直接由电源适配器提供+5V电压,经过稳压电路后供STC98C52工作。并且将数字电源与模拟电源通过电感隔离。通过发光二极管指明电源电路工作正常。电源电路图如图3所示。
图3 电源电路图
图4 晶振电路图
2.2洗衣机电机驱动电路设计
在本设计中电机驱动电路采用了H桥驱动电路,电机驱动电路图如图5所示。
当p26接高电平,p27接低电平时;Q7导通,Q6截止。Q5为NPN,此时Q5基极的电平高于发射极导通;Q4为PNP,此时Q4基极的电平低于发射极导通。Q3、Q8截止,电流经Q4到电机,电机到Q5,再经Q5到地,此时电机正转。当p27接高电平,p26接低电平时;Q6导通,Q7截止。Q8为NPN,此时Q8基极的电平高于发射极导通;Q4为PNP,此时Q4基极的电平低于发射极导通。Q5、Q4截止,电流经Q3到电机,电机到Q8,再经Q8到地,此时电机正转。
在设计中为了避免电机的反电动势的危害,我们在晶体管的两端接了开关二极管1N4148,因为电机线圈在电机开闭瞬间的反电动势通过会高过电源,这样对晶体管电路会有很大影响甚至烧毁。
图5 电风扇驱动电路图
2.3 显示电路设计
2.3.1 数码管简介
LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴
和共阳两类,LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。共阴和共阳极数码管,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。
led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图片图6这是一个7段两位带小数点 10引脚的LED数码管图6 引脚定义每一笔划都是对应一个字母表示DP是小数点。
图6 数码管内部结构
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示驱动
静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机