版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的多功能雾化器的设计与实现Designandimplementationofmultifunctionalatomizerbasedonsinglechipmicrocomputer内容摘要随着空气受到一定污染的环境下,空气中的灰尘,杂质,PM2.5会损坏人体的健康。并且人体的皮肤在干燥的环境下会感到干痒和不适。本设计是基于CMS89F6385B单片机的多功能智能雾化器,通过单片机控制超声波装置雾化片以2.4MHZ的频率使水面产生雾化现象,并控制风扇将雾化的水汽均匀的扩散开来。单片机整体设计系统还包涵LED三色氛围灯,暖白灯,蓝牙模块,独立控制按键,LF0038KALE红外接收,LED指示灯,蜂鸣器和工作过程中自我安全保护检测等多功能设计。在使用单片机控制雾化片产生雾化增加空气湿度的同时,还可以通过红外遥控器或独立按键来操控系统LED三色氛围灯,使其发出不同颜色的灯光效果,还可以手机连接蓝牙,连接上后系统内置音响可以播放自己喜欢的音乐。从而达到在调节周围空气湿度的同时,还可以多功能选择的调节灯光,音乐等周边环境氛围。测试研究表明效果显著,具有一定的研发前景。关键词:空气污染单片机系统雾化现象空气湿度多功能设计
AbstractAstheairispollutedtosomeextent,thedust,impuritiesandPM2.5intheairwilldamagehumanhealth.Andthehumanskininadryenvironmentwillfeeldryitchanddiscomfort.Thisdesignisbasedonthecms89f6385bsingle-chipmicrocomputermulti-functionalintelligentatomizer,throughthesingle-chipmicrocomputercontrolultrasonicdeviceatomizationsheetwiththefrequencyof2.4MHztoproducetheatomizationphenomenononthewatersurface,andcontrolthefantoevenlyspreadtheatomizedwatervapor.Thewholedesignsystemofsinglechipmicrocomputeralsoincludesmultifunctionaldesign,suchasLEDthree-coloratmospherelight,warmwhitelight,Bluetoothmodule,independentcontrolbutton,lf0038kaleinfraredreceiving,LEDindicatorlight,buzzerandself-protectiondetectioninworkingprocess.Whenthesinglechipmicrocomputerisusedtocontroltheatomizationpiecetoproduceatomizationandincreasetheairhumidity,thesystemledthree-coloratmospherelampcanalsobecontrolledbyinfraredremotecontrollerorindependentbuttontoproducedifferentcolorlightingeffects,andthemobilephonecanbeconnectedwithBluetooth,andthebuilt-insoundofthesystemcanplayyourfavoritemusicwhenconnected.Soastoadjustthesurroundingairhumidityandadjustthesurroundingenvironmentatmospheresuchaslighting,musicandsoon.Thetestresearchshowsthattheeffectisremarkableandhasacertainresearchanddevelopmentprospect.Keywords:AirpollutionMicrocomputersystemAtomizationAirhumidity
目录第一章绪论 第一章绪论1.1研究背景与意义我国经济快速增长,是离不开重工业,制造业等的扶持。在这些企业的扶持下我国得到的是经济快速发展,但是俗话说“有得必有失”,我们失去的是好的生态环境。目前在许多城市都存在空气质量差,PM2.5浓度超标等等空气污染问题。随着经济的发展,电子技术也迎来了高速发展得“春天”。特别在服务家庭生活得电子技术得技术越发成熟,市面上出现不少关于智能家居得单品,如小米得智能扫地机,多功能门锁,智能窗帘等等智能家居单品。越来越多智能单品可以改变人民的生活环境和居住条件。多功能雾化器就可以解决当前我国居住空气环境差,空气干燥等环境问题,智能雾化器以超声波换能得方法由单片机控制产生高频率震动,使纯净水得水面产生雾化现象,再由单片机控制得风扇将雾化得水汽均匀得吹出到空气中。在不断的雾化过程里,智能雾化器周围得空气会保持这一定得湿度和减低空气中的PM2.5。并且智能雾化器还带有三色LED灯,蓝牙,遥控红外控制等等智能功能。LED三色灯可以调为氛围灯状态,使整个房间的灯光环境截然不同。在一定距离可以红外遥控智能雾化器和手机连接蓝牙播放喜欢的音乐调节整个空间的声音氛围。雾化现象使周围环境保持一定的湿度,不仅可以在一定条件下还可以抑制环境中细菌和病菌的滋生,防止人体呼吸道受细菌和病菌感染出现不适,清洁空气对人体有益得作用,还可以在一定湿度下,对家里的家居起到一定的保护作用。当向智能雾化器纯净水中滴入特制的“清香精油”后,当发生雾化现象时可以给一定范围内的空气消毒。1.2研究内容本次设计主要以CMS89F6385B芯片为系统控制核心,在控制超声波装置雾化片形成雾化现象为基础功能的同时,加入了蓝牙模块,红外接收模块,独立按键控制,LEC三色氛围灯,自我安全检测保护等等功能。通过硬件与软件相结合达到设计的要求与目的。本文主要介绍基于单片机的多功能智能雾化器系统的工作原理,硬件设计思路,软件架构逻辑以及整体功能的展示与介绍。整体系统设计采用了单片机技术,蓝牙通信技术,红外接收技术等对CMS89F6385B芯片,蓝牙模块,红外接收模块等等其他功能模块的控制和编程驱动和最后的整体系统调试。1.3设计研究任务及要求本论文设计以增湿空气,调节周边环境氛围为目标,基于单片机整体控制系统为基础,预期此设计可以实现以下几个任务从而达到设计要求:(1)通过控制,可以使风扇工作和超声波装置雾化片在一定的频率下工作,使水面产生雾化现象。从而达到在一定范围内的空气中的水分比例得到提升,达到增湿的效果。(2)通过蓝牙无线通讯的原理,可以实现蓝牙与手机/平板连接,设计系统内置扬声器可以播放音乐。(3)利用红外接收原理实现,在一定范围内通过遥控器可以远程控制设备工作状态。(4)利用芯片脉冲宽度调制PWM通道,控制三色RGB灯,显示出不同灯的颜色,多种工作方式。从而达到调节周边灯光环境的氛围。(5)利用芯片运算放大器和AD通道,时刻检测着工作是否处在安全状态,当出现工作状态异常时,会自动响应相关操作。从而确保设备不会损坏和设备一直处于安全的工作环境。1.4论文架构安排 本论文第一章主要介绍改课题的研究背景和需要达到的要求,从第一章你可以了解到该课题的意义和想要达到的目的,并且可以初步对雾化器有一定的概念。 第二章主要是系统芯片的选型和整体设计方案,这一章节你可以初步宏观的了解到该系统的整体设计思路,对本设计的需要实现的功能有一个初步的了解。 第三章和第四章建议看者按照功能模块相互结合来看,第三章主要简介硬件的设计和相关器件的作用,相对应的第四章软件的设计会与第三章硬件的设计有很大的关联,需要结合来看才更加深入的了解软件和硬件设计的意义。同时第三和第四章也为本论文的重中之重,不仅可以让你了解到每个模块功能是如何实现,还讲解了设计硬件,软件的整体过程。第五章是对整体功能设计的控制简介,这一章节主要是向读者从按键板出发,如何操控本设计的所有功能,同时也介绍到系统本身自行触发的功能。可以让读者整体了解每个功能如何操作。1.5本章小结 本章介绍了本课题研究前景和研究方向,宏观的介绍了一下智能家居之一的智能雾化器的应用前景和市场情况。然后根据需求,提出本设计需要达到的目标和设计的要求。并且介绍了本论文的架构安排,让读者清楚如何更好的阅读本论文。
第二章系统设计方案2.1系统方案设计与选择芯片作为整个系统的“心脏”,芯片的选用尤其重要。本系统主要是以控制超声波装置雾化片来使水面产生雾化现象从而来对周围空气增湿为基础功能,调节周围声光氛围等为扩展功能的多功能智能雾化器设备。所以芯片的选用需要考虑到方方面面的问题。方案一:89C51是作为电子信息工程专业接触最多的一款传统的芯片,在校期间也是也89C51为教学题材,进行一系列的实验。所以用89C51来作为本系统的主控芯片不仅有大量资料可以提供我们参考,还有需要开源程序提供我们编写。可以很快实现本次系统的设计。方案二:中微公司生产的CMS89F6385B芯片,是一款新型芯片,不单止在价格上便宜,封装体积小,而且内部有众多集成模块提供使用,如:比较器,串口,看门狗,脉冲宽度调制PWM输出,高精度12为ADC,内置64字节EEPROM可以重复擦写100万次。而且在雾化器方面已经有许多厂家投入使用该芯片。综合以上考虑,本系统设计特点便携和轻小,如果使用现有的51芯片封装太大,如果重新购买在成本上也是一个问题,其次51单片机是一款比较老的芯片,在校期间也是学习该芯片,如果毕业设计依旧使用该芯片没有很好的可以检验自己本身对单片机设计的理解,从这两个方面考虑就决定不使用89C51作为本次系统的核心控制芯片。然而中微公司的CMS89F6385B是一款新的芯片,工作原理和集成模块与51单片机类似,却又有不同,而且体积小,十分符合雾化器体积小,便携的特点。综上所述,我们将采用方案二,让CMS89F6385B作为本次设计的核心控制芯片。2.2系统总体设计方案2.2.1系统整体设计思路使用CMS89F6385B芯片作为主控芯片有许多的优点,想要充分利用好该芯片每个部分就要先构思基础功能,然后扩展功能,最后思考使用者的体验。基础功能上是利用超声波装置雾化片,在电感电容等等元器件的扶持下稳定产生震动,并且控制其震动频率。从而使水面产生雾化现象,改变周边空气的湿度。其次在改变湿度的同时,扩展增加其可以改变周围灯光环境,声音环境的功能,所以添加了三色RGB氛围灯,蓝牙音箱等模块,从而可以使用户通过控制多功能雾化器的灯光和蓝牙选择自己喜欢的灯光颜色和播放自己喜欢的音乐的前提下,改变周围灯光和声音环境。最后功能再多,如果不梳理好,优化好,用户使用起来不仅有些功能没有用到,而且还会给客户一种使用起来繁琐的感觉。所以从用户使用角度出发,本设计不仅有三分独立的按键,支持长按和短按,而且还有四个LED指示灯,可以体现现在设备状态,最后还加入红外遥控功能,这样一来就大大提升了用户的体验感。2.2.2系统总体架构框图图2-1系统架构框图2.2.3系统的软件开发环境本系统设计过程中主要用到两个软件。一个是硬件方面的AltiumDesigner软件,AltiumDesigner对于不管是对于电子设计的工程师,还是初入电子专业的学生来说都是一款必修的软件,该软件设计电路,设计PCB方面的功能十分强大。基本可以满足所有设计技术要求,并且操作简单。所以本次设计在硬件方面基本都是使用AltiumDesigner软件来设计。软件方面,中微公司对于自身生产的芯片都有专门的编译器和烧录器,如下图所示,CMS_IDE编译软件功能上结合了电子信息工程刚开始接触C语音所学的Keil和C-Fee5软件十分相似。功能上CMS_IDE可以编译C和汇编两种编程语音,在建立新工程文件时需要选择编译芯片和一些属性。图2-2CMS_IDE软件界面CMS_IDE软件和Keil软件一样也提供在线编程烧录的CMSICE6仿真器硬件图2-3所示,可以在编辑好程序后,如果程序员想直接进行调试所编辑的程序在硬件运行是否正常时,就可以直接在CMS_IDE软件上使用仿真器来烧录程序进硬件进行测试。图2-3CMS_ICE6硬件外观图当然CMS_IDE编译完后会生成一个后缀为.CMS的烧录文件。使用CMSWriter专门烧录软件(图2-4)就可以实现文件烧录,保护原程序。 以上所述,本次整体的软件方面的相关设计主要用到CMS_IDE编译软件。图2-4CMSWriter烧录软件2.3本章小结 本章从整体介绍了设计方案和每个模块的硬件大概设计安排,介绍了本系统芯片选型方案。并且从需要达到的功能出发,设计本系统所需的硬件模块有哪些。并且根据设计的模块,画了一个系统架构框图,从而让读者更加清晰本系统一共设计了多少个模块。并且介绍了本系统软件部分的选择和应用。
第三章硬件电路设计与介绍图3-1硬件电路总设计图多功能雾化器硬件总原理图如上图3-1。本章就会从每个模块出发,按照功能实现的流程一一讲解每个模块硬件设计的意义和一些器件的使用。3.1雾化片电路设计图3-2雾化片驱动电路图雾化片工作原理就是利用电容三点式产生的振荡电路,产生的振荡电路与雾化片振荡频率一致的驱动电路,将驱动电路电压接在雾化片上,雾化片会产生振荡能量。并且通过单片机控制输入电压的大小,从而控制雾化片的振荡幅度。根据工作原理,将雾化片接在一个电容三点式的震荡电路上如上图,芯片PE3(第一引脚)接同一基片上的两只相同的三极管-MMDTX436DW三极管的一端,从而芯片通过利用引脚输出脉冲宽度调制PWM信号来驱动雾化片的电容三点式电路。雾化片一端接24V电压,另外一端接在电容三点式的震荡电路上的BU406三极管的基级。当芯片引脚输出一个5V的高电平时经过MMDTX436DW三极管后被放大到24V电压,单片机通过控制引脚输出脉冲宽度调制PWM的高低占空比从而来控制雾化片的震动强度。当同一周期,单片机PE3脚输出的高电平占空比越大,那么雾化片震动的幅度就越强,反之。在PCB板子的封装上,雾化片的插座我选用白色的2P插座,这样容易与风扇,电源,蓝牙扬声器插座混淆,方便我们快速辨认那一部分是喷雾电路。3.2电源电路设计图3-3电源电路作为整个设备的核心动力来源,电源电路输出电压是否稳定是对于整个电路都有一个很大的影响。图3-3的78L05是一个固定的电压三端集成稳压器,78L05采用美国国家半导体微型SMD封装技术,输出电压容差在整个温度范围内的±5%,其内部电流限制和热关断的特性可以很好的处理过载的情况。如内置热过载保护CUIT接管防止IC过热,起到保护IC一定的作用。可以输出电压为5.0V,6.2V,12V等等。可使用与很多应用场合。3.3风扇和蜂鸣器电路设计图3-4风扇与蜂鸣器电路本设计利用到的风扇是由东莞市奇凌电子科技有限公司生产型号为BF5015L12S的风扇,该风扇的工作电压为12V(8.0~14.0V),当接在24V电路时,在风扇的正极接了一个RF1大电阻来减低风扇的电压,使其工作电压稳定在12V。风扇一端接在MMBTRC105SS三极管,该三极管内置R1,R2两个电阻,其中R1为串联在基极上的电阻,主要作用为将输入电压转换为电流,使晶体管工作更稳定。R2为并联在基极与发射极之间的电阻,主要用来吸收、降低从输入端进来的漏电流和噪声等作用。三极管的基级接了单片机RC0脚(第十三引脚),单片机通过输出高低电平从而来控制风扇的开关,电路如上图所示。蜂鸣器则采用工作频率为4KHZ,单片机通过程序模拟脉冲宽度调制PWM输出,当单片机输出周期为250us,高电平占为125us,低电平占为125us时,刚好模拟输出频率为4KHZ的信号来驱动蜂鸣器。3.4三色RGB和暖白灯电路设计图3-5RGB与暖白灯电路暖白LED和RGB_LED两则虽然都是LED但是体现出来的灯光效果截然不同,暖白LED与我们普遍灯光一样,通电后LED发出亮白光。起到照明的作用,灯光与很多手电筒和台灯大致相同。而RGB_LED灯显示出来的灯光效果就丰富的多了。图3-6RGB色谱如RGB色谱图3-6所示,RGB灯是根据红绿蓝三色原理为工作原理,红绿蓝三种颜色的单色发光体集成在一个小面积的LED灯,三种颜色可以单独控制,通过分别控制三种颜色的灯的关照强度,从而显示出各种各样的色彩。图3-5电路图中12个暖白灯一端接着24V的工作电压,一端接着2N551三极管和单片机的RC4(第十四引脚),单片机通过输出高低电平给三极管的基极,从而控制暖白灯的开关。而6个RGB_LED灯一端接着24V工作电压,一端接着ULN2001DS。其中ULN2001DS是一个单片高电压,高电流的达林顿晶体管整列集成电路。该晶体管由3组NPN达林顿管组成。它的高压输出特性和阴极钳位二极管可以转换感应负载。单个达林顿对的集电极电力路为250mA,选用其原因是ULN2001D的特点为输入和各种逻辑类型兼容,最高工作电压可以达到50V,可以单个输出250mA的额定集电极电流,广泛用作于灯驱动器,逻辑驱动器,继电器驱动器等等。3.5自我安全检测电路设计系统的工作是否处于安全状态尤为重要,智能雾化器系统平均工作时间可以达到4小时,6小时。如果保证不缺水的状态下,可能工作时间会达到几年直到机器各个部件老化。一般常用的是加水一次后,工作到无水。这个过程长达4个小时左右。如果系统没有安全检测,那么当工作状态出现异常时,没有一个及时的反应,那么整个系统损坏会特别严重。如缺水时,如果不及时关机,雾化片会很容易就损坏,所以一个系统能时刻检测着自身工作状态,有异常会自动响应,这样才是智能家居的出发点,如果人为关机,既不太现实,又与设计脱节。3.5.1检水模块电路图3-7检水模块电路安全检测之一的检水模块电路如上图3-7所示。雾化片工作时,当水箱的水已经耗尽,系统会及时作出相关响应。雾化片正常有水工作时电压,检水部分反馈到单片机的OPA0-(25引脚)电压是大于0.5V,如下图。图3-8雾化片正常工作OPA0-引脚电压图然而当雾化片缺水时,电压的值会减低,有一部分周期8.2ms期间减低到0.5V以下。通过该硬件设计,利用检水部分反馈回来给单片机的电压,再利用单片机内部的运算放大器就可以区分当前雾化片的工作环境是否缺水,缺水时OPA0-引脚电压,如下图。图3-9雾化片缺水工作OPA0-引脚电压图3.5.2电流检测模块电路图3-10电流采集电路检测电流安全模块电路图如上;主要原理是单片机时刻检测着雾化片的工作电流。当RA1,RA2电阻阻值不变时,通过RA1和RA2电流越大,则电压越大。单片机通过AN9通道接在RA1一端,通过检测该点电压从而通过单片机的内部的模数转换器(ADC)将模拟输入信号转换为一个12位的二进制。并将该结果保存在ADC结果寄存器(ADRESL和ADRESH)中。通过上面第三章3.1的雾化片电路说到,利用单片机RE3(第一引脚)软件模拟输出脉冲宽度调制PWM来控制雾化片工作震动的强度,从而来控制整体电路电流,所以利用检测到的电流的值,通过软件从而来控制RE3(第一引脚)输出的脉冲宽度调制的占空比。从而使雾化片可以在我们设定的范围内工作。通过这一原理可以达到控制雾化片的工作状态,从而控制雾化现象,当雾化片震动强度小,则雾化的水分就少反之。这样就可以实现大雾档,小雾档,细微的调节雾化片产生的雾化量,从而可以根据个人情况和外部环境来定制功能。3.5.3温度与开短路保护模块电路过热处理是一个系统设计的重中之重,如果系统工作时出现异常,导致无法及时散热,那么就会十分危险,轻则整个设计电路板损坏,不能正常使用。严重的话还会发生火灾。所以一个系统的设计除了散热要处理好,是否有过热保护也是十分重要。图3-11温度短路开路检测电路整个系统方面,我们不仅给功率管转上大的散热片,在第三章3.3中讲到的风扇电路里,系统设计的风扇巧妙利用结构,在吹出雾的同时,风扇后还对着散热片,这样一来充分利用系统资源,而且大大的提升了散热效果。图3-12热敏电阻曲线图如图3-11电路中过热检测主要采用NTC-OWC-503F-3950热敏电阻,该电阻特性当温度越高,该阻值越低如图3-12所示。通过单片机AN0(第二引脚)通道和上面3.5.2电流采集电路一样,共用模数转换器(ADC)来检测电流,从而检测工作环境下的功率管温度。当超过我们设定的温度最大值,则系统马上响应,自动处理。保护系统的同时,及时解除安全隐患。开路和短路保护是进一步加强确定系统过热保护正常运作,单片机AN0(第二引脚)通道检测热敏电阻是否正常,如果热敏电阻处于开路,则输入电压24V直接接在单片机上,如果是短路该电压为零。单片机就是通过检测该通道下0V~X~24V这段工作电压是否正常从而来保护系统工作时的安全。3.6蓝牙电路设计图3-13蓝牙模块电路本系统蓝牙模块选用的DYD-D-3864-A蓝牙模块,D-3864-A蓝牙模块为无线音频数据传输产品,高效率的单声道声无线传输方案,模块提供了高品质的音质和兼容性,整体性能更优化。宽电压输入,可直接驱动喇叭输出。只需要把模块接入整体系统如上图所示,就可以快捷地实现音乐的无线传输。图3-14蓝牙模块PCB图该蓝牙模块工作电压为24V,工作电流≤150mA,最远无线传输范围大于10米。扬声器输出功率为3W,所以蓝牙模块接了一个24V动作电压,音频输出端接了3W的扬声器,单片机的SCL(第二十二引脚)和SDA(第二十三引脚)分别连接蓝牙模块的I2C_CLK和I2C_DAT用作数据的读写。3.7按键板模块3.7.1按键与指示灯模块图3-15按键与指示灯电路图本系统在操作设计方面,提供了三个实体按键和四个LED指示灯。三个按键如图3-15所示。按键逻辑分别是短按:开关定时,喷雾档位,灯光效果;长按:切换下一首歌曲,开关蓝牙,调节灯光亮度。还有四个LED指示灯,分别代表着当前机器设定的工作时间:on,定时1小时,定时3小时,定时4小时,提示现在设备工作定时时间。按键一端接着地,一端与LED共用一个单片机引脚,当按下按键时,改引脚作为输入,其余时间引脚作为LED灯的输出。由于按下按键时间很短基本是毫秒的关闭时间,利用人的眼睛看光有残影的原理,所以按按键的一瞬间,LED细小的变化使用者是发觉不出来。所以LED与按键共用是不冲突的。3.7.2红外接收器电路如下图3-16电路中系统采用了LF0038KALE红外接收头,LF0038KALE内含高速高灵敏度PIN光电二极管和低功耗、高增益前置放大IC,采用环氧树脂塑封半球型封装设计,工作电压为2.7~5.5V,低功耗,长距离接收,而且抗干扰能力强,广泛用于视听器材,家庭电器等其他红外线遥控产品。图3-16红外接收电路该LF0038KALE红外接收头电路一端接5V工作电压,一端接地,输出端接单片机的RE0(第八引脚),红外接收到的信号转为电平信号输出给单片机RE0脚,单片机接收到信号后再做相对应的处理,从而达到在一定的距离里,通过红外遥控器操控整个设备的功能。3.8本章小结第三章为本论文最为重要的部分之一,该章节从需要实现的功能出发,介绍了每个模块的设计意义和相关器件的应用与选型意义。本章包含了本设计的所有硬件设计原理,通过本章读者可以很清晰了解到本系统的硬件设计每一个模块是如何通过硬件而实现的。第四章系统软件设计图4-1软件总设计函数图本系统中软件部分采用了模块化的设计处理方法,把每个重要功能模块分别处理,每个模块处理的方式独立,却又相互关联和相互辅助的关系。本系统有九大模块如图4-1所示,分别是主函数,初始化函数,中断函数,时序函数,工作处理函数,ADC采集函数,按键函数,蓝牙处理函数,红外接收函数。每个模块处理的函数,定义的数据都包含在一个GlobalHeadFiles.H文件上,每个模块都包含另外模块定义的函数可以随时调用。本节将会与上面所需的硬件相对应,来说明每个软件模块的用处和如何实现上面所需的功能。
4.1初始化与驱动硬件软件模块图4-2初始化函数流程图SysInit.C初始化函数流程如上图所示,在Main函数进入while(1)循环前就进入初始化函数,首先将初始化芯片内部寄存器和设置IO口,从而驱动各个部分的硬件,使其每个模块正常工作。中断控制寄存器INTCON(0BH)置零,禁止所有中断的发生。设置振荡器控制OSCCON寄存器,芯片有内部RC振荡和外部XT振荡提供选用,本系统中选用的是内部RC振荡,所以将OSCCON寄存器置为0X71,设置振荡为8MHZ。将预分频器OPTION_REG置零,初始化预分频器。调用GpioInit()函数:定义各个IO口的状态,根据上面硬件电路的设计与要求功能设置IO口的输入,输出状态。如将雾化片连接的RC0引脚设置为输出,检测电流RB3引脚设置为输入。设置PORTA上拉电阻寄存器WPUA(18EH),每个PORTA引脚都有可单独配置的内部弱上拉。控制位WPUA<7:0>使能或禁止每个弱上拉。当将端口引脚配置为输出时,其弱上拉会自动切断。同理也设置PORTB上拉电阻寄存器WPUB(95H)。禁止LED使能LCD/LED功能的SEG口的设置等等其他IO口寄存器的初始化与设置。调用AdInit()函数,初始化模数转换器(ADC),将上面硬件介绍到的检测原理,电流检测(AN9)与温度检测(AN0)的初始AN通道选择电流AN9通道。调用定义参数初始化RamInit()函数,初始化开机时灯的亮度参数,灯光闪烁参数,开机雾化档位参数等等。调用Pwm10Init(),Pwm8Init()初始化函数,设置PWM模式相关寄存器,使PWM模式在CCPx引脚上产生脉宽调制信号,PWM有自己独立的周期计数器,通过设置寄存器确定占空比、周期和分辨率:在CCP1CON寄存器选择PWM模块。在PWMCON寄存器设置预分频为4。设置周期数据寄存器的值为0Xfe。设置CYC1EN的PWM1的周期计数器使能位为1。通过设置由公式一,二可以计算出自己设置的脉宽调制PWM的周期和占空比。公式一:公式二:设置定时2,本系统主要利用到定时器2,所以设置定时器2可以得到我们最重要的一个中断函数。我们将首先设置外设中断允许寄存器PIE1(8CH),允许TMR2定时器2与8位周期定时器PR2匹配中断。TIMER2模块的输入时钟是系统指令时钟(8MHZ/4)。时钟被输入到TIMER2预分频器,设置分频比为:<1:1>。将8位周期定时器PR2设置为250,因为预分频器的输出随后用于使TMR2寄存器递增。TMR2将从00h开始递增直至与PR2中的值250h匹配。当匹配发生时,TMR2在下一递增周期被复位为00h,TIMER2后分频器递增。则得到一个定时器2的中断,由(8MHZ/4)=2MHZ=0.5us。定时器2计时一次,从00h到上面设置的PR2=250h一共计时250次将产生一次计时中断则0.5us*250h=125us。其中TMR2IF为其中断的标志。使能中断,允许所有未被屏蔽的外设中断。4.2雾化片电路的驱动与软件设计原理图4-3雾化片输出PWM流程图由硬件介绍可知,当雾化片引脚RE3一直输出高电平时,雾化片振荡的幅度会越大,这样会导致雾化现象时,水面上的雾太多,风扇不能均匀吹出,而且该引脚一直输出高电平时电路的电流也会越大。所以软件里要设置模拟脉宽调制PWM输出,控制高电平的占空比,从而控制雾化现象的大小,从而达到可以控制雾化量。在软件中如4-3流程图所示,通过设置uiAtomizePwm为高电平的占空比,上面初始化所设置的定时器2中断,控制每125us就uiAtomizePwmCnt++从而确定高电平的占空比和低电平的占空比。而AtomizePwmRate则可以控制一个周期的时间。通过软件的模拟,只要我们设定好uiAtomizePwm参数的值就可以实现大雾档,小雾档的输出,再加上定时器2的计时,可以实现间隙15s开喷雾,15s关喷雾和设备定时1h.3h.6h的功能。4.3风扇与蜂鸣器的软件设计原理4.3.1风扇软件设计图4-4风扇软件流程图通过上面的硬件设计,软件控制逻辑如图4-4所示,风扇主要通过定义的#definePoFanRC0的PoFan标记开控制三极管从而控制风扇的开关,当PoFan=1时则单片机RC0输出高电平,风扇转动反之。然而在整个程序里由fgFan定义的参数标记来判断开关。4.3.2蜂鸣器软件设计由于本系统硬件设计用到的是4KHZ蜂鸣器,控制流程逻辑如下图4-5所示将蜂鸣器#definePoBuzzRA1的PoBuzz放在上面所述的定时器2中断函数里面,然后每125us不断取反,则会产生周期T=250us,高电平125us,低电平125us的软件模拟输出脉冲宽度调制PWM来驱动蜂鸣器。换算可得刚好符合蜂鸣器的频率f=1/T=1/250us=4KHZ。再加自定义的fgBuzzON参数来控制蜂鸣器的开关,当fgBuzzON=1时蜂鸣器响。图4-5蜂鸣器流程图由于本设计利用到的蜂鸣器做声音提示,所以蜂鸣器响的次数和响的时间都频繁利用到。所以我们通过定义ucBuzzType来控制蜂鸣器响的次数,即当ucBuzzType=2时,蜂鸣器响两声如此类推。还有蜂鸣器响超过两次时的间隔时间,所以我们通过定义ucBuzzDYTime参数来控制时间。具体程序流程如上图4-4所示。通过该软件设计,我们可以通过直接设置ucBuzzType和ucBuzzDYTime来驱动蜂鸣器响的次数和间隔时间,大大提升了编写软件效率和程序移植效率。4.4暖白灯与RGB驱动与软件设计原理本系统在控制灯光上利用的是单片机内置的两个脉宽调制PWM1,PWM2分别控制RGB灯的红色和绿色两个颜色,然而蓝色是需要通过软件模拟输出脉宽调制,原理都是一样,都是通过控制脉宽调制的占空比从而来控制三种颜色的亮度,从而来混合成各种各样的颜色。其每个颜色的可调范围[0,255],即三种颜色每个颜色可以有256种亮度可以调节,三种颜色结合起来256*256*256=167968768种颜色可以调节,只要设置设定程序的ucTagBlueLed,ucTagRedLed,ucTagGreenLed三个颜色标记值来控制三个颜色的占空比,就可以调节各种各样的颜色。图4-6灯光效果转换流程图其中关于颜色之间的转换逻辑通过图4-6可以看出,我利用ucRgbType参数来标记着当前灯光显示的模式,切换也是通过改变ucRgbType的值从而来确定下一个灯光模式的显示。最为特点的是渐变模式和蜡烛灯模式,渐变模式和蜡烛灯模式是通过等比加减的办法来显示,将三种颜色按照已经设定好的值的比例,在自动切换下一个过程中颜色时,也是按照设定好的比例,等比的变化,从而在颜色与颜色之间的切换不会显的突兀,不自然。该办法也使用于各种的灯光自动切换调节。灯光显示效果可以在附录一查看。4.5自我安全检测软件设计原理图4-7AD检测数据流程图关于自我安全检测方面,主要采用芯片内置的模数转换ADC模块,由上面硬件所诉,温度检测,开路,短路和电流检测都是利用ADC模块,只是AN通道不一样。所以我采用分别采集的方法来切换的采集温度和电流。如图4-7利用在前面的初始化函数,将ADC模块相关的寄存器和定义的参数和AN通道都做了一个初始化,当需要采集时首先设置AD控制寄存器ADCON0,然后GODONE转换状态位需要一个“0”-“1”-“0”跳变,当启动后,通过跳变最后检测GODONE状态位是否为“0”,则可以确定是否AD采集已完成。完成后AD采集的值会在数据寄存器高位ADRESH/L两个高低四位寄存器内,最后将采集的数据分别对应位置赋值给参数uiAdcBuf。则已经完成了一次AD采集。4.5.1温度开路短路采集安全保护图4-8温度开路短路程序流程图在上面所述的AD采集函数return回来的uiAdcBuf在安全保护函数中,当选好AN通道后利用uiTempAd来装AD采集的返回值。所以我们只要处理uiTempAd的数值就可以确定当前是否处于过热,开路和短路状态,逻辑如上图所示。当AD采集反馈回来的参数超过我设定的范围ShortAd短路保护值,OpenAd开路保护值和OverTempAd温度保护值时,则立即采取安全保护措施,自动关灯,关风扇和雾化片,然后RGB灯闪红色同时蜂鸣器一直响直到断电为止。4.5.2检水安全保护图4-9检水软件流程图检测雾化片是否缺水上面硬件已经说明当雾化片正常工作和缺水工作时的电压有明显的差异,我利用单片机的运算放大器OPA0来做比较器。首先使能OPA0运算放大器,设置其工作方式和设置相关寄存器的值,使其工作在我设置的范围。其次,将设置相关脚位,在这次运算放大器中我设置正端输入为1/10的VDD即0.5V。负端接地。当OPA0-引脚反馈回来的电压与0.5V做比较,当低于0.5V时,输出口OPA0(PiDryPrct)为高电平,反之。所以我只要记录下高电平时的时间如上图所示,如果高电平总时间超过8ms则表明雾化片已经缺水,则马上进入相关处理函数,关机报警,从而保护雾化片和设备。4.6蓝牙模块软件的设计与原理4.6.1蓝牙模块读写程序设计图4-10蓝牙写程序流程图蓝牙的读写主要是靠蓝牙模块连接到芯片的SAD和SCL两个引脚,本系统的蓝牙软件设计是采取了上图所示的IIC协议,异步触发。空闲时间都为高电平,需要通讯时SCL为高电平期间,SCL出现下降沿则标记着起始位,SCL为高电平期间SDA出现上升沿则为终止位。数据传输则SDA的数据在SCL高电平期间。图4-11读写程序流程图根据IIC协议,在进行读写过程中设计了ucStatus代表着当前的状态位,当ucStatus=1时为起始状态,ucStatus=2时为数据传输状态,ucStatus=3时为终止状态。确定了状态则发送或者接受相对应的信号,从而达到与蓝牙通讯正常。如图4-11所示,当想写入数据给蓝牙时,需要先发送起始位的信号,通过ucT2msCnt设置一个高电平或者一个低电平的时间,从而来确定周期为500us+500us=1ms。频率为1KHZ。再通过uci2cStep来写入高低电平的占空比,根据IIC协议起始位需要发送一个异步启动,则第一个500us中uci2cStep将SCL和SDA都输出高电平,第二个500us则给SDA输出低电平,SCL保持高电平,则产生了当SCL高电平时,SDA有一个下沿信号。同理,数据传输的写入和终止位的写入也是根据这个流程,将数据的每一位为逐一对应写入到蓝牙模块中。在数据传输中我将需要传输的数据如:B11011101在传输中与DataTab[]数组做“&”比如:将B11011101中的第七位1写入蓝牙模块,则通过B11011101&(DataTab[7]=B10000000)来判断第七位是“1”还是“0”。如果结果为“1”则PoSda输出高电平,反之。单片机的接收蓝牙信号也是与写入信号大同小异。4.6.2蓝牙模块运用流程图4-12蓝牙模块控制流程图蓝牙控制逻辑如上图所示,在使用者想使用蓝牙时,长按中间KEY2按键进入蓝牙唤醒函数,当蓝牙模块唤醒后,可以正常与手机连接蓝牙,此时单片机时刻接收蓝牙模块信号,如果接收到蓝牙模块返回的“0xE2”已连接成功信号,则可以播放手机音乐。使用者想切换下一首歌曲时长按最右按键或者遥控器左下角按键可以切换下一首歌曲。4.7按键板软件设计原理4.7.1红外软件设计与原理图4-13红外接收软件处理流程图 图4-13所示红外接收软件设计是通过红外接收头将红外发射口发射出来的数据,转为高低电平。在红外处理函数中,将记录下一个周期高电平的占空比和低电平的占空比,根据红外接收口的协议,来确定是否接收成功。当接收成功后,将调用相关处理函数,执行该命令。从而实现在一定的距离里可以通过红外遥控器来操控设备。图4-14红外通讯协议图 利用红外接收器中,软件接遵循上图4-14的通讯协议,一个完整的红外信号由引导码,指令码,校验码构成。通过检测引导码是否接收正常从而开始接收下面的数据,如果接收码失败则不再接收下面的数据。4.7.2按键LED指示灯软件设计图4-15按键处理流程图按键是利用检测IO口高低电平和计算按下的时间如上图所示,从而来确定用户按下的是哪个按键和是需要进行长按操作还是短按操作。首先将按键IO口置高电平,然后设置相关IO口为输入,当用户按下按键后,根据第三章3.7小节可知用户按下的是KEY1,KEY2还是KEY3。当按下时IO口输入低电平,则将按下的按键的值赋给KEYData,通过retrun将检测到的值反馈到按键处理函数如上图。按键处理函数中,先判断是按下哪个按键,然后当用户记录下按键的时间,当按键超过1.5S时,则uckeyok置零,不进入短按模式。如图4-11可知根据用户按下的按键来进入相关处理函数,从而实现相关功能。图4-16LED指示灯原程序图 从第三章的3.7小节可知,软件方面通过设置四个IO口的参数,来控制当前状态下,亮哪个指示灯。每个模块可以直接定义ucTimeMode参数来确定灯亮的类型。也可以给一个循环。4.8本章小结本章主要简介了结合硬件模块,软件是如何设计的。本章通过流程图与文字说明的形式讲解了每一个功能如何在硬件的基础上,通过软件的设计从而达到最终的功能实现。本章根据软件设计原理,简约画成了程序流程图,通过流程图和文字的讲解,读者可以清晰的知道每一功能软件是如何控制和设计。
第五章系统功能介绍 本系统控制方面主要通过按键和红外遥控器来操控系统的灯光,雾档,蓝牙,定时开关等,本章将分别介绍按键和红外遥控器主要控制系统的哪些方面的功能。从操作功能层面出发,充分了解本系统所有设计的功能。图5-1按键板图5.1按键控制功能(一)按键短按控制KEY1(短按)无定时关机,开机,亮RGB灯,进入渐变模式,大雾档模式(蜂鸣器响一声);定时1小时关机,灯光渐变模式;定时3小时关机,灯光渐变模式;定时6小时关机,灯光渐变模式;关机,关灯,关雾;KEY2(短按)开机状态下才可以进行操作:蜂鸣器响两声,进入小雾档模式;蜂鸣器响三声,进入间隙档模式;蜂鸣器响一声,进入大雾档模式;KEY3(短按)开灯,渐变灯模式;进入定色模式:红色-青色-绿色-浅蓝色-深蓝色-粉色-白色;进入暖白灯模式;进入蜡烛灯模式;关灯;(二)按键长按控制KEY1(长按)打开蓝牙模块才可以进行:(1)切换下一首歌(如果蓝牙没有打开,蜂鸣器提示四声);KEY2(长按)(1)开关蓝牙;KEY3(长按)当前亮度调成50%;当前亮度调成100%;5.2红外遥控器控制功能图5-2红外遥控器图KEY1总开关,开机,开灯;总开关,关机,关灯;KEY2开灯,渐变灯模式;进入定色模式:红色-青色-绿色-浅蓝色-深蓝色-粉色-白色;进入暖白灯模式;进入蜡烛灯模式;关灯;KEY3(1)切换下一首歌曲(如果蓝牙没有打开,蜂鸣器提示四声);KEY4开机状态下才可以操作:蜂鸣器响两声,进入小雾档模式;蜂鸣器响三声,进入间隙档模式;蜂鸣器响一声,进入大雾档模式;5.3自动响应功能(1)缺水保护:蜂鸣器报警发出报警,RGB灯闪烁红灯提示,关机。(2)过热保护:蜂鸣器一直报警,直到断电,RGB闪烁红灯提示,关机。(3)开路短路保护:热敏电阻开路或者短路,蜂鸣器一直报警,直到断电,RGB闪烁红灯提示,关机。5.4本章小结本章从控制出发,讲解了通过前面硬件与软件的综合设计,所实现的功能模块是如何通过按键模块来操作功能。通过本章读者可以清楚本系统所有的功能是如何操作和具体有哪些功能。
结论 多功能雾化器可以从多方面改变人们的环境,给人提供一个湿度适宜,灯光舒适,声音柔和的环境,在智能家居中占据一定的地位,十分适宜家庭环境的使用。用这个题目作为课题不仅充分利用到电子信息工程所学的知识,C语音,电路设计,蓝牙,红外通讯等等知识,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能车库门系统智能化改造合同4篇
- 花岗岩挡车石施工方案
- 2025年度个人房产抵押权质权合同示范2篇
- 2025年度智能门窗系统安装与智能家居集成合同4篇
- 2025年度职业技能培训学校招生代理合作协议3篇
- 2025年玻璃制品展示设计与制作合同3篇
- 2025年度仓储物流信息化系统租赁服务合同2篇
- 基于2025年度标准的知识产权许可使用合同3篇
- 2025年能源行业学徒培养与劳动合同3篇
- 民用住宅消防安全管理
- 参考新医大-中央财政支持地方高校发展专项资金建设规
- 山东省房屋市政工程安全监督机构人员业务能力考试题库-上(单选题)
- 松下-GF2-相机说明书
- 产教融合背景下“一体两翼三融合五重点”创新创业人才培养机制研究
- 新型智慧水利项目数字孪生工程解决方案
- 煤焦化焦油加工工程设计规范
- 2024年人教版小学三年级信息技术(下册)期末试卷附答案
- 新苏教版三年级下册科学全册知识点(背诵用)
- 乡镇风控维稳应急预案演练
- 脑梗死合并癫痫病人的护理查房
- 苏教版四年级上册脱式计算300题及答案
评论
0/150
提交评论