声光触摸延时开关概要Word下载.docx
《声光触摸延时开关概要Word下载.docx》由会员分享,可在线阅读,更多相关《声光触摸延时开关概要Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
由于此次设计对单片机不作要求,但使用单片机更加方便简单,所以我选择最为常用的stm32f103单片机作控制部分。
2)、声控部分
一:
选择专用的声音传感器模块来完成,能得到正确的波形、电压、频率等参数,且设计电路简单省事,但成本较高。
二:
用驻极体话筒通过相应的信号处理电路对声音信号进行处理,成本较低,但电路设计麻烦。
综上所述:
我们选择方案二,因为此次设计对声音信号的波形等参数要求较小,只要单片机接收到并能判断为高电平即可。
3)、光控部分
用光敏二极管作光电元件,光敏二极管对光转换为相应的电流。
用光敏电阻作光电元件,光敏电阻对光转换为相应的电阻。
我们选用光电二极管作光控部分的核心元件,光敏二极管转换成的是电流,而我们需要判断的是电压信号,将电流转换为电压信号的电路较复杂。
4)、触摸部分。
一个基于触摸检测IC(TTP223B)的电容式点动型触摸开关模块。
常态下,模块输出低电平,模式为低功耗模式;
当用手指触摸相应位置时,模块会输出高电平。
三、单元电路设计与参数计数
(1)主控部分:
STM32F1系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。
时钟电路:
stm32单片机的时钟产生方法有两种。
内部时钟方式和外部时钟方式。
本设计采用外部晶振方式。
外部方式时,时钟发生器对振荡脉冲二分频。
系统对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。
因此本系统的晶体振荡器的值为8MHZ,电容取22pF。
复位电路:
当操作或程序运行出错使系统处于死锁状态时,为了摆脱困境可以通过复位键重新启动。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
单片机系统的复位方式有:
手动按钮复位和上电复位。
本设计使用的是按键手动复位。
手动按钮复位需要人为在复位输入端RST上加入高电平。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
在按键复位的使用过程中,按键抖动现象是不容忽视的,所以为了确保按键的一次闭合单片机只处理一次,就必须在设计时考虑到抖动的消除。
(2)声音部分
驻极体话筒的介绍:
驻极体话筒具有体积小,电声性能好,结构简单,价格低廉等特点,在生活中应用非常广泛。
驻极体结构有振膜、背极、空隙三部分,这样在振膜与背极间形成一个具有定量电荷的电容结构。
驻极体是由进行特殊处理的高分子材料组成,这些高分子材料表面具有永久电荷(Q),总的电荷量是不变,当极板在声波压力下后退时,电容量减小,电容两极间的电压就会成反比的升高,反之电压就会成反比的降低。
最后再通过阻抗非常高的场效应将电容两端的电压取出来,同时进行放大,便可以得到和声音对应的电压了。
用驻极体话筒将得到与声音信号对应的电压值。
若有声音时则会输出一电压值,由于传声器转换的电压值非常小,所以必须将该电压经过LM393运算放大器进行放大,通过调节其阻值使其放大倍数产生变化,起到了调节声音灵敏度的作用。
(3)光强部分
光电二极管实现的功能是:
当有光照时,电流增加,所以LM393反相输入端为高电平。
当光线不足或没有光线时,其阻值可以达到兆欧级以上,此时相当于电路处于断路状态,所以LM393反相输入端为低电平。
其中LM393为电压比较器,当反相输入端的电位高于同相输入端时,LM393则输出一低电平。
而当同相输入端的电位高于反相输入端的电位时,LM393将会输出一高电平。
经过单片机检测是否有足够的光照,当光照不足时则进行声音检测。
(4)触摸部分
该模块是一个基于触摸检测IC(TTP223B)的电容式点动型触摸开关模块。
四、仿真过程及仿真结果
(1)声音部分
由于仿真软件的问题,这里利用了一个电压源来仿真放大后的电压。
通过调节滑动变阻器,改变灵敏度,当输入电压大于阈值时,产生低电平。
(2)光强部分
由于仿真软件的问题,这里利用了一个电流源来模拟光电二极管。
(3)触摸部分
由于仿真软件没有所用的IC所以略过。
五、总原理图及元器件清单
元件序号
型号
主要参数
数量
备注
单价
R1
0805
100
1
0.02
D1
0603
白色
0.05
P3
光强模块
5
P4
声音模块
6
P5
触摸模块
P1
单排座
0.5
P2
C1
电容
0.1u
C2
C3
15p
C4
C5
22p
C6
C7
C8
C9
C10
Y1
晶振
32.768k
0.8
Y2
8m
2
U1
Stm32
F103C8T6
10
U2
AMS1117
-33
U3
牛角座
JTAG
U4
MINI_USB
L1
电感
4.7u
0.1
REST1
按键
0.2
REST2
R8R9
电阻
1.5k
R6R7
电阻
22
R5R10R11R3
100k
4
R1R2
330
D1D2
发光二极管
红色
六、电路调试与分析
将元件焊接完毕后,调节光强模块及声音模块电位计,使其处在合适的灵敏度,通过模块上的led观测。
七、结论与设计体会
我做的课题是“声、光、触摸三控延时开关”。
主要是通过光照和声音及触摸三控照明灯,它可以广泛的应用于楼梯、过道、库房等公共场所。
在设计中使用者可以自行调节声光检测信号的灵敏度,或者是照明灯点亮时间的长度,这就为更方便了不同人群的使用,这是本设计中比较新颖的一点。
最后我通过仿真不断地进行调试,最终使设计性能指标的灵敏度基本达到了设计的要求。
八、参考文献
[1]康华光.电子技术基础(模拟部分)第五版[M].北京:
高等教育出版社,2006
[2]康华光.电子技术基础(数字部分)第五版[M].北京:
[3]中国集成电路大全编写委员会.中国集成电路大全集成运算放大器[M].北京:
国防工业出版社,1985
[4]李震梅,房永钢.电子技术实验与课程设计[M].北京:
机械工业出版社,2011
[5]彭介华.电子技术基础课程设计[M].北京:
高等教育出版社,1997
[6]童诗白,华成英《模拟电子技术基础》,高等教育出版社,2006。
[7]阎石《数字电子技术基础》,刚等教育出版社,2006。
[8]高锋《单片机微型计算机原理与接口技术》,科学出版社,2007。
[9]梅开乡,梅军进《电子电路设计与制作》,北京理工大学出版社,2009。
[10]冯育长《单片机系统设计与实例分析》,西安电子科技大学出版,2007。
[11]兰吉昌《实用电子制作百例》,化学工业出版社,2009。
[12]丁镇生《传感器及传感技术应用》,电子工业出版社,1998。
[13]李全利《单片机原理及接口技术》,高等教育出版社,2008。
[14]焦中平《照明灯声光控制电路及制作》,科教文汇,2007。
[15]贾正松《基于单片机实现智能照明控制系统的设计》
附录:
主程序
/********************************************************************************
*@fileProject/STM32F10x_StdPeriph_Template/main.c
*@authorMCDApplicationTeam
*@versionV3.5.0
*@date08-April-2011
*@briefMainprogrambody
******************************************************************************
*****************************************************************************/
/*Includes------------------------------------------------------------------*/
#include"
stm32f10x.h"
stm32f10x_gpio.h"
stm32f10x_rcc.h"
/*Privatetypedef-----------------------------------------------------------*/
/*Privatedefine------------------------------------------------------------*/
/*Privatemacro-------------------------------------------------------------*/
/*Privatevariables---------------------------------------------------------*/
/*Privatefunctionprototypes-----------------------------------------------*/
/*Privatefunctions---------------------------------------------------------*/
/**
*@briefMainprogram.
*@paramNone
*@retvalNone
*/
#defineTOUCH_PINGPIO_Pin_7
#defineSOUND_PINGPIO_Pin_4
#defineLIGHT_PINGPIO_Pin_1
#defineLED_PINGPIO_Pin_11
voidinit(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin=TOUCH_PIN|SOUND_PIN|LIGHT_PIN;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&
GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=LED_PIN;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&
}
voiddelay(inttime)
{
inti=0;
while(time--)
{
i=10380;
//自己定义
while(i--);
}
intmain(void)
init();
while
(1)
if(GPIO_ReadInputDataBit(GPIOA,LIGHT_PIN)==0)//白天
GPIO_WriteBit(GPIOB,LED_PIN,0);
//灯灭
else//晚上
if(GPIO_ReadInputDataBit(GPIOA,SOUND_PIN)==0)//有声音
GPIO_WriteBit(GPIOB,LED_PIN,1);
//灯亮
delay(1000*300);
elseif(GPIO_ReadInputDataBit(GPIOA,TOUCH_PIN)==1)//触摸
else