1、苏州大学本科生毕业设计(论文)电子信息科学与技术I基于语音识别的智能家居控制系统设计目录前言3第1章理论分析及总体方案4第11节总体框架4第12节方案比较5第13节整体方案综述7第2章系统硬件电路设计8第21节微处理控制电路设计8第22节GSM模块简介与电路设计11第23节语音识别模块电路设计13第24节电机驱动电路设计15第25节温度采集电路设计16第26节LED和按键电路设计17第3章系统软件设计18第31节语音识别程序设计18第32节GSM通信程序设计19第33节温度采集程序设计20第34节电机与LED控制程序设计22第4章系统测试与分析25第41节系统测试25第42节系统调试总结27总
2、结与展望29参考文献30致谢31附录32附录1基于语音识别的智能家居控制系统程序清单32苏州大学本科生毕业设计(论文)电子信息科学与技术II附录2基于语音识别的智能家居控制系统电路图35附录3基于语音识别的智能家居控制系统实物图36苏州大学本科生毕业设计(论文)电子信息科学与技术第1页摘要本文设计了一个基于语音识别的家居模拟控制系统。系统由控制电路、LED电路、按键电路、电机驱动电路、温度采集电路、GSM通信电路和电源电路组成。本设计选用STM32F103RCT6作为系统控制器并达到控制以下几种功能的目的首先,控制两个可以调整三种亮度的LED灯。其次,本设计通过驱动电路控制一个电机的转动。然后
3、利用温度传感器检测外部环境的温度。当你在近处时可以通过语音指令控制本系统,在远处时可以通过手机短信进行控制。当温度传感器检测到温度过高时,本系统会自动报警并发送短信给手机端。在软件上,本设计包含了主程序、LED控制程序、语音识别程序、温度采集程序和GSM通信程序。模拟系统的设计原理和方法对实际家居控制系统的设计具有指导作用。关键词语音识别;STM32F103RCT6;GSM通信;智能家居控制;LD3320苏州大学本科生毕业设计(论文)电子信息科学与技术第2页ABSTRACTINTHISPAPER,IDESIGNASIMULATIONCONTROLSYSTEMBASEDONSPEECHRECOG
4、NITIONTHISPAPERMAINLYSTUDIESBASEDONSPEECHRECOGNITIONSIMULATIONCONTROLOFHOUSEHOLD,DISTINGUISHEDDESIGNRESEARCHHARDWARESYSTEM,LEDBYTHEMICROPROCESSORMINIMUMSYSTEMCIRCUIT,KEYCIRCUIT,MOTORDRIVECIRCUIT,TEMPERATURECOLLECTIONCIRCUIT,GSMCOMMUNICATIONCIRCUIT,POWERCIRCUITSTM32F103RCT6CHOSENASTHESYSTEMCONTROLLER
5、ANDACHIEVETHEPURPOSEOFCONTROLLINGTHEFOLLOWINGFUNCTIONSFIRSTOFALL,THETWOCONTROLCANADJUSTTHEBRIGHTNESSOFTHELEDLAMPTHREE,ANDTHROUGHTHEDRIVECIRCUITTOCONTROLAMOTORANDREVERSING,ATTHESAMETIMEUSINGTHETEMPERATURESENSORDETECTIONOFTHEEXTERNALENVIRONMENTTEMPERATURE,CLOSETOVOICECOMMANDSTOCONTROL,TOCONTROLTHEDIST
6、ANCETOSMS,THEHIGHTEMPERATUREWILLAUTOMATICALLYALARMSENTTEXTMESSAGESTOMOBILEPHONESSOFTWARE,DESIGNTHEMAINPROGRAM,LEDCONTROLPROGRAM,THESPEECHRECOGNITIONPROGRAM,TEMPERATUREACQUISITIONANDGSMCOMMUNICATIONPROGRAMTHEDESIGNPRINCIPLEANDMETHODOFSIMULATIONSYSTEMHAVEDIRECTEFFECTONTHEDESIGNOFTHEACTUALHOMECONTROLSY
7、STEMKEYWORDSSPEECHRECOGNITIONSTM32F103RCT6GSMCOMMUNICATIONSMARTHOMECONTROLLD3320苏州大学本科生毕业设计(论文)电子信息科学与技术第3页前言语音识别技术是以语音作为一个研究对象,让机器自动识别、处理并理解人类口头语言的一种技术。语音识别技术通过对语音信号的认识和理解使机器接收相应的文本并执行命令。它将声学、语音学、语言学、信息理论交叉学和模式识别与神经生物学理论完美的结合起来。语音识别技术正逐步成为计算机信息处理技术的关键技术,它的应用已成为一个非常有竞争力的高新技术产业。人视觉对机器的语音识别是计算机出现之前产生的
8、。基于计算机平台的最早自动语音识别系统是在上个世纪,这是所谓奥黛丽语音识别系统,它是由ATT的贝尔实验室完成的开发。在这个系统中,研究人员使用一些复杂的部件来实现模拟语音元音的频率变化,以及分离的数字语音识别的目的,准确率达到98。后来,英国DENES率先在语法概率中加入了语音识别系统,建立一个音素识别装置来达到识别元音和辅音的目的。在这一年,麻省理工学院,FORGI等人研究了在受控环境中识别的10英元音。研究与历史性突破是在80年代末的语音识别。李开复在读博士学位时,在卡耐基梅隆大学设计了约1000英语单词连续语音识别系统。这是世界上第一个高性能的识别系统。此后,HMM模型已被广泛用于世界各
9、地。然而,引进HMM模型的成就应归功于一组科学家的辛勤工作,如RABINER;他们通过分析和处理HMM数学公式的工程,让更多的研究人员可以使用和理解HMM1。HMM使得语音识别实现转型,从简单的模板匹配统计概率模型逐渐形成了概率统计模型较为完善的制度。在90年代末,人工神经网络(ARTIFICIALNEURALNETWORKS)出现了。它可以模拟人脑的结构和智能化的特点,它具有独特的大规模并行分布处理和联想学习的能力,并试图模拟一个强大的生物神经系统。由于其全面的功能和人性化的智能,它有大规模并行,分布式存储和处理,自组织,自适应学习,灵敏度低噪声等特点,它适合在多种因素和条件下运行。但是,由
10、于许多人工神经网络还处于尝试阶段,它没有更完善更可行的理论基础,并且需要充分依靠人工神经网络来实现了语音识别系统,其效果不如HMM。在现在这个社会,智能控制已成为发展最热门的领域,智能家居控制也是近年来的一种社会趋势,因此,语音识别技术和智能家居的发展与GSM遥控互动相结合将是一个非常有意义的设计主张。苏州大学本科生毕业设计(论文)电子信息科学与技术第4页第1章理论分析及总体方案第11节总体框架图11所示是基于语音识别的智能家居控制的结构框图。硬件系统由STM32控制电路、LED电路、按键电路、电机驱动电路、温度采集电路、GSM通信电路、电源电路组成。系统可以有三种控制方式,按键控制,GSM控
11、制和语音控制,按键控制即是使用独立按键对各个模块进行协调控制。GSM控制即是利用GSM短信对各个模块进行协调控制并采集信息。语音识别控制即是输入特定的语音指令,语音识别模块将识别语音指令并进行相关的处理,之后产生特定信号通知单片机进行相应的控制。工作电源为系统提供正常工作所需的电能。图11基于语音识别的智能家居控制系统结构框图苏州大学本科生毕业设计(论文)电子信息科学与技术第5页第12节方案比较通过上面的总体方案,需要选择相应的器件与模块,现通过以下的方案比较来选择模块与器件。121微处理器方案比较根据研究目标及要求,对于控制器的选择有以下两种方案。方案一采用STC12单片机作为本设计的核心控
12、制芯片,STC12LE5A60S2是一种性能高、功耗相对较低的CMOS微控制器,且具有可用于编程的FLASH存储器和64K的内存ROM。它的主要性能参数有与MCS52单片机的产品可以兼容、有可用于编程的FLASH存储器、擦写次数高达10W次、程序存储器采用了三级加密、0HZ24MHZ的全静态操作、6个中断源、32个双向I/O口、三个16位定时器/计数器、低功耗空闲和掉电模式、双数据指针、掉电后中断可唤醒等,因此特别适合运用它进行各种灵活的控制2。方案二采用STM32F103RCT6单片机作为系统控制器,STM32F103RCT6是由ST生产的一款STM32F103系列的微处理器。STM32最高
13、频率可达72MHZ,它0等待的存储器访问、基于哈佛结构并带有3级流水线特性和其高效的处理效率保证能够实时高效的处理水表取数和上传数据。STM32自带64K字节FLASH,它具有多种低功耗模式等待、活跃停机、停机模式,外设的时钟可单独关闭。在停机模式下,STM32的功耗仅仅45UA左右,完全能够满足智能控制的供电要求,这实现并保证了整个系统的低功耗特性3。基于以上分析可知STC12LE5A60S2芯片较STM32F103RCT6在结构上更加简单,但STM32F103RCT6引脚功能更加齐全,内存庞大,运行速度较51系列单片机快的多。而且它内置功能模块更多,包括4路USART,DMA,电机控制PW
14、M,PDR,POR,PVD,PWM,内置温度传感器,WDT。虽然对于初学者来说STM32的编程要相对难得多,而STC12LE5A60S2使用起来更加方便,对于初学者更容易掌握,但是若是采用ST提供的STM32F103的固件库进行设计开发,从开发难度并不会比51单片机难太多,因此综合性能考量和后期外部功能扩展性考量,本设计的主芯片选用了方案二的STM32F103RCT6。苏州大学本科生毕业设计(论文)电子信息科学与技术第6页122语音识别模块方案比较语音识别的方式多种多样,语音识别芯片的选择同样多种多样。语音识别模块的选择直接影响整个系统的功能及质量。语音识别过程一般包括语音信号产生,语音信号预
15、处理,语音特征参数提取,语音的训练与识别。方案一基于一般语音识别芯片控制设计这一方案主要由语音信息采集和处理模块、语音信息存储模块、语音识别模块等几个模块组成。语音信号经语音采集模块采集后,进行特定处理交由语音信息存储模块存储;微处理收到语音存储模块发送的数据后交由语音识别模块进行语音识别;语音识别模块识别特定语音信息时会产生相应信号给微处理器;微处理器通过接收语音识别模块的信号控制,从而实现系统的控制。方案二基于非特定人语音识别芯片LD3320的控制设计语音信号直接由语音识别模块采集、识别并处理,识别到特定语音后LD3320将产生相应的信号给微处理器;微处理器根据从LD3320接收到的信号控
16、制,从而实现对系统的控制。基于一般语音识别芯片的控制系统通过各模块的相互配合最终可以实现系统的控制。相对于方案二;方案一的系统成本低,但是存在许多不足之处方案一的系统结构较复杂,需要外加麦克风和语音信号处理装置;系统稳定性相对不高;语音采集与识别分开进行时,更容易出现识别不准确的情况;一般语音识别芯片中,有些用于特定人语音识别的芯片不能满足系统功能的要求4。基于LD3320语音识别芯片的控制系统能实现对系统的控制。LD3320语音芯片有自带的语音信号采集与处理功能,这样可以使得系统结构更加简单;LD3320语音识别属于非特定人语音识别芯片,能满足系统功能的要求;系统稳定性更好,语音识别准确度高
17、5;语音指令可以通过修改程序代码来改变。所以方案二比方案一更优。123GSM模块方案比较GSM模块,是一个类似于手机的通讯模块,集成了手机的若干功能于一块小电路板上,它可以发送短消息,通话等等,模块虽小,但它具备了很多手机的功能,拥有它等于就是拥有了手机的核心部分了,本设计中我们使用STM32控制GSM模块进行短信发送和短信控制。方案一TC35I的模块是GSM模块,在EGSM900和GSM1800双频其中工程的新版本,其功率范围为3348V,在睡眠模式电流是35毫安,空闲状态为25MA,为发射状苏州大学本科生毕业设计(论文)电子信息科学与技术第7页态为300MA(平均),峰值为25A耗电量2W
18、和1W和GSM1800。SIM电压3V/18V,它通过AT命令的TC35I双向指令和数据传输,可选波特率器300B/秒115KB/秒,自动波特率为12KB/秒115KB/秒。它支持文本和PDU的SMS(消息服务短整数),并且可以通过AT命令或关闭信号来实现,重新启动和故障恢复6。方案二SIM900A是一款紧凑型,高可靠性的双频GSM/GPRS模块,它采用SMT封装解决方案,使用功能强大的处理器ARM9216EJS内核,可满足低成本,小尺寸的要求。它利用工业标准接口,在GSM/GPRS为900/1800MHZ的SIM900A与小尺寸和低功耗的函数来实现语音,SMS,数据和传真信息的传输。SIM9
19、00A能满足M2M几乎所有应用中,要求特别小巧,紧凑的设计7。通过AT命令控制(GSM707,705和增强的AT命令),它有一个强大的TCP/IP协议栈,支持多种IP连接。因为我们所需的功能要求至少收发SMS短信,所以对模块功能的要求并不高,而方案一TC35I模块的价格高于方案二SIM900A。从成本上考虑,自然就选择了价格更低的方案二SIM900A模块了。所以在本次设计中我们使用SIM900A模块来实现GSM功能。第13节整体方案综述经过以上的方案比较与选择可得到以下整体方案的确定该系统采用三种控制方式,它们通过控制STM32F103RCT6单片机来实现对LED灯和电机的协调控制。按键控制、
20、语音控制和GSM控制。按键控制就是通过按键来控制系统。GSM控制即利用SIM900A模块通过短信形式对各个模块进行协调控制并采集信息。语音识别控制即通过LD3320模块输入特定的语音指令,语音识别模块将识别语音指令并进行相关的处理,之后产生特定信号通知单片机进行相应的控制。苏州大学本科生毕业设计(论文)电子信息科学与技术第8页第2章系统硬件电路设计第21节微处理控制电路设计设计中采用的微处理器是STM32F103RCT6单片机。STM32F103RCT6运行速度可达72MHZ,系统与外部联通接口有CAN,I2C,IRDA,LIN,SPI,UART/USART,USB,芯片自带外围设备有DMA,
21、电机控制PWM,PDR,POR,PVD,PWM,WDT。芯片输入/输出IO口数为51,芯片程序存储器容量256KB。程序存储器类型FLASH,RAM容量48K,芯片电压电源VCC/VDD2V36V,芯片振荡器型内部,封装/外壳64LQFP8。其引脚分布如图21所示图21单片机引脚图单片机由AMS111733作为系统的电源转换芯片,ASM111733是一个正向低压降稳压器,作为STM32刚好合适,所以电压部分由DC35从USB取电给各个器件供电,而系统电源部分由AMS111733转换从USB取得的5V电压转换成33V为其供电9,电源部分原理图如图22所示。苏州大学本科生毕业设计(论文)电子信息科
22、学与技术第9页图22电源电路STM32F103RCT6有3种复位方式外部RST引脚复位,软件复位,看门狗复位。如图23,外部RST引脚从外部复位到NRST引脚复位脉冲一定宽度,从实现的微控制器的复位10。NRST引脚出厂配置为RST复位引脚应被配置为I/O端口,在ISP编程设定。如果NRST不在STCISP编程设置的I/O端口输入引脚NRST是芯片复位。RST复位引脚为高电平并保持至少24个时钟加为10S,单片机将进入复位状态时,RST复位引脚回到低电平时,单片机结束复位状态,并从0000H部门的用户程序区启动正常工作11。图23复位电路STM32F103RCT6单片机有两个时钟源内部的R/C
23、振荡器时钟和外部晶振时钟。工厂标准配置是使用芯片的R/C振荡器,其频率为8MHZ,则内部的R/C振荡频率将会存在一个数字温度漂移12,再加上制造错误的,因此内部的R/C振荡器只适合的时钟的频率不要求高精度的场合。单片机的OSC脚接了这两个晶振振荡器电路电路如下图24所示。苏州大学本科生毕业设计(论文)电子信息科学与技术第10页图24晶振震荡电路单片机通过串口与外部语音模块、GMS模块通信。STM32F103RCT6的串口有USART(42、43脚)、USART2(16、17脚)、USART3(29、30脚)、USART4(51、52脚)、USART5(53、54脚)13。本设计用USART2与
24、语音模块LD3320通信、USART3与GSM模块通信来达到语音控制和短信控制单片机的效果。其它一些串口功能在本设计中都没有用到。STM32F103RCT6除了USART串口通信还有SPI通信和CAN通信,它主要是主从方式通信,这种通信模式通常有一个主机多个从机,标准的SPI是4根线,分别是SSEL片选,也写作SCS、SCLK时钟,也写作SCK、MOSI主机输出从机输入MASTEROUTPUT/SLAVEINPUT和MISO主机输入从机输出MASTERINPUT/SLAVEOUTPUT。本芯片的2023脚为SPI1这些引脚也可以设置为普通的I/O口14。3336脚则是SPI2。44、45脚为C
25、AN通信口。本设计用JLINK仿真器来仿真与下载程序,下载方式则是用SWD模式。相比于JTAG模式,SWD模式可以用相对较少的线来达到烧写程序的目的。SWD模式只需要接四根线就可以完成烧写。VCC、GND、SWCLK(49脚)、SWDIO(46脚)。电路如图25所示。图25SWD电路在每个STM32上都有BOOT脚,当MCU复位时,BOOT脚的电平状态决定芯片复由哪个个区域开始执行程序。BOOT00,不在乎BOOT1的电平,用户闪存启动,一般使用该模式。当BOOT10,BOOT01时,从系统存储器启动。当BOOT11,BOOT01时,从内置SRAM启动。芯片剩下的51脚为输入/输出IO口,本设
26、计中用到的口如下所示苏州大学本科生毕业设计(论文)电子信息科学与技术第11页LED部分PA4模拟智能家居灯0;PA8模拟智能家居灯1,带PWM控制功能,可调节三种亮度灯光;PC10电机启动指示灯;PC11温度过高指示灯;PC12GSM短信发送指示灯;按键部分PA10控制灯0;PA11控制灯1;PA12控制步进电机启停;PC6控制LD3320语音识别启停;PC8清除GSM短信发送状态;语音识别部分PA2STM32的串口2中的TX口,完成和LD3320通讯控制的作用;PA3STM32的串口2中的RX口,完成和LD3320通讯控制的作用;GSM通信部分PA9STM32的串口3中的TX口,完成和SIM
27、900A通讯控制的作用;PA10STM32的串口3中的RX口,完成和SIM900A通讯控制的作用;步进电机部分PB3通过控制ULN2003驱动28BYJ48的A端;PB5通过控制ULN2003驱动28BYJ48的B端;PB7通过控制ULN2003驱动28BYJ48的C端;PB8通过控制ULN2003驱动28BYJ48的D端;温度采集部分PA15连接控制DS18B20利用其采集温度参数;第22节GSM模块简介与电路设计本设计子模块中的GSM模块采用了SIM900A,SIM900A是二频的GSM/GPRS模块,它的工作的频段为EGSM900MHZ和DCS1800MHZ。SIM900A内嵌了TCP/
28、IP协议,扩展的TCP/IP(传输控制协议/互联网络协议)AT命令让我们可以较为容易的使用TCP/IP协议15。对于本设计需要到的SMS短信传输控制,SIM900A刚好可以胜任。关于SIM900A的电路设计主要要注意其模块的供电问题,SIM900A采用了VBAT为苏州大学本科生毕业设计(论文)电子信息科学与技术第12页34V到45V的单电源供电。当进行GPRS数据的传输通信时,SIM900A的电流损耗的峰值会达到2A16。所以我们的电路设计中为SIM900A供电电源必须保证能够达到到2A的电流,这样才能进行稳定的数据传输。关于GSM的电路设计只需要将其与STM32F103RCT6的串口进行连接
29、,即可利用单片机控制其实现GSM短信的发送。SIM900A芯片如下图26所示。图26SIM900A电路引脚VBAT是电源输入,GND引脚为地。VRTC引脚用于模块内部RTC电源输入。电路如图27所示。图27SIM900A电源电路串口引脚DTR(3脚)数据终端准备RI(4脚)振铃检测DCD(5脚)数据载波检测苏州大学本科生毕业设计(论文)电子信息科学与技术第13页DSR(6脚)数据设备准备CTS7发送清除RTS8发送请求TXD、RXD(9、10脚)数据发送和接收串口音频接口引脚DBG_RXD、DBG_TXD(27、28脚)数据接收调试口和数据发送MIC_P、MIC_N、SPK_P、SPK_N(1
30、922脚)麦克风输入正/负端和音频输出正/负端LINEIN_R、LINEIN_L(23、24脚)右、左通道输入SIM卡引脚SIM_VDD(30脚)SIM供电,SIM_DATA(31脚)SIM卡数据I/OSIM_CLK(32脚)SIM卡时钟SIM_RST(33脚)SIM卡复位SIM_PRESENCE(34脚)SIM卡插拔检测其它口则为普通I/O口控制(LCD控制接口和键盘接口)第23节语音识别模块电路设计基于语音识别的智能家居控制的核心部分就是语音识别电路。语音识别电路识别特定语音指令并进行相应处理,产生相应的信号给微处理器调节灯光亮度。LD3320芯片采用48脚QFN塑料封装,大小约为7708
31、5毫米,体积小巧,管脚排列合理。语音识别芯片,通过ICROUTE公司设计。该芯片与语音识别处理器包含一些外围电路,包括A/D,D/A转换器,麦克风接口,音频输出接口等集成。LD3320注重节能环保和高效率的芯片设计,不需要任何外部辅助芯片如FLASH,RAM等。它直接集成在现有的产品,可以实现语音识别/语音/人机对话功能17。另外,在识别的关键词列表可以通过任何动态编辑。LD3320芯片具有以下特点(1)通过使用ICROUTE公司的快速和稳定的优化算法,语音识别完成。用户并不需要培训和记录,就可达到识别95的准确率。(2)无需任何辅助闪存芯片,RAM芯片和AD芯片,语音识别功能可以完成的需要。
32、(3)确定每一个你可以设置50候选识别句子的时候,每一个句子的识别可以是单词,短语或句子,不超过10个或79个字节的字符中国拼音串的长度。另一方面,识别句内容可以动态编辑和修改,因此它可以由多个场景的系统来支持18。(4)16位A/D转换器,16位D/A转换器和功率放大器电路已经制备,和话筒,立体声耳机和单声道扬声器可以与芯片销19的立体声耳机的输出功率被方便地连接插孔为苏州大学本科生毕业设计(论文)电子信息科学与技术第14页20MW,和喇叭的输出功率为550MW,能产生清晰而响亮的声音。(5)支承并行和串行接口,串行模式可以简化与其它模块的连接。(6)可被设置为休眠状态,并且可以容易地被激活
33、。(7)支持MP3播放功能的支持,而不需要外接辅助设备,主控MCUMP3数据将被发送到LD3320芯片内部相应的引脚输出声音。该产品的设计可以从立体声耳机或单声道扬声器选择获得声音输出。支持MPEG1(ISO/IEC111723),MPEG2(ISO/IEC138183)和MPEG25层3等20。(8)电源为33V,并且如果它被用在一个便携式系统,它可用于通过使用3节AA电池,以满足电源的需求。LD3320的基本应用电路由单片机和LD3320组成。主控MCU芯片的电路来完成LD3320芯片寄存器的操作。LD3320芯片各种操作,必须通过寄存器的操作来完成。如设置标志位,读状态,写数据到FIFO
34、,识别结果,等等。例如,编辑关键词时,在拼音串设置成LD3320寄存器来完成编辑关键词主控MCU。寄存器可以分为以下几类,FIFO数据缓冲器,语音识别控制寄存器,音量控制,模拟电路和其他辅助寄存器。寄存器的读写操作有2种方式,分别是标准并行模式和串行SPI模式。该LD3320寄存器的地址空间为8位,从00HFFH。所述STM32F103RCT6控制LD3320的设计完成所有相关的语音识别的工作。供电设计可以使用NSLM111733芯片,提供33V电压使用LD3320MIC音频输入由单片机P0口8号线和LD3320并联控制,控制线也连接21。也连接到复位信号和中断信号。为LD3320,复位信号(
35、RSTB)由MCU发出,并且中断信号由微控制器发送,而LD3320负责接收。此外,还有一些辅助电路,诸如麦克风偏压,扬声器音量控制,以及电源去耦的,电路图如图28所示。苏州大学本科生毕业设计(论文)电子信息科学与技术第15页图28LD3320电路图VDD/VDDIO电源输入26脚按原理图接上拉电阻、6脚可以悬空MICP、N(9、10脚)麦克风输入正负端MONO(11脚)单声道LINEIN输入MBS(12脚)麦克风偏置LINEL、R(13、14脚)立体声LINEIN左右端HPOL、R(15、16脚)耳机输入左右端EQ1、2、3(2022脚)喇叭音量外部控制SPON、P(25、26脚)喇叭输出LO
36、UT(L、R)(27、28脚)LINEOUT输出RSTB(47脚)复位信号INTB(48脚)中断信号第24节电机驱动电路设计本设计中我们需要需要驱动步进电机模拟家电的控制,但是单片机输出的电平驱动能力有限,如果只是靠这个TTL电平还是不能直接驱动继电器和步进电机。所以我们在这里采用ULN2003为外部驱动提供动力。本设计中的步进电机通过单片机IO口直接驱动是不行的,因为IO口输出的电流太小,没办法驱动继电器。所以就使用到了ULN2003,以便于驱动步进电机。ULN2003是双列16脚封装的有DIP和SOP的形式,ULN2003的最大驱动电压是50V,苏州大学本科生毕业设计(论文)电子信息科学与
37、技术第16页最大驱动电流是500MA,芯片的输入电压5V左右,它特别适用于TTLCOMS电路的逻辑构成。本设计用采用的ULN2003是用于驱动步进电机的,通过功耗上的估算,它是刚好适合的。一般单片机驱动ULN2003的时候,需要使用2K的电阻上拉电阻,因为单片机的IO输出电流太小了,ULN2003的COM引脚在设计中应该悬空或者接电源的。该系统连接原理图如图29所示。图29电机驱动电路第25节温度采集电路设计温度检测采用DS18B20,它采用单线进行数据传输,与单片机的一个I/O口相连进行数据的双向传输。每一次对DS18B20进行读写之前都要进行初始化即复位操作,复位成功后向DS18B20发送
38、一条ROM指令,最后发送RAM指令,这样才可以对DS18B20进行读写指令或者读取温度值的操作。DS18B20的复位操作要求主控芯片将数据线下拉500US,然后释放数据线,主控芯片收到此信号表示DS18B20复位操作成功22。本设计采用T09封装的DS18B20温度传感器,其三个引脚分别为GND(接地)、VCC可选用的VCC引脚)、DQ(数据输入/输出),单片机IO口与传感器的DQ相接,其接口电路如图210所示。图210DS18B20电路苏州大学本科生毕业设计(论文)电子信息科学与技术第17页第26节LED和按键电路设计设计中模拟家电灯光控制利用LED灯进行模拟,调节三档LED灯亮度,使用ST
39、M32内部自带DA进行驱动控制,系统按键控制部分采用普通的独立按键,原理图如下图211、212所示。图211LED灯电路图212按键电路苏州大学本科生毕业设计(论文)电子信息科学与技术第18页第3章系统软件设计硬件是一个系统的基础,而软件则是系统的灵魂。设计中可以使用到的语言有汇编语言和C语言。基于基于语音识别的智能家居控制的硬件设计完成,软件的任务也就明确。在进行系统的软件设计时,根据系统的功能,将软件分为几个独立的部分,分别对应不同的硬件模块,设计出软件总体结构,画出程序流程框架图。基于语音识别的灯光控制设计的软件设计主要包括五个部分按键控制部分、GSM通讯部分、语音识别部分、温度采集部分
40、、LED和电机控制部分。系统的可以有三种控制方式,按键控制,GSM控制和语音控制,按键控制即是使用独立按键对各个模块进行协调控制。GSM控制即是利用GSM短信对各个模块进行协调控制并采集信息。语音识别控制即是输入特定的语音指令,语音识别模块将识别语音指令并进行相关的处理,之后产生特定信号通知单片机进行相应的控制。第31节语音识别程序设计语音识别程序的设计是由语音模块控制语音识别芯片LD3320识别的控制完成。语音识别芯片LD3320各种操作都是由寄存器的操作完成,如设置标志位,读取芯片的运行状态,获得识别结果,等等。读写寄存器的操作有四种方式,即并行算法(软,硬)和串行SPI(软,硬)。在这个
41、系统中,软件仿真的时间序列被用于读取和写入。AO是负责通知芯片中的数据段或地址部分。AO为地址时,数据是低的。WRB必须是有效的,当地址被发送。写数据时WRB必须是有效的,在读取数据时RDB必须是有效的23。并行模式写寄存器过程是AO设置为1,WRB、RDB拉高写地址准备好数据,AO设置为0,WRB、RDB拉低写入数据。并行模式读取寄存器的过程是准备好地址后,AO设置为1,WRB、RDB拉低写地址AO设置为0,WRB、RDB拉低读取数据。语音识别的操作流程是语音识别初始化,写标识列表,启动标识,并准备中断响应函数,打开中断允许位,循环识别模式的工作模式,系统反复启动语音识别过程,没有任何操作,
42、再次启动所述语音识别处理一旦指令的声音,以执行相应的操作,下一个语音识别软件后,软件流程图如图31所示。苏州大学本科生毕业设计(论文)电子信息科学与技术第19页图31语音识别流程图第32节GSM通信程序设计首先进行初始化对SIM900A进行初始化,在系统触发发送GSM数据之前,需要先检测SIM900A网络是否连通,若是连通则开始进行GSM数据传输。在对SIM900A进行控制之前,我们首先要在PC端利用串口对其进行AT指令的基本操作,确定其可以正常工作,然后根据所需要其完成的功能在PC端利用串口进行模拟操作,测试出本设计所需要的AT指令流程,直至达到满意的状态后再由单片机进行控制操作,这样才能稳
43、定的调试出其所需要的程序,其单片机控制的流程图如下图32所示。苏州大学本科生毕业设计(论文)电子信息科学与技术第20页图32GSM程序流程图第33节温度采集程序设计DS18B20的温度传感器的主要作用是用来收集目前实时温度,温度传感器DS18B20工作流被分为三部分,即,初始化,ROM操作指令,DS18B20功能指令。每DS18B20操作必须满足上述步骤,缺乏步骤或混乱的真正顺序,DS18B20将不返回值。DS18B20的初始化初始化单总线,操作实施后,处理所有的数据,从最初的开始。初始化序列由总线控制器和从机脉冲发出复位脉冲。脉冲的作用是让总线控制器知道该总线上的温度传感器DS18B20并准
44、备执行下一步骤。DS18B20读写数据ROM操作指令,如果脉冲的存在是总线控制器,以搜寻,它会立即苏州大学本科生毕业设计(论文)电子信息科学与技术第21页发出ROM中的指令。则总线上的设备的数量将通过总线控制器能识别的,并且它们还可以用来满足报警条件。ROM中的指令,其长度为8个,分别是ROMF0H阅读ROM33H搜索,ROM55H数学,ROMCCH跳过,搜索ECH报警。总线控制器必须发出发起DS18B20功能指令之前ROM指令24。DS18B20数据转换原理16位是出厂默认的转换精度。当接收到转换后的温度转换命令(命令码44H),温度的转化为16位二进制,存储在RAM中第零,1个字节,二进制
45、数5的缓存后表示为符号位25。如果测得的温度大于0时,5为0,并且所测量的值可以由00625得到。如果该温度低于0,则5是1。该温度传感器DS18B20工作流程的设计是第一,然后写入ROM命令的ROM后启动温度转换,DS18B20发送ID测试,然后读取温度寄存器的值返回给微控制器。温度采集过程如图33所示。图33温度采集程序流程图苏州大学本科生毕业设计(论文)电子信息科学与技术第22页第34节电机与LED控制程序设计341电机控制程序设计28BYJ48输入八位相四拍电机,DC5V的电压。当通过IO输出步进电机的输出控制脉冲,根据该有序旋转速度的频率步进电机单片机。对应于与功率状态改变步进电机每
46、个IO输出的脉冲信号,也就是说,每一个脉冲输出对应于一个步距角。四相步进电机可以在不同的脉冲序列运行,这时候我们实际的设计为八拍控制,采用的设计定时器0实现控制速度。本设计中通过STM32内部定时器来控制调速,通过改变定时器的中断时间来控制IO频率的输出。程序中进入中断程序后,首先要改变IO输出,再根据当前值设置的中断频率值。然后判断前后步进机的控制位的值,如果是0则控制前步进机转动,如果是1则控制后步进机转动。最后保存变量值,继续等待下次的中断。通过用中断时间控制了脉冲的输出频率,也就可以控制步进电机转动速度的快慢了。在中断程序中通过检测方向控制位的数值,改变IO脉冲的输出,控制了步进电机各
47、引出端的接通的顺序,最后达到实现了步进电机转速快慢的区分。其程序流程图如图34所示。苏州大学本科生毕业设计(论文)电子信息科学与技术第23页图34电机程序流程图342LED控制程序设计在本系统中利用STM32内部定时器的PWM模式来产生控制调节LED灯亮度和开关的PWM波,通过PWM波的脉冲频率和其占空比值控制LED灯的亮度及暗灭,其程序流程如图35所示。苏州大学本科生毕业设计(论文)电子信息科学与技术第24页图35LED控制程序流程图苏州大学本科生毕业设计(论文)电子信息科学与技术第25页第4章系统测试与分析第41节系统测试411测试环境与内容在本次设计中使用三种方式控制灯一、灯二和电机,分
48、别是按键模式,语音模式和短信模式。另外通过温度传感器检测温度,当温度超过三十度就会点亮另一个灯并发出短信通知给手机。语音指令进行系统控制,分别是灯一开,灯一关,灯二开,灯二关,电机开,电机关。本次测试将在温度20摄氏度左右的室内进行,测试会分不同距离进行,短信模块的距离会比较远。412测试步骤(1)测试按键对灯一、灯二和电机的控制,分别测试五十次。(2)分别在1CM、2CM、3CM、4CM、5CM处测试语音模块对该系统的控制能力,分别测试五十次。(3)分别在1M、10M、50M、100M、1000M出测试短信模块对该系统的控制能力,分别测试五十次。413结果分析本设计在按键模块测试的时候有四十
49、九次测试顺利达到预期结果,只有一次出现了失误,测试成功率达到了98,这次失误可能是由于按键的不灵敏造成的结果,由此可得到本设计的按键模块十分稳定,基本不会出现控制失误的情况;测试图如图41所示。苏州大学本科生毕业设计(论文)电子信息科学与技术第26页图41语音模块测试图本设计对语音模块的测试结果如下表41所示。当输入语音距离语音模块较近(1CM)时该设计系统的成功率较高,随着测试距离的逐渐增大,测试成功率有着明显的下降趋势,当测试距离较远(5CM)的时候,成功率只有18,这说明该系统的语音读取部分还存在一定的不足,其中的原因则是因为语音模块所使用的芯片LD3320的精确度和能力不是特别高,当输入距离远时则会接收不清楚或接收不到语音信号的输入。测试图如图42所示。表41语音模块测试结果测试距离(CM)12345测试次数(次)5050505050成功次数(次)484327186测试成功率9686543618图42短信模块测试图苏州大学本科生毕业设计(论文)电子信息科学与技术第27页本设计对短信模块的测试结果如下表42所示。五次距离不同的测试只有当50M处有一次没有成功,这说明本设计系统是比较稳定与成功的,其中的一次没有成功可以看做是测试所出现的误差,出现误差的原因有可能是网络的因素,这并不影响本测试的结果。测试图如下图43所示。表42短信模块测试结果测试距离(M)110