基于蓝牙控制的自动窗帘系统设计

摘 要

伴随着电子科技和物联网技术的进步,智能家居引领了家居革命的浪潮。如今,时尚智能的电子家居产品已随处可见。本文目标是设计一款便利、实用、高性能、低成本、用户体验舒适的智能升降窗帘系统。

本文以STC89C52芯片为核心处理单元,控制系统时序和完成功能管理。设计光照强度监测电路、时钟电路,实现系统定时窗帘升降与光照自动升降功能;蓝牙功能和液晶显示电路,实现人机交互;设计电机驱动电路,使电机能够定向转动,实现窗帘的升与降;同时利用手机蓝牙APP,可以通过蓝牙通信,控制窗帘的开关。此外设计高效可靠的电源电路和复位电路,为系统工作保驾护航。设计的系统功能齐全、简单便利、实用性强、有很高的应用前景。

关 键 词:蓝牙窗帘;STC89C52单片机;光强检测;定时

第 1 章 引 言

 1.1研究目的和意义

迈进21世纪,电子信息和物联网技术急速发展,缔造了一大批先进的科技产品。随着技术的变革,人们越来越期望更加高效、舒适的生活。智能家居的到来实现了人们生活品质的大大改善,越来越多的科技产品走进千家万户,如扫地机器人、智能锁、智能空调等。这些先进的科技产品给人们生活带来了高效、舒适、安全的生活体验,大大提升了人们的幸福感[1]。

相较于传统的家居服务,智能家居的出现不仅释放了人们的“手”,更解放了人们的“脑”。它通过感知外部环境信息变化,实时动态地调节设备工作,自动地为人们提供最好的生活环境和服务。此外,物联网技术将各种家居用品组成一个网络,各个设备间信息共享,为人们提供综合的资源信息,实现设备的统一操控、综合利用。软件化、便捷化操作设备使人们能轻松管理所有家居设备,节约了大量时间。自恢复、自清洗功能的出现,使人们告别了繁琐、复杂、费时费力的设备维护和检修[2]。这些先进的智能家居产品和服务技术简化了人们的设备操作,提升了生活水平,为人们的生活方式带来了巨大的变革。

尽管已经出现了相当多的智能化电子产品,人们仍缺乏一款方便、安全的自动升降窗帘来进一步改善生活品质,提高生活质量。不仅在家庭生活中,智能窗帘还能应用到酒店、办公楼、商场等场所。因此它有着广泛的应用前景和强大的市场需求。

1.2国内外发展现状

随着半导体技术、PC技术等先进科学技术的发展,智能家居产业获得了蓬勃的发展。相比于早期产品,现在的家居产品更加智能,网络化、物联网化,越来越多的智能设备走进人们的家庭生活。

在国外,智能家居工业正在发展。1984年X首个智慧建筑建成后,智能家庭工业紧随其后发展起来。X、欧洲、加拿大和东南亚等拥有更好经济体系的国家实际上提供了一系列明智的家庭解决方案。

例如,在新加坡,智能房屋系统在30户家庭中服务了5000多用户,在X有近4万户用户应用了这一类的服务设施[3]。

自2003年以来,国内市场和韩国市场就涌入了大量的三星家具系统,在此系统中,就将控制系统、信息设备、休闲设备等集成到家庭控制网络中[4]。

与国外高技术经济体相比,居住智能的技术与发展在国内发展相对滞后。但随着4G、5G技术的兴起,国内智能家居产业得到井喷式发展。

在《2000年城市和农村健康小住宅科学技术产业方案》的执行方案中明确列入了“智能舒适示范区”的建设。在此建设中,就通过成立家庭信息网络技术委员会,在此基础上推出了一个新的国家创新方案。经过一系列的政策措施和资金投入,各种智能化家电产品络绎不绝。

作为智能家居产品中的一员,智能升降窗帘技术也收到很多关注。例如,本世纪初,英国一家公司研发了一款需求定制窗帘,根据人们需要指定个性化的定时开关等操作。国内智能升降窗帘在十年前已有市场痕迹,但介于其昂贵的价格,难以广泛推广[5]。

1.3本设计研究的主要内容

本设计主要研究的内容是设计一款操作简单、方便快捷的智能升降窗帘,其主要功能包括:

定时自动升降。定时模式下通过设定定时器响应时刻,在预设的时刻控制窗帘升降。

根据光照强度进行自主升降服务。光照模式下,传感器感知光照强度信号,与预设的强度阈值实时对比,当光照强度达到阈值,控制窗帘自动升降。

蓝牙遥控窗帘升降。用户可以通过红外遥控器,在任一时刻干预窗帘的自动升降,调节窗帘遮光面积。

1.4 本文的论文结构和章节安排

