自动化专业课程设计_第1页
自动化专业课程设计_第2页
自动化专业课程设计_第3页
自动化专业课程设计_第4页
自动化专业课程设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、自动化专业课程设计 便携式测距仪系统设计 学生学号:2021041227 学生姓名:李玉成 班级:09412 指导教师:王辉 起止日期: 哈尔滨工程大学自动化学院 一、设计要求 用单片机设计一套超声波测距检测系统,实现对测距的显示和提示以及临界报 敝 二、设计方案 设计思路 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量.利用超声波检测距离,设计比拟方便,计算处理也较简单,并且在测量精度方面也能到达工业生产等自动化的使用要求. 超声波发生器可以分为两大类: 一类是用电气方式产生超声波,一类是用机械方式产生超声波.电气方式包括压电型、电动型等;机械方式有加

2、尔统笛、液哨和气流旋笛等.它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同.目前在近距离测量方面常用的是压电式超声波换能器.根据设计要求并综合各方面因素,本文采用STC89C52单片机作为限制器,用1602液晶进行温度及距离的显示,超声波驱动信号用单片机的定时器. 在北方季节温差较大,对声速的影响也就比拟大,如果对测量精度要求较高时,传统的那种将声速固定用340m/s来计算距离的方式就无法满足需求.所以为了提升测量队精确性,在本设计中参加了以DS18B20为核心的温度补偿装置.测量时先通过温度传感器DS18B20测出当前环境温度,然后用STC89S52单片机计算出此时的声

3、速,再测量超声波发射和返回的时间差,以此算出最终距离.本系统的超声波测距可测出回波和发射脉冲之间的时间问隔,再利用公式S=Ct/2就可以算出距离,通过温度传感器测出当前温度6,以此计算出当前声速,测出更加准确的距离值,最终在1602液晶上显示出来.当测量距离过近货过远时,系统会发出警告.正常距离予以显示. 为了实现以上功能,系统大致设计了如下几个模块: (1)单片机最小系统 (2)液晶显示模块 (3)超声波接收、发射模块 (4)报警模块 (5)温度补偿模块 (6)电源模块 设计方案的论证 超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离.实用的测距方法有两种,一种

4、是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪.此次设计采用反射波方式. 测距仪的分辨率取决于对超声波传感器的选择.超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷.由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的上下成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器. 三、设计内容 超声波测距的原理 超声波的产生与接受通常由两只结构完全相同的超声压电换能器分别完成.超声波的产生是利用压电陶瓷的逆压电效应7,在交变电压作用下,压电陶瓷纵向长度周期

