基于ARM的装载机障碍物监测预警系统设计

发布者:心连心意最新更新时间:2011-12-16 关键字:ARM单片机  障碍物监测预警 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  随着信息化、智能化、网络化的发展,嵌入式系统技术获得广阔的发展空间,工业控制领域也进行着一场巨大的变革,以32位高端处理器为平台的实时嵌入式软硬件技术将应用在工业控制的各个角落。嵌入控制器因其体积小、可靠性高、功能强、灵活方便等许多优点,其应用已深入到工业、农业、教育、国防、科研以及日常生活等各个领域,对各行各业的技术改造、产品更新换代、加速自动化化 进程、提高生产率等方面起到了极其重要的推动作用[1]。

  现今,国内外虽有部分车辆安装了超声波倒车防撞报警装置、基于DSP的智能车辆防撞系统、图像处理技术的汽车追尾预警系统等,但是用于像装载机这种广泛用于城建、矿山、公路等工程的工程机械的障碍物监测预警系统却没有发现。所以建立一个对障碍物进行监测预警的系统,提前为驾驶员提供危险信号,让驾驶员能及时采用有效措施是减少事故的有效方法[2~5]。

2 系统硬件设计

  本系统以装载机为研究对象,以实现信号采集、调理、传送、显示和预警为目的。把系统划分为障碍物距离信号采集模块、LCD显示模块、声光报警模块和处理器模块这四个部分。其中以处理器为核心,通过总线和接口电路把信号输入和输出相连。系统做成框图如图1所示。

图1 系统组成框图

  该Mini ARM模块集成有C2290微控制器最小系统,USB主机控制器、10M以太网通信控制器以及NAND FLASH 电子盘,其硬件资源主要有:2M NOR FLASH、16K SRAM、2M/8M Bytes PSRAM、10M 以太网接口、2 路USB-Host 控制器、集成电子盘、2 路CAN控制器以及RTC等[6]。

  LCD显示模块使用内置T6963C的液晶显示模块,该模块上已经实现了T6963C与行、列驱动器及显示缓冲区RAM 的接口。

2.1 障碍物距离检测电路的设计

  对于障碍物的检测方法有超声波测距法、图像处理法、激光测距法等。但是由于超声波传感器具有信息处理简单、价格低廉、制作方便等优点。本系统采用超声波测距法来对障碍物的距离进行检测。

(1)超声波测距的原理

  超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为c,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s[7],即s=ct/2 (1)。

(2)超声波测距电路

  在本系统中超声波测距电路是由MICROCHIP的PIC16C57设计而成的,选用的超声波传感器是T/R40-16压电陶瓷传感器。在工作中,主控器PIC16C57发出信号使发射端的超声波换能器发出加以电压激励,其受激励后以脉冲的形式发射超声波,当超声波接收器接收到回波信号时,传回到主控器中,从脉冲信号开始发射时主控器中的定时器便开始计时,接收到回波信号时停止计时。所侧出的时间间隔再乘以声速就得到了两倍的距离值。从而计算出障碍物到发射点的距离。其电路图如图2所示。

图2 超声波测距电路图[page]

  距离值通过PIC16C57的10脚进行串行输出,经MAX232芯片后与ARM的串口相连。芯片MAX232是为RS232标准串口设计的接口电路,它完成TTL电平和RS232电平的转换[8]。

2.2 声光报警电路设计

  本系统要求根据影响装载机稳定性的障碍物距离的临界值对危险状况进行三级报警。当处于低危险状况时,只有指示灯绿灯被点亮,提醒驾驶者注意;当危险级别增高时,指示灯黄灯点亮,同时伴随有舒缓的蜂鸣声,提醒驾驶者采取措施;当达到最高危险级别时,指示灯红灯被点亮,同时蜂鸣声由舒缓转为急促,提醒驾驶者赶紧制动。
设计中,分别采用了LPC2290的P2.20(GPIOA4)驱动绿色LED,P2.21(GPIOA5)驱动黄色LED, P2.22(GPIOA6)驱动红色LED,P2.23(GPIOA7)驱动蜂鸣器。所设计的报警电路如图3所示。

图3 报警电路图

