老古开发网首页
导航:老古开发网首页文章索引文章分类自动控制→[基于C8051F020的大灯仪自动定位系统]
| -文章搜索 - 最新文章 - |

基于C8051F020的大灯仪自动定位系统

发布时间:2006年3月12日 点击次数:779
来源:电子设计应用   作者:西北工业大学 郑凯 唐虹
 

摘要:本文介绍了一种基于C8051F020单片机的大灯仪自动定位系统方案。详细地描述了该系统的硬件设计,同时也阐述了基于C/OS-II实时操作系统的软件设计。在实际应用中该系统运行良好。
关键词:大灯仪; C8051F020;自动

大灯仪是用来检测前照灯的专用检测设备,它主要由自动定位系统和检测系统两大部分组成。在接收检测指令后,可自动进入被检前照灯光照区跟踪光轴,然后自动检测被检前照灯发光强度、高度,以及远、近光的照射方向。并可对四灯制或两灯制的前照灯进行自动测量。检测完成后,自动返回初始位置,检测结果自动送出。
 本系统的设计思路为,通过光线感应器件将大灯仪在移动过程中处于不同位置时感应到的光强信号经过放大处理,通过适当的控制算法后得到相应的控制信号,再将此控制信号输出到电机,通过电机将大灯仪定位于恰当的检测位置,从而完成大灯仪的自动定位。该大灯仪硬件结构框图如图1所示。

         


图1 大灯仪硬件结构框图

             


图2 环境光补偿电路

               


图3 光电二极管放大电路
硬件设计
整个自动定位系统硬件部分主要包括立柱感光部分、PSD感光部分、直流无刷电机驱动部分、传感器部分、通讯部分、LED显示部分和逻辑电路部分,各部分的协调工作和数据传输由主微控制器C8051F020来完成。主微控制器是系统的核心,它一方面负责完成大灯仪移动过程中的数据采集和处理,另一方面还要将处理结果传递给相应的控制电机以便进行相应的位置调整。因此,对处理器的运行速度和接口功能都有较高的要求。
立柱感光部分
大灯仪的立柱沿垂直于地面的方向上均匀分布有8个光电二极管。大灯仪启动进入灯照区后,光电二极管将感应到的光照转换为电信号,然后将这8路电信号经过放大处理后送入C8051F020自带的ADC进行采样。C8051F020片内集成了两个多通道ADC子系统。由于此部分对数据精度要求不高,故选用8位ADC1系统将8路电信号采用单端输入方式进行转换。
图2是环境光电压补偿电路,该电路利用置于环境光下的一个光电二极管根据外界环境光的强弱产生不同的参考电压Verf,并做为立柱上光电二极管放大电路的反相电压基准补偿。图3是一对光电二极管的放大电路图,实际放大倍数根据所使用的光电二极管性能调整R3(R7)和R2(R6)的电阻值即可。
PSD感光部分
PSD传感器用来完成前照灯中心的精确定位。该传感器是一种基于横向光电效应的光电位置敏感元件,当入射光点落在器件感光表面的不同位置时,PSD将对应输出不同的电信号。通过对输出信号的处理,即可确定入射光点在PSD器件上的位置。入射光点的强度和尺寸大小与PSD的位置输出信号无关。同时由于PSD是非分割型元件,对光斑的形状无严格要求,所以可对光斑的位置进行连续测量,从而获得连续的坐标信号。
前照灯灯光通过大灯仪灯头的菲涅耳透镜后投射到灯箱后部的聚光板上,在聚光板的适当位置有一细小孔,光照透过小孔后聚焦为光斑,此光斑照在PSD表面输出强弱不同的电信号。用运算放大器TLC2272将此4路电信号两级同相放大后送入12位的ADC0进行转换。需要注意的是,放大后的电压值不要超过C8051F020的参考电压,以免出现电压饱和的情况。
直流无刷电机驱动部分
控制大灯仪左右及上下的移动是通过驱动两个直流无刷电机(垂直和水平各一个)来完成的。系统对反馈信号电压进行周期性采样,采样值经过数字信号处理,作为控制器的参数,最后由合适的控制算法得出控制量,并经DAC转换为直流无刷电机的控制电压来调节电机的转速。
传感器部分
大灯仪采用了增量式光电编码器作为电机旋转方向和速度的反馈元件。它是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。依靠部件旋转,用光电编码器产生电脉冲信号,并送至单片机进行处理。增量式光电编码器有A、B、Z三相脉冲信号输出,当正转时,A相脉冲超前B相脉冲90°(或1/4周期);反转时,B相脉冲超前A相脉冲90°。本设计中利用A相脉冲触发外部中断,然后根据B相脉冲电平的高低来判断电机的旋转方向,同时记录编码器的脉冲数。
通讯部分
C8051F020有两个增强型UART串口,其中UART0与PC机的RS-232串口相连,用来接收检测命令和发送检测结果 ;UART1与大灯仪检测装置的通讯串口相连,根据接收到的PC检测命令启动相应的检测项目,然后将结果返回给主微控制器。
I2C总线LED显示部分
SAA1064是Philips公司的4位LED驱动器,为双极型电路,具有I2C接口,专为驱动4位带有小数点的七段LED显示器而设计。该器件内部带有I2C总线从发送接收器,可以通过地址引脚ADR的输入电平编程为4个不同的从器件地址。在本系统中共使用了两个SAA1064驱动器。
逻辑电路部分
逻辑电路在单片机系统的设计中不可或缺。一般的逻辑电路都采用了通用逻辑IC(如74系列)来搭建电路,功能越复杂的系统其相应的逻辑电路也越复杂,所需要的逻辑IC也越多。但是如果用可编程逻辑器件来实现的话,只要将逻辑表达式按规定的语法进行描述,经过仿真、编译等过程,最后下载到可编程逻辑器件中,就可以完成所设计的逻辑功能,从而使得逻辑设计的自由度大大提高。
在本系统中使用了Xilinx公司的CPLD可编程逻辑器件XC9572,该器件内含36个宏单元,并具有1600个逻辑门。开发环境使用的是Xilinx公司的软件工具包FOUNDATION ISE7.1i。设计过程如下:首先从抽象的角度对电路的功能、接口和总体结构进行描述。接下来使用行为级描述来分析电路的功能、性能、标准兼容性等问题。行为级描述使用了VHDL语言来编写,分别实现了电机控制模块、编码器计数控制模块和行程限位开关控制模块的逻辑电路设计。最后通过CPLD译码,将命令控制I/O映射到相应的独立地址。以电机控制模块为例,两个电机的使能、刹车、转向共6个控制量只需对其映射地址的对应位操作即可。

软件设计
本系统的软件设计中采用了C/OS-II操作系统。 并选用了最新的KEIL7.50集成开发环境来开发程序。
通过在系统中嵌入C/OS-II,可以把整个程序分成许多任务,每个任务相对独立,即使一个任务发生问题,也不会影响其他任务的运行。这样既提高了系统的可靠性,同时也使调试程序变得容易。
任务的创建
 根据大灯仪定位过程中不同阶段所要实现的目标,软件设计中划分了主任务、自动测试任务、位置控制任务、立柱找光任务、PSD找光任务、PC通讯任务、检测通讯任务、电机制动任务和I2C显示任务。
每个任务都有自己的名称、内存空间和优先级。优先级的设置根据不同的系统有不同的设定,本设计中,电机制动任务在系统中起保护设备的作用,如果发生控制失效的情况下不能及时制动电机可能会对大灯仪造成损坏,所以其优先级设为最高; PSD找光任务和立柱找光任务运行较为频繁,任务执行的好坏直接关系到检测结果的准确度,优先级分别设为第二级和第三级;其余的任务均是常规运行状态,只是实现人机交互、显示状态和参数,对检测性能没有直接影响,优先级的设定没有严格的高低之分,可以随意设定。
系统运行过程分析
系统运行的首要环节为初始化, 包括两部分: 第一部分是系统及硬件部分的初始化,创建主任务;第二部分是创建信号量及建立功能任务,并为之分配优先权。
系统初始化后,首先从主任务开始运行,此时各功能任务均处于就绪状态。上电后检测人员在PC机上发送检测指令,此时最先响应的功能任务是PC通讯任务。系统利用中断接收PC机下达的指令,并根据指令内容发送开始自动检测的标记量。主任务接收到自动检测标记后唤醒自动检测任务,同时发送显示信号量唤醒I2C显示任务。进入自动检测任务后,系统根据检测的进程在不同的检测阶段调用不同的功能任务。检测项目完成后,大灯仪自动回到起始位置,等待下一次检测命令。

结语
本文中的大灯仪自动定位系统充分利用了C8051F020单片机优越性能,使控制系统达到了很好的集成,降低了设计成本。同时实践表明, 在系统复杂、对实时性和精度要求比较严格,并且需要并行处理任务较多的运动控制系统中使用C/OS-II实时操作系统,会加快嵌入式控制系统的开发速度,降低软件编写的复杂度,提高产品的开发效率,并使维护和功能扩展都非常方便。经在山东某汽车检测站为期半个月的系统实际运行证明,该系统灯光定位准确,响应速度快,运行良好。

 

欢迎进入老古论坛进行讨论
[自动控制] 相关文章:
具有60分贝动态范围的音量单位表
简介:
一种音频音量单位表能显示与峰值相关的音频幅度,来帮助精确设定录音电平,或用于显示放大器的工作状况。一个简单的二极管和电容器网络提供了经典的音量单位表的峰值加权式响应,但是电路一般把响应限制在大约23分贝的可显示动态范围,并且音量单位表指针的惯性和机械式“冲击”会带来误差。当代显示器使用了照明元件阵列来形成条形图,借此消除了惯性问题,但是响应和精度特性方面的所有缺点现在都转移到了信号处理领域。你可使用 DSP技术和应用数学知识,在固件中再现仪表的功能,但是,如果仪器尚未包含DSP功能来省钱的话,那么这种方法就会比较昂贵。 廉价的模拟式仪表的弱点依然是它的峰值保留元件,这个电容器必须迅速充......

表面肌电信号拾取的专用有源滤波器设计
基于脉冲频率调制的光电测量传输电路的设计
煤矿安全监控分站的研究
基于FPGA的高精度相位测量仪的设计
电渣重炉自动控制系统的设计
一种基于高速数据采集卡的虚拟示波器开发
基于单片机控制的DDZ型热工仪表检测仪的设计
飞机多层结构腐蚀缺陷检测系统的研究与实现
用于无刷电机旋转测量的无传感器型控制
 
下一个:[自动控制]光固化快速成形中液位检测系统的设计
简介:
摘 要:本文介绍了一套采用位置检测器件(PSD)作为敏感元件,半导体激光二极管(LD)作为光源,基于反射式倾角测量原理的激光测距系统。经实验验证此系统具有测量速度快、精度高、抗干扰能力强等特点。 关键词:快速成型 ; 液位检测 ; PSD ; 激光测距 引言 光固化快速成形以光敏树脂为原料,激光器发出的紫外激光光束在控制系统的控制下,按零件的各分层截面信息在光敏树脂表面进行逐点扫描。被扫描区域的树脂薄层产生光聚合反应而固化,形成零件的一个薄层。一层固化完毕后,工作台下移一个精确的距离,以使在原先固化好的树脂表面再敷上一层新的液态树脂,而后进行下一层的扫描加......
 

上一个:[EDA/IC设计]扩大ARM SoC的验证覆盖缩短仿真时间

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:否 执行时间:16毫秒