您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > 基于ARM单片机的自动测高测距小车的研究与设计
基于ARM单片机的自动测高测距小车的研究与设计时间:2011-03-1808:51:51来源:电子设计工程作者:左伟华,左文弢,高吉祥,张运喜,张杰,邹清平摘要:生活中许多目标的高度和水平距离需要进行测量。目前主要的测量方法,仍以传统的皮尺丈量为主,测量效率不高,有时还很不方便,没有技术成熟的数字式测高测距产品。以基本的数学方法为理论依据,利用遥控小车做为载体,采用角度传感器测量角度、霍尔传感器测量水平距离等,通过单片机LM3S615进行数据计算,实现了对待测目标物体的高度、水平距离等数据的快速、精确和数字式的测量,高度测量精度可达99.06%,水平测量精度则可迭98.06%。关键词:测高;测距;LM3S615;角度传感器;霍尔传感器;LCD液晶显示目前,国内外对于测高、测距的研究主要集中在基于对卫星、雷达等信号进行的处理,其应用范围主要集中在军事、海洋或地质等数据的测量及勘测。应用于解决日常生活的研究则很少,比如测量难于用传统方法测量的定目标高度、水平距离等。即使有研究也主要是采用机械方法或对传统方法进行改进或修缮。目前发达的电子信息科学技术,给这些日常生活中的高度和距离测量,提供了新的思路和解决方案。本设计将利用遥控小车做为测量工具,分别采用角度传感器、霍尔传感器等传感器来获得测量物理数据并通过单片机进行数据处理及计算,从而实现对待测目标物体的高度、水平距离等数据的快速、精确和数字式的测量。1理论分析与计算1.1设计原理分析及计算小车自动测高测距的过程及相关参数如图1所示。当小车停放在A点时,遥控小车的装置调整角度,使测量光点定点到C点,测量并存储此时的角度α;之后,遥控控制小车前进,使小车沿直线行进到达B点,并再次调整测量装置,使测量光点再次定点到C点,并测量记录此时的角度β。并对从A到B的行进距离L进行测量和记录。利用以上数据,就可以计算出待测目标的高度H及小车距离待测目标的距离S,计算式如下式(1)所示。1.2系统设计思想从测量过程看,需要进行测量的数据有角度α、角度β和小车行进距离L。通过对器件的反复比较,在本设计中,采用安装在舵机上的激光光源作为定点C点的装置;采用角度传感器来进行角度的测量;采用霍尔传感器作为距离测量的传感器;采用单片机作为主要控制单元,来控制小车直线行进、舵机转动定点、角度及距离数据的获取和计算及测量数据的LCD显示等。2系统设计1)总体设计方案通过以上分析,可将系统分为5部分:角度检测模块、水平距离检测模块和遥控控制模块、LCD液晶显示模块、信号处理以及控制模块。系统框图如图2所示。总体设计方案为LM3S615处理器通过角度传感器,采集第1次角度传感器测量信号并存储,遥控控制小车并调节角度通过一段距离,采集第2次角度传感器测量信号,同时利用霍尔传感器对两次测量间的小车行进距离进行测量,最终通过LM3S615处理器通过算法公式得出具体高度并送入LCD12864液晶显示模块进行显示。2)角度信号检测方案设计本设计采用巨磁电阻角度传感器,它是利用巨磁电阻在一定的磁场下电阻值急剧减小这一特性开发的角度测量传感器。它具有线性好、线性范围宽、体积小、灵敏度高(分辨率可以达到12位,精度达到10位,最低分辨率为0.01度)、响应频率高等一系列的优点。缺点是成本较高。3)水平距离检测方案设计本设计采用霍尔传感器计数的方法进行水平距离测量,它具有体积小、灵敏度高等优点,而且集成化的霍尔传感器在感应到磁场变化时,会有一个数字量的高低电平跳变的特性,可以利用这个特性达到计数的目的。4)控制器模块设计采用LM3S615ARM作为控制器,LuminaryMicroStellarisTM系列的微控制器是首款基于ARMCortexTM-M3的控制器,它将高性能的32位计算引入到对价格敏感的嵌入式微控制器应用中。考虑到精度以及运行速度要求不太高等诸多因素,决定采用LM3S168ARM作为本设计的处理器模块。3系统实现本系统共包含电源、角度数据信号采集、距离数据信号采集、遥控控制、数据信号控制、数据信号显示6个主要模块。具体介绍如下。1)控制部分电路设计控制部分必须完成红外控制部分软件解码功能、电机运行控制功能、舵机控制功能、霍尔传感器计数功能、激光器控制、角度传感器数据采集功能以及LCD控制。控制部分电路如下图3所示。2)驱动电路本车采用原车自带的双直流减速电机,74V就能很好的工作。电机驱动选用专用驱动芯片L298N,该芯片分别独立控制两路电机的起停和转向,保证两路电路的参数的对称,有利于保持小车行驶的稳定性和精确性,也降低了电路的设计难度。电机驱动电路如图4所示。4系统软件设计本系统采用LM3S615ARM作为控制芯片,通过红外遥控控制小车水平行走,调节角度传感器采集数据,每次测量一组数据将角度数据和水平行驶距离存储并等待下一次操作。程序流程图如图5所示。5系统调试与测试5.1系统调试1)舵机调试将舵机、角度传感器和激光器安装好。安装舵机时必须保证舵机能顺时针旋转90°以上,激光器与小车水平,角度传感器的输出电压小于2V。2)小车速度控制为使小车能走直线,系统使用了两个PWM端口控制小车的左右轮速度,将其PWM占空比设为相同,然后测试修改占空比直至小车能走直线。3)红外软件解码红外编码采用了脉冲位置调制方式(PPM),利用脉冲之间的时间间隔来区分“0”和“1”。调试时通过改变码字所对应的时间,直至能接收到正确的数据。5.2测试结果和结果分析5.2.1测试结果1)离被测点水平距离9.26m,以L=1m为差值不断前进,测同一点高度,记录如表1所示。2)离被测点水平距离9.26m,以L=2m为差值不断前进,测同一点高度记录,如表2所示。3)离被测点水平距离9.26m,以L=3m为差值不断前进,测同一点高度记录,如下表3所示。5.2.2结果分析从以上3表的测量结果来看其整体测量平均值为H=(3.96+4.11+4.22)/≈4.10m,其绝对误差约为16cm,测量精度为96.24%。同时从3表可以看出随着水平间距的增大其误差渐渐变小,因此说明角α,β差值越大测量越精确,高度测量的最高精度可99.06%,水平距离最高精度可达98.06%。6结论本产品基本上达到了设计要求的精度,在选择好适当的步进参数时,高度测量精度可达99.06%,水平距离精度可达98.06%,相对传统的测量方法更加简单直观;进行一些改装就能应用于实际生活中,可减少对目标物体的高度和水平距离的测量时间和提高测量精度,具有很高的经济价值。基于AT89C51的自动温度测量报警系统设计时间:2011-03-1812:45:39来源:电子设计工程作者:目前,无论是在工业生产中还是在科研实验中通过对温度测量来进行自动控制的设备越来越普及,应用场合也越来越多。随之而来的问题是,如何能够测得精确的温度以保证自动控制设备能够正确地发出控制指令来控制生产过程。另一方面,如果温度过高可能会对一些设备中的一些半导体元器件造成损坏。因此,对于自动高温报警的需求也在逐渐增加。本文基于以上方面的考虑,研究并设计了一种基于单片机的自动温度测量与报警系统。1系统硬件设计尽管目前市场上单片机的品种多样,功能也越来越多,但是受成本约束,性能优良的8位单片机仍然是工业检测与控制应用领域的首选。本系统就是以ATMEL公司的AT89C51单片机为中心,通过模数转换器AD7812对温度传感器的输出电压进行模数转换,再将转换结果送入单片机进行相应的处理,通过编程分析处理的结果,最后决定是否报警。下面分别介绍各个硬件功能模块的设计。1.1温度传感器设计温度传感器是感知外部环境中温度变化的重要元件,它是外界与本系统的接口。它将外界温度的变化转化成电压的变化,这样通过对电压的处理与分析就可以间接地测量出外界温度。本系统采用的温度传感器为LM35,该温度传感器由美国国家半导体公司生产,在常温下,不需要额外的校正处理就可以到达0.25℃的准确率。其输出电压与摄氏温度成线性关系,并且这种关系可以表示为:或者式中,Vo为传感器的输出电压,单位V,T是外界环境中的温度,单位℃。由于LM35能够测量的最高温度是150℃,由式(1)可得其最大输出电压为1.5V。为了能够与AD7812的输入进行匹配,故需要对传感器的输出电压进行放大,放大的倍数约为3.33倍。可采用集成运放连接成同向放大器来实现电压放大的功能。经过放大后的电压约为5V,恰好能够与模数转换部分的输入相匹配。该部分电路设计如图1所示。图1温度传感器电路1.2A/D转换设计经过温度传感器转换后的输出电压值不能直接送入单片机中进行处理,还必须在它们之间增加A/D转换装置。本文中选择AD7812作为A/D转换器。AD7812是由AnalogDevices公司生产的一种串行接口的10位8通道A/D转换器。与一般的并行接口A/D转换器相比,它的优点在于能够节省处理器的引脚资源。节省下来的引脚资源可以进一步的对系统进行扩展,以使其功能更加强大。在AD7812内部有8路模拟开关可以采集8路模拟信号,这里只需要将经放大的传感器输出信号输入到其中任意一路即可,为了简便起见,就取其中的第1路模拟开关作为输入信号的通道。由于AD7812内部具有转换时钟源,因而不需要外部提供时钟源。单片机只需要通过它的串行时钟输入、数据输出、数据输入、转换输入4根引脚就可以对其进行控制。该部分电路设计如图2所示。图2A/D转换电路1.3单片机处理器电路设计AT89C系列单片机是一款低电压,高性价比8位单片机。与MCS-51单片机相比,它有两大优势:第一,片内存储器采用闪速存储器,使程序的写入更加方便;第二,推出了更小尺寸的芯片,使电路的尺寸更小。AT89C51是该系列中一种带4KB容量可编程可擦除只读存储器和128字节随机存取数据存储器(RAM)的高性能8位单片机。它采用ATMEL的高密度非易失存储器制造技术,与工业标准的MCS-51指令集和输出管脚兼容。总之,ATMEL的AT89C51单片机为嵌入式控制系统提供了一种高性价比的实现方案。AT89C51提供以下标准功能:4K字节的Flash闪存存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,1个5向量两级中断结构,1个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。在本文中该中央处理电路如图3所示。图3单片机处理电路
本文标题:基于ARM单片机的自动测高测距小车的研究与设计
链接地址:https://www.777doc.com/doc-2568272 .html