基于单片机的声控燃气灶设计论文_第1页
基于单片机的声控燃气灶设计论文_第2页
基于单片机的声控燃气灶设计论文_第3页
基于单片机的声控燃气灶设计论文_第4页
基于单片机的声控燃气灶设计论文_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于凌阳单片机的声控智能化燃气灶设计摘要:文章以凌阳公司16位单片机SPCE061A为核心,与传统电子燃气灶结合,设计出家庭厨房应用的声控智能化燃气灶。该燃气灶是用语音控制点火、火力大小调节以及熄火。在硬、软件设计中,系统采用SPCE061A型单片机为控制核心,使用C语言为编程语言,提高了系统整体的稳定性。关键词:普通燃气灶;SPCE061A;步进电机;脉冲点火器,光耦隔离器;声控燃气灶是家庭普及率非常高的厨房电器,科技在不断发展,燃气灶也在不断更新换代,百姓的生活逐步走向自动化、完美化。电子燃气灶正在朝着自动化、智能化方向发展。本文设计的智能燃气灶实现了语音控制燃气灶的电火、火力大小以及熄火等功能。设计并实现智能燃气灶,对于实现厨房智能化、自动化有着重要的现实意义。一、工作原理该燃气灶系统由普通燃气灶、SPCE061A单片机、步进电机、脉冲点火器,光耦隔离器、51单片机等组成。图片1:普通燃气灶图片2:SPCE061A单片机图片3:步进电机图片4:光耦隔离器图片5:脉冲点火器智能燃气灶系统的工作原理:系统接收来自使用者的“点火”语音信号,由单片机给出相关信号控制步进电机打开燃气阀给燃气灶通天然气,同时控制脉冲点火器点火;当系统接收到来自使用者的“右转”(大火)语音信号时,由单片机给出相应信号控制步进电机正转合适角度调节燃气阀增大燃气进气量,来达到增加火力的目的;当系统接收到来自使用者的“左转”(小火)语音信号时,由单片机给出相应信号控制步进电机调节反转合适角度燃气器阀减小燃气进气量,从而实现减小火力;当系统接收到来自使用者的“熄火”语音信号时,由单片机给出相应信号控制步进电机调节燃气阀停止供气,以达到熄火目的。二、硬件设计我们选择凌阳公司(Sunplus)开发的16位SPCE061A,它的突出优点是低功耗和功能集成,内部的语音资源可实现语音控制功能,并适合于自动信号采集、自动控制电机、点火器等领域应用。该系统的控制部分电路,主要由SPCE061A单片机、步进电机、脉冲点火器、光耦隔离器构成,其中通过步进电机来控制燃气阀的开断。控制部分以凌阳SPCE061A单片机为控制核心。(一)点火部分点火部分由两部分组成,包括光耦隔离器模组和脉冲点火器部分。光耦隔离器模组用于实现弱电控制强电,其目的是减小脉冲点火器产生的高压脉冲对单片机的影响。该模组接单片机端有三个接线端,分别GND、VCC、IN三个端口,IN端接单片机相应IO口;接脉冲点火器端有两个端口分别为COM、CK,COM端接脉冲打火器的GND端,CK端接脉冲打火器的VCC端。脉冲点火器产生电火花点燃燃气,完成点火需要外接电源,外接电源由三节1.5V干电池提供。光耦隔离器制板图(二)火力控制部分火力控制主要有两种方法,一种是通过传统旋钮进行对火力大小进行控制,另一种是通过控制步进电机来控制火力大小,从大火力转到小火力控制时通过单片机发出控制信号,控制步进电机,然后再控制燃气阀调节进气口的进气量来调节火力大小和关断燃气灶的。控制火力过程如下,通过单片机控制启动点火装置与步进电机,将燃气灶点燃并让火力处于中火位置。当需要大火时,使用者发出“大火”语音信号,CPU接收到语音信号并给出相应控制信号,控制步进电机产生相应动作,调节燃气阀增大进气量,从而增加火力。当需要小火时,使用者发出“小火”语音信号,CPU接收到语音信号并给出相应控制信号,控制步进电机产生相应动作,调节燃气阀减小进气量,从而减小火力。三、软件设计本系统使用凌阳单片机支持的C语言进行编写,程序采用模块化的编程方法,将程序分为主程序、脉冲点火程序、火力大小调节程序等几部分。主程序流程图51单片机程序流程图:开始开始扫描点火信号P1^01点火扫描p1^1~p1^3熄火左转(小火)右转(大火)结束点火扫描p1^1~p1^3熄火左转(小火)右转(大火)结束(二)程序设计SPCE061A语音控制程序#include"bsrsd.h"#defineNAME_ID 0x100#defineCOMMAND_ONE_ID 0x101#defineCOMMAND_TWO_ID 0x102#defineCOMMAND_THREE_ID 0x103#defineCOMMAND_FOUR_ID 0x104#defineRSP_INTR 0#defineRSP_NAME 0#defineRSP_FIRE 1#defineRSP_GUARD 2#defineRSP_AGAIN 3#defineRSP_NOVOICE 4#defineRSP_NAMEDIFF 5#defineRSP_CMDDIFF 6#defineRSP_STAR 7#defineRSP_MASTER 8#defineRSP_HERE 9#defineRSP_GUNSHOT 0#defineRSP_PATROL 11#defineRSP_READY 12#defineRSP_COPY 13#defineRSP_NOISY 14//全程变量intgActivated=0; //该变量用于检测是否有触发命令,当有识别出语句//为触发名称则该位置1 intgTriggerRespond[]={RSP_MASTER,RSP_HERE,RSP_MASTER};intgComm2Respond[]={RSP_PATROL,RSP_READY,RSP_COPY};externvoidClearWatchDog();intPlayFlag=0;voidPlayRespond(intResult){ BSR_StopRecognizer(); SACM_S480_Initial(1); SACM_S480_Play(Result,3,3); while((SACM_S480_Status()&0x0001)!=0) { SACM_S480_ServiceLoop(); ClearWatchDog(); } SACM_S480_Stop(); BSR_InitRecognizer(BSR_MIC); BSR_EnableCPUIndicator(); }intTrainWord(intWordID,intRespondID){ intres; PlayRespond(RespondID); while(1) { res=BSR_Train(WordID,BSR_TRAIN_TWICE); if(res==0)break; switch(res) { case-1: //没有检测出声音 PlayRespond(RSP_NOVOICE); return-1; case-2: //需要重新训练一遍 PlayRespond(RSP_AGAIN); break; case-3: //环境太吵 PlayRespond(RSP_NOISY); return-1; case-4: //数据库满 return-1; case-5: //检测出声音不同 if(WordID==NAME_ID) PlayRespond(RSP_NAMEDIFF);//两次输入名称不同 else PlayRespond(RSP_CMDDIFF);//两次输入命令不同 return-1; case-6: //序号错误 return-1; } } return0;}intmain(){ intx,res,timeCnt=0,random_no=0; InitIO(); BSR_DeleteSDGroup(0); //初始化存储器RAM// PlayRespond(RSP_INTR); //播放开始训练的提示音"请输入触发名称" //训练名称 while(TrainWord(NAME_ID,0)!=0); //训练第一条命令 while(TrainWord(COMMAND_ONE_ID,1)!=0); //训练第二条命令 while(TrainWord(COMMAND_TWO_ID,2)!=0); //训练第三条命令 while(TrainWord(COMMAND_THREE_ID,12)!=0); //训练第四条命令 while(TrainWord(COMMAND_FOUR_ID,13)!=0); //开始识别命令 BSR_InitRecognizer(BSR_MIC); //辨识器初始化 BSR_EnableCPUIndicator();//启动实时监控 PlayRespond(RSP_STAR); //播放开始辨识的提示音 while(1) { random_no++; if(random_no>=3)random_no=0; res=BSR_GetResult(); if(res>0) //识别出命令 { if(gActivated) { timeCnt=0; switch(res) { caseNAME_ID://触发命令响应 PlayRespond(gTriggerRespond[random_no]); break; caseCOMMAND_ONE_ID://识别第一个命令 PlayFlag=1; LED_RED_ON(); PlayFlag=0; gActivated=0; break; caseCOMMAND_TWO_ID://识别到第二条命令 LED_RED_OFF(); gActivated=0; break; caseCOMMAND_THREE_ID://识别第三条命令 LED_GRE_ON(); for(x=500;x>0;x--); LED_REDD_OFF(); gActivated=0; break; caseCOMMAND_FOUR_ID://识别第四条命令 LED_GRE_OFF(); for(x=500;x>0;x--); LED_REDD_OFF(); gActivated=0; break; } } else { if(res==NAME_ID) { PlayRespond(gTriggerRespond[random_no]); gActivated=1; timeCnt=0; } } } elseif(gActivated) { if(++timeCnt>450) //超出定时 { PlayRespond(RSP_NOVOICE); //在设定时间内没有检测出声音 gActivated=0; timeCnt=0; } } }}51单片机控制程序部分#include<reg52.h>sbitD1=P0^0;sbitD2=P0^1;sbitD3=P0^2;sbitD4=P0^3;sbitopenfire=P0^7;unsignedchara[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};voiddelay(intx){intm,n;for(m=x;m>0;m--)for(n=10;n>0;n--);}voiddianjiz(intx){intz,i=0; intcishu; cishu=x; while(cishu--) { for(z=50;z>0;z--) { for(i=0;i<8;i++) { P1=a[i]; delay(12); } } }}voiddianjif(intx){intz,i=0; intcishu; cishu=x; while(cishu--) { for(z=50;z>0;z--) { for(i=7;i>=0;i--) { P1=a[i]; delay(12); } } }}voiddianhuo(){delay(2000); openfire=0; delay(1000); openfire=1;}voidmain(){unsignedintfire=0,huoli;while(1){ if((D1==0)&&(fire==0)) { huoli=2; dianjiz(2); dianhuo(); fire=1; } if((D2==0)&&(fire==1)) { dianjif(huoli); fire=0; }if((D3==0)&&(fire==1)) //大火调节 { dianjiz(1); huoli++; } if((D4==0)&&(fire==1)) //小火调节 { dianjif(1); huoli--; }}}四、结语采用基于凌阳单片机的语音智能燃气灶,是在传统的燃气灶的基础上加入了智能控制功能,其智能控制功能是由单片机来实现的。该设计很好的解决了传统燃气灶只能用手动大火、手动调节火力问题,同时利用凌阳单片机提供的语音功能,可以方便实现声控功能,从而实现厨房的智能化、自动化。该产品有广泛的应用前景,既适用于家庭,也适用于各种餐厅。目录第一章总论 11.1项目提要 11.2结论与建议 31.3编制依据 4第二章项目建设背景与必要性 52.1项目背景 52.2项目建设必要性 7第三章市场与需求预测 83.1优质粮食供求形势分析 83.2本区域市场需求预测 83.3服务功能 103.4市场竞争力和市场风险预测与对策 10第四章项目承担单位情况 124.1基本情况 124.2主要业务范围和业务能力 124.3人员构成 124.4主要技术成果获奖情况及转化能力 134.5现有基础和技术条件 154.6资产与财务状况

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论