3 系统软件设计

  常用的嵌入式操作系统有VxWorks、Windows CE、嵌入式Linux和μC/OS-Ⅱ等,由于μC/OS-Ⅱ嵌入式系统具有公开源代码,具有实时多任务内核来进行多任务调度等优点[9],所以本系统选用μC/OS-Ⅱ嵌入式操作系统。

  由于采用模块化编程,所以μC/OS-II下系统任务的划分也是基于不同的功能模块,每一个模块被分解成一个或者多个任务,每个任务被安排一个优先级。这样,一旦这些任务被建立起来,它们之间的调度情况就完全由μC/OS-II来完成。结合本系统的设计需求,程序中创建串口通信任务、报警任务、LCD显示任务。其软件流程框图如图4所示。

图4 软件流程框图

  上电后,首先进行硬件的初始化,然后对μC/OS-II操作系统进行初始化,建立任务,进行多任务调度。μC /OS - II的任务调度是抢占式的,所以在设置任务优先级的时候应该尽量考虑任务对实时性的要求。即使两个任务的重要性是相同的,它们也必须有优先级上的差异,这也就意味着高优先级的任务在处理完成后必须进入等待或挂起状态,否则低优先级的任务永远也不可能执行。本系统中设置串口通信任务的优先级高于液晶显示任务,液晶显示任务的优先级又高于报警任务。

  1.串口通信任务完成超声波测距部分与ARM处理器之间的数据传输。串口通信部分主要包括两部分内容:用户接口函数和任务函数。串口共有5个用户接口函数,分别为deopen()、dclose()、dread()、dwrite()和diocontrol()。

  超声波测距装置和LPC2290进行通信的部分程序代码如下:
diocontrol(Uart0_Handles,UART0_SET_MODE, (void *)&Mode0); // 设置UART 模式
diocontrol(Uart0_Handles,UART0_SET_TIMEROUT,(void *)5); // 设置接收超时因子, 参数 =0 则关闭超时
diocontrol(Uart0_Handles, UART0_CLR_FIFO, (void *)0); // 清空接收软FIFO
while (1)
{Rece_Count=dread(Uart0_Handles, UART_Rece
_Buff,1); //读取超声波发送过来的第一个起始字节,放入缓冲区
if((Rece_Count>0)&&(UART_Rece_Buff[0]== ’@’)) //如果读取成功且第一个字节为‘@’
{dread(Uart0_Handles,&UART_Rece_Buff[1],3); //接收后三位字节,分别为百位数、十位数、个位数
for(i=1;i<4;i++)
UART_Rece_Buff[i]=UART_Rece_Buff[i]+48; //将十六进制数转换为ASCII码值
for(i=0;i<3;i++)
sbuff[i]=UART_Rece_Buff[i+1]; //接收的数据缓存到数组中,供LCD显示部分调用
}
}

[page]

  2.液晶显示任务主要是把ARM处理器中超声波传过来的数据显示到液晶屏上,以方便驾驶员能实时看到障碍物的距离值。

  显示文字的部分程序代码如下:
{ uint32 addr;
uint8 i;
for (i=0;i<24;i++)
/* 找出目标地址 */
{ addr = (y+i)*(GUI_LCM_XMAX>>3) + (x>>3);
LCD_WriteTCommand3(LCD_ADR_POS, addr&0xFF, addr>>8); // 置地址指针
/* 输出数据 */
LCD_WriteTCommand2(LCD_INC_WR, *Buff);
Buff++;
LCD_WriteTCommand2(LCD_INC_WR, *Buff);
Buff++;
LCD_WriteTCommand2(LCD_INC_WR,*Buff);
Buff++;
LCD_WriteTCommand2(LCD_NOC_WR,*Buff);
Buff++; }
LCD_WriteTCommand3(LCD_ADR_POS, 0x00, 0x00);
// 重置地址指针
}

  3.报警任务主要是通过ARM处理器把障碍物的距离值与不同报警条件下的临界值进行比较,并完成相应的报警显示。

4 调试及结果

  系统调试用到了ADS集成开发环境及EasyJTAG-H仿真器。当把程序编写好并把EasyJTAG-H仿真器的JTAG接口与MiniARM产品相连后,便可用调试软件把程序下载到ARM板上,进行试验。

  超声波每检测一次串口输出一组数据,数据传输的波特率为9600,包括一个起始位和三位数据位。结果表明:微处理器对不符合所设定格式的数据帧没有响应,不接收所发送过来的数据,只对满足要求的数据才进行相应的处理。

  超声波检测的数据经调试结果表明,能及时的在LCD液晶显示屏上准确的显示出来,通讯稳定性高。同时对各种危险情况能准确的显示其相应的报警现象。

  本系统的精度分析,我们把超声波传感器的测量值与实际值进行比较绘制了如下表1。


