APP下载

智能开关“黑匣子”

2021-01-21邓中桦李晓渊李文杰许泽华

科学技术创新 2021年2期
关键词:电灯黑匣子舵机

邓中桦 李晓渊 李文杰 许泽华

(华南理工大学广州学院智能车队,广东 广州510800)

在当代处处是智能的时代,智能机器人都已成型来开始为人类服务,人们追求方便的程度不止于此!智能家居的发展迅速崛起,开关智能化在智能家居邻域可谓是最简单最基础的配置了,而大多数的家庭其实还未普及利用手机远程遥控电灯或多数电器,市面上大多数遥控电灯开关都是配套电灯一起安装的,对于已经安装的普通手动开关房间,需要通过一次简单的改造,在保留原开关的前提下,实现远程控制开关。

针对上述问题,设计一款智能开关来对复杂的家居系统实现有效控制。为了实现此目标,我们通过STM32 使蓝牙能对舵机的转角进行控制,从而控制照明灯的开启的关闭。因此,该设计对于目前家居智能开关控制的进一步优化具有一定的实际意义,具备广阔的发展前景。

1 系统总体设计

此系统主要由蓝牙模块,舵机模块和stm32 单片机三部分组成,蓝牙模块RX1 与TX1 分别连接在STM32 的PA10 与PA11,模块成功连接时RX1 为高电平,TX1 为低电平。舵机模块的PA8 与STM32 的PA8 相连。由手机App 发送信息再由蓝牙模块接收,接收到信息后向STM32 发送信息,STM32 对信息进行处理后对舵机的转角进行控制,从而达到远程操控开关灯的目的。

2 硬件设计

2.1 MCU 模块

MCU 模块相当于“黑匣子”的大脑,必须要有一个快速响应以及储存信息量大的处理器,所以选择STM32F103 为核心处理器。STM32F103 芯片有低功耗,高精度的优势特点以及6kB ROM和2kB RAM的存储区供给程序和数据的使用。同时其具有双通道串口通信接口,可以与计算机进行异步或同步串行通信。而在算法的运算方面也有较高的运算速度十分适合智能开关程序的运行。

由于该STM32 内置的振荡器没有外部选用的晶体的精度高,无法实现晶振的高频振荡。因此使用外部晶振会更好的发挥芯片的性能。STM32 的PC14 PC15 与分别与12M 10pF 晶振的OSC IN 与OSC OUT 相连,12M外部振荡器可为系统提供更为准确的主时钟;STM32 的PD0 PD1 分别与32.768KHZ 的LES晶体的OSC32 IN OSC32 OUT 相连,为实时时钟和定时功能提供一个低功耗且准确的时钟源。

2.2 蓝牙模块

RSBRS02AA 蓝牙模块4.2 工作电压3.3V 最大发射功率7bBm 默认的工作频率为9 600 bps. 蓝牙模块的TX RX 与单片机的PA9 PA10 连接,串口协议当模块BLE 连接间隔为20ms。

2.3 电压转换模块

“黑匣子”的总电源供应来自7.2V 大容量镍镉电池,但是单片机STM32 是3.3V 的电源。故我们需要的是从电源7.2V 接入7.2V 转3.3V 的降压电路。采用AMS1117 系列稳压器,最小饱和压降为1.1V~1.3V,最低工作电压为4.4V~4.8V,与其他系列相比拥有在相同的输出电压下可以在更低的工作电压下工作的优势。C11 是电源输入滤波电容,主要用于在电源输入处进行滤波,使输出电压波形输出显示更平滑和起伏小;C12 是电源输出滤波电容,作用是减小输出电压汶波并抑制ASM1117 的自激振荡。该模块最终实现把7.2V 的电源直流电转为3.3V 的直流电供给STM32 单片机使用。

2.4 稳压模块

由于电池容量是7.2V 2Ah,电压高于各模块电压,因此采用压差约为0.8V,额定电流为1A 的LM2940 系列稳压器。使用该系列稳压器为舵机模块以及继电器提供5.0V 直流电源。LM2940 硅片是一个塑封三角元件,PIN1 为输入端,PIN2 为公共端,PIN3 为输出端。蓄电池7.2V 经过0.47uF 和0.1uF 电容滤波输入到1 管脚,2 管脚接地,3 管脚经过22uF 和0.1uF 滤波稳定后输出5.0V 直流电,给予继电器以及舵机供电。

2.5 舵机模块

舵机中的伺服电机是服从信号的要求而动作。在信号来之前,转子停止不动;信号来到之后,转子立即运动。这样我们就可以通过输入不同的信号发给舵机, 来控制其旋转到不同的角度。

舵机接收的信号是PWM,当PWM信号进入内部电路产生一个偏置电压,触发电机通过减速齿轮带动电位器移动,使电压差为零时,电机停转,从而达到伺服的效果。简单来说就是给舵机一个特定的PWM信号,舵机就可以旋转到指定的位置。

舵机上有三根线,分别是GND、VCC 和SIG,也就是地线、电源线和信号线,其中的PWM波就是从信号线输入给舵机。

一般来说,舵机接收的PWM 信号频率为50HZ,即周期为20ms。当高电平的脉宽在0.5ms-2.5ms 之间时舵机就可以对应旋转到不同的角度。

3 软件设计

采用信驰达的蓝牙模块和舵机实现远程控制的基本流程:蓝牙模块和舵机数据进行初始化,将手机连上蓝牙后,然后再通过手机端发送指令,蓝牙模块再把接收到的指令传给STM32,STM32 根据指令控制舵机执行相应的操作。

手机指令 执行操作 0x01 舵机转动到-45° 0x02 舵机转动到-90° 0x11 舵机转动到45° 0x12 舵机转动到90° 0x00 舵机转动到0°

通过舵机的转角对电灯的开关进行控制。

3.1 主程序设计

控制系统软件部分主要分为蓝牙配置与通信、舵机控制两大主要部分。系统接上电源后,蓝牙模块,舵机启用,手机APP成功连接蓝牙后传送对应的控制指令,蓝牙模块接收指令后将指令后传给STM32,STM32 控制舵机转角进行开关的控制。

3.2 蓝牙程序设计

定义GPIO 结构体,打开GPIOB 时钟,串口波特率为115200bps,具有最高理论转发能力(12.4KB/S)。当EN 为高电平,蓝牙模块将处于完全睡眠状态,当EN 置低时,模块会以200ms 的间隔开始广播,直到和手机连接成功,EN 从低到高跳变,不论模块状态,直接进入睡眠。

3.3 其它关键函数设计

void Run model()//设置舵机三种运动模式,停止模式,待机模式以及工作模式。

void led()// 模块成功连接后,高电平洪灯亮,低电平蓝灯灭。

void key()//中断函数的配置。

void main()// 主函数完成系统初始化,按键的扫描,开关的蓝牙控制,以及舵机转角的判断。如图1 所示。

图1

voidusart1()//串口中断函数,单片机Pin9,Pin10 初始化。如图2 所示。

图2

4 成果展示

图3

通过测试本产品已经能通过nRF Connect 手机APP 发送代码后对舵机转角进行控制,如图3 所示,此刻为开灯的状态,当输入代码0x11 后,STM32 接收信息将其转换传给舵机,使舵机旋转45°从而达到关灯的目的。再次开灯之需输入0x01 即可。

5 结论

在本文中,我们利用手机的蓝牙通信功能设计实现了一种手机控制家用电灯的开关。在所设计的系统中,手机APP 用来输入代码信号,蓝牙通信用来建立手机和STM32 单片机,控制舵机角转角来控制电灯开关。这样通过手机就可以控制电灯的开启和关闭,使智能手机的作用得到增加,也为生活的智能化增添了新的体验,具有一定的实用价值。

猜你喜欢

电灯黑匣子舵机
黑匣子究竟是什么
东航失事客机第二部黑匣子抵京
电灯突然不亮了
含齿隙弹载舵机的全局反步模糊自适应控制
电灯是谁发明的
小小电灯放光明
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
快递黑匣子
解密“黑匣子”