基于单片机的AGV智能车的设计

分享到:

随着计算机和信息技术的快速发展,AGV智能车在运输、仓储等工业领域获得了广泛的应用。特别是随着现代物流业的飞速发展,运输以及仓储成本问题已成为物流企业在成本核算中一个无法忽视的问题,实现产品的零库存是节约成本、提高产品竞争力的目标之一。一方面是为了节约成本,实现零库存;另一方面是为了获得规模效益而不断扩大的储备仓库,要实现不同产品的自动归库和自动出仓,需要一种可以实现自动化操作的智能设备,来完成这些无人化工作,从而实现高效管理和自动控制的目标。AGV智能车恰好可以实现这样的功能。本文基于单片机的原理,探讨和模拟了AGV智能车在仓库中实现对产品的自动归库和自动出仓的工作方式。

1 方案选择及硬件电路设计

1.1 MC9S12DJ128单片机

MC9S12DJ128 MCU是一种16 bit的MCU,其内部主要由MCU的基本部分和CAN功能模块组成。MCU的基本部分主要包括:

(1)时钟和复位产生模块CRG(Clock and Reset Generator)。包括低电流振荡器或是标准振荡器的选择、锁相环时钟频率放大器、看门狗、实时中断和时钟监控器。

(2)存储器包括128 KB的Flash、 8 KB的RAM、 2 KB的EEPROM。具有5V输入和驱动能力,CPU的工作频率可达到50 MHz,并支持单线背景调试模式(BDM),可以在线调试。

(3)29路独立的数字I/O接口,20路带中断和唤醒功能的数字I/O接口;2个8通道的10位A/D转换器、具有外部转接触能力;具有8通道的输入捕捉/输出比较,还具有8个可编程PWM通道,可配置成8通道8位或4通道16位PWM,其每个通道的周期和占空比均可以通过编程独立设置。

(4)具有2个串行异步通信接口SCI、2个同步串行外设接口SPI、Byteflight,Inter-IC总线以及SAE J1850 Class B数据通信网络接口[1]。

为了实现AGV智能车的控制实现无人化操作,硬件电路的设计主要包括路径信息采集分离模块、电源管理模块、舵机控制模块、电机驱动控制模块及速度检测控制电路等。其设计框图如图1所示。

为了方便硬件电路调试、便于硬件电路的分割处理、避免硬件电路可能出现的信号干扰、串扰问题,方便机械结构的设计,本设计采用模块化设计,不同模块之间可以通过屏蔽线或同轴电缆实现信号传输,通过实验,其效果比较理想。

1.2 电源管理模块

本设计中AGV智能车采用7.2 V的电池组供电。常用的直流低压控制电路可采用开关稳压和串联稳压方式。开关稳压芯片的工作效率高但电路有较大的电源噪声,适用于耗电量较大的电路[2]。当电路的电池电压由于消耗变低时,通用的LM7805芯片输出电压就难以保证,容易造成单片机的自复位。另外在考虑到驱动电机有较大的电流,尤其智能车在启动和加速时,可能会造成电池比较大的输出压降。

基于以上的考虑,本设计电源模块的主控芯片分别采用MAX1771CSA和MAX1626ESA,该芯片有较大的电压输入范围,能有效地保证由于电池的损耗输出电压降低而造成的稳压电路的较大电压波动输出。采用MAX1771CSA构成12 V升压电路,MAX1626ESA构成5 V降压电路。单片机主控制电路、舵机驱动、速度检测均需要+5 V的控制电压,而视频采集电路需+12 V控制电压。该电源供电模块设计完全可以满足控制要求。

1.3 CCD视频采集分离模块

本文采用Clarion CC-450型车载前端摄像头,该摄像为NTSC制式,扫描525线30帧/s的图像。CCD摄像头输出标准的视频复合信号,通过行扫描的方式,将图像信息转换为一维的视频模拟信号输出。通过对比S12单片机采集图像分辨率的特点及路径检测所需图像分辨率的要求可以发现,在安装CCD摄像头的时候,只要将其旋转90°,则图像信息也将旋转90°,如图2所示。通过A/D转换器采集的图像信息,水平分辨率与垂直分辨率会发生互换,从原来的水平分辨率低、垂直分辨率高的图像,变成水平分辨率高、垂直分辨率低的图像,正好可以满足道路参数检测的要求。