表1 障碍物距离测量值与实际值对照表

 
  当障碍物距离大于10m时,发现超声波传感器测量数据发生严重失真,经分析和实验可得本系统对障碍物距离检测的最大值为9.99m,同时由表1数据经分析计算可知测量误差≤0.01m。

5 结论

  所设计的对装载机障碍物距离的监测预警系统,是以Mini ARM作为处理器针对装载机的工作场地及需要监测的距离信号来考虑的,通过试验验证,该系统已完成了所需的功能要求,最大测量值为9.99m,误差≤0.01m。安装非常方便,便于使用。但该系统还有一个不足,即用超声波传感器检测车辆前方路面信息时,如果是凸起的障碍物能有效的检测到,但当前方为凹坑时便检测不出来,所以有待于进一步研究。

 

关键字:ARM单片机  障碍物监测预警 引用地址:基于ARM的装载机障碍物监测预警系统设计

上一篇:德州仪器推出新型电机控制套件
下一篇:飞思卡尔推出单芯片图形LCD Kinetis微控制器系列

推荐阅读最新更新时间:2024-03-16 12:48

东芝推出TXZ+TM族高级系列基于Arm® Cortex®-M4的新款M4G组MCU
东芝推出TXZ+TM族高级系列中用于高速数据处理基于Arm® Cortex®-M4的新款M4G组微控制器 中国上海,2021年9月8日——东芝电子元件及存储装置株式会社(“东芝”)今日宣布,已开始量产M4G组中用于高速数据处理的20种新器件。M4G组是TXZ+TM族高级系列的新成员,采用40nm工艺制造。这些产品采用带FPU的Arm Cortex-M4内核,运行频率高达200MHz,内部集成2MB代码闪存和32KB数据闪存,具有10万次的写入周期耐久性,此外还提供了丰富的接口和通信选项。因此,M4G组器件非常适用于办公设备、楼宇和工厂自动化应用。 M4G组中的微控制器配置增强型的通信功能,除UART、FUART、TS
[单片机]
东芝推出TXZ+TM族高级系列基于<font color='red'>Arm</font>® Cortex®-M4的新款M4G组<font color='red'>MCU</font>
μC/OS-Ⅱ在ARM单片机S3C44B0x上的移植
引 言     目前,嵌入式系统在工业控制、家用电器、移动通信、PDA等各种领域得到了越来越广泛的应用。由于用户对嵌入式产品的性能要求越来越高,程序设计也变得越来越复杂,这就需要一个通用的嵌入式实时操作系统来对其进行管理和控制。对移植了操作系统的嵌入式系统进行设计和开发,可以大大减小程序员的负担,对于不同的应用可以按照相同的步骤来完成系统的设计。     μC/OS-Ⅱ是一种简单高效、源代码公开的嵌入式实时操作系统,具有良好的可扩展性和可移植性,被广泛的应用到各种嵌人式处理器上。μCOS-Ⅱ操作系统拥有可固化,可裁剪,可剥夺性的实时内核,可同时管理64个系统任务。利用移植μCOS-Ⅱ操作系统的嵌入式微处理器来设计和开发产品
[嵌入式]
基于ARM单片机的高精度电子秤设计与实现
1、系统框图简介 当秤盘上放入被秤物体后,电阻应变片受重力的影响产生形变,电阻值发生变化。应变片搭建的桥式电路会输出微弱的电压信号,微弱电压信号由HX711内部集成放大器放大后经过内部ADC进行采样转换后送到到MCU,接收到的数据信息经过线性拟合处理后送到LCD液晶显示。系统能完成称重、设置单价计算金额及金额累加、去皮及去皮范围限制等基本功能,还能实现时间、温度、报警、二维码支付等扩展功能。系统总体框图如图1所示。 图1:系统总体框图 2、理论分析与计算 2.1、电桥驱动电路分析 图2:差动全桥测量电路 如图2所示当被测负载作用在弹性臂梁上使其发生弹性形变;通过粘性物质使粘贴在感压装置上的电阻应变片发生形变,从而转化成
[单片机]
基于<font color='red'>ARM</font><font color='red'>单片机</font>的高精度电子秤设计与实现
arm7单片机编程实例,ARM7之输入/输出端口GPIO编程教程
  一、输入/输出端口GPIO编程   一—(01)、一位数码管静态显示(通过74HC595实现)   1、管脚连接模块   首先介绍一下LPC2106的相关的管脚~~   特性:可以实现独立的管脚配置   应用:管脚连接模块的用途是将管脚配置为需要的功能(这一章节主要就是介绍GPIO功能~~别的会在接下来的章节中分别予以介绍~~)   描述:管脚连接模块可以使所选管脚具有一个以上的功能。配置寄存器控制多路开关来连接管脚与片内外设。外设在激活和任何相关只读使能之前必须连接到适当的管脚。任何使能的外设功能如果没有映射到相应的管脚,则被认为是无效的。   寄存器的描述:   管脚连接模块包括两个寄存器:   管脚功能
