超声波驱虫器设计报告一、设计任务与要求人们日常生活中,尤其是夏季,人们常常遭遇蚊虫的叮咬,主要是蚊子叮咬后起包发痒,影响了人们的日常生活和工作。
根据生物学基本原理,利用蚊虫对超声波均会产生厌恶感,设计了此超声波驱虫器。
超声波驱蚊器不但环保节能而且对人体无害。
超声波驱虫器主要是NE555构成无稳态多谐振荡器,产生超声波信号,由压电超声波扬声器构成超声波发生装置。
从而可以产生频率范围为23—64kHz范围内,周而复始地变换十种不同频率的超声波,即可起驱除蚊子、蟑螂、苍蝇、跳蚤、等害虫的效果。
二、方案设计与论证根据设计要求,对于超声波驱虫器的设计,可分为两大部分:1、产生率范围为23—64kHz范围内,周而复始地变换十种不同频率的电信号。
2、利用23—64kHz范围内,周而复始地变换十种不同频率的电信号,驱动超声波喇叭产生超声波。
从而达到超声波驱蚊器的设计目标。
方案一本方案依据不同种类昆虫,对不同波段超声波厌恶反应的生物现象,设计、制作超声波驱虫器。
本设计主要分为三大模块:第一模块设计可提供由220V交流转化为5V直流的电源。
第二模块利用STC89C25芯片控制超声波发射频率,以应对不同驱虫需要,并且实现通过按钮切换,并在液晶显示屏上显示超声波驱虫器工作状态。
第三模块利用NE555芯片实现不同频率声波信号的输出,输出信号驱动超声波喇叭,且输出频率受控于单片机。
最终完成超声波驱虫器的设计,实现相应功能。
方案二本方案依据不同种类昆虫,对不同波段超声波厌恶反应的生物现象,设计、制作超声波驱虫器。
主要是由NE555和CD4017构成时钟振荡器、计数器和多谐振荡器,由扬声器和三极管构成发生设备,从而可以产生频率范围为23-64KHZ 的超声波(分为10个频段),NE555双时基电路中,第一个时基电路接成频率可调的(1-3HZ)无稳态多谐振荡器,第二个时基电路接成无稳态多谐振荡器,但它具有大约45KHZ的固定振荡频率,23KHZ-64KHZ的频率范围,是通过C2两端电压耦合到第二个时基电路的控制电压端来实现,辐射超声波的元件是压电高音喇叭。
最终完成超声波驱虫器的设计,实现相应功能。
三、单元电路设计与参数计算第一与第二设计方案公共部分,都是IC3(NE555)构成超声波振荡器。
由于NE555的7脚接入阻值不同,它们分别与C3组成的充电时间常数不同,因此在Q0~Q9依次为高电平的各个时段内,IC3输出的振荡频率不同。
当Q0为高电平时,IC3输出约23KHZ的信号,当Q9为高电平时,IC3输出约64KHZ的信号,驱动超声波喇叭产生超声波。
第一种设计由单片机的P0、P2口接16位输出端,分别接16个不同阻值的电阻,P3.3、P3.6、P3.7口分别接三个弹性按钮。
当第一个按钮key1按下时,单片机检测到P3.3为低电位P0口工作,当第二个按钮key2按下时,单片机检测到P3.6为低电位P2口工作,当第三个按钮key3按下时,单片机检测到P3.7为低电位P0、P2口工作。
单片机P口的工作方式为0~7循环为高电平,这样就可以使NE555输出16种超声波信号。
针对不同害虫有不同工作模式,并且可以将工作方式显示在液晶屏幕上,分别有三种工作方式:INSECT MODEL、MOUSE MODEL、ALL MODEL。
(程序见附件1)第二种设计该电子驱虫器电路由时钟振荡器、计数器、多谐振荡器和音频输出电路组成,多频超声波发生器电路见图,Ic1(NE555)构成时钟振荡器,产生频率为1HZ的时钟信号,此信号作用于IC2(CD4017)的时钟输入端cp,使IC2的输出端Q0~Q9依次输出高电平,各输出端高电平持续期均为1s,IC3(NE555)构成超声波振荡器,由于IC2的Q0~Q9输出端电阻R4~R13的阻值各不相同,他们分别与C 3组成的充电时间常数不同,因此在Q0~Q9依次为高电平的各个时段内,IC3输出的振荡频率不同。
当Q0为高电平时,IC3输出约23KHZ的信号,当Q9为高电平时,IC3输出约64KHZ的信号。
十种频率的信号持续期各为1s,周而复始的产生,因而压电扬声器B周而复始的发出10种不同频率的超声波。
四、总原理图及元器件清单1.总原理图第一种方案:第二种方案:2.元件清单元件序号 型号 主要参数 数量 备注 1LM7812输入14~35V 输出12V12 NE555D输入电压4.5~16V23 CD4017输入电压 3~15V14瓷片电容1F μ、0.1F μ 25 STC89C52输入定压 5V16 1602液晶屏 8个数据口17电阻 2.2、6.8、4.7、10、15、18、22、27、33、39、470(ΩK ) 100(Ω)128 电解电容2200F υ、10F υ、39 超声波喇叭 20KHZ`65KHZ 2 10按钮 自弹 3五、安装与调试根据第一种设计方案,将各电子元件焊接在电路板,电路板实物如图所示。
在调试过程中分别按key1,key2,key3,在液晶显示屏上分别显示三种工作状态,如图所示。
但在随后的调试过程中,P0,P2口16个端口的电位,没有按照程序所写的那样,高低电位循环变化。
在随后的检查中,改进了程序写法,检查了电路板的焊接。
调试程序后11 变压器220V交流变24V交流1液晶屏可按设计的正常显示,但P0,P2端口任然不能正常工作。
由于电路连接稍显复杂,而且焊接过程中安排不合理。
因此检查出问题所在特别复杂,便换了第二种方案。
第二种方法利用CD4017芯片,产生十个循环高低电位变化的信号,分别与10个阻值不同的电阻相连。
从而控制NE555产生十中超声波信号,驱动超声波喇叭。
根据第二种设计方案,将各电子元件焊接在电路板,电路板实物如图所示。
六、性能测试与分析首先对超声波喇叭的输出电信号在示波器上显示,可发现屏幕中周期性的出现高频,伏指在0.6~1.16V之间的电信号。
首先用透明塑料袋将一只昆虫装入袋中,两个超声波喇叭放入袋。
起先昆虫会在袋中飞舞,冲撞熟料袋。
等待昆虫安静下来后,接通驱虫器电源,昆虫会出现躁动。
七、结论与心得本次对超声波驱虫器的课程设计中,从选题到制定合适的设计方案,根据方案制定电路图,都是由自己查资料、思考所确定的。
查询非电子学资料也非常重要,在实验研究中,得知蚊虫对频率在26-28KHZ声波具有很强的反感性,但对于人耳是听不到这么高频率的声波的。
这些生物学方面的资料对于超声波驱虫器频率的选择至关重。
再依据制定的方案购买元器件,在洞洞板上焊接电路板。
其次,通过这次课程设计,我对仿真软件protues有了一定的认识,积累了焊接电路的经验,更懂得如何使用万用表我掌握了常用元件的识别和测试,熟悉了常用的仪器仪表的使用,例如恒压电源、示波器。
初步了解了电路的连接和布局的方法和注意事项;以及如何选择元件参数以提高电路的性能等等。
特别是在元器件选用上,通过计算算出来的电容电阻,在市面上未必能买得到,买不到我们只能通过再修改参数或选用临近值的元器件,并且对元器件的价格及其对应的质量,也有了一定的了解。
另外,如果买不到所要求的电阻,那就可以选购适当的变阻器来替代。
反正一句话,方法不是唯一的,有很多东西是可以相互替换和相互补救的。
总的来说,在这次课程设计中学习了电路的基本设计方法,使我对抽象的理论有了具体的认识。
加深对课堂知识的理解和应用。
同时也锻炼了意志力,遇到问题,解决问题的能力也得到了提高,实现书本知识到工程实践的过渡,让我受益颇多。
七、参考文献[1] 杨欣胡文锦张延强实例解读模拟电子技术 . 电子工业出版社,2013.1[2] 郭天祥51单片机C语言教程 . 电子工业出版社,2009.1[3] 苏家健. 单片机原理及应用技术 .高等教育出版社,2004.11[4] 周航慈. 单片机程序设计基础 . 北京航空航天大学出版社,2003.07[5] 余锡存曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社[6]吴小玲,查玉平,陈京元,陈其才.《华中师范大学学报》[J].2014,48附录:#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code tableI[]="INSECT MODEL";uchar code tableM[]="MOUSE MODEL";uchar code tableA[]="ALL MODEL";uchar code table1[]="WORKING";sbit lcden=P3^4;sbit lcdrs=P3^5;sbit key1=P3^3;sbit key2=P3^6;sbit key3=P3^7;const tab0[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; const tab2[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uchar num,a;void delay(uint);void write_com(uchar com){lcdrs=0;P1=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) {lcdrs=1;P1=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){lcden=0;write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);write_com(0x80);}void showi(){init();for(num=0;num<12;num++){write_data(tableI[num]);delay(200);}// write_com(1);write_com(0x80+0x53);for(num=0;num<7;num++){write_data(table1[num]);delay(200);}while(1);}void showm(){init();for(num=0;num<11;num++){write_data(tableM[num]);delay(200);}// write_com(1);write_com(0x80+0x53);for(num=0;num<7;num++){write_data(table1[num]);delay(200);}while(1);}void showa(){init();for(num=0;num<9;num++){write_data(tableA[num]);delay(200);}// write_com(1);write_com(0x80+0x53);for(num=0;num<7;num++){write_data(table1[num]);delay(200);}while(1);}void insect(){unsigned char k;for(k=1;k<8;k++){P0=tab0[k];delay(500);}}void mouse(){unsigned char k;for(k=1;k<8;k++){P2=tab2[k];delay(500);}}void all(){unsigned char k;for(k=1;k<8;k++){P0=tab0[k];P2=tab2[k];delay(500);}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--); }void init1(){TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;}void keyscan(){if(key1==0){delay(10);if(key1==0) {a=1;showi();while(!key1);delay(10);}}if(key2==0){delay(10);if(key2==0) {a=2;showm();delay(10);while(!key2);}}if(key3==0){delay(10);if(key3==0){a=3;showa();delay(10);while(!key3);}}}void main(){init();init1();while(1){keyscan();if(a==1)insect();if(a==2)mouse();if(a==3)all();}}。