由于摄像头采集的信号数据量较大,采用单片机本身自带的A/D转换I/O口可能出现转换速度无法满足要求的情况,所以,在本设计中另外采用了1片A/D信号转换芯片ADC1775CIMTC,以满足摄像头信号采集和转换使用。步信号分离芯片LM1881和ADC1775CIMTC的A/D转换可以对视频信号进行采集,从而得到CCD的灰度图像数据,经二值化处理就可以在图像上得到黑色路径轨迹的点阵[3],视频信号通过比较器与设定的值进行比较,从而得到视频电压的二值化。二值化电路原理图如图3所示。A/D信号转换芯片ADC1775CIMTC如图4所示。调节设定电压比较值,将该值设定为视频信号中黑白亮色的分界电压值,以提高输出图像识别效果。摄像头采集电路如图5所示。

 

 

1.4 电机驱动模块

AGV智能车上采用RS-380SH型驱动电机,为了可靠保证智能车的速度,提高其负载能力,本设计采用2片并联使用的具有短路保护、欠压保护与过温保护功能的MC33887芯片驱动电机,保证电机的驱动能力,实现对速度进行控制。通过将各种状态引入单片机的中断口,使单片机能对外界的异常情况进行实时处理。采用2部分电路对称布置,如图6所示为其中的1片硬件电路。


1.5 舵机控制模块

本设计采用SRM-102型舵机,其响应速度为0.2s/60°。控制舵机的脉冲可以使用S12单片机的1路PWM产生。单片机中有8路PWM输出端口,可以将其中相邻的2路PWM输出级联成一个16位PWM输出。在单片机为24 MHz时,设置级联PWM周期常数为60 000,对应PWM周期为20 ms的脉冲信号,PWM占空比常数为4 500时对应输出为1.5 ms。改变占空比常数可以改变输出脉冲的宽度。另外,脉冲宽度与转角的线性关系计算公式为:
a=(L-1.5)×90°
式中,a是舵机的转角,单位为度(°);L是脉冲宽度,单位是ms。
其转角和脉冲宽度对应关系如图7所示。

继续阅读
集成电路产业发展迅速,核心技术短缺问题日益严重

新一代信息技术与制造业的深度融合,将促进制造模式、生产组织方式和产业形态的深刻变革,这也造就了电子信息产业的一片新蓝海。目前,美、德等着力推进智能制造的发达国家,均有一批电子信息领域的优秀跨国企业提供技术和服务支撑。但是在高端芯片的核心技术上存在“短板”,亟需行业再发力。

几种单片机RAM测试故障方法

在各种单片机应用系统中,芯片存储器的正常与否直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。本文针对性地介绍了几种常用的单片机系统RAM测试方法,并在其基础上提出了一种基于种子和逐位倒转的RAM故障测试方法。

NXP低功耗LPC1000系列突出优势

基于ARM Cortex-M3/M0的恩智浦LPC1000系列,是NXP目前最新的ARM 微控制器产品,其高达100MHz运行速度、紧凑的尺寸、高能效与高性能使它特别适合SoC、ASSP和独立微控制器中的电源管理任务,潜在市场包括电池供电的消费电子设备、高级电子仪表、安检系统、便携式医疗设备、电机控制、智能卡、无线通信等领域。据相关第三方发布的2008年统计报告,中国大陆上述市场规模已超过6亿美元,未来亦有很大增长潜力。 恩智浦最新主推产品 LPC1000系列产品线 图1

资深硬件工程师从五个方面谈产品设计

一个好的硬件工程师实际上就是一个项目经理,你需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,你需要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装。”

单片机到嵌入式之路3:苦逼的CPU

单片机是单核的,所以在做多线程问题的时候,我们要考虑的太多。但是大部分人都会让单片机一直工作,比如while死循环,然后就抱怨单片机太简单了,只能点灯,其它的事情就不行了。