产品推荐:水表|流量计|压力变送器|热电偶|液位计|冷热冲击试验箱|水质分析|光谱仪|试验机|试验箱


仪表网>技术中心>应用设计>正文

欢迎联系我

有什么可以帮您? 在线咨询

基于单片机的角度测量仪的设计

   2012年05月30日 17:28  
  角度测量仪是某控制系统中瞄准装置的关键部件。在以往的控制系统中,多数都是仅凭设备操作人员眼睛瞄准目标,然后作出相应的控制,这样就带来一系列问题,如操作人员的经验、瞄准装置转盘的空回都可能会严重会影响瞄准目标的程度,从而严重影响控制系统的精度。为了提高控制系统的瞄准精度,在控制系统的瞄准装置中增加了角度测量仪部件,操作人员瞄准目标后的角度值能够定量地显示在操作面板上,帮助操作人员更加准确地瞄准目标,因此,极大地提高了控制系统的控制度。
  
  角度测量仪利用光电编码器读取角度值,采用AT89S51单片机实现角度值数码显示、角度值偏差范围的发光二极管指示功能(有三个指示灯,分别指示:偏高、偏低、适中)。不论在操作的复杂程度上还是在测量的精度上,都是传统的眼瞄方法、刻度测量及标识方法*的。
  
  作为某控制系统的瞄准装置的重要技术改进,此仪器的应用大大提高了控制系统瞄准的精度,增加瞄准偏差范围的可读性,淘汰了传统的用刻度测量和标识角度的方法,使该控制系统的整体性能得到了显着提高。此外,该角度测量仪只要稍作改动即可广泛用于其它工业控制系统中。
  
  1、硬件基本原理
  
  首先,角度测量仪利用单片机读取光电编码器测出的角度值,再将角度值转换成密位值并显示在数码屏上(注意:密位(mil)是一种角度单位,密位100=角度6°)。单片机判断当前角度值的偏差范围,给出控制信号点亮相应的发光二极管指示灯。此外,角度测量仪还可以通过控制面板上的开关控制实现瞄准镜照明和低温环境下瞄准镜自动除霜功能。单片机的主要功能是实现角度值数码管显示、角度值范围的发光二极管指示。该系统的难点在于确保角度值转换成密位值的转换精度和系统在非常温环境下的工作可靠性。
  
  硬件分为以下几个模块:控制面板、单片机、光电编码器、电源、数码显示器、发光二极管匹配指示装置、周视镜与直瞄镜照明与除霜,如图1所示。
  
  图1电路模块图
  
  1.1单片机的选用
  
  首先,根据项目的需求分析可以得知单片机要完成的主要功能是:从光电编码器(数据总线宽度是15位)读取角度值后,将该角度值与系统预设的角度值比较,判断瞄准的角度值范围,点亮相应的指示灯。然后将从光电编码器读得的角度值转换成密位值,发送给串行LED显示驱动器MAX7219,显示在LED显示器上。
  
  从以上分析可以得知,适合此需求的单片机至少应具备3个8位并行I/O端口(其中光电编码器占用2个端口,其它占用1个端口),才能有效工作。*,产品的品质等级通常分为三级:军用级、工业级和商用级,其中,军用级等级zui高,商用级等级zui低。由于此工业控制设备通常在户外作业,工作环境比较恶劣,故单片机的品质的等级也是需要考虑的一个重要因素。
  
  目前,MCS-51系列单片机技术成熟,开发所用的教材和技术资料多,开发工具齐全,市场上产品种类丰富、性价比较高、购买容易,开发语言简单易学(可以用汇编或C51),因此,该系列产品应用广泛,经久不衰。
  
  经过综合考虑,单片机采用ATMEL公司生产的AT89S51芯片(MCS-51系列单片机的工业级产品),兼容MCS51微控制器,4K字节FLASH存贮器支持在系统编程(ISP)1000次擦写周期,128字节片内RAM,工作电压4.0V到5.5V,全静态时钟0Hz到33MHz,三级程序加密,4个8位的可编程I/O端口,2/3个16位定时/计数器,6/8个中断源,全双工UART,低功耗支持Idle和Powerdown模式,Powerdown模式支持中断唤醒,双数据指针,上电复位标志。ATMEL公司生产的89系列单片机在工业、交通、仪器仪表、自动生产过程、航空、运输、汽车、家电等领域都有着极及其广泛的应用。所选型号为ATMEL公司的AT89S51-24PI,工业级。能适应-45℃~+80℃环境工作。
  
  单片机的I/O端口资源分配是:P0和P2口分配给光电编码器,P1口分配给显示驱动和匹配指示发光二极管控制以及MAX813.
  
  1.2单片机主要外围电路的设计
  
  监控电路:为了提高单片机在恶劣环境下的可靠性,必须采用μP监控电路来增加单片机的稳定性和抗*力。硬件监控电路有以下功能:(1)上电复位:保障系统加电时能正确地启动。(2)掉电复位:当电源失效或电压降到某一电压值以下时,产生复位信号对系统进行复位。(3)看门狗定时器:当处理器遇干扰,程序运行混乱产生"死锁"时,对系统复位。此处采用MAXIM公司的军用级芯片MAX813LMJA.
  
  显示驱动电路:为了节省单片机I/O口资源,降低单片机的计算量,选用串行LED显示驱动器MAX7219.它能控制8位共阴级LED数码管,具有16级亮度控制、译码灵活,上电发光二极管全熄、只占用三根单片机I/O口线等优点。
  
  单片机及主要外围电路的原理如图2所示。
  
  图2电路原理图
  
  1.3单片机与外围器件的数据通信
  
  单片机与光电编码器:因为光电编码器获得角度值的速度远大于单片机的工作速度,所以,单片机可以认为光电编码器上的数据总是处于"准备好"状态,单片机随时可以读取有效数据,16位的角度值分成高8位和低8位两次读取,它们之间的数据是并行无条件传送。
  
  单片机与MAX7219:从单片机和MAX7219的工作速度来看,CPU两次发送数据给MAX7219的时间间隔,足以保证单片机访问MAX7219时,MAX7219总是处于"准备好"状态。而MAX7219又是串行LED显示驱动器,因此,单片机与MAX7219的数据传送是串行无条件传送。
  
  单片机与MAX813:因为单片机向MAX813发送数据时,MAX813只等待接收单片机的初始化数据而并无其它的工作其工作速度足够快,可以认为MAX813总是处于"准备好"状态。因此,单片机与MAX813的数据传送也是串行无条件传送。
  
  2、软件设计原理
  
  角度测量仪启动工作后,单片机的工作过程是:系统启动后,初始化外部看门狗,初始化显示驱动芯片MAX7219,给看门狗计数器赋初值,读取光电编码器获取的角度值,当角度偏差值处在某一特定范围时,单片机发出控制信号点亮与该范围相对应的指示灯,将当前的角度值转换成密位值显示在数码屏,又重新给看门狗计数器赋初值,进入下一个工作循环。主函数的工作流程如图3所示。
  
  图3主函数流程图
  
  请注意,流程图中,带双线边的矩形框表示该部分为函数。在本课题的软件设计中,采用了C51编程语言,因为用C51编程不仅效率高,而且可读性很强。
  
  下面给出主函数的源代码。
  
  voidmain(void)
  
  {
  
  WDI=0;//初始化看门狗
  
  InitMax7219();//初始化MAX7219的函数
  
  while(1){
  
  WDI=1;//"喂狗"
  
  WDI=0;//"喂狗"
  
  GetAngle();//读角度值的函数
  
  MachView();//指示灯匹配显示的函数
  
  GetMil();//计算密位值的函数
  
  DisplayMil();//显示密位的函数
  
  }
  
  }
  
  在主函数调用的几个函数中,InitMax7219()的功能是初始化LED显示驱动器MAX7219,单片机向MAX7219发送消影控制、亮度、扫描范围、译码方式信息。
  
  GetAngle()的功能是从光电编码器读角度值,先读高8位,再读低8位,然后将高8位和低8位合并,zui后舍去zui低位(光电编码器的有效数据是15位).
  
  MachView()的功能是角度偏差指示灯匹配显示,将该角度值与系统预设的角度值比较,判断瞄准的角度值是偏高、偏低还是适中。如果角度值偏高,那么单片机就发出控制命令,使偏高指示灯亮,如果偏低,则令偏低指示灯亮,否则令适中指示灯亮。
  
  值得注意的是,计算密位值的函数GetMil()的代码编写,要考虑角度的转换精度,在本课题中,采用了C51中的long型变量来分别存放密位的整数和小数部分,并将角度的小数部分放大十万倍后参加运算,保证转换精度。
  
  DisplayMil()的功能是驱动MAX7219显示密位。首先显示密位,判断此角度是否进入预设区,如果是,熄灭符号灯,各位显示"0";如果没有,判断角度值是否为负,如果是,显示负号,如果是正,不显示负号,然后将角度值显示在LED显示屏上。
  
  由于篇幅所限,程序的源代码没有给出。
  
  3、结束语
  
  为了使角度测量仪能在各种可能的恶劣环境下(如高温、低温、振动等环境)正常工作,在整个设计过程中,要着重考虑的问题是硬件的可靠性和软件的可靠性。设计时的注意事项如下:(1)电源芯片的额定功率选择要留有余量。(2)元器件选择工业级或军用级产品。(3)采用硬件看门狗方案,防止单片机程序锁死。本课题设计的样机已处于测试阶段,目前已通过了常温和多种环境试验的测试。

免责声明

  • 凡本网注明“来源:仪表网”的所有作品,均为浙江兴旺宝明通网络有限公司-仪表网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:仪表网”。违反上述声明者,本网将追究其相关法律责任。
  • 本网转载并注明自其它来源(非仪表网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
联系我们

客服热线: 15267989561

加盟热线: 15267989561

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序

企业未开通此功能
详询客服 : 0571-87759942