基于蓝牙通信和上位机控制的智能风扇设计.docx
《基于蓝牙通信和上位机控制的智能风扇设计.docx》由会员分享,可在线阅读,更多相关《基于蓝牙通信和上位机控制的智能风扇设计.docx(30页珍藏版)》请在冰豆网上搜索。
基于蓝牙通信和上位机控制的智能风扇设计
指导教师评定成绩:
审定成绩:
重庆邮电大学
自动化学院
基于蓝牙通信和上位机控制的智能风扇设计
单位(二级学院):
自动化学院
学生姓名:
xxx
专业:
自动化专业
班级:
xxxxxxxxxxx
学号:
xxxxxxxxxx
指导教师:
xxxxxxxxxxxx
设计时间:
2014年9月
重庆邮电大学自动化学院制
摘要
在炎炎夏日,空调便成为了人们的必备武器,可是很多人没有注意到吹空调的危害,长时间吹空调,人很容易着凉感冒,降低身体的抵抗力。
空调房间比较封闭,空气流通不好,容易有异味,空调通风处若不经常清理,容易积累灰尘和细菌,从而使人生病。
并不是所有的人都适合吹空调,像老人,小孩,孕妇都不易长时间吹空调,对此我们设计了此款智能风扇,它以STC12C5A60S2做主控芯片,分别加入了红外模块,温湿度传感器模块,电机调速模块/测速模块,总共分为四个功能模块,分别为自动模式,节能模式,定速模式,定时模式,这些模式既可以很好地调节风速,同时也更加节能,而且增加了蓝牙无线模式,在上位机界面可以很轻松的切换以上模式。
关键词:
智能蓝牙无线上位机实用
Abstract
inthesummer,airconditioningbecameanecessaryweaponforpeople,butmanypeopledonotpayattentiontotheharmofblowairconditioning,longtimeblowingair,peopleareveryeasytocatchacold,reducethebody'sresistance.Airconditioningroomisclosed,theaircirculationisnotgood,easytohavepeculiarsmell,airconditioningandventilatingplaceifnotoftenclean,easytoaccumulatedustandbacteria,soastomakepeoplesick,notallpeoplearesuitableforblowingair,liketheelderly,children,pregnantwomenarenoteasytolongtimeblowairconditioning,tothiswedesignthissectionintelligentfan,itusesSTC12C5A60S2chipcontrol,respectively,joinedtheinfraredmodule,temperatureandhumiditysensormodule,motorspeedcontrolmodule/speedmodule,isdividedintofourfunctionalmodules,respectivelyistheautomaticmode,theenergy-savingmode,constantspeedmode,thetimingpatterns,thesepatternscanadjustthewindspeedisverygood,butalsomoreenergy,butalsoincreasetheBluetoothwirelessmode,canmoreeasilyinthemodeofhostcomputerinterface.
Keywords:
intelligentBluetoothhostcomputerpractical
一、总体系统设计概述
1.1系统的设计原理
本设计的实现分为两个部分,一是以STC12C5A60S2单片机为主控的下层实现,二是以VB语言开发的上层实现。
下层通过温湿度传感器获取室内温度,由单片机的显示到LCD12864上,同时通过模式的选择使电机工作在不同的转速,实现温度和转速的联系。
此外通过红外模块的感知作用,在选择自动模式时,就可以感知人的存在而使电机工作,实现人来工作,人去静止的工作,电机驱动模块为L298芯片,由单片机送出PWM波来实现电机的调速,同时使用了光电门模块实现系统的测速功能,并且显示在LCD12864上,更加直观的观看调速效果。
上层与下层通过两个串口转蓝牙模块进行通信,两个蓝牙模块分别设置为主、从模式,配对密码和波特率均设置相同。
上位机在设置好串口以及波特率后,通过不同的“设置”按键实现系统模式的切换。
1.2系统总体框图
图1.1系统总体框图
1.3系统实现的主要功能
本次课程设计以智能风扇为研究背景,使用STC12C5A60S2单片机做主控芯片,配以相关的传感器模块,电机调速/测速模块,LCD12864模块,按键模块,以及使用蓝牙模块配合上位机程序,既可以按键控制,也可以上位机无线控制,既可以在上位机显示,也可以在LCD12864上显示。
主要完成以下功能:
1、自动模式该模式通过红外模块的感应功能,一旦感应到有人在感应范围内活动,就会产生3~4秒的低电平,单片机的外部中断0(/INT0)就会发生中断,从而使电机以固定速度转2S后停止,除非重新感应到人的活动。
2、节能模式该模式通过温湿度传感器DHT11模块,获得室内的温度数据,在本设计中以上下限温度为分割点,把电机速度控制在三个等级内,比如大于上限温度时,以一级速度运转,在上下限温度之间,以二级速度运转,低于下限温度,以三级速度运转,这样就可以实现根据温度来调节转速。
3、定速模式该模式使电机工作在固定的三个等级的转速。
4、定时模式该模式可以实现定时功能,同时必须和以上三个模式的之一结合使用
二、方案选择与论证
2.1单片机方案
单片机作为系统的主控芯片,其类型众多,功能丰富,选择合适的单片机有利于减少外围电子器件的数量。
方案一、STC89C52系列单片机。
STC89C52系列单片机增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
方案二、STC12C5A60S2单片机。
STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。
通用I/O口36个,复位后为:
准双向口/弱上拉。
可设置成四种模式:
准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏。
每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA。
STC12C5A60S2内部集成了2路PWM,可用作PWM和PCA捕获,而且速度更快,I/O口可设置为四种模式,使用更加方便,而且两者价格相差无几,所以选用方案二。
2.2无线模块方案
无线模块主要为了实现上位机与单片机的通信,同时避免布线的麻烦,现在比较实用的无线解决方案是WI-FI,蓝牙,红外,ZigBee,他们之间各有优缺点,现列表如下,
类型
性能
WI-FI
蓝牙
红外
ZigBee
通信距离
<300m
<100m
<10m
<3km
通信速率
<54Mbps
<720Kbps
<16Mbps
<250Kbps
通信频率
2.4GHZ
2.4GHZ
38KHZ
2.4GHZ(868M,915M)
开发难易
难
一般
一般
简单
模块成本
高
一般
一般
高
表2-1无线模块方案
在以上四种无线模块中,他们各有自己的技术架构限值,具有不同的用途,其中ZigBee特点是近距离、低复杂度、自组织、低功耗、低数据速率、可组网。
主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
Wi-Fi是一个无线网络通信技术的品牌,由Wi-Fi联盟(Wi-FiAlliance)所持有。
目的是改善基于IEEE802.11标准的无线网络产品之间的互通性,主要用于智能手机、平板电脑和笔记本电脑的无线上网功能。
红外传输是一种点对点的传输方式,无线,不能离的太远,要对准方向,且中间不能有障碍物也就是不能穿墙而过,几乎无法控制信息传输的进度。
蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术,传输速率较高,对移动设备支持,而且现在市场上有USB转串口的蓝牙模块,开发简单,使用方便。
所以我们选用了蓝牙作为我们无线通信的方案。
2.3显示方案
目前比较常用的显示方案有LCD12864,LCD1602,数码管显示,以及电脑端的显示。
他们主要的特点如下:
2.3.1LCD12864
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点
2.3.2LCD1602
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
2.3.3数码管显示
数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
当数码管特定的段加上电压后,这些特定的段就会发亮,发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。
常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
但是它不能显示中文字符、图像以及ASCII字符。
2.3.4PC上位机端显示
上位机是指可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等),PC上位机显示需要自己的编程开发,现在常用的开发语言有C++,VB,C#,JAVA。
PC上位机不仅可以显示底层传来的数据,而且可以发送控制命令到底层单片机。
LCD12864既可以显示中文字符,也可以显示ASCII字符,在本设计中需要中文字符的显示,以及ASCII字符的显示,所以选LCD12864为底层的显示器件,此外还需要上位机的数据显示与控制,VB语言简单易学,功能强大,有专用的SerialPort控件,所以在上层我们使用VB语言在MicrosoftVisualStudio2012Ultimate旗舰版开发。
2.4测速及调速模块
2.4.1测速方案设计
方案一:
磁式测速发电机
永磁式直流测速发电机是一种将转子速度转化为电气信号的机电式信号元件,是伺服系统中基本元件之一。
作为测速、校正,解算元件,他被广泛应用于各种速度和位置控制系统中。
永磁式测速发电机主要由定子、转子和电刷部件等组成。
一般情况下自动控制系统对其元件的要求主要是高的精确度、灵敏度、可靠性等。
因此永磁式直流测速发电机在电气性能方面应满足以下要求:
(1)输出电压和转速成线性关系
(2)温度变化对输出特性影响小
(2)输出电压波纹小 (4)正反转的输出特性应该一致
方案二:
光电编码器
按照工作原理编码器可分为增量式和绝对式两类。
增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。
绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
工作时,光电码盘安装在转子端轴上,随着电机的转动,光电码盘也跟着一起转动,如果有一个固定光源照射在码盘上,则可利用光敏元件来接收到的光的次数就是码盘的编码数。
若编码数为60,测量时间为t,测量到的脉冲数为N,则转速为n=N/(t*60)*60=N/t。
方案三:
光电对射式
采用对射式红外传感器。
在轮辐面板上均匀刻出槽孔,在轮子两侧固定相对的红外发射、接收器件。
在过孔处接收器可以接收到信号。
从而轮子转动时可以产生连续脉冲信号,通过对脉冲的计数进行车速测量。
几种测速方案比较:
直流测速发电机
光电编码器
光电对射式
测量精度
高
高
低
开发难易
难
难
易
模块成本
低
高
较低
表2-2测速方案比较
由于本此设计只是简单测量电机转速,以方便观看电机调速效果,故采用光电对射式即可,成本低,开放简单,所以采用方案三。
2.4.2调速方案设计
方案一:
静止可控整流器。
简称V-M系统。
V-M系统是当今直流调速系统的主要形式。
它可以是单相、三相或更多相数,半波、全波、半控、全控等类型,可实现平滑调速。
V-M系统的缺点是晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难。
它的另一个缺点是运行条件要求高,维护运行麻烦。
最后,当系统处于低速运行时,系统的功率因数很低,并产生较大的谐波电流危害附近的用电设备。
方案二:
脉宽调速系统。
采用晶闸管的直流斩波器基本原理与整流电路不同的是,在这里晶闸管不受相位控制,而是工作在开关状态。
当晶闸管被触发导通时,电源电压加到电动机上,当晶闸管关断时,直流电源与电动机断开,电动机经二极管续流,两端电压接近于零。
脉冲宽度调制(Pulse Width Modulation),简称PWM。
脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。
由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽。
由于电流波形比V-M系统好,在相同的平均电流下,电动机的损耗和发热都比较小,而且STC12C5A60S2内部集成了PWM模块,所以选用方案二,开发简单,调速效果好。
2.5温度采集方案设计
方案一、采用DS18B20采集温度。
DS18B20是美国DALLAS公司生产的一线式数字温度传感器,具有3引脚TO一92小体积封装形式;温度测量范围为一55℃~+125℃,可编程为9~12位A/D转换精度测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引人,也可采用寄生电源方式产生;多个DS18B20可以并联到3或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路:
以上特点使DS18B20非常适合于远距离多温度检测系统中。
方案二、使用DHT11数字温湿度传感器。
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性,而且超低能耗。
DHT11供电电压:
3.3~5.5VDC,输出:
单总线数字信号,测量范围:
湿度20-90%RH,温度0~50℃,测量精度:
湿度+-5%RH,温度正负2℃,分辨率:
湿度1%RH,温度1℃。
在本设计中,对温度的精度要求不高,同时作为居家产品,湿度的概念也比较重要,而且DHT11相对DS18B20价格更便宜,所以本设计采DHT11数字温湿度传感器
2.6人体感应模块
方案一、超声波感应。
超声波是一种频率高于20000赫兹的声波,它的方向性好,穿透能力强,易于获得较集中的声能,超声波可以用于测距,可测出回波和发射脉冲之间的时间间隔。
利用S=C*t/2就可以直接算出距离(其中C是超声波的传播速度,t为时间间隔),当人体与风扇的距离在规定的距离内,就可以启动风扇。
方案二、红外感应。
人体红外感应模块是基于红外线技术的自动控制产品。
灵敏度高、可靠性强、超低功耗,超低电压工作模式,具有温度补偿的作用。
广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。
而且可以全自动感应:
人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。
控制方便,其触发方式和感应时间均可调。
在本设计中,需要能够感应人的走动,超声波感应具有一定的方向性,限值功能的使用,而红外感应模块操作简单,成本较低,感应范围广,其触发方式和感应时间均可调。
所以选用红外作为人体感应模块。
三、系统硬件设计
3.1显示模块
显示模块是人机交互的关键器件,直接影响用户的产品体验和产品的功能,因此应该做到界面简单而显示明显,使设计的功能能够很好地被用户观察和判断。
本设计中选用了带中文字库的LCD12864作为底层单片机的显示,可以显示4*8个16*16点阵的中文字符,64个16*8点阵的ASCII字符集。
LCD12864总共有20个引脚,各个引脚描述如下:
引脚号
引脚名称
逻辑电平
引脚功能描述
Vss
0
电源地
2
Vcc
+5v
电源正
3
NC
------
空脚
4
RS(CS)
1/0
RS=1,选择数据寄存器。
RS=0,选择指令寄存器。
5
R/W(STD)
1/0
R/W=1,E=1,从lcd中读取数据。
R/W=0,E=1→0时,写数据到lcd。
6
E(SCLK)
1/0
使能信号
7~14
DB0~DB7
1/0
三态数据线
15
PSB
1/0
PSB=1,并行数据。
PSB=0,串行数据
16
NC
------
空脚
17
1/0
复位端,低电平有效。
(可悬空)
18
NC
------
空脚
19
A
Vdd
背光电源正端
20
K
vss
背光源负端
表3-1LCD12864引脚图
根据LCD12864的引脚功能描述,在本设计中最终采用8位并行的工作模式,因此第15引脚直接接高电平即可。
图3-1LCD12864电路图
3.2电动机模块
在本设计中使用DC5V的直流电动机来模拟风扇,不要求正反转,只要能够实现PWM调速方案即可。
测速时使电机的叶轮置于红外对射管之间,叶轮转过,挡住传感器,单片机的PCA模块就会捕捉到,从而实现计数,进而计算出电机的速度。
3.2.1PWM调速
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
主要特点是:
工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;
图3-2L298N引脚图
图3-3L298N模块图
3.2.2测速
对射式光电开光是由一个发光器和一个收光器组成的光电开关就称为以射分离式光电开光,模块图形如下:
图3-4对射式光电开光
测速时将扇叶置于开关的中间,扇叶由四片组成,当扇叶阻挡了发射二极管的光线,“OUT”引脚就会输出高电平,没有阻挡时,输出低电平。
设在1秒的时间内,单片机PCA捕获模块获得M次计数,则电机转速表示为S=M/4r/s。
3.3温度采集模块
温度采集模块采用DHT11模块,它既可以获取温度数字信号,也可以获取湿度的数字信号。
DHT11模块一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据 +8bi温度整数数据+8bit温度小数数据 +8bit校验和 。
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
图3-5DHT11电路图
3.4无线模块
无线模块采用HC-05无线蓝牙主从一体无线串口通信模块,总共有6个引脚,功能描述如下:
引脚
描述
Vcc
电源(3.3~5v)
Gnd
地
Txd
模块串口发送引脚(不能接RS232电平)
Rxd
模块串口接收引脚(不能接RS232电平)
Key
高电平进入AT状态,低电平或悬空正常状态
Led
配对成功输出高电平,否则输出低电平
表3-3HC-05无线蓝牙模块引脚图
图3-6蓝牙串口模块与USB转串口模块连接
图3-7蓝牙串口模块与单片机连接
将模块上电同时(或者之前),将KEY接高电平,此时指示灯慢闪(1秒亮一次),模块进入AT状态,此时波特率固定38400。
将模块上电后,将KEY悬空或者接地,此时指示灯快闪(1秒2次),表示模块进入可配对状态。
此时如果将KEY接高电平,模块也会进入AT状态。
但是指示灯依然是快闪(1秒2次)。
若模块配对成功,此时STA双闪(一次闪2下,2秒闪一次)。
3.5红外模块
HC-SR501红外模块利用热释电红外传感器工作,热释电红外是一种能检测人或动物发射的红外线而输出电信号的传感器。
其具有两种触发方式:
L不可重复,H可重复。
可跳线选择,默认为H。
A不可重复触发方式:
即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。
B可重复触发方式:
即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
HC-SR501红外模块还具有感应封锁时间(默认设置:
3-4秒):
感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。
此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;
图3-8HC-SR501模块图
3.6PCB设计
本设计使用AltiumDesigner09版绘制电路原理图,由于本设计很多是模块化器件,所以留出很多排针,以供连接使用。
图3-9总原理图
图3-10PCB图
四、系统软件设计
4.1流程图设计
本次课程设计软件部分主要分为上位机程序和单片机控制程序,两者通过无线蓝牙模块互相通信,单片机程序主要完成温度的采集,红外信号的处理,LCD12864的显示,按键的输入处理,还有接收上位机的控制命令。
4.1.1单片机设计
图4-1单片机端流程图
4.1.2上位机
该部分主要使用VB.NE