本文一共分为六章,章节内容安排如下:

第一章为引言,介绍了研究蓝牙智能控制系统的目的和意义;目前该系统的国内外发展现状。

第二章为蓝牙智能窗帘控制系统方案设计,该设计涉及自动控制、传感器检测、任务模式选择、数据显示等模块、红外遥控模块,简要描述系统主要设计方案及各器件选型。

第三章为系统硬件设计,本章进行系统硬件电路和各模块设计,与此同时,也进行了各个模块的研究。

第四章为系统软件设计,在本章中,主要是进行系统软件和各模块设计,并对各模块工作原理进行了深入细致的说明。

第五章为系统调试,本章进行系统调试,分别为软件调试,以及硬件调试,分析出如何获得最佳的方案,说明其各调试过程中需要注意什么。

第六章是全文的总结与展望,总结了本设计的优缺点和对其未来的期望。

第2章 系统方案设计

智能窗帘的设计涉及自动控制、传感器检测、任务模式选择、数据显示等模块、蓝牙遥控模块,本章简要描述系统主要设计方案及各器件选型。

 2.1 总体方案

561dd9ae19b366a28d33eb0458cb0bd8  图2-1 系统方案

系统总体方案如图2-1。全系统以STC89C52芯片为核心处理单元,根据光敏电阻采集的光照强度信息和系统时钟响应,控制驱动电路驱动步进转动,进而使窗帘自动升降。此外,用户可以根据独立按键进行系统模式选择和任意时刻的人为升降干预。所有监测信息和模式选择由液晶显示器直观显示,便于用户查看。稳定的外部电源设计,保证了系统的高效、持久运行。

考虑系统实现难度和成本,系统将STC89C52作为主控芯片。STC89C52是51微处理器家族的一员,具有低能耗、高性能、低成本、开发简单、在线编程等特点。它是8位CMOS微处理器,采用MCS-51内核,内置8k片上编程的闪存。兼容51处理器程序。此外,它还集成了4K的EEPROM存储,实现了数据、程序掉电不丢失,因此无需额外的存储芯片。

 2.2 电机选型

小型电器常用的电机包括直流电机、交流伺服电机和步进电机。在功能,尺寸,扭矩,精度和速度等方面,根据用户的具体,从市面上主要产品中选择合适的电机。

直流电动机由直流电动机控制,直流电动机将电力转化为转子动能,这种转子动能在正常调节速度下广泛应用。但通常直流电动机中转矩非常低,如果不与变速箱结合,实用性会降低。变速箱会减慢电机的转速,并使转矩量加大。

交流电是通过三相交流电运行的。内部转子是一种固定磁铁,经过U/V/W阶段,在转子内部形成一个电磁场。在这个磁场上回转。这时,引擎再把信号发送到电机上。驱动器对比接受到的反馈值与设定的目标值,来调整转子到指定角度。

步进电机是数字脉冲驱动的机械运动器件。它们以固定的角度旋转或上升。脉冲发生器向推进器发送信息,进行速度和定位设置。通过每个脉冲控制,控制和驱动程序将数字程序信号变换为正确的旋转程序。

考虑系统控制精度要求和电路设计复杂度,本文采用步进24BYJ48减速步进电机实现窗帘的自动升降。其尺寸和构造如图2-2所示。它的基本参数包括:相电阻:18欧,电压:DC 5V,减速比:1/64,线长:9cm。

1ef44651aa08a82901dcfa8bb7065ea7  图2-2电机实物图

为了控制发动机的运行,设计了一个基于ULN2003模块的电路。ULN2003是一种高压、高电流的复合IC。包含七个NPN晶体管,每一路都接入基准电压,可以直接和TTL或CMOS电路直连。因此使用ULN2003芯片设计电机驱动十分方便。

 2.3 传感器选型

传感器是系统的“眼睛”,用来监测周边环境变化,为系统提供实时的状态反馈[6]。本设计用光学传感器监测实时外部照明条件。光传感器被归类为热效应传感器[7]。它使用光敏感探测部件,感知光照信息,使用光敏二极管将可见度信号转换为电信号,然后通过传感器处理电路,输出二进制的数字信号。

本文中考虑到系统性能和成本要求,使用5506光敏电阻元件作为光照传感器监测外部光照条件变化,如图2-3。它在体积、反应、灵敏度、可靠性等方面有着很大的优势,能够快速精确捕捉光照信息。

b69992c1e3a1bdb122b5c97fe42a17d8  图2-3光敏电阻原件

 2.4 显示器选型

显示器是进行系统人机交互的关键。本系统采用LCD1602显示系统信息。它能同时向用户展示32个字符(16*2),涵盖数字、字母、符号及自定义字符等多种字符。控制方式既可以采用串行控制,也可并行控制,控制方式简单,通用性强,是一个功能强大的液晶显示器。如图2-4:

