单片机距离量测方案_第1页
单片机距离量测方案_第2页
单片机距离量测方案_第3页
单片机距离量测方案_第4页
单片机距离量测方案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

个人资料整理 仅限学习使用基于单片机的距离量测设计光源发出的光线经过会聚透镜投射到被测物体表面,其漫反射光经成像在光电检测器件<PSD或CCD)上。在传感器上成像光斑的中心位置由传感器与被测物体表面之间的距离决定。光电检测器件输出的电信号与传感器上光斑的中心位置通过对光电检测器件输出信号进行运算处理就可获得传感器与被测物体表面之间的距离信息。一、基于PSD的三角测距的基本原理半导体激光器所发出的光束经透镜发射变成近似平行光束,照射在被测物上,被测物散射回来的光线通过接收透镜会聚到传感器并形成光斑。在被测物体、散射光线、传感器与接收透镜的光轴所在的平面形成两个相似三角形,只要测出光斑在传感器上的位置,就可根据已知的参数得到距离的比值关系。PSD具有位置分辨率高 <PSD一般为几微 M),响应速度快,器件小、噪声低、直接由光信号转换成为电流信号、外围电路简单等优点,所以采用它作为传感器件。b5E2RGbCAP已接收透镜所在的光轴为测量距离:激光源AdδCBθOByfPSD 透镜图1激光源三角法测距原理D1/13个人资料整理 仅限学习使用光斑在O点以上,则ytanθ=d+CD,光斑在O点以下,则ytanθ=d﹣CD可得推导公式为: y=fd/(ftanθ-δ> <1)δ为PSD的光斑到中心的距离,O点以上为正值,O点以下为负,y值为BC的距离。所以只要求出δ的值就可将y值算出来。p1EanqFDPw根据PSD的原理有散射光入射时如图 1:LXX’AC O PIN

BDXDiTa9E3dC点是被测物体在 PSD上产生的光斑。设 AC段的电阻值为 Ra,BC段的电阻值为 Rb,则光电流分为两路 <分别通过 Ra和)有电极 AB流出。其值分别为RTCrpUDGiTI1和I2。I1Ra=I2Rb (2>I0=I1+I2 (3>如果光敏面的表面电阻层具有理想的均匀性,则关于 X’的距离公式:R0<L/2-X')I1=R0<L/2+X’)I2X’=L/2*<I2-I1)/<I21)<4)+I其中X’为光斑中心位置对零点的偏移,L为PSD两电极间距离。二、系统实施方案<一)系统组成模块2/13个人资料整理 仅限学习使用系统主要由以下几个模块构成,在需要测量时,给单片机发出信号,单片机启动激光器发射装置和 A/D转换器。被测物面

发射装置接I/V电模A/D单数收转压拟片据转装放运机显换置大算换处示理光学部分电学部分<三)、电学部分的描述 5PCzVD7HxA电学部分主要由信号的转换、处理、运算、以及显示四个部分组成由PSD出来的信号为两路电流信号,所以,需要两路的信号处理电路,参数方案如下:I/V放大加法器除电A/D单法压片PSD器跟转机随换器I/V放大减加法器大器<三)、设计要求1、要求PSD输出的电流大小为微安级,经过 I/V转换后的电压范围在<0.1~1V)3/13个人资料整理 仅限学习使用范围内2、电压放大电路要求:放大倍数范围为 5~103、电压跟随电路:由于ADC0809只转换单极性模拟输入电压,由于被转换的信号可能是双极性的模拟信号,则需增加极性转换电路,双极性模拟信号转换为单极性模拟信号,再送入ADC0809进行A/D转换jLBHrnAILg4、单片机数据处理选用的单片机位 AT89C51,一个按钮接在 INT0端,设置 INT0为边沿触发方式,当需要测量时,按下按钮向 51提出中断,并启动激光器发射, 10ms后,89C51启动0809进行A/D转换,当转换完毕,0809提出中断,51读取其数据,通过动态扫描法将数据显示在LED上。xHAQX74J0X5、程序流程图:包括主程序流程图和中断子程序流程图6、显示部分程序汇编编程程序三 、 电 路 参 数 确 定 及 芯 片 选 择1、I/V转换电路(放大器A1、A1′>U01=﹣Rf1I1设I1为1~10微安,当Rf1=100k时I/V转换后第电压范围为0.1~1V,同理得U011′=﹣Rf2I2,得Rf1=Rf2=100k2、放大部分取Av=5<反相放大器A2、A2′)根据虚断和虚短的概念有 :Up≈Un,Ii=0可得:U01=Un≈Up ,U02=-UR22=-R22U01/R21Av=-R22/R21=-5,得R22/R21=5,取R22=50K,R21=10K同理得R22′=50K,R21′=10K4/13个人资料整理 仅限学习使用3、<1)同相加法器A3由虚短UP31-Un31=0,虚断的概念得:I33+I34=I35得(U02-UP31>/R33+(U02′-UP31>/R34=UP31/R35<1/R33+1/R34+1/R35>UP31=U02/R33+U02′/R34UP31=RP<U02/R33+U02′/R34>,其中RP=<1/R33+1/R34+1/R35>U031=UP31<1+R32/R31>=RP<1+R32/R31><U02/R33+U02′/R34)=<R31+R32)/R31*R32/R32*RP*<U02/R33+U02′/R34)=R32/<R31∥R32)*RP*<U02/R33+U02′/R34)=R32*RP/RN*<U02/R33+U02′/R34),其中RN=R31∥R32当RN=RP,即1/R32+1/R31=1/R33+1/R34+1/R35时U031=R32<U02/R33+U02′/R34)所以当R32=R33=R34且1/R32+1/R31=1/R33+1/R34+1/R35时,U031=U02+U02′取R32=R33=R34=1K,又1/R32+1/R31=1/R33+1/R34+1/R35,1/R31=1+1/R35取R31=500,R35=1K综 上 所 述 得 R31=500 ,R32=R33=R34=R35=1K<2)同相减法器A3′根据虚断和虚短的概念有 :Up≈Un,Ii=0可得:I31′=I34′,5/13个人资料整理 仅限学习使用即<U02-Un)/R31′=<Un–U032)/R34′I32′=I33′,即<U02′-Up)/R32′=Up/R33′当R31′=R32′=R33′=R34′时,U032=U02′-U02取R31′=R32′=R33′=R34′=5004、除法器<A4、A4′)利用虚地的概念有:U032/R41+U42/R42=0由乘法器A的功能可得:U42=kU031U041由上两式可得:U041=–R42/<kR41)*U032/U031由反相放大器A4′得:U042=-U041R42′/R41′,当取R42′=R41′=10K时U042=R42/<kR41)*U032/U031当取PSD两电极间距离L=2毫M时,取k=1000,R42=R41=10K综上所述得:R42=R41=R42′=R41′=10K5、电压跟随器A5根据虚断和虚短的概念有 :Up5≈Un5,Ii=0可得:R52<5-U042)/<R51+R52)+U042=Up5=U05当R51=R52=10K时,U05=<5+U042)/2,当U042在-5V~5V之间变化时,其输出U05范围在0V~5V6、A/D转换部分6/13个人资料整理 仅限学习使用LDAYtRyKfEADC的8个模拟量输入通道IN0~IN7,每个通道号占一个地址号,由通道ALEDQCKQ芯片在系统中相当于一个外围选择线ADDA、ADDB、ADDC来决定。由于A/DCLKREF<+)芯片,现取P2.7低电平有效作为ADC0809的片选信号,则REF<-)的地8个通道IN0~IN7GQ0ADDAWR下降沿使址号分别为7FF8H~7FFFH。当片选信号与D0WRQ1有效信号相配合,利用P00Q2ADDB~ADDCSTART及ALE信号变高电平有效,来锁存地址信号。在WR上升沿时刻,START信号~D7IN0U05P07由高电平变低电平启动A/D转换。片选信号与单片机的读信号RD经一级或非门后IN1IN2产生正脉冲信号OE来控制读取转换数据。ALE经过双稳态触发器进行二分频,产AD89C51DB0IN3生CLK所需的时钟信号。Zzz6ZB2Ltk7、数据显示部分WRP2.7RDALEP3.3ALEP00AD0PB0~INT1~~P07AD7PB7

。。。。

IN4DB7 IN5START IN6ALE IN7OEADC0809驱动器EOC7407WRWRAD89C51与ADC0809的接口逻辑RDRDLED3LED2LED1P2.0IO/M反P2.6CEPA2相驱AT89C51~动8155PA0器动态数据显示接口电路图 7404dvzfvkwMI1图示为共阴极动态显示接口电路,在 AT89C51内部数据存储器 RAM的55H、56H、57H中存放待显示的三位数据,编程并行接口芯片 8155的PB口作为LED的字形输出口,PA口作为LED的字位输出口,显示时从最右边的一位 LED<即个位)开始点亮,用 AT89C51的P2.6(地址总线A14>作为8155的片选信号,由接线可知8155的RAM地址为BE00H~BEFFH,I/O口的地址为 BF00H~BF05H,8155的PA口扫描输出总是仅有一位为高电平,经过反向驱动器后三位 LED中只有一位公共阴极为低电平,其他位为高电平, 8155的PB口输出相应位<阴极为7/13个人资料整理 仅限学习使用低)的显示数据段的数据,使某一位显示出一个字符,其他位为暗,依次地改变PA口输出为高电平的位, PB口输出对应的段数据,三个 LED就显示出待显示的三位数。rqyn14ZNXI四、程序流程图及数据显示子程序< 一 ) 流 程 图EmxvxOtOco开始程序初始化<设置f,d,tanθ等的初值)中断初始化是否有按N钮按下Y启动激光器开中断INT0等待主程序流程图8/13个人资料整理 仅限学习使用SixE2yXPq5INT0中断入口保护现场初始化外部中断初始化数据采集延时10ms启动A/D转换A/D转换 N是否结束Y开中断INT1现场恢复中断返回INT0中断子程序流程图9/13INT1中断入口保护现场设置初值读A/D转换结果并转存 到数据处理得到y值y→50H转换为三位十进制个位→55H十位→56H百位→57H数据显示现场恢复中断返回INT1中断子程序流程图

个人资料整理 仅限学习使用开始清除显示置8155的PA口、PB口为输出方式显示缓冲器指针初值55H→R0置扫描模式初值01H→R2R2→8155PA取显示数据,查表转换为段数据→8155PB延迟5.151ms显示缓冲 器指针R0加1Y<R2).2=1?NR2左移一返回数据显示流程图10/13个人资料整理 仅限学习使用6ewMyirQFL<二)显示部分程序汇编编程程序1、二进制转换成十进制的子程序:设y<256,且y值存放在缓存单元50H中,假定转换后的十进制数的个位存放在55H中,十位存放在56H中,百位存放在57H中,则二进制转换成十进制的子程序如下:kavU42VRUsCONVERT:MOVA,50HMOVB,#64HDIVABMOV57H,A。百位→57HMOVA,#0AHXCHA,BDIVABMOV56H,A;十位→56HMOV55H,B;个位→55HRET2、显示子程序显示时从最右边的一位 LED<即个位)开始点亮,由接线可知 8155的RAM地址为BE00H~BEFFH,I/O口的地址为 BF00H~BF05H,显示子程序如下: y6v3ALoS89REMVDSP:MOV SP,#80HMOV DPTR,#BF00H。清除显示部分MOV A,#03HMOVX@DPTR,AMOV R2,#01HREMVDSP1:MOVDPTR,#BF01HMOVX@DPTR,AMOVDPTR,#BF10HMOVA,#00HMOVA,R211/13个人资料整理 仅限学习使用JB ACC.2,DISPLAYRLAMOVR2,AAJMPREMVDSP1DISPLAY:MOV DPTR,#BF00H;数据显示部分MOV A,#03HMOVX@DPTR,A ;置8155的PA口、PB口为输出方式MOVR0,#55H ;置显示缓冲器指针初值MOVR3,#01H ;置扫描模式初值MOVA,R3MOVX@DPTR,AMOVDPTR,#BF10HMOV A,@R0;取显示数据ADD A,#0DH;加偏移量MOVCA,@A+PC;查取段码值MOVX@DPTR,A;段码→8155PB口ACALLDELAY;延时5.151msINC R0MOVA,R3JB ACC.2,DISPLAY2;判三位LED是否显示完RL A ;扫描模式左移一位MOV R3,AAJMP DISPLAY1DISPLAY2:RETLOOP: DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H ;段码表M2ub6v

温馨提示

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

评论

0/150

提交评论