基于单片机的自动洗衣机控制器设计_第1页
基于单片机的自动洗衣机控制器设计_第2页
基于单片机的自动洗衣机控制器设计_第3页
基于单片机的自动洗衣机控制器设计_第4页
基于单片机的自动洗衣机控制器设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的自动洗衣机控制器设计摘要:全自动洗衣机的出现,使人们的洗衣工作变得省时省力,正因为如此它才迅速的走进了千家万户。本文详细研究了一个自动洗衣机控制器电路结构,以及控制原理。通过按键来设定洗衣机的运行时间,采用ULN2003芯片和超声波测距模块实现单片机对步进电机的驱动和水位高低的测量,用放光二极管来只是当前工作的状态,最后还用LCD1602液晶显示器来显示剩余运行时间和水位的高低。文中详细论述了洗衣机控制器各个模块的工作原理,对一些参数做了计算和取值。并且还通过C语言来编写程序来实现其完整的功能。文章的最后还给出了电路原理图以及详细的C语言程序。关键词:全自动洗衣机;控制器;单片机Design of Full-automatic Washing Machine Controller Based on SCMAbstract:The emergence of the full-automatic washing machine contributes to saving time and efforts for people doing laundry, resulting in its rapid popularity among thousands of households. This paper researches on the controllers circuit structure and control principle of the full-automatic washing machine in detail. We use buttons to set the working time of the washing machine, apply chip ULN2003 and ultrasonic ranging module to realize the drive of stepper motor and the measurement of water level by the single chip. Use LED to indicate the current working status, finally use LCD 1602 to display the remaining working time and the water level. This paper particularly discusses the operating principle of various modules of the washing machines controller, calculates and values some parameters. Moreover, we also program to realize the complete function in the C language. This paper concludes by providing with a schematic circuit diagram and a detailed C language program.Key Words: full-automatic washing machine;controller;SCM目录前言1第1章 方案设计41.1 设计方案一41.2设计方案二41.3 两种方案比较选择5第2章 硬件设计62.1 单片机的选择及外围电路设计62.1.1 AT89C51型单片机与STC89C52型单片机比较与选择62.1.2 STC89C52型单片机介绍72.1.3 外围电路82.2 电源电路102.2.1 7805与AMS1117比较与选择102.2.2 AMS1117介绍以及实际电路。102.3电机选择及驱动电路112.3.1 电机选择及比较112.3.2 28BYJ-48型步进电机112.3.3 ULN2003驱动芯片122.3.4 单片机控制及驱动132.4 显示模块及电路142.4.1 显示器件选择比较142.4.2 LCD1602液晶显示器152.4.3 LCD1602液晶显示器操作控制及指令集152.5 水位测量172.5.1 测量器件的选择172.5.2 HCSR04超声波测距模块简介172.5.3 HC-SR04基本工作原理182.6 其他部件192.6.1工作状态指示192.6.2 按键电路设计192.6.3 报警电路设计19第3章 软件设计213.1 程序语言的选择及编写软件213.1.1 程序语言的选择213.1.2 单片机程序编写软件KeilC51223.2 各部分软件设计223.2.1 主程序流程223.2.2 液晶显示器初始化程序233.2.3 测距程序243.2.4 洗衣程序25第4章 软硬件调试28第5章 总结29参考文献30致谢31附录一:元器件清单32附录二:电器原理图33附录三:控制程序34前言一、本次设计的意义和目的随着数字技术的快速发展,数字技术被广泛应用于控制系统的领域中。单片机以其集成度高、运算速度快、体积小、运行可靠、价格低廉等特点,在过程控制、数据采集、机电一体化、智能化仪表、家用电器及网络技术等方面得到了广泛的应用。洗衣机是现代人必备的日常生活家电,它的发明和应用是人们的洗衣工作变得省时省力,很好的解决了人们在家务劳动方面的压力。而随着人们对生活质量的不断追求,普通的洗衣机已经不能满足部分人的需求,所以研究多功能的全自动洗衣机具有重大的意义。基于单片机的自动洗衣机控制系统具有精度高、功能强、经济性好的特点。无论在提高产品质量还是产品数量,节约能源还是改善劳动条件等方面都显示出无比的优越性。对基于单片机的自动洗衣机控制系统设计进行深入研究,可使我们掌握全自动洗衣机这种重要家电的工作原理和控制系统,进一步了解单片机在不同领域的应用方法,学会单片机控制全自动洗衣机的电控板设计,同时也为将来从事电子行业打下一定基础,所一本次设计具有重大意义。二、国外先进发展技术当今世界是技术、知识大爆炸的年代,只要人们有需要,就有可能生产出某种产品来满足人们的需要。洗衣机的发展正是这样,人们在生活中发现了它的某些不便,就会在实际中不断地改进和完善它,新型的洗衣机正是在这种情况下诞生的。1、超声波洗衣机超声振动产生空穴现象,在洗涤中通过边生产气泡边消失的运动,产生强水压,再加入小量洗衣剂,振动纤维,超声乳化,去污,水中气泡上升,产生了从洗涤桶中央向外侧翻动的水流,使衣服之间相互摩擦,并与洗涤剂充分接触产生很有效的洗涤作用。这种洗衣机洗涤桶小,桶内无运动部件,无机械电气故障,修理方便。词典均匀性好,不缠绕,不伤布料,洗净效果好,省水,省电。2、电磁洗衣机这种洗衣机洗涤桶内有4个洗涤头,上面各有有个夹子,把衣物伸展夹住,每个洗涤头上有有个电磁线圈,接通电源发生2500次/秒的微击振动,使衣物在洗涤液中洗涤。因不用电机驱动,无噪声,省水50%,省电75%。3、高温泡沫洗衣机日本大阪大研制的一种不用水用高温泡沫来洗净衣物的洗衣机。洗涤剂罐于洗衣机低部,放衣物后拨动开关,开始鼓风,将空气送入罐中产生泡沫,由加热到70oC高温泡沫洗净衣物,然后进入洗衣桶旁边的消泡装置,一般洗510分钟/次,21L/1kg干衣。4、真空洗衣机原苏联研制的衣中不用洗衣粉或洗涤剂的洗衣机,真空泵将洗衣桶内吸成真空状态,桶中水运动产生气泡爆破并去污。洗净度高,不损衣、无噪声、造价高。实际上是采用冷沸腾洗涤原理,在几秒钟内从洗涤桶的上部那空气抽空出。稀薄空气与水如沸腾壮,衣物在泡沫旋涡钟搅动,1.52分钟就能洗净衣物,一般洗衣服710分钟即可完成全过程。5、喷射式洗衣机意大利扎努西公司研制一种将洗涤剂不断喷向衣物的洗衣机,似乎无水,可以省水20%,省洗涤剂30%,省能35%,省时间10%。这种洗衣机完全不同于前装式滚筒洗衣机,安装在喷淋系统内的喷射装置持续不断地将水和洗涤剂喷淋在衣物上进行洗涤,并在不锈钢桶内搅动衣物。衣物在液体中不停地搅动,就像桶内根本没有水一样。然而水却渗透过衣物流入位于滚筒底部的一个储水槽中。在槽中,水被从新加热再次循环喷射到衣物上去,洗涤桶做周期性脱水,以排去水和污物,随后漂洗3次,最后脱水洗完。三、国内洗衣机待解决的问题由于我国洗衣机厂起步晚,加上技术方面的一些问题,不可避免底再现有的机型中出现一些弊病。主要弊病有:噪声大,麻电和漏水,进水不畅或进水不止或排水不畅,工作周期不平稳、振动大,损伤洗涤物,洗涤效果不佳,脱水桶自动性不佳,脱水不良,重量大,容量不合理。具体来说,洗衣机的问题存在于结构、质量、原材料和模具及管理方面1、结构类型方面我国洗衣机多属波轮式。今后波轮式仍然是主要型式。为了适应国外市场的不同需求,要适当地生产些新型式的滚筒式和搅拌式洗衣机,进而生产具有波轮式、搅拌式两种洗衣机优点的新机型。为了使波轮式洗衣机洗涤更合理,应努力将全自动洗衣机提高到电脑型的水平。双桶洗衣机再提高漂洗的条件下,以重点生产全自动型喷淋式洗衣机为宜。同时要注意避免新水流洗衣机一味地提高波轮式的转数极其转动时间或增高波轮筋高的倾向,以免损伤衣率和缠绕率回升增高,降低了新水流洗衣机的优越性。2、质量方面我国洗衣机的质量问题,具体反映再功能、外观和可靠性三方面,与国外存在再较大的差距。把国内外洗衣机放再一起,从功能、电源插头、面板装饰、旋钮结合,塑料件的光整度(光洁、毛刺和变形),外箱和螺丝钉的成形及防锈,皮带的耐磨及噪音进排水阀和水位开关发质量,电脑控制各种功能的能力,电脑的抗电压波动、抗干扰防静电的能力,以及传感器的灵敏度等方面,很容易看出哪几台是国产货,再加上装配工艺较落后,致使我国洗衣机的质量稳定性差,出口有一定的困难。目前我国洗衣机无故障运行水平约为250500小时,而国外同类产品达15002000小时,即十年不需修理。我国的洗衣机出口,切不可立足于搞好售后服务,否则将带来很多麻烦。因此提高洗衣机的质量要从提高零部件的质量入手。关键电器件和传动件应组织专业分工,制定标准,组织攻关,进行认证,在改进功能方面、外观质量和可靠性三方面,进行全面整理,提高水平。3、原材料和模具方面洗衣机的原材料主要是塑料和薄钢板,目前均供不应求,需进口。一旦进口受阻,生产便要停滞下来。质量好的原材料生产的塑料件注塑工艺和塑料模具的质量问题。另外,塑料的各种规格来源也不足,靠进口,成本就降不下来,以每台洗衣机10公斤塑料件计,年产1000万台需塑料10完吨,现在远远不能满足需求。薄钢板若以6公斤台粗计,年产1000万台每年需薄钢板6万吨,目前50%还供应不上。我国洗衣机要维持生产,大型模具的设计、制造和使用寿命,应组织攻关解决。4、管理方面各洗衣机厂从国外引进的设备和技术的消化吸收还没有落在实处,有的厂只是计划了一下,软件技术既没有消化,也没有吸收,照老办法生产,甚至买来就一直锁在柜子里。现在出口洗衣机和前几年引进类似,盲目自我竞争,各自为政,因此在出口管理方面,应协调一致,出口业务进行,统一对外。四、设计任务及技术指标1、采用单片机控制洗衣机的自动运行。2、要求该控制器能够设定洗衣的时间、脱水的时间、漂洗的次数和水位的高低。3、要求显示当前运行的时间和当前工作的状态,电机的转动可以采用小电机模拟。4、工作的精度为1秒5、机转动的精度为1度6、求能控制溢水和开门报警7、键操作灵活第1章 方案设计1.1 设计方案一这种设计方案包括按键,发光二级管,共阴极数码管,继电器,S9013型三极管,同步电动机,传感器,蜂鸣器和单片机。按键用来设置初始值;发光二级管用来指示当前工作状态;共阴极数码管用来显示剩余工作时间;继电器用来控制电动机的转动,继电器由单片机通过9013型三极管控制;传感器用来控制水位;蜂鸣器用来当水位超过报警值时的报警。系统中单片机为主控制芯片,是整个系统的核心。利用单片机处理由按键及传感器输入的信号,将其转化成控制信号控制洗衣机的工作状态,实现自动控制功能。并将洗衣机当前的工作状态和此状态的剩余工作时间通过发光二极管和数码管显示出来。电路硬件框图如图1-1所示:图1-1 硬件电路框图单片机P1口P2口P3口P0口按键输入数码管显示74LS04芯片发光二极管显示水位控制开门报警继电器电动机外围电路字型码位选1.2设计方案二这种设计方案包括按键,发光二级管,LCD液晶显示屏,S8550型三极管,步进电动机,ULN2003芯片,超声波测距仪,蜂鸣器和单片机。按键用来设置初始值;发光二级管用来指示当前工作状态;LCD液晶显示屏用来显示剩余工作时间和超声波测距仪距水面的距离;蜂鸣器用来当水位高过或低于警戒值时的报警,单片机通过三级管来控制他;超声波测距仪用来测量该仪器距水面的距离;步进电机用来模拟电机转动,他由ULN2003芯片来驱动。系统中单片机为主控制芯片,是整个系统的核心。利用单片机处理由按键及传感器输入的信号,将其转化成控制信号控制洗衣机的工作状态,实现自动控制功能。并将洗衣机当前的工作状态和此状态的剩余工作时间通过发光二极管和数码管显示出来。电路硬件框图如图1-2所示:按键输入超声波测距图1-2 电路硬件框图使能控制数据单片机P1口P2口P3口P0口ULN2003步进电机发光二极管LCD液晶显示外围电路蜂鸣器1.3 两种方案比较选择第一种方案充分用到了单片机的各个接口,实现的功能也很健全,但是他得外围电路很多,虽然硬件上很容易是实现,但是在软件编写上却有很大难度。尤其是在时间设置上是各个工作状态的时间分开设置,这势必会造成程序的复杂,后果就是给程序运行的流畅性带来困难,且水位测量使用的是压力传感器,这个很难实现。电机是用的220V的交流电机,这个增加了调试中的危险性。第二种方案虽说没有充分利用了单片机的各个接口,使用的元器件也很少,但也较好的实现了洗衣机的功能。单片机使用的接口减少了,就带来了程序编写上的方便,在时间设置,由系统自动分配总时间给各个工作状态,这就给程序运行的流畅性提供了保证。采用超声波来测水位很容易实现,程序编写上也很简洁。最后采用步进电机,使调试过程中电路板远离了这一危险电压。综上所述,最终决定采用方案二。第2章 硬件设计方案二中,按键的作用是控制系统是否开始运行,设置总的工作时间,调节电机的转速。由三个按键组成,一个按键用来控制系统是开始运行还是暂停运行,这个按键还和洗衣机舱门连接,既洗衣机运行过程中打开舱门就会触发该按键;一个按键用来设置总的工作时间;一个按键用来控制电机转速。LCD液晶显示是用来显示洗衣机总的工作剩余时间,并显示超声波测距仪距离水面的距离。ULN2003芯片的作用是帮助单片机驱动步进电机,因为单片机的接口信号是无法直接驱动步进电机。发光二级管的作用是显示当前的工作状态,既是工作在洗衣状态还是漂洗状态,或者是脱水状态,由三个发光二极管组成。超声波测距仪的作用是测量水面距洗衣机平面的距离,高于或低于警戒水位就会报警。电动机是洗衣机的动力部分,由步进电机组成。蜂鸣器的作用是当水位超过或低于警戒值时报警。最后外围电路包括晶振、复位电路。晶振采用12MHz的晶振。2.1 单片机的选择及外围电路设计2.1.1 AT89C51型单片机与STC89C52型单片机比较与选择AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。具有以下标准功能:4K字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。STC89C52是一种低功耗、高性能CMOS 8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量两级中断结构,一个全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。两者比较下来,并无多大区别,都同样与工业标准的MCS-51指令集和输出管脚相兼容。但是,AT89C51只有4K字节Flash 闪速存储器,128字节内部RAM,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口。而STC89C52除了有这些功能外,还有看门狗定时器和内置的4KB EEPROM,MAX810复位电路。此外STC89C52拥有8k字节Flash,512字节RAM,三个16 位 定时器/计数器,一个6向量两级中断结构,从这看出STC89C52是AT89C51的增强版。在程序编写上STC89C52可以支持串口直接下载程序.AT89C51需要价格昂贵的专门编程器才可烧写程序,所以选择STC89C52。2.1.2 STC89C52型单片机特性介绍1STC89C52型单片机有40个引脚,每个引脚都有其不同的功能,具体引脚介绍如下:外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7STC89C52型单片机主要功能如表2-1所示:表2-1 STC89C52型单片机主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共5个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能2.1.3 外围电路时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。方案一:采用内部方式。时钟电路如图2-1(a)所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体振荡器。与其他单片机需要在晶振外并联电容不同,STC89C52型单片机在晶振外不并联电容,这样更利于起振方案二:采用外部方式。时钟电路如图2-1(b)所示,XTAL2接地,XTAL1接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。外部振荡器+5VXTAL1XTAL2这里的时钟电路将采用内部方式,这个方式简单易实现,且产生的时钟精准。晶振将采用12MHz的晶振。XTAL11XTAL2(b) 外部方式时钟电路(a) 内部方式时钟电路图2-1 时钟电路复位电路复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要重新启动。RESET引脚是复位信号的输入端。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RESET)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。方案一:上电自动复位。这是是通过外部复位电路的电容充电来实现的,其电路如图2-2(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。方案二:按键手动复位,电平方式。是通过使复位端与电源Vcc接通而实现的,其电路如图2-2(b)。本次设计的外部复位电路采用按键电平复位,这样做得目的是方便于在单片机运行中出现死机情况时进行人为的复位。VCCRESETGND+5VVCCRESETGND+5VRESET是高电平复位,当5V电源开始供电时,电容开始充电,这时电阻上就会有电流产生,这样就会有电压加到RESET引脚上,单片机开始复位。当电容充满电后,电阻上的电流就为0,也就是说RESET引脚上就没有电压了,所以此时单片机就退出复位状态进入工作状态。在RESET引脚上高电平要持续两个机器周期以上时间才能取得复位效果。时钟电路中晶振为12MHz,所以两个机器周期为2us。根据电容充电时间计算公式:t=RC。这里电容选用10uF,电阻选用10K,经计算,充电时间为0.1秒,远远大于两个机器周期时间,完全可以满足复位。电容放电回路中由于没有电路,因此放电时间很短,而人按键的动作再快也会使按钮保持接通达数十毫秒,因此完全可以使电容充分放电。VCCRESETGND图2-2 外部复位电路(b)按键电平复位(a)上电复位2.2 电源电路2.2.1 7805与AMS1117比较与选择7805是X78XX三端正电源集成稳压模块系列中的一员,它的封装形式为TO-220。输出电压为5V,最大输出电流为1.5A,如果能够提供足够的散热片,就能提供大于1.5A的输出电流。它的内部有电流限制,以及过热保护盒安全工作区的保护,所以它基本上不会损坏。当接入适当的外部器件后,就能获得各种不同的电压和电流。AMS1117是一个正向低压降稳压器,在1A电流下压降为1.2V。AMS1117有两个版本:固定输出版本和可调版本,这里将选用固定版输出电压为 5.0V,它具有1的精度。AMS1117内部集成过热保护和限流电路它多应用于便携式设备中。两者比较下来,都是输出稳定的5V电压,但7805的输出电流比AMS1117大,同样功耗也就比AMS1117大,在工作时会产生更多的热量。AMS1117又叫低压差线性三端稳压器,这就意味着可以用较小的电压获得稳定的5V输出,因而更节能,7805则没有这个功能。所以,本次设计选择AMS1117稳压器。2.2.2 AMS1117介绍以及实际电路。VINTVCC单片机GND321AMS1117的管脚图如图2-3(a)所示. 1 2 3(a)AMS1117管脚图(b)实际连接电路图图2-3 AMS1117管脚图与实际连接电路图AMS1117各管脚功能:1# GND;2# VOUT;3# VINT。AMS1117实际连接电路如图2-3(b)所示。在稳压模块的输入端串联一个二极管,用来保护当电源正负极接反时,可以起到保护电路的作用。输入电压时,VINT输入69V。电路中二极管要有足够高的方向耐压值已经正向导通电流,这里选择IN4007整流二极管,他的额定输出电流为1A,反向击穿电压为1000V,完全可以满足这里的要求。AMS1117的极限参数如表2-2所示:表2-2 AMS1117极限参数参数符 号范 围单位输入工作电压VIN20V引脚温度 (焊接5秒)TLead260C工作结温范围TJ150C储存温度TSTG-65 +150C功耗PD内部限制 (注1)mWESD能力(最小值)ESD2000V注1:最大允许功耗是最大工作结温TJ (max),结对空热阻JA 和环境温度Tamb的函数。最大允许 功耗在给定的环境温度下, PD (max) = (TJ (max) - Tamb)/JA,超过最大允许功耗会导致芯片 温度过高,调整器因此会进入到过热切断状态。不同封装类型的结对空热阻JA 是不同的, 由封装技术决定。2.3电机选择及驱动电路2.3.1 电机选择及比较方案一:用220V交流电机。此种方案是在单片机上接上继电器,然后把交流电机接入继电器上。单片机通过9013型三极管来控制继电器的通断,以来达到控制交流电机的电机的通断,这样就能实现单片机来控制电机的运转。方案二:用5V步进电机。5V步进电机的各个接口接在单片机的接口上,单片机按一定规律输出驱动信号,就可以控制步进电机运转。由于单片机不能直接驱动步进电机,因此需要在单片机与电机之间增加一个驱动放大电路。两种方案比较下来,虽说方案一用到的单片机接口少,程序编写相对于简单,但由于使用的是220V的交流电机,电源需要外接,这里仅需要模拟电机的转动,因此选用方案二中的5V步进电机。2.3.2 28BYJ-48型步进电机28BYJ48型四相八拍电机,驱动电压为输入DC5V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕组通电)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。M红 橙 黄 粉 蓝图2-4 3 28BYJ-48型步进电机外部导线图28BYJ-48型步进电机外部导线如图2-4所示:本次设计将使步进电机进行八拍运行。驱动方式如表2-3所示:表2-3 28BYJ-48型步进电机驱动方式(412相驱动)导线颜色12345678红+橙-黄-粉-蓝-红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。2.3.3 ULN2003驱动芯片根据表2-3可知,步进电机在运行时需要向单片机输入电流,而STC89C52型单片机的IO口最大灌电流输入为20mA,步进电机在工作时则会输出25mA的电流,这样会烧坏单片机,所以必须要再单片机接口与步进电机间增加驱动电路。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。因此ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。ULN2003管脚分布如图2-5所示:图2-5 ULN2003管脚分布1 2 3 4 5 6 7 816 15 14 13 12 11 10 91#7#引脚为脉冲输入引脚;16#10#引脚为信号输出引脚,分别对应1#7#引脚;8#引脚接地;9#引脚接电源。UNL2003极限参数如表2-4所示:表2-4 ULN2003极限参数(若无其它规定,Tamb=25)参数名称符号数值单位输入电压VIN30V输入电流IIN25mA功耗PD1W工作环境温度Topr-20to+85贮存温度Tstg-55to+1502.3.4 单片机控制及驱动由表2-3所列出的步进电机驱动方式所知,步进电机的四根信号线要按照一定的时间规律接低电平,但步进电机的四根信号线是接在ULN2003驱动芯片上的,因此ULN2003输出端要输出低电平。根据ULN2003的特性,只有在输入端输入高电平时输出端才会有低电平输出。因此单片机相应的接口也就要输出高电平了,单片机对应接口信号如表2-5所示:表2-5 单片机电机对应接口信号橙黄粉蓝十六制(P1口)10000 x0811000 x0c01000 x0401100 x0600100 x0200110 x0300010 x0110010 x09上表为逆时针旋转方向,所以可以定义旋转相序:uchar code CCW8=0 x08,0 x0c,0 x04,0 x06,0 x02,0 x03,0 x01,0 x09; /逆时钟旋转相序表uchar code CW8=0 x09,0 x01,0 x03,0 x02,0 x06,0 x04,0 x0c,0 x08;/正时钟旋转相序表步进电机控制及驱动接线如图2-6所示:蓝粉黄橙红1 162 153 144 135 126 117 108 9P1.0P1.1P1.2P1.3STC89C5228BYJ-48VCCULN2003GNDVCCVCC图2-6 步进电机控制驱动原理图单片机IO口输出高电平时,虽说输出电压有4V左右,但输出电流是很微弱的,只有几十微安,这是无法驱动ULN2003使之判断输入端为高电平的,因此需要在单片机IO与ULN2003输入端之间添加上拉电阻,以达到增大驱动电流的目的。ULN2003的输入驱动电流在0.951.35mA,这里选择1mA来计算。电阻R=电压U/电流I,则R=5/1=5K,查阅电阻标称值,最终选择阻值为4.7K的电阻。当单片机IO口为高电平时,电源通过上拉电阻为ULN2003提供驱动电流;当单片机为低电平时,电源通过上拉电阻提供的电流就会流入单片机内。2.4 显示模块及电路2.4.1 显示器件选择比较方案一:共阴极数码管。此方案是将共阴极数码管连接于单片机的通信口上,采用动态显示。因为采用动态显示,因此还需要为数码管准备一个位选信号产生电路。因为单片机接口信号是不能直接驱动数码管的,因此还需要为数码管建立一个驱动电路。方案二:LCD1602液晶显示器。此方案是将液晶显示器直接连接于单片机接口上,液晶显示由电源供电,然后通过程序让单片机控制液晶显示器的显示方式,显示内容。两种方案比较下来,共阴极数码管固然便宜,但他得外围电路比较复杂,不仅要驱动电路,还要位选电路,而且,显示的内容也很单一,只有09数字显示。液晶显示器则不同,他的外围电路很简单,可以直接接在单片机上,显示的内容不仅有字母数字,还有一些符号,这些都可以通过程序来控制,显示的方式也可以通过程序来控制。所以本设计选择LCD1602液晶显示器。2.4.2 LCD1602液晶显示器1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。LCD1602液晶显示器引脚分布如图2-7所示:LCD16021 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16图2-7 LCD1602液晶显示器引脚分布第1脚:VSS为电源地。第2脚:VDD接5V电源正极。第3脚:V0为液晶显示器对比度调整端。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。2.4.3 LCD1602液晶显示器操作控制及指令集1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。开始时初始化使能端E为0,然后置使能端E为1。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。LCD1602要显示字符时,就要向1602中的DDRAM地址写入字符代码就了。DDRAM就是显示数据RAM,用来寄存待显示的字符代码,共80个字节,也就是有80个地址,1602是分两行显示的,所以每行就有40个地址。在真正运用中,无需用到这么多,只需要记住每行的前16个地址就可以了,因为1602每行只能显示16个字符。LCD1602 DDRAM地址与显示位置对应关系如表2-6所示:表2-6 LCD1602 DDRAM地址与显示位置对应关系表显示位置1234571516DDRAM地址第一行00H01H02H03H04H05H0EH0FH第二行40H41H42H43H44H45H4EH4FH要想1602按照我们意愿来显示字符,就要用到指令来对1602进行设置已经寻址。在实际运用过程中,要想LCD1602按照自己的显示方式来显示,就需要用到指令,在本次设计中用到的指令如表2-7所示:表27 LCD1602所用指令指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0功能执行时间清屏0000000001清除DDRAM和AC值,光标复位。1.64us输入方式设置0000000110数据读、写操作后,AC自动加一;画面不动。40us显示开关控制0000001100显示开,光标关,闪烁关。40us功能设置0000111000八位数据接口,两行显示,5x7点阵40usCGRAM地址设置0001A5A4A3A2A1A0设置CGRAM地址。A5A0=03FH40usDDRAM地址设置001A6A5A4A3A2A1A0设定下一个要存入数据的DDRAM的地址。40us写数据10数据数据写入DDRAM或CGRAM内。40usLCD1602与单片机接线如图2-8所示:LCD16021 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16P20 P21 P22 P23 P24 P25 P26 P27P31 STC89C52P30图2-8 LCD1602与单片机接线图GNDGNDGNDVCCVCCVCCGND3号引脚接正电源时对比度最弱,接地时对比度最高。对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。2.5 水位测量2.5.1 测量器件的选择方案一:采用气压传感器。在气压传感器上接入一个软管,将此软管安装在水桶底部,气压传感器的信号输出端接在单片机上。当水桶中的水位升高时必然会造成软管中的气压增大,这是气压传感器就会输出不同的信号,这样就达到测水位的目的。方案二:采用超声波测距仪。将超声波测距仪安装在离水面不远的正上方,利用测量超声波往返水面与测距仪的时间来测量水位。两者方案比较下来:气压传感器在功能实现上比较复杂,在程序编写的逻辑关系上也很复杂,这就造成了程序编写的困难。而超声波测距仪不仅在接线上简单直接接入单片机即可,而且在程序编写的逻辑关系上也比气压传感器简单,所以本设计选用超声波测距仪。2.5.2 HCSR04超声波测距模块简介HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能 ,测 距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。HCSR04超声波测距模块管脚分布如图2-9(a)所示,该测距模块与单片机的连线图如图2-9(b)所示。HC-SR041 2 3 4P17 P32STC89C52VCCGNDHC-SR041 2 3 4图2-9(b) HC-SR04管脚接线图2-9(a) HC-SR04管脚分布各引脚功能:1#VCC:5V电源输入2#TRIG:触发控制信号输入3#ECHO:回想信号输出4#GND:接地HC-SR04超声波测距模块电器参数如表2-8所示:表2-8 HC-SR04超声波测距模块电器参数工作电压DC 5 V工作电流15mA工作频率40kHz最远射程4m最近射程2cm测量角度15 度输入触发信号10uS 的 TTL 脉冲输出回响信号输出 TTL 电平信号,与射程成比例规格尺寸45*20*15mm2.5.3 HC-SR04基本工作原理HC-SR04超声波时序图如图2-10所示:图2-10 HC-SR04超声波时序图根据时序图表明,只要提供一个 10uS 以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。 回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号 时间间隔可以计算得到距离。公式:uS/58=厘米或者 uS/148=英寸;或是:距离= 高电平时间*声速(340M/S)/2。测量时周期应为60ms以上,以防止发射信号对回响信号的影响。HC-SR04超声波测距模块与单片机接线如图2-11所示:HC-SR041 2 3 4P17 P32STC85C52VCCGND图2-11 HC-R04与单片机接线图2.6 其他部件2.6.1工作状态指示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论