6e6e80122ba769502727e1779f2aa122  图2-4 LCD1602液晶实物图

 2.5 本章小结

本章主要写了本窗帘控制系统总体方案全系统以STC89C52芯片为核心处理单元,根据光敏电阻采集的光照强度信息和系统时钟响应,控制驱动电路驱动步进转动,进而使窗帘自动升降。

第3章 系统硬件设计

本章进行系统硬件电路和各模块设计,并对各模块工作原理进行了深入细致的说明。

 3.1 单片机最小系统

该系统设计的控制处理器是STC STC89C52,它是一款高效节能的8位处理器[8]。它内部一MCS-51为内核,兼容传统51单片机程序。其内部结构包括:

8K系统可编程闪存4个外部中断512字节RAM32位I/O 4级7向量中断结构(与标准的51单片机5向量2级中断相对应)双工串联接口其灵活的处理能力和丰富的外部接口使其能够为众多嵌入式设备提供了高效、可靠的解决方案。

在使用STC89C52单片机进行系统设计前,首先要设计最小系统。处理器最小系统是指示机器运转的最简便的系统,包括电源、复位电路、振动设计[8]。

 3.1.1电源及复位电路

51单片机的供电选择需要保持电源在4.5~5.5V之间。为降低实际使用中繁琐的电线连接,以及提高系统通用性,本系统采用了USB电源线连接手机充电器插头或者5V的移动电源给系统进行供电。

在实际工作条件下,还应考虑0状态恢复的设计。复位方式可分为按键复位和开关复位两种。设计结果如图3-1。

上电复位设计:在通电时,要求电容器两端的电压变化不可改变。因此,有必要保持其负极与电源连接。

通电时,电容器两端的电压保持不变。这时,电容的负极与单片机的复位端口连接在一起。这时,电源的电压受到阻力,输入功率提高,芯片恢复初始位置。在此基础上来为电容进行充电,充电电压稳定在+5V,当电阻上的电压为0时,就可以保证其芯片正常工作。

开关复位设计:在开关处于断开状态时,系统电路上电复位。芯片进入工作状态后,若按下按键,则RST引脚进入高电位状态,实现了用户强制复位。通常,RST端口只需要维持高电位10ms以上,单片机就能成功进行复位操作。

b1cb25f7c63b215f5477f94b9d17768c  图3-1 复位电路

 3.1.2晶振电路设计

外部晶振为系统提供时间频率,这是系统时钟的工作基础。单片机晶振输入是独立输入和输出的反向放大器,包括XTAL1和XTAL2。它可以用外石英振荡器或偏振器来驱动。振动电路应使用真实的外部石英设计,在下图3-2中,为XTAL1和XTAL2之间增加石英晶体和电容。石英精制的频率为12MHZ。两个电容选择一个30pF陶瓷容量,进行振动频率调整。

d5146972bb87b01e439b1576ba08ef56  图3-2晶振电路

STC89C51处理单元最小系统设计如图3-3:

f25d41a1f96744df0ea67b8f52c91af5  图3-3 STC89C52单片机最小系统

 3.2 电机和电机驱动

系统采用24BYJ48减速步进电机进行窗帘的升降。它是一款四相八拍电机,其工作电压为DC5V-DC12V。该电机控制模式相对简单。主要是在PWM脉冲的作用下使其不断转动。在这个转动的过程中,如果对其施加相应的PWM信号,就会使其通电变化一次,进而使得转子进行相应的转动,在一个循环中,转子转动的幅度为一个齿轮。它的通常工作模式为:单四拍(此时仅对单相绕组进行通电操作):执行顺序为:A-B-C-D-A….,双四拍(对双相绕组进行供电): 执行顺序为AB-BC-CD-DA-AB…;八拍:执行顺序为A-AB-B-BC-C-CD-D-DA-A…。

其中四相八拍的驱动方式如下表3-3所示。

表3-1 四相八拍的驱动方式

导线颜色 1 2 3 4 5 6 7 8
5红 + + + + + + + +
4橙 0 0 1 1 1 1 1 0
3黄 1 0 0 0 1 1 1 1
2粉 1 1 1 0 0 0 1 1
1蓝 1 1 1 1 1 0 0 0

在驱动过程中,电机电路是必要的。这篇文章使用了ULN2003芯片实现电机转动。

ULN2003是高强度和高压工作芯片,具有复杂的电流驱动。每个芯片内部都有一个晶体阵列,有7个复杂的晶体管,都有NPN类型。它能够承受的电压和电流都非常大,可以在管状态50V电压下工作,灌电流承受能力达500mA电流。达灵顿的基极用直线连接了2.7k的电阻。因此,在5V的动态电压下,就可以连接到普通的CMOS或TTL期间。因此,ULN2003是智能仪表、家居仪器的常用驱动芯片。

本节根据电机与电机驱动的选择,驱动电路的设计如下:

edd57e6bacafafb6ea356894fa1567a1  图3-4 ULN2003与单片机和步进电机的连接

其中,将其P1.0~P1.3连接到ULN2003的R1~R4上,输出口的Q1~Q4位用电蓝色、粉末、黄色、橙子等4条线路接到28BYJ的ABCD 四相上。

 3.3 液晶显示电路

LCD1602是液晶显示的功能模块,在这个显示屏中,主要显示相应的数字和符号等特征。液晶模块由Hd44780控制,执行字体移位,闪烁等。HD44780控制器有一个强大的指令集,并且具有一个8或4位的并行输入。对于其中的HD44780寄存器来说,其位数为8,并且具有相应的寄存器来进行相应的指令存取。数据寄存器(DR),作用为存储系统数据。忙标志(BF),是一个系统响应标志,当其值为1,液晶不对系统输入数据响应。CGROM是用户自定义字符存储区域。地址计数器RAM(AC),是指令寄存器和数据寄存器存储地址。

根据液晶显示控制器,其操作流程介绍如下:

LCD1602一共具有11条指令,包含使LCD1602动作执行的各个指令,如清屏、显示等。其读、写等指令操作对应寄存器数据位设置如表3-1所示。

表3-2 LCD1602操作指令对应的引脚电平

读状态 写指令 读数据 写数据
输入 RS=L,R/W=H,E=H RS=L,R/W=L,D0-D7=指令码,E=高脉冲 RS=H,R/W=H,E=H RS=H,R/W=L,D0-D7=数据,E=高脉冲
输出 D0-D7=状态 D0-D7=数据

表3-1中,E为使能端;RS用来选择寄存器。当RS置位为H时,数据寄存器工作,若其为低,则指令寄存器进入工作状态;R/W为数据线,R/W为高电位时按读操作流程工作,R/W降为低电位时写操作流程工作。图3-5为LCD1602读取流程,其写操作流程在图3-6显示。

c98fdce846104c6b7036d0f357e05c9b

根据以上液晶读写指令分析,设计液晶显示电路如下:

22fad0ede43ef2413f1d5b47683c9b61  图3-7 LCD1602电路图

图3,7中,显示器D0-D7与单片机进行信传输,V0是一个调节电位器,用来调节屏幕的清晰度。

 3.4 时钟电路

系统采用DS1302时钟芯片进行系统时钟电路设计。DS1302 被广泛用于基站通信、便携测量仪表等领域。这是一个由达拉斯公司设计和生产的时钟芯片。它的数据存储为31字节。

串行I/O通信方式,与并行通信比较,这种数据传输模式对IO数量要求较小。DS1302在2.0V~5.5V间都能有效提供时间日期信息,工作电压区间宽广。时钟功耗很低,在2V电压下电流不到300mA。DS1302芯片结构如图3-8所示。

3d19a9c02465ef2ddc6db937b5f14d25  图3-8 DS1302时钟芯片结构

DS1302的工作需要依赖于一个时钟电路,使用中给它外接一个32.768k的石英晶振提供时钟震荡。和最小系统晶振设计一样,通过两个电容微调晶振频率。时钟的精度依赖于外部晶振的精度及引脚负载电容。大的晶振误差及不合适的电容选择将大大降低时钟的电路的精度。此外,晶振温漂也是影响时钟精度的一个原因。在实际使用过程中,需要经常对时钟进行校对,以保证系统时钟精度。

DS1302通过对其内部寄存器的读写实现时钟控制。指令寄存器共8位,如图3-9所示。其中,第7位固定为1,若为0,则写入数据无效。第6位为RAM和CLOCK选择位。这里设置为CLOCK模式。第5位到第1位为寄存器的5位地址。第0位为读写位,设置为1,读数据,0表示写数据。

efb2765f446980720ec302995a636b6c  图3-9 DS1302命令字节

DS1302寄存器包含8个时钟控制寄存器,其中5位的地址分范围是0000000111;另外一个的地址为01000,它是为涓流充电准备的。寄存器对应功能如图3-10所示。

50918a85cee5eca20fdb9efda6f867ca

图3-10 DS1302时钟寄存器

DS1302时序控制位是CE、I/O和SCLK。CE是系统的使能位,SCLK输入时钟信号,I/O是输入输出时间数据。通过SPI通讯时序进行数据传输。读写时序如图3-11所示。