5、性地伸缩,产生机械振动而在空气中激发出超声波;超声波的接受那么是利用压电陶瓷的正压电效应是声压变化为电压的变化. 超声测距的原理大多采用渡越时间法,本设计采用的是超声波测距最常用的方法渡越时间探测法.即在声速的情况下,通过测量超声波回声所经历的时间来获得距离.其原理图如图2.1所示. 即: Dct/2 式中:D为换能器与障碍物之间的距离;c为声波传播速度, cRT/m (2.(1) (2.(2) -1,-1. 为气体定压比热与定容比热之比R=8.314Jmol1KR为普实气体常数;T为绝对温度;m为气体的分子量;t为超声波发射到返回的时间问隔. 在本设计中,超声波传播的介质默认为是空气,由于北

6、方温差较大,为了提升精确度参加了温度补偿装置,但为了使设计简便,忽略了湿度对声速的影响.随意声速c的最终计算公式为 c331.4.1T/273 超声波测距仪的工作原理通常为:在单片机的限制下,超声波发射电路产生40kHz脉冲,经过放大后驱动发射端发射.同时单片机内部计数器开始计数,超声波被反射后再接收端转换为电信号,经过滤波放大后送给检波器,一旦检波器收到了回波,计数器就停止工作,得到计数值.然后单片机根据计数频率和温度补偿电路测得声速,计算并得到待测距离. 超声波测距仪的模块电路 超声波测距系统的硬件设计 (2.3) 本设计的超声波测距仪分为7个模块网温度测量模块,单片机限制模块,显示模块,

7、协同工作共同完成检测任务. 超声波发射模块、超声波接收模块, 报警模块,电源模块组成. 7个模块 本文设计的硬件电路主要包括单片机系统、超声波发射电路、超声波接收电路、液晶显示电路局部、温度补偿局部、报警电路和电源电路.电源局部可以通过电池或是电源来为整个系统供电;单片机系统用来产生限制脉冲,限制超声波的发射,并且对接收回来的信号进行处理计算;超声波发射电路局部主要用来产生40KHz的超声波,并且有驱动电路发射换能器发射出去;超声波接收电路局部用来检测超声波回波信号,超声波回波经超声接收换能器,放大滤波,检波电路后进入比拟器,比拟器输出端的信号进入单片机产生中断,用于计时;温度补偿局部将测得的

8、温度输入单片机中,方便单片机计算出当前温度下的声速;最终单片机将计算的距离值在液晶1602上面显示出来. (1)STC89C52RC单片机最小系统 STC89C5是一种低功耗、高性能CMOS8微限制器,具有8K在系统可编程Flash存储器.在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式限制应用系统提供高灵活、超有效的解决方案.具有以下标准功能: 8k字节Flash,512字节RAM32位I/O口线,看门狗定时器,内置4KBEEPRQMMAX810r位电路,2个16位定时器/计数器,一个6向量2级中断结构,全双工用行口.另外STC89X52可降至0Hz

9、静态逻辑操作,支持2种软件可选择节电模式.空闲模式下,CPU亭止工作,允许RAM定时器/计数器、串口、中断继续工作.掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.最高运作频率35MHz6T/12T可选. 复位电路 时钟电路 单片机最小系统电路 HQ口口口 口口口口口口口1212131314141515161617171818 1919 20 - P1W12piinsEKPINPL3 P1_4 P1_5PIG P1_7RET n2nhnu 吃vruPISTTVF3.fiMRPa.7/RD KIAl?CTYL1 VSS vccPOUFADOHFV

10、AD1P0J7AD2PO.3TAD3P04AD4P0.?M5PO.GTAD&PUJTAOr EAALEFPROC PSGNFZ71A15 P25IA13F24/A1ZP23JA12PZ2TA11 PZ.VWPaUFAft ( 39 油 用 36 36 33 力3P29郃 25 X 23 22 21 单片机与 PC 机接口局部 (2)超声波发射电路 1、发射电路主要由六反向器芯片74HC04和超声波换能器构成,P3.7端口输出的40khz方波信号一路经反向器送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种方式可以提升超声波的发射强度.电路图如图2.7所

11、示. 每次启动超声发射换能器所使用的脉冲数目不宜过多也不宜过少,过少那么容易衰减,过多那么发射波与反射波会产生叠加干扰,一般以816个脉冲为宜.系统通过单片机输出相应的有效电平与40KHz方波逻辑与实现鼓励脉冲数目的限制. 测量盲区:超声波在发射的时候,是一个高压脉冲,并且脉冲结束后,换能器会有一个比拟长时间的余震,会有一局部声波未经反射直接到达接收换能器,产生虚假反射波然后接受换能器才能收到真正的反射波,这段时间从几百个us到几个ms都有可能,因此在这个时间段内,声波的回波信号是没有方法跟发射信号区分的.因此,被测物体在这个范围内,回波和发射波区分不开,也就没有方法测距也就形成了测量的盲 口

12、口 2 2G1+WG*仁备GH口 心升T1CXITR1IN G2-ffICXJT VTVNrawT口*LR3NRRUT 2、 74HC04概述 74HC04是一款高速CMOS器件15,74HC04弓|脚兼容彳氐功耗肖特基TTL(LSTTL)系歹上74HC04遵循JEDEC标准NO.7A. (1) 74HC04提供了6路反相缓冲器.其逻辑图如图2.8所示. 其中Y代表数据输出,A代表数据输入.实际就是6个反相器集成在一个芯片中,在电路中可以单独使用一个或同时使用几个反相器. (2) 74HC04特性 兼容JEDEC标准NO.8-1A ESD保护 HBMEIA/JESD22-A114-A超过200

13、0V MMEIA/JESD22-A115-A超过200V 温度范围 -40+85C -40+125C (3) 74HC04根本参数 电压:2.06.0V 驱动电流:+/-5.2mA 传输延迟:7ns5V (4) 74HC04其他特性 逻辑电平CMOS 功耗考量:低功耗或电池供电应用 图2.874HC04逻辑图 (3)超声波接收电路 集成电路CX20216A是一款红外线检波接受的专用芯片,常用于电视机红外遥控接收器.考虑到红外遥控常用的载波频率38kHz与测距的超声波40kHz较为接近,可以利用它制作超声波检测接收电路,适当更改电容C4的大小可以改变接收电路的灵敏度和抗干扰水平.CX20216A

14、a的内部结构图如图2.9所示. 前置电路将接收到的信号,转换成CX20216A可以接收的标准数字信号,送到 CX20216A的1脚,CX20216A的总放大增益约为80dB,其7脚输出的限制脉冲序歹信号幅度在3.55V范围内.总增益大小由2脚外接的R2、C2决定,R2越小或C2越大,增益越高.但取值过大时将造成频率响应变差,C2为3.3uF.采用峰值检波方式检波电容C3为3.3uER3为带通滤波器中央频率f0的外部电阻.积分电容C4取330pF. 通过CX20216a芯片的信号,在输出端会产生一个下降沿,并将此接到AT89S52单片机的外部中断上.在本电路的调试过程中,如果一直发射超声波,在7

15、脚将会有周期的低电平产生.因此在此根底上只要通过AT89S52单片机来计算发射信号到接收到信号时产生下降沿这段时间的长度,再通过数学计算,转化为距离,然后在LCD上面显示出来.回回回回回P1B 12341234 5 5 6 6 CX20216M部结构图 超声波接收芯片的外围电路 接收局部 (4)显示局部 显示局部采用字符型LCD160纵晶显示所测距离值,将P0与LCD的数据线相连,P1与LCDW限制线相连,3脚电位器限制液晶背光亮度.电路如图3.3所示: 显示电路 (5)电源电路 为了实现超声波测距仪的便携性,本设计中参加了由电池供电的电源电路.电源电路采用两节3V锂电池供电,回路中参加了一个

16、自锁开关以便于限制电路的通断.由于电池随着使用电压会发生变化,所以还参加了一个1K的滑动变阻器和一个稳压二极管,随时可以调节电压的大小,使电路供电稳定.最后为了便于观察电路的通断,回路中参加了一个绿色LED.电源局部电路如图2.14所示.除了电池供电外,本设计预留了电源接头,也可以通过稳压电源直接进行5V供电.止匕外,还可以通过USBASP下载器直接用电脑通过USB接口供电. SA军fOVA(ZMY一v(_土工 巴HVNB S -03SS昌Si首 GTD 5y供电 电源电路 (6)报警电路 报警电路作为超声波测距仪的一个拓展功能也被参加了设计中,具由一个有源蜂鸣器,一个S8050的NPN三极管

17、,一个1K电阻和一个红色LED组成,在这种设计中,三极管起到开关的作用.当测距失败或者距离过近时,蜂鸣器会发出短暂的警告音,同时红灯闪烁,引起使用者的注意. 报警刘分 报警电路 (7)温度补偿电路 本系统温度传感器DS18B2QR其周边工作电路设计如图2.18所示.由于AT89S52I片机的P1口的驱动水平较强,所以在设计时直接将18B20M度传感器的接在了单片机的P10口.然后将其余两脚分别接地和电源. DS18B20温度传感器外形类似一个三极管,是美国Dallas半导体公司继DS1820之后最新推出的一种改良型智能温度传感器.与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通

18、过简单的编程实现9-12位的数字值读数方式.可以分别在93.75m丽750ms内完成9位和12位的数字量.它具有独特的单总线接口方式,即允许在一条信号线上挂接数十甚至上百个数字式传感器,从而使测温装置与各传感器的接口变得十分简单,克服了模拟式传感器与微机接口时需要的A/D转换器及其它复杂外围电路的缺点,而且,可以通过总线供电,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源,由它组成的温度测控系统非常方便,而且本钱低、体积小、可靠性高.DS18B20的测温范围-55+125C,最高分辨率可达0.0625C,由于每一个DS18B20出厂时都刻有唯一的一个序列

19、号并存入其ROM中,因此CPU可用简单的通信协议就可以识别,从而节省了大量的引线和逻辑电路. Dallas公司的单总线技术具有较高的性能价格比,有以下特点:适用于低速测控场合,测控对象越多越显出其优越性; 性价比高,硬件施工、 维修方便,抗干扰性能好; 具有CRC校验功能,可靠性高; 软件设计标准,系统简明直观,易于掌握. GND 18B20温度传感器电路 18B20 BQ1 超声波测距系统的软件设计及流程图 1、软件流程图 本设计软件主程序流程图如图10所示,a为主程序流程图,b为外部中断子程序流程图. 2.主程序 #include #include #include (b) 外部中断流程图

20、 a主程序流程图 typedefunsignedcharU8;/*definedforunsigned8-bitsintegervariable 无符号8位整型*/ typedefsignedcharS8;/*definedforsigned8-bitsintegervariable 有符号8位整型*/ typedefunsignedintU16;/*definedforunsigned16-bitsintegervariable 无符号16位整型*/ typedefsignedintS16;/*definedforsigned16-bitsintegervariable 有符号16位整型*/

21、 typedefunsignedlongU32;/*definedforunsigned32-bitsintegervariable 无符号32位整型*/ typedefsignedlongS32;/*definedforsigned32-bitsintegervariable 有符号32位整型*/ typedeffloatF32;/*singleprecisionfloatingpointvariable(32bits) 单精度浮点数32位长度*/ typedefdoubleF64;/*doubleprecisionfloatingpointvariable(64bits) 双精度浮点数64

22、位*/ #defineSYSTEMCLK921600/11059200/12 #defineT0CLK921600/11059200/12 #defineT1CLK921600/11059200/12 #defineT1PERIOD1000000/921600/T1周期时间,以微秒为单位,约为 1.085uS #defineTIMER0H0 xFC/64614/256=252 #defineTIMER0L0 x66/54447%256=102 /管脚定义 sbitfs=P3A7; sbitjs=P3A2; sbitalarm=P2A0; sbitBUSY=P1A7; sbitRS=P2A5;

23、sbitRW=P2A6; sbitEN=P3A5; sbitDQ=P2A7; /定义标志 volatilebitFlagSucceed=0;/测量成功标志 volatilebitFlagDisplay=0;/显示标志 /定义全局变量 U16DisplayCount=0; U16time=0; U32distance=0; ucharfushu; ucharT; uchardatadisplay_T=0,0,0,0,0,0; /函数声明 voiddelay_20us(); voidStart_Module(); voidINT0_Init(void); voidData_Init(); void

24、Timer0_Init(); voidTimer1_Init(); voidwait(void) P1=0 xFF; do RS=0; RW=1; EN=0; EN=1; while(BUSY=1); EN=0; voiddelay(uchari) ) voidinit_DS18B20()( while(reset();delay(100);DQ=1; bitwrite_bit(uchartemp) ( DQ=0; if(temp)DQ=1; delay(5); DQ=1; ) voidwrite_byte(ucharword) ( uchartemp,i; for(i=0;ii; write

25、_bit(temp&0 x01); ) ) bitread_bit() ( DQ=0; _nop_(); _nop_(); DQ=1; delay(2);returnDQ; ucharread_byte() ucharb; uchari,temp=0; for(i=0;i8;i+) b=0; if(read_bit()b=1; temp|=(b127)/温度为负值 temp_data_l=(temp_data_l)+1;/取反加一,将补码变成原码 if(temp_data_l)=0 xff) temp_data_h=(temp_data_h)+1; elsetemp_data_h=te

26、mp_data_h; fushu=1; display_T4=(temp_data_l&0 x0f)*10/16+0 x30;/10/16 T=(temp_data_l&0 xf0)4)|(temp_data_h&0 x0f)4);/zhengshu display_T0=(T/100+48); display_T1=(T%100)/10+48); display_T2=(T%10+48); display_T3=.; display_T5=0; /kaizhongduan /20us延时程序,不一定很准 voiddelay_20us() U16bt; for(bt=0

27、;bt=1000)/1秒钟显示一次 ( FlagDisplay=1; DisplayCount=0; 定时器1初始化,16位计数模式,时钟为11059200/12=921600Hz/60ms计数为55296,即0 xD800 voidTimer1_Init() ( TMOD=0 x11;/定时器0和1工作在16位方式 TH1=0; TL1=0; ET1=1; /启动模块,Trig管脚20us正脉冲 voidStart_Module()/启动模块 ( fs=1;/启动一次模块 delay_20us(); fs=0; voiddelay() ( S16i,j; for(i=0;i=10;i+) f

28、or(j=0;j=0) ( sign=0; else ( sign=1; temp=abs(num); baiwei=temp/100; temp=temp-baiwei*100; shiwei=temp/10; gewei=temp-shiwei*10; num=abs(num); if(num=100) ( if(sign=1)/负数 ( L1602_char(hang,lie,-); L1602_char(hang,lie+1,baiwei+48); L1602_char(hang,lie+2,shiwei+48); L1602_char(hang,lie+3,gewei+48); el

29、seif(num=10) ( if(sign=1) ( L1602_char(hang,lie+1,-); L1602_char(hang,lie+2,shiwei+48); L1602_char(hang,lie+3,gewei+48); )else if(sign=1) ( L1602_char(hang,lie+2,-); ) L1602_char(hang,lie+3,gewei+48); ) /* 名称:Main() 功能:主函数 */voidmain() ( U16i,j; EA=0;/计时器停止工作INT0_Init(); Timer0_Init();/ Timer1_Init(

30、);/Data_Init(); 定时器0初始化 定时器1初始化EA=1;计时器开始工作 alarm=0; L1602_init(); read_T(); L1602_string(1,1,TEM:); if(fushu)write(-); display(display_T); for(i=0;i1000;i+) for(j=0;j1000;j+); while(1) ( EA=0; /以下为一次检测过程:先发出fs电平,翻开外部中断,清零T1, 最后在外部中断下降沿触发时取出T1当前值,计算出Trig脉冲宽度 Start_Module(); while(js=0);/等待Echo回波引脚变高

31、电平 FlagSucceed=0; EX0=1; TH1=0; TL1=0; TF1=0; TR1=1;/启动定时器1开始计数 EA=1; while(TH180);/盲区 TR1=0;/关闭定时器1 EX0=0;/关闭外部中断 if(FlagSucceed=1)/一次测试成功,那么计算距离,单位为厘米 distance=time*1.085; distance/=58; if(FlagSucceed=1)&(distance20) alarm=0; ) else alarm=1; ) ) if(FlagDisplay=1)/1 if(FlagSucceed=0) /LCD 提示无回波

32、 秒显示时间到 L1602_string(1,1,OutOfRange(0-4m); L1602_string(2,1,); else /LCD显示数据 L1602_string(1,1,DistanceResult:); L1602_string(2,1,cm); L1602_int(2,5,distance); FlagDisplay=0; 四、调试结果分析及结论 测距系统的最终效果 该电路板可以显示温度和距离,当距离小于20cm时蜂鸣器会发出警告,当距离大于4m时将显示“outof04mf,可以用电源供电,也可以用电池供电.非常便携.测距系统的调试及出现的问题 调试时的考前须知 测距系统在硬件调试过程中需要注意以下几点 (1)将所有地线和电源线接好,注意不要短路.由于测距仪的电路分块较多,每一局部都有自己的电源线和地线,多且杂,一不小心就会漏焊,所以将所有的电源线和地线都分别连接在一起,方便供电和检查. (2)超声波接收和发射传感器要平行放置21,并且焊接在与电路板水平的边缘,方便测距.由于声波是传送特点,所以将两个传感器平行放置才能获得更准确的数值.假设将两个端子像普通直插元器件一样垂直焊在电路板上,在测距和观察时会很不方便

温馨提示

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

评论

0/150

提交评论