智能声控电风扇单片机课程设计.docx
《智能声控电风扇单片机课程设计.docx》由会员分享,可在线阅读,更多相关《智能声控电风扇单片机课程设计.docx(37页珍藏版)》请在冰豆网上搜索。
![智能声控电风扇单片机课程设计.docx](https://file1.bdocx.com/fileroot1/2022-10/24/6a083159-be75-4aca-8acf-2d9494c271d5/6a083159-be75-4aca-8acf-2d9494c271d51.gif)
智能声控电风扇单片机课程设计
愤怒的仓鼠智能声控电风扇
第八部分研制报告
(一)系统设计方案
课题的研究容
运用单片机可以设计出智能型的声控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单,在使用过程中更加的安全节电,智能环保。
技术方案的选择
目前的声控开关大多都是应用模拟电子技术进行设计,分立元件多,不可靠,而且许多声控开关的平均使用寿命不长,主要是因为电路作频繁的开关,启动电流非常大,导致功率元件可控硅由于过载而损坏。
如果在设计中采用开关电压过零保护技术,可消除白炽灯开启瞬间的大电流冲击,有效地防止可控硅元件启动时的电流过载,大延长了开关的使用寿命,并且可以起到保护灯泡的作用。
如今单片机技术已经相当成熟,未来的发展方向趋向于运用单片机可以设计出智能型的声控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单。
在使用过程中更加的安全节电,智能环保。
首先单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机的特点:
(1)种类多,型号全;
(2)提高性能,扩大容量,性能价格比高;
(3)增加控制功能,向真正意义上的“单片”机发展;
(4)低消耗;
(5)C语言开发环境,友好的人机互交环境。
单片机的优点:
(1)使用寿命长;
(2)运行速度越来越快;
(3)低噪声和高可靠性技术;
(4)OTP与掩膜。
综上所述,单片机的特点和优点符合制作智能声光控开关的条件,并且具有准确性和节能性。
(二)声控电路的设计
摘 要
声控电路主要由捡音器(驻极体电容器话筒),晶体管放大器和发光二极管等构成。
驻极体电容来采取声音信号,晶体管放大器将较弱的信号放大传输给发光二极管,发光二极管即LED灯芯,来产生发光效果。
本设计主要涉及模电部分音频放大电路:
把音频放大产生脉冲传递给LED驱动控制电路。
声控电路有很多种形式,本设计采取最基本,最实用的,性能可靠,安装调试方便等优点的声控LED电路。
关键词:
采集 放大 驱动LED
1 设计任务与要求
进一步熟悉模拟和数字设计方法和规,并进一步巩固所学模拟电子及相关知识,达到综合应用电子技术的目的,培养设计开发以及动手实践等能力,学会阅读相关科技文献,查找器件手册与相关参数,独立思考分析,完整理总结设计报告。
了解声控电路的功能,学会在实际电路中应用。
进一步熟悉放大电路、驱动电路的应用。
了解驻极体电容传声器的种类不同,采用的测量电路和要求也不同。
完成声控电路的连接和调试。
学会对电子电路的检测和排除电路故障,进一步熟悉常用电子仪器的使用,提高分析问题和解决问题的能力。
1、声音由驻极体传声器拾取,使得LED灯发光
2、掌握驻极体电容传声器、放大电路、驱动电路的原理,给出声控电路总体方案。
2 设计方案与论证
原理:
本电路图是通过三级管的放大和开关作用来实现声控电路的功能,通过将声音型号转化为电信号并通过放大网络将电信号转化为二极管的光信号。
3单元电路设计及主要元器件参数计算
3.1 放大电路的设计
我们采用最基本的放大电路,因此,根据日常的学习,我们取最基本的电阻和电容原件
图3-1 放大电路示意图
3.2 开关的实现
由三极管工作条件可知,只有当2VD基极有电流时,才能够实现发射极正偏,此时2VD起到了开关的作用,即只有当驻极体电容传声器产生电信号,通过1VD的放大作用传送到2VD时,2VD才起到开关的作用,此时发光二极管LED接通,开始发光。
图3-2 开关电路示意图
4 仿真与调试
4.1 电路图
图4-1 声控电路设计示意图
4.2 调试准备——检查电路
在通电调试之前,必须认真检查电路连线是否正确,对照电路图按照一定的顺序逐级检测,特别要注意电源是否接错,电源与地是否有短接,三极管是否接反,轻轻拨一拨元器件,观察焊点是否牢固。
4.3 调试
先用万用表测量电路有关点电位是否正常。
发现不正常现象时,及时找出原因进行修改,注意接线不得有误,接入电源,是脉冲发生电路正常工作。
观察灯泡是否按要求进行亮暗变化。
如不能顺利完成以上功能,则应认真检查电路的连接及功能设计是否有误并作出相应的调整。
故障分析
起初闭合开关,LED灯并不能正常发光,仔细分析后发现,是因为信号发生器幅值不够,幅值改变之后, LED正常发光。
不断增加幅值大小,LED仍能够正常发光,说明声音强度越大,LED发光越好。
(三)声音控制开关
一、摘要
本课题主要设计一个声音控制开关,在智能板上安装一个MIC麦克风,当单片机接收到声音,控制继电器点亮LED灯,同时数码管显示OPENLED,否则显示CLOSE。
在原有开发板的基础上,外加一个MIC麦克风放大电路,如图1-1所示,正极接单片机的任意引脚,负极接地。
继电器控制电路的硬件连接如图2,STC12C5A60S2单片机的IO端口P3.7控制继电器的吸合-和释放,三极管用于增加线圈的吸合的释放的电流,二极管4148用于继电器线圈的反向保护,控制P3.7的“0”和“1”使“MID”与“CLOSE”通,或“MID”与“OPEN”通。
当麦克风接收到声音后继电器得电,经过处理转换成脉冲电压送给单片机,控制继电器点亮LED灯。
2、本论
2、课程设计原理
在原有开发板的基础上,外加一个MIC麦克风放大电路,如图1-1所示,正极接单片机的任意引脚,负极接地。
继电器控制电路的硬件连接如图2,STC12C5A60S2单片机的IO端口P3.7控制继电器的吸合-和释放,三极管用于增加线圈的吸合的释放的电流,二极管4148用于继电器线圈的反向保护,控制P3.7的“0”和“1”使“MID”与“CLOSE”通,或“MID”与“OPEN”通。
当麦克风接收到声音后继电器得电,经过处理转换成脉冲电压送给单片机,控制继电器点亮LED灯。
当有声音信号输入,则LED绿灯亮,数码管显示OPEN;没有输入时LED红灯亮,数码管显示CLOSE。
3、硬件原理图
1)MIC麦克风放大电路
图1-1
2)继电器控制电路
3)数码管显示电路
LED数码管显示器硬件电路原理图如图
4、程序流程
5、调试运行
1)将程序写入单片机中运行
2)上电后输入声音信号,数码管显示OPEN,LED绿灯亮
3)遇到的问题
a、起初数码管只能点动显示OPEN和CLOSED,在程序中加上if(in==0)s++;if(s!
=0)语句后,就可以延时显示了。
b、输入单片机两个引脚的电压过低,无法驱动继电器工作。
加入一个上拉电阻后,
电压增大,就可以驱动继电器工作了。
三、参考文献
1、继电器控制电路说明
(1)电器的工作原理和特性
继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
(2)电器主要产品技术参数
1)额定工作电压
是指继电器正常工作时线圈所需要的电压。
根据继电器的型号不同,可以是交流电压,也可以是直流电压。
2)直流电阻
是指继电器中线圈的直流电阻,可以通过万能表测量。
3)吸合电流
是指继电器能够产生吸合动作的最小电流。
在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。
而对于线圈所加的工作电压,一般不要超过额定工作电压的1.5倍,否则会产生较大的电流而把线圈烧毁。
4)释放电流
是指继电器产生释放动作的最大电流。
当继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态。
这时的电流远远小于吸合电流。
5)触点切换电压和电流
是指继电器允许加载的电压和电流。
它决定了继电器能控制电压和电流的大小,使用时不能超过此值,否则很容易损坏继电器的触点。
四、附录
课题设计程序
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitser=P2^1;//LED显示595数据输入
sbitsrclk1=P2^2;//
sbitrclk1=P2^3;//
sbitin=P1^2;//
sbitout=P3^7;//
ucharcodeLED[]={0xc0,0x8c,0x86,0x89,0xc7,0xc86,0xc0,0xc6,0xc7,0xc0,0x92,0x86,0xff};//共阳极段码表说明
uintidataj,k,m,n=0;//说明整数变量
ucharidataaa,bb[]={7,1,3,5,0,9,1,3,},cc;//8个数码管显示的数数组
uinti,dd,s;
//--------------------------------------------------------------------
voiddelay(uinttime)
{
ucharjj,hh;
while(--time!
=0)
{
for(jj==0;jj<255;jj++)
{
for(hh==0;hh<255;hh++);
}
}
}
//--------------------------------------------------------------------
voidtime0()interrupt1using2
{
TF0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(in==0)
s++;
if(s!
=0)
{
bb[4]=12;
bb[5]=0;
bb[6]=1;
bb[7]=2;
bb[0]=3;
bb[1]=4;
bb[2]=5;
bb[3]=6;
out=1;
s++;
}
if(s==100)
s=0;
if(in==1&&s==0)
{bb[4]=12;
bb[5]=12;
bb[6]=12;
bb[7]=7;
bb[0]=8;
bb[1]=9;
bb[2]=10;
bb[3]=11;
out=0;
}
}
voidtime1()interrupt3using2
{
cc=LED[bb[n]];//取段码
dd=aa;
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
for(j=0;j<8;j++)//位码移位串行输出
{if(dd&0x80)ser=1;elseser=0;
dd=dd<<1;
srclk1=0;
srclk1=1;
}
dd=cc;
for(j=0;j<8;j++)//段码移位串行输出
{if(dd&0x80)ser=1;elseser=0;
dd=dd<<1;
srclk1=0;
srclk1=1;
}
n++;//显示位计数
if(n>=8)//如果显示了8个位码初始
{
aa=0x7f;//位码初始值11111110其中0为显示1为不显示
n=0;//初始变量i
}
else