蓝牙遥控风扇
实验的目的和任务
- 学习并掌握舵机的工作原理及使用方法
- 学习并掌握PWM脉宽调整技术原理及编程技术
- 学习并掌握L9110风扇模块的内部结构及控制原理
- 学会单片机与蓝牙模块通信原理及遥控风扇APP的制作
- 通过手机遥控风扇APP的调节,使风扇实现开启与关闭以及风速调节等功能
- 本次设计能为在生活中对风扇的使用省去实体按键调节的不便
实验原理介绍
1.PWM技术
PWM技术,是一种周期一定而高低电平可调的方波信号。当输出脉冲的频率一定时,输出脉冲的占空比越大,其高电平持续的时间越长。
如下图所示,在一个信号周期中,高电平持续的时间为T1,低电平持续的时间为T2,高电平持续的时间与信号周期的比值,称为占空比。例如,若信号周期T=4us,高电平持续的时间 T1=1us,则占空比为T1/T=1/4=0.25。只要改变T1和T2的值,即改变变形波的占空比,则高低电平扥持续时间就改变了,达到PWM脉宽调制的目的。
2. L9110风扇模块
L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,可直接与单片机接口,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750800mA的持续电流,峰值电流能力可达1.52.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。
宽电压工作范围2.5V~12v.
直流电机控制
3.HC-06蓝牙模块
a) HC-06蓝牙模块介绍
HC-06嵌入式蓝牙串口通信模块是专为智能无线数据传输而打造的,采用英国CSR公司BlueCore4-Ext芯片,遵循V2. 0+EDR蓝牙规范。该模块支持UART、USB、SPI等接口,具有成本低、体积小、功耗低、收发灵敏等优点。该模块主要用于短距离的数据无线传输领域,可方便地与手机等智能终端的蓝牙设备相连,也可实现两个模块之间的数据互通。
b) 蓝牙APP设置及系统运行方法
方法①
通过下载“风扇”APP控制,下载地址https://share.weiyun.com/L2iUGZqj 密码:elg4dg
使用方法
打开手机的蓝牙功能。然后打开风扇app。点击右上角的连接按钮。此时会列出手机已配对的所有蓝牙模块,若连接的单片机上的蓝牙模块未出现在列表中(如本例中蓝牙模块已命名为“HC-06”),则在手机蓝牙设置。“搜索”按钮进行搜索,这时可看到名为“HC-06”的蓝牙模块出现在“其他设备”下面,点击“HC-06”进行配对并输入密码“1234”就可以成功配对。如图。之后再打开“风扇”APP,点击“蓝牙搜索”按钮会出现已配对的在线设备名称和地址,如图,点击名为“HC-06”的蓝牙模块后,若连接成功则控制页面“蓝牙搜索”按钮会显示绿色,如图。此时便可以对风扇进行控制。
方法②
蓝牙遥控风扇控制系统控制信号的发送端,需要在手机端安装蓝牙串口app来实现。如图。该app只能在安卓手机上运行。
打开手机的蓝牙功能。然后打开蓝牙串口app。点击右上角的连接按钮。此时会列出手机已配对的所有蓝牙模块,若连接的单片机上的蓝牙模块未出现在列表中(如本例中蓝牙模块已命名为“HC-06”),则可以点击右上角的“搜索”按钮进行搜索,这时可看到名为“HC-06”的蓝牙模块出现在“其他设备”下面,点击“HC-06”进行配对并输入密码“1234”就可以成功完成连接。如图。
此时默认进入聊天页面。,逐个点击页面直至出现“开关”页面,可看到若干灰色的空白按钮,常按任一个按钮都会弹出“按钮编辑器”窗口。每一个按钮都可以编辑两种状态(OPP和ON), 由于前面的程序是通过发送字符来实现风险的控制,因此只需在相映的开关中编辑嗯对应字符。在本次风扇控制程序中,风扇“打开”使用的是字符“a”,关闭使用的是字符“b”。如图。
手机端的蓝牙设置完成后,就可以使用手机蓝牙App对风扇进行控制了。
c) HC-06蓝牙模块调试方法
可以使用USB到TTL的转接口来实现蓝牙模块和PC机之间的串口连接(USB到TTL的转接可以使用51单片机开发连接),如图所示。连线时要注意转接口的RXD要接蓝牙模块的Tx,而转接口的TXD要接蓝牙模块的RX。
连接好硬件后,打开电脑上的串口调试助手。首先在“串口设置”栏选择蓝牙模块连接的PC串口号,然后设置波特率及帧格式,由于蓝牙模块出厂默认的波特率是9600 bps,因此这里需要将波特率设置成9600,点击“打开串口”按钮。在“接收设置”栏选择以“ASCI”方式接收并选择“ 自动换行”选项,最后在字符输人框中输人“AT",点击“发送”按钮。该指令用于测试蓝牙模块是否通信正常,若正常则会返回“OK", 否则不返回信息,如图所示
c)常用指令
4.舵机
a)舵机实物图
一般是塑料外壳,当然很少见的也有金属外壳的舵机,因为涉及到控制信号,所以一般有三条引出线。像右图所示的样子,舵机有一个三线的接口。棕色线(或黑色线)是接地线,红线接+5V电压,橙线(或是白色或黄色)接控制信号端。(而步进电机一般会有4~6根不等的引出线)
b)舵机的工作原理
舵机的工作原理可以通过下面这张简单的流程图说明,结合上面所说的闭环检测机制内容,相信你很轻松的就可以了解舵机的工作流程和工作原理了。
说到舵机的控制信号,一般是脉宽调制(PWM)信号,如下图,直观反映了PWM信号和舵机转动角度的关系,你也可以简单的理解为,通过给舵机通电的时间控制,结合角度传感器的反馈信号检测和控制,实现了舵机的精确角度控制。
舵机的控制信号周期为20MS的脉宽调制信号(PWM),其中脉宽从0.5ms-2.5ms,相应的舵盘位置从0-180度,呈线型变化。也就是说,给舵机提供一定的脉宽,他的输出轴就会保持一定的对应角度,无论外接转矩怎么改变,知道给他提供另外一个脉冲信号,他才会改变输出角度到新的对应的位置上。
舵机内部有一个基准电路,产生周期为20MS,宽度为1.5MS的脉冲信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。
舵机是一种位置伺服驱动器,转动范围不能超过180度,适用于那些需要不断变化并可以保持的驱动器中,比喻说机器人的关节、飞机的多面等。
d) 舵机的闭环检测机制
关于舵机的精准位置控制,存在以下如下图的闭环控制机制。即:位置检测器(角度传感器)是它的输入传感器,舵机转动的位置变化,位置检测器的电阻值就会跟着变化。通过控制电路读取该电阻值的大小,就能根据阻值适当调整电机的速度和方向,使电机向指定角度旋转。从而实现了舵机的精确转动的控制。
实验硬件设计
连接电路图
说明:本次设计实验使用的舵机是MG90S型号,风扇为四线两向风扇,蓝牙模块、风扇模块,舵机都是5v供电。
实验软件设计
//功能:单片机通过蓝牙模块接收信号并控制风扇。
#include <reg52.h>
typedef unsigned int uint