4041d470ba61b9bd69a131ff55abde6b  图3-11 DS1302读/写操作时序图

根据以上DS1302原理分析,设计其与单片机连接电路如图3-12。需要注意的是,在此单片机的引脚位置上,其属于弱上拉,需要对其添加相应的上拉电阻,如果没有添加的话,在这种情况下就容易出现端口电平翻转的问题,进而影响通讯。因此对三个通讯位添加10K上拉电阻。

bc4f360c86938b29f720d968b3816e97  图3-12DS1302电路图

 3.5按键电路

按键是系统进行人机交互的关键。这里设计四个按键,功能分别为:

按键1:进入模式设置菜单。

按键2:在模式设置菜单下,使对应设置参数加1。

按键3:在模式设置菜单下,使对应设置参数加1。

按键4:模式菜单下,推出模式设置菜单,并保存相关用户设置。正常工作状态下,作为模式切换按钮,进行人工模式调控。

由于单片机I/O在悬空无输出状态下默认高电平,因此设计按键为低电平触发。连接到微处理器一端的I/O开口与另一端电源的地相连。当没有按下按钮时,微处理器的电平处于高位,系统没有反应。当按下按键后,单片机输入端口下降为低电位,系统响应模式选择操作。此外,为防止按键抖动波纹,需要在程序中设计延时消抖程序。电路设计如图3-13所示。

17ddbb4fcb2dc3960577486cca042105  图3-13独立按键电路

  3.6光照采集电路

在光照强度自降升降模式下,系统根据外部光照强度进行窗帘的自动升降。因此本节基于选择的5506光敏电阻设计光照采集电路。分为光敏传感器信号采集电路和ADC0832模数转换电路。

 3.6.1 光敏传感器信号采集电路

5506光敏电阻是一种以硫化镉材料制作的光敏半导体元件。它的导电性随光的强度而变化。凭借这一特性,光敏电阻器以不同的吸光形式和区域制造,适用于各种光电开关。

本节中,我们设计光照信息采集电路如图3-14。在外部光照条件变化时,光敏电阻阻值会根据光照强度发生改变。通过设计模数采集电路,将其测量值数字化,为系统提供实时的环境信息反馈。

1073fe15565ef901c6ece9251885d65a  图3-14 光照信息采集电路

3.6.2 ADC0832模数转换电路

模数转换的目的是对传感器生成信号进行转换,使其为二进制电子信号。采用了7eec7e16bad9ff2e5a0f70fb49e25c8e进行模拟数字转换。ADC0832是Xsemiconductor公司开发的标准双通道A/D芯片。有8 位分辨率,转换时间仅需32uS,功耗低至15mW,采用单电源供电。其体积小、兼容性强性价比高,受到了国内外单片机开发者的关注,有很高的市场普及率,是各类仪器仪表的常用器件。ADC0832芯片实物图如图3-15所示。

f02c08d58bae52228fc28ee5d3b344dc  图3-15ADC0832芯片实物图

正如你所看到的,ADC0832的引脚是8位直插。两个A/D通道的转换允许双向模拟数字信号模块的转换,包括单极输入和差分输入模型。它使用串行通信模式来传输数据,它的输入部分结合了通道选择、数据收集和数据传输。8位、256级分辨,满足一般模数转换需求。使用双数据校验方式,数据传输误差得到尽可能降低,且转换速度和稳定性大大增强。芯片片内电压与外部输入电压可以复用,保持在0~5V之间。其引脚功能见图3-16。

65a6433b0da01c0b28916655917aff10  图3-16ADC0832引脚图

在进行ADC0832控制时,常使用4根通信连线CS、CLK、DO、DI,与处理器相连。在某些情况下,考虑到终端DO和DI不同时适用于,且其连接方式双向连接,DO和DI可以连接在一起,节约输入/输出口资源。在不使用状态下,即芯片被禁用,ADC0832 CS输入被设置为高电位。CLK和DO/DI可以随便设置。在切换到A/D之前,必须保持CS电平在较低的水平,这样芯片才能在转换任务结束时保持相同的水平。在CS电平拉低后,单片机发出时钟激励信号,使芯片进入工作状态。此时,通过DO/DI端,使DI接口采入选择模数通道信号流。当第一个时钟下降沿时,DI接口设置为高电位,该信号为起始信号。然后,在第二个和第三个下降沿会,将数据输入选定的通道。

表3-3 ADC0832通道地址设置表

通道地址 通道 工作方式说明
SGL/DIF ODD/SIGN CH0 CH1
0 0 + 差分方式
0 1 +
1 0 + 单端输入方式
1 1 +