[单片机]
<font color='red'>arm</font>7<font color='red'>单片机</font>编程实例,<font color='red'>ARM</font>7之输入/输出端口GPIO编程教程
带有ARM内核的车规级MCU的高速测量与标定的解决方案
在“新三化”的背景下,车用 MCU 芯片 正在快速升级换代,供应链本地化也催生搭配 ARM 内核的车规级MCU不断落地。相关的MCU 产品 日益丰富,逐渐覆盖雨刷、车窗、车灯等车身控制模块,以及汽车 智能 化所需的智能座舱、 AD AS 控制器 等。 01 趋势 随着软件的复杂度提高,ARM内核MCU的测量标定正从低速场景过渡到高速场景,ECU内部测量 信号 的数量和频率越来越大。当数据吞吐量超过 CAN 总线带宽时,需要新的高速测量 接口 。针对以上需求,Vector为用户提供系统的可扩展的高速测量方案。 02 系统概述 目前主流的ARM内核的车规级MCU是使用Cortex-M系列 处理器 ,用于安全
[汽车电子]
带有<font color='red'>ARM</font>内核的车规级<font color='red'>MCU</font>的高速测量与标定的解决方案
一种ARM单片机的条码精密测量系统设计方案
  利用条码技术进行精密测量的典型仪器是1990年Leica公司开发成功的数字水准仪NA2000,这种光电一体化的新型仪器,具有测量速度快、精度高、操作简单、读数直观,能自动计算高差、高程,自动记录数据,计算机数据处理和容易实现基准测量一体化等诸多特点。国内目前对该技术的研究较少,本文提出了一种基于ST半导体公司的32位高性能处理器STR912FW44X6的测量系统方案。 系统结构   本系统由以下几个部分组成:条码标尺、光学系统、CMOS图像采集模块、STR912主控板、键盘与液晶显示模块、电源模块和计算机测试系统。 硬件结构框图如图1所示。         系统工作原理如下:带有精密位置信息的条码图像通过光学系
[单片机]
一种<font color='red'>ARM</font><font color='red'>单片机</font>的条码精密测量系统设计方案
基于ARM的可定制MCU可承担FPGA的工作
  如今的产品生命周期可能短至六个月,因此在这种情况下要想取得定制ASIC的低成本、低功耗和高性能优势几乎是不可能的。定制ASIC的设计周期通常要一年左右,这通常要比终端产品的生命周期还要长。另外,标准单元ASIC还具有NRE费用(非重复工程成本),对于基本的0.13微米设计,该成本约为30万美元,而对于具有复杂IP内容的90nm设计将超过100万美元。因而当每年的批量小于10万片时,从经济角度看就不具有可行性。   为此人们研发出了平台化或结构化ASIC,它们具有预设计的IP块和可编程的ASIC门,可显著降低成本并缩短设计周期。这种方案将设计周期从一年甚至更长的时间缩短到几个月,还将NRE成本降低到大约15万美元,不过与门阵列
[单片机]
基于<font color='red'>ARM</font>的可定制<font color='red'>MCU</font>可承担FPGA的工作
采用ARM单片机的CPLD/FPGA高速数据处理系统
1 引 言 传统的数据采集系统一般采用单片机,系统大多通过PCI总线完成数据的传输。其缺点是数学运算能力差;受限于计算机插槽数量和中断资源;不便于连接与安装;易受机箱内电磁环境的影响。这些问题遏制了基于PCI总线的数据采集系统的进一步开发和应用。因此,需要一种更为简便通用的方式完成采集系统和计算机数据的交互。 数据采集系统性能的好坏,主要取决于它的精度和速度。在保证精度的条件下应尽可能地提高采样速度,以满足实时采集、实时处理和实时控制的要求。实践表明,采用ARM 32位嵌入式微处理器作为控制器,用USB(通用串行总线)和上位机连接构成的数据采集系统能大大提高系统数据处理的能力,降低对PC机和接口速度的依赖。 2 系统硬件设
[单片机]
采用<font color='red'>ARM</font>和<font color='red'>单片机</font>的CPLD/FPGA高速数据处理系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved