谢振宇 刘 伟
(桂林理工大学,广西 桂林 541006)
在国家最近加速部署5G 网络的社会大背景下,适应5G 网络结构的传送网规划及建设已经成为目前任务的重中之重[1]。智能家居正是在信息化影响之下物联网技术的一种应用,智能家居通过物联网技术将家中的各种设备(电灯、风扇、空调和窗帘等)连接到一起,提供照明控制、风扇控制、空调控制、窗帘控制等多种功能。
本设计预期目标有五点,一是实现非特定人语音控制电灯,风扇,空调和窗帘的启动和关闭;二是实现非特定人语音控制风扇的转速,使得风速可以进行调节,既可以提高风速也可以降低风速;三是实现非特定人语音控制窗帘的运行状态,使得窗帘可以在开启或关闭的过程中主动停止;四是实现非特定人语音关闭所有启动的家居设备,使得关闭的过程得以简化;五是利用指示灯和液晶屏幕分别指示各个家居设备的运行状态。
本次单片机选用STC12C5A60S2 芯片作智能家居语音控制系统设计的核心控制处理单元。系统的供电使用USB 数据线与电源连接。系统的语音识别使用语音识别芯片LD3320,通过分别编写需要进行识别的语音模块程序和语音控制程序并分别对语音识别芯片和单片机进行烧录来实现语音识别。单片机工作时需要时钟频率,系统晶振电路模块负责给单片机提供稳定的时钟频率,使得单片机正常工作。复位电路模块负责给单片机进行复位,系统设计上选择利用复位按键进行手动复位。液晶显示模块负责将单片机传输过来的系统数据显示在液晶屏上,直观显示不同设备的开关状态。继电器电路模块负责模拟空调的启动和关闭;步进电机驱动模块负责模拟窗帘的开启和关闭,还能实现停止(暂停)窗帘的功能;直流电机驱动模块负责模拟风扇的转动,可以实现提高和降低风速的功能;LED 指示灯模块负责模拟电灯的开启和关闭以及充当各个设备运行时的指示灯。系统总体设计框图如图1 所示。
图1 智能家居语音控制系统框图
本次系统电路设计的核心单片机型号是STC12C5A60S2 单片机芯片,相较于传统51 单片机,其拥有加强版CPU 芯片,并且兼容传统8051 单片机的系统结构。该单片机芯片拥有8 位P0,P1 口和P2 口,其独特的2 路PWM 接口是此次设计将其选为核心单片机的原因之一。
本次在单片机的最小系统中使用了复位电路模块,用以复位单片机的数据;使用了晶振电路模块,用以给单片机提供时钟。复位的主要作用是把特殊功能寄存器的数据初始化为默认数据,以使程序重新开始运行。单片机的正常工作离不开时钟信号的驱动,时钟的本质就是提供稳定频率。单片机最小系统原理图如图2 所示。
图2 单片机最小系统原理图
语音识别芯片LD3320 是语音识别模块的核心,系统通过语音识别模块可以接收非特定人语音,语音识别模块原理图如图3 所示。
图3 语音识别模块原理图
语音识别模块通过对语音识别芯片LD3320 进行编程和烧录,可以实现对非特定人的语音进行识别,将工作指令传达给单片机的INPUT 输入端,作为担任智能家居语音控制系统设计中语音识别任务的模块,其重要程度可见一斑。
本次系统设计选用LCD1602 液晶显示器,它可以显示字符、字母和数字,该液晶显示器通过读取单片机在OUTPUT 输出端的数据,可以清楚地在液晶屏幕中显示系统电路中各个家居设备的运行状态。液晶显示模块原理图如图4 所示。
图4 液晶显示模块电路图
本次系统电路中选用多个不同单色LED 灯作为各个家居设备的响应指示灯,实现LED 灯的多颜色指示功能。不同的家居设备其对应响应的LED 指示灯将显示不同的颜色,便于区分不同的家居设备。LED 指示灯模块原理图如图5 所示。
图5 LED 指示灯模块原理图
本次系统电路设计了继电器电路模块用以模拟智能空调的开启和关闭[2]。空调继电器是空调的一个核心电器元件,继电器电路模块在设计时使用了一个三极管来驱动电路进行工作,还使用了一个LED 灯来充当指示灯指示模块工作。当空调继电器工作时,电路中的LED 灯就会亮起。继电器的作用是可以使用较小的电力来驱动电磁铁带动接触片去承载大电流,这也是选择继电器来模拟智能空调的原因。继电器电路模块原理图如图6 所示。
图6 继电器电路模块原理图
步进电机驱动模块是模拟智能窗帘工作的模块,电机的转轴可以模拟窗帘的启动,停止和关闭功能。由于单独一个步进电机无法工作,在系统电路的设计中,我们需要加入步进电机驱动芯片ULN2003 对步进电机进行驱动,使其得以正常工作。采用ULN2003 驱动芯片来驱动步进电机,启动模式时,进入电机驱动程序,P1 口的低4 位对应步进电机的4 相的线,每输出一个脉冲中间间隔1 个延时,等待第二个脉冲输出,每个脉冲代表一个步距角,电机运行的时候,累计计算输出脉冲个数,就可以计算出当前转动的角度[3]。
直流电机驱动模块是模拟智能风扇工作的模块。在系统设计的要求中,智能风扇在可以开启和关闭的同时还需要可以调节风速,即提高与降低风速。直流电机采用带有USB 接口的小风扇,想要驱动风扇工作,需要加入电机驱动芯片L9110H。L9110H 是控制驱动电机的专用电机驱动芯片,它可以直接驱动电机的正反向运动,具有较大的电流驱动能力。使用PWM(脉冲宽度调制)调节电机占空比的方法来实现风扇调节风速的功能[4]。直流电机驱动模块原理图如图7 所示。
图7 直流电机驱动模块原理图
语音识别模块成功通过语音触发口令处于激活状态时,语音输入的关键字与预先在程序中写入的关键字相符合的时候,此时语音识别模块就会将识别的结果传输给单片机,单片机会根据传输过来的语音指令控制相应的智能家居设备进行工作。在语音识别程序的编写上,可以通过程序预先设置相应语音代码指令所对应的智能家居设备此时的工作状态。
单片机控制主函数是直接控制整个系统电路的智能家居设备工作与运行状态的主程序。在主函数中,需要先定义各个智能家居设备与单片机的引脚连接,然后定义控制函数,控制函数的作用是单片机接收语音识别的指令代码并在对应的代码下设置此时相应的智能家居设备工作状态。
该设计将智能家居的概念和语音识别技术进行了结合,提供了一种利用单片机进行简易的语音控制智能家居的方案。系统电路的的硬件设计包括STC12C5A60S2 单片机、USB 供电电路模块、晶振电路模块、复位电路模块、语音识别模块。液晶显示模块、继电器电路模块、步进电机驱动模块、直流电机驱动模块、LED 指示灯模块。系统电路的软件设计有两大部分,分别是语音识别模块程序设计和单片机控制模块程序设计。