如表3-3所示,通道选择模式有四种,CH0单通道输入,CH1单通道输入,差分输入(CH0正,CH1负),差分输入(CH0负,CH1正)。当通道地址“1”和“0”,进行CH0单通道模数转换;选择通道地址“1”和“1”,进行CH1单通道转换;通道地址选择为“0”和“0”或者0”和“1”,进行差分输入。转换时序说明如图3-17。

e5b3142186d4242ee34311e7c672ac2f  图3-17 ADC0832转换时序图

在电路设计过程中,ADC0832芯片的CS、CLK、DO、DI 4行数据将分别与微处理器连接。DI终端机和DI终端机同时有效,但微处理器接口在通信时是双向的,因此在数据行中同时使用DI终端机和DI终端。具体的电路图如图3-18所示。

cfaf7a1f4fc36f2d6339c9c6d748d4cc  图3-18ADC0832电路图

 3.7 蓝牙遥控电路

本系统利用蓝牙和单片机控制系统通信,型号采用hc-05,HC-05蓝牙串行通信模块是一个基于蓝牙技术规范的数据传输模块,在此模块中,主要采用的是EDR蓝牙协议。其具有的无线电频段为2.4GHz ISM,采用GFSK。在发射功率方面,能够达到4dBm,其自身具有-85dBm的灵敏度,通过PCB的作用能够完成相应的远距离通信。在封装方式选择方面,主要采用的是冲压孔这一方式,这能够有利于用户将其嵌入到系统当中。在此系统中,其自身具有相应的LED灯,所以通过此灯能够对其蓝牙的连接情况进行分析。对于此模块来说,其能够支持AT命令。在用户的实际使用当中,能够根据使用情况的不同,来对其参数进行更改,进而保证在实际使用中具有灵活性。

对于这种HC-05U嵌入式蓝牙串行口通信来说,主要存在如下两种不同的运行模式,其分别为:一是命令响应模式;二是自动连接模式。在自动连接模式下,此通信主要进行主、从、环回三种不同模式,并且在实际情况下,也会进行自动连接,并且执行相应的响应,用户也能够通过命令的发送来对内部的相关参数进行更改,进而完成目标指令的发出,进行设置即可,在实际工作中,为了保证工作状态的动态控制,可以通过对模块外部引脚的输入电平进行控制

开机时,同时按下按钮,进入AT模式。此时,波特率默认为38400(与AT指令设置的波特率无关)。AT指令可通过串行端口发送,以进行相关操作。

当电源接通时,如果不按下按钮,将进入自动模式。此时,如果模块是从机器上设置的从机的话,可以通过手机蓝牙进行连接,也可以通过手机蓝牙调试助手进行调试。

在自动模式下,如果按下按钮,将进入AT模式,但此时串行端口波特率由我们设置(默认值为9600)。如果松开按钮,将进入自由模式。

在运行时按下按钮将进入AT模式,但在松开按钮时应返回自动模式,但也可以发送一些指令(如:AT、AT+ROLE?),但是发送AT+NAME?时不会返回任何内容。所以当我们准备发送AT指令时,最好保持按钮按下,以便所有指令都能运行。

在蓝牙连接的情况下按下相应的按钮,这就会使其进入到相应的指令模式当中,该命令可通过模块的串行端口执行。松开按钮后,立即返回自动状态。也就是说,当按下按钮时,发送的命令将运行,松开按钮后,发送的命令将作为字符串发送到蓝牙主极。

模块S1的按键设置不是很便利。当我们写驱动程序时,我们不能通过引脚控制模块的状态。所以当我们想发送AT指令时,我们必须自己按这个键。这是非常麻烦的,很难通过代码控制模块的行为。最好是将PIO10插脚连接到下拉电阻上,然后用MCU的一个引脚进行控制。

串行模块的引脚定义:

PIO8连接LED,指示模块的工作状态。通信模块在不同状态下的闪烁间隔不同。

PIO9连接到LED,表示模块连接成功。LED长亮则表示蓝牙串行端口匹配连接成功。(在这个模块中,直接连接到STATE引脚上,我们可以在外面连接一个小灯。有连接时状态为高,未连接时状态为低。)

模式状态能够被PIO11进行调整,当其处于高电平时,这就处于工作状态,反之,如果处于低电平状态,这就处于默认工作状态。

模块有复位电路,重启电源后复位完成。

EN-引脚为使能引脚,EN为低电平时,先是将其芯片断开,在这种情况下其EN就处于高电平状态,如果将其芯片进行连接,保持通电状态,在这种情况下,其EN就处于高电平状态。除此之外,如果对其插脚悬空,在这种情况下,就会出现模块不稳定的情况(即接触不良)。电路见图所示:

677769de047e04e72d6482f7b9b66582

图3-19蓝牙通信电路

3.8 本章小结

本章主要写了系统硬件电路和各模块设计,深入了解其处理器可以灵活的处理能力和丰富的外部接口使其能够为众多嵌入式设备提供了高效、可靠的解决方案,蓝牙系统发挥了巨大作用,使得整个系统得以成功。并对系统各模块的工作原理进行了深入细致的说明。

第4 章 系统软件部分设计

本章进行系统软件和各模块设计,并对各模块工作原理进行了深入细致的说明。

 4.1 软件编程语言

在本文的设计中,采用的是Keil Vision4环境。Keil C51是X开发的软件开发环境。该系统将与编程、宏编译、连接器、运行库等,能够在多种系统中进行运行。

Keil的开发环境被编程为C语言。C语言是由丹尼斯·里奇(dennis ritchie)于1972年开发的。该程序语言一经问世,便受到广泛关注。到目前为止,C语言已经被开发为一个更广泛的应用程序,目的是开发由这个过程设计的计算机语言,并在功能、结构、可读性和应用方面具自己独特的优点。

凭借keil软件强大的在线调试能力及C语言简洁、流畅的编程风格,本系统程序设计变得得心应手。

系统软件按功能划分,可分为单片机控制主程序、液晶显示程序、时钟读写程序、AD转换程序,具体介绍如下。

4.2 主程序设计

单片机系统主程序复杂管理单片机设备和外设的运行时序,并对各组件运行状态进行监测。它包含一个void main(),是程序的入口函数。 在main()主程序内,首先对单片机及各外设的初始状态进行逐一设置,对程序关键参数赋初始值。在程序运行时,各个变量必须赋值才能使程序正常运行。接下来需要设定单片机的运行模式及复位选择,如开门狗设计。系统初始化完成后,主程序进入程序执行阶段。该阶段内,程序进入一个死循环,等待外部传感器输入,进行终端响应。若它没有进入死循环,当其进入循环中就会停止,循环也将继续实现当前方向的目标。当开关按下或光敏电阻阻值达到阈值,程序进入终端,执行相应的模式选择程序,或电机驱动程序。Main函数流程图如图4-1。

194b98d0d345f1d4d8d8fd64d4751689  图4-1主函数流程图

 4.3 液晶显示程序

Ldd1602可以的显示地址和数据必须输入到其控制器中。LCD1602显示需要向其内部控制器输入显示地址和待显示字符。LCD1602字符写入程序为lcd1602_write_character(uchar x,uchar y,uchar *p),需要设置的操作位包括x,y,*s,其中的x,y表示在字符显示坐标,*s是待显示的数据或字母。系统需要向显示器输入显示字符包括模式选择、系统时间、光照强度值。正常工作模式下,向液晶显示器输入实时系统时间,包括年、月、日、时、分、秒及光照强度值。模式选择下,向液晶控制器输入待选择系统模式。如图4-2:

d5b36afd35a8d7a54e8f424174dfcb92  图4-2显示子函数流程图

4.4传感器采集软件设计

如图4-3为本设计系统的传感器流程图:

ef2296493ef115f390d3bf47b1df4908  图4-3 传感器流程图

 4.5电机控制流程

如图4-4为本设计系统的电机控制流程图:

dc6058b2b117bc5e0e54ffc1b7870e7d  图4-4 电机控制流程

 4.6本章小结

本章主要写了系统软件设计,并对该控制系统软件各功能进行具体介绍,充分了解其单片机主程序系统可对各组件运行状态进行监测。液晶显示程序、时钟读写程序、AD转换程序发挥其各自的优点,软件系统才能成功运行。

第 5章系统调试

本章进行系统调试,分别为软件调试,以及硬件调试,分析出如何获得最佳的方案,说明其各调试过程中需要注意什么。

  5.1 软件调试

系统软件程序设计过程中,需要对各模块分别调试,以使其达到最佳状态。需要用到的工具包括:51开发板、KEIL软件、系统硬件、PL2303下载器等[9]。

系统调试过程中,首先需要在开发板上调试系统程序。程序首先在keil软件上编写,进而生成HEX文件,通过PL2303下载器下载到单片机开发板,进行测试。

 5.2 硬件调试

系统硬件电路测试需要检查电路设计是否正确,防止出现漏焊、断路、虚焊等错误[10]。

对于电路设计错误,需要认真核对器件设计原理,查阅相关说明文档解决问题。

对于元件方向错误、漏焊等,需要仔细检查电路原理图和PCB版图,对电路板每一元件进行核对,以排查错误[11]。

对于短路、虚焊等,使用万用表对每条连接线检查,看是否导通,对不导通电路需要重新焊接、检查。

在硬件检查完成后,将系统调试程序载入到处理器片内,上电检查系统是否正常工作[12]。如图5-1为本设计系统实物图:

b37208e9d3b07a3b44348f3a9f9afeab图 5-1 系统实物图

系统仿真使用protues软件进行,按照原理图在软件中搭建好系统之后,调节光敏电阻光照强度,可看到显示屏中光照强度发生变化,当光照强度示数超过设定的阀值时,电机转动,表示窗帘关闭。经过上述测试运行,发现系统各项功能正常,都能过实现预定功能。图 5-2和5-3是系统仿真图:

5997b09f29fb8c1ad9607969b1229811  图 5-2系统仿真图

bbc0884be00988ab8cf6c9196a6c91a6  图 5-3系统仿真图

结论

本设计整体上完成了预定的目标,在器件的选型上本设计尽可能的采用最成熟的方案,尽可能的考虑到开发的难易程度。硬件设计层面上,系统遵循可靠实用的原则进行设计,在满足功能和可靠性需求的前提下尽可能的降低硬件的复杂程度。软件设计上本设计采用的是c语言进行开发,有助于降低系统的难度,任何人员都可以进行开发升级。

综合而言本设计基本实现了既定的功能,但是也存在着一些不足之处,比如硬件的焊接上采用的是洞洞板,这种材质的板子,由于使用的还是飞线的方式连线,可靠性较差,后期可以采用PCB板进行制作。在人机交互界面上设计的不是很好,液晶显示器显得有点不是很友好,只能显示简单的英文字符,后期可以改用大尺寸的液晶显示器,制作GUI界面。整体而言本设计基本完成了既定的目标,实现了一定的价值。

致 谢

从论文选题到收集资料,再到写提纲,其中经历了聒噪、痛苦和彷徨,在写论文的过程中心情是五味杂陈的。开始选题时很迷茫,不知该怎么选好,幸而在同学和任课老师的帮助下,才得以确定。然后就是最难的找资料,由于首次写论文,不懂该怎么着手去收集、归纳资料,因而花费了好多时间在这上面,但收集到的资料真正能用上的却没多少。这时得感谢我的指导老师,他始终给予我细心的指导和不懈的支持。从论文框架到细节修改,都给予了细致的指导,提出了很多宝贵的意见与建议。老师以其严肃的科学态度,严谨的治学精神,精益求精的工作作风和大胆创新的进取精神深深地感染和激励着我。他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪,这篇论文是在老师的精心指导和大力支持下才完成的。在此谨向老师致以诚挚的谢意和崇高的敬意。

参考文献

[1] 呙靓.智能家居的发展现状及未来趋势[J].智能建筑与智慧城市,2018(03):52-54.

[2]王岩.智能家居发展现状及未来发展建议[J].电信网技术,2018(03):15-20

[3] 杨砚婷. 基于ARM的家庭智能终端系统的研究与设计[D].沈阳工业大学,2010.

[4] 张雅薇. 基于Zigbee技术的智能家居控制系统设计[D].大连理工大学,2018.

[5] 李娣娜 马惠铖 王海军. 一种智能窗帘控制系统的设计[D]. 延安大学西安创新学院, 2018.

[6] 苏铁力,传感器及其接口技术[M],北京:中国石化出版社.1998

[7] 中国电子学会,传感器与执行器大全[M],北京:电子工业出版社.1998

[8] 白雪冰,张延林,等,单片机原理及应用[M],哈尔滨:东北林业大学出版社.2006

[4] 谢运祥,欧阳森等,电力电子单片机控制技术[M],北京:机械工业出版.2007

[5] 王洪业,传感器技术[M],长沙:湖南科学技术出版社.1995

[5] 李光飞,单片机课程设计实例指导,北京:北京航空航天大学出版社.2004

[6] 王法能,单片机原理及应用,科学出版社.2004

[7] 楼然苗,李光飞,51系列单片机设计实例[M],北京:北京航空航天大学出版社.2003

[8] 胡汗才,单片机原理与接口技术[M],清华大学出版社.2004

[9] 郝晓剑,杨述平,张连红.仪器电路设计与应用.北京:电子工业出版社,2007.6.

[10] 毕满清,王黎明,高文华.模拟电子技术基础.北京:电子工业出版社,2008.6.

[11] 韩焱,张艳花,王康谊.电子技术基础.北京:电子工业出版社,2009.6.

[12] 童长飞.CSO5lF系列单片机开发与C语言编程.北京:北京航空航天大学出版社,2005.

基于蓝牙控制的自动窗帘系统设计

基于蓝牙控制的自动窗帘系统设计

价格 ¥9.90 发布时间 2023年9月3日
已付费?登录刷新
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/163362.html,

Like (0)
1158的头像1158编辑
Previous 2023年9月3日
Next 2023年9月3日

相关推荐